From 84cf5607d5b497a7c99ff48c57c1ac1cae4ea629 Mon Sep 17 00:00:00 2001 From: llh21 Date: Sat, 2 Dec 2023 16:17:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=8A=E6=95=B4=E4=B8=AA=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E6=8B=B7=E4=BA=86=E4=B8=8B=E6=9D=A5=EF=BC=8C=E7=84=B6=E5=90=8E?= =?UTF-8?q?=E5=86=99=E4=BA=86Part1=E7=9A=84=E4=B8=AD=E9=97=B4=E4=B8=A4?= =?UTF-8?q?=E4=B8=AAll?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Student/task1/demo/go_upstairs.c | 28 + Student/task1/demo/go_upstairs.ll | 113 + Student/task1/ll/assign_hand.ll | 0 Student/task1/ll/func_hand.ll | 37 + Student/task1/ll/if_hand.ll | 31 + Student/task1/ll/while_hand.ll | 0 Student/task1/sy/assign_test.sy | 6 + Student/task1/sy/func_test.sy | 13 + Student/task1/sy/if_test.sy | 9 + Student/task1/sy/while_test.sy | 11 + Student/task2/CMakeLists.txt | 18 + Student/task2/cpp/CMakeLists.txt | 36 + Student/task2/cpp/assign_gen.cpp | 3 + Student/task2/cpp/func_gen.cpp | 3 + Student/task2/cpp/if_gen.cpp | 3 + Student/task2/cpp/while_gen.cpp | 3 + Student/task2/demo/CMakeLists.txt | 8 + Student/task2/demo/go_upstairs.sy | 28 + Student/task2/demo/go_upstairs_gen.cpp | 195 ++ Student/task2/sy/assign_test.sy | 6 + Student/task2/sy/func_test.sy | 13 + Student/task2/sy/if_test.sy | 9 + Student/task2/sy/while_test.sy | 11 + Student/task3/test.py | 92 + Student/task3/test/01_main.out | 1 + Student/task3/test/01_main.sy | 3 + Student/task3/test/02_var_defn.out | 1 + Student/task3/test/02_var_defn.sy | 8 + Student/task3/test/03_empty_stmt.out | 1 + Student/task3/test/03_empty_stmt.sy | 5 + Student/task3/test/04_arr_defn.out | 1 + Student/task3/test/04_arr_defn.sy | 4 + Student/task3/test/05_arr_assign.out | 1 + Student/task3/test/05_arr_assign.sy | 5 + Student/task3/test/06_const_defn.out | 1 + Student/task3/test/06_const_defn.sy | 5 + Student/task3/test/07_const_array_defn.out | 1 + Student/task3/test/07_const_array_defn.sy | 7 + Student/task3/test/08_var_defn_func.out | 1 + Student/task3/test/08_var_defn_func.sy | 8 + Student/task3/test/09_void_func.out | 1 + Student/task3/test/09_void_func.sy | 13 + Student/task3/test/10_if.out | 1 + Student/task3/test/10_if.sy | 9 + Student/task3/test/11_if_else.out | 1 + Student/task3/test/11_if_else.sy | 10 + Student/task3/test/12_while.out | 1 + Student/task3/test/12_while.sy | 11 + Student/task3/test/13_break.out | 1 + Student/task3/test/13_break.sy | 9 + Student/task3/test/14_continue.out | 1 + Student/task3/test/14_continue.sy | 11 + Student/task3/test/15_getint.in | 1 + Student/task3/test/15_getint.out | 1 + Student/task3/test/15_getint.sy | 5 + Student/task3/test/16_func_test.out | 1 + Student/task3/test/16_func_test.sy | 23 + Student/task3/test/17_equal.in | 1 + Student/task3/test/17_equal.out | 1 + Student/task3/test/17_equal.sy | 12 + Student/task3/test/18_scope.out | 1 + Student/task3/test/18_scope.sy | 17 + Student/task3/test/19_gcd.in | 2 + Student/task3/test/19_gcd.out | 1 + Student/task3/test/19_gcd.sy | 34 + Student/task3/test/20_hanoi.in | 5 + Student/task3/test/20_hanoi.out | 5 + Student/task3/test/20_hanoi.sy | 27 + Student/task3/test_stu/.gitkeep | 0 .../api/v1/query/client-vscode/query.json | 1 + .../reply/cache-v2-e780bd2949197fb2e074.json | 1199 +++++++ .../cmakeFiles-v1-3176d448c0fcaa0f4df8.json | 171 + .../codemodel-v2-0df697e4a7c36f9bbc2e.json | 215 ++ ...irectory-.-Debug-f5ebdc15457944623624.json | 14 + ...ry-src.AST-Debug-8995c16e68ff370fe399.json | 14 + ...orReporter-Debug-34edfa840f14faa66fda.json | 14 + ...c.Frontend-Debug-3b8d0dd8602d303ac4b2.json | 14 + ...rc.SysYFIR-Debug-5e95b0eeb20b96086be2.json | 14 + ...FIRBuilder-Debug-0fcb88a9bb04bf471a6e.json | 14 + .../reply/index-2023-12-02T07-52-21-0522.json | 132 + ...get-ASTLib-Debug-55970485fa7c4e69334a.json | 166 + ...ASTPrinter-Debug-5db61ace862d46fdf358.json | 166 + ...get-Driver-Debug-b934fe5e53c3bc2ab08c.json | 188 ++ ...rrReporter-Debug-c14ad9fa9cd21f3ff83e.json | 166 + ...rget-IRLib-Debug-ba8f259a2b96a50a1e03.json | 238 ++ ...get-Parser-Debug-1f286daafb43df61894a.json | 166 + ...et-Scanner-Debug-8dd49397481b22e58d7f.json | 166 + ...YFCompiler-Debug-d546931bbeea61dadaed.json | 268 ++ ...FIRBuilder-Debug-977b555a6c24b8b3ae5a.json | 166 + .../toolchains-v1-a58db7aa298771900914.json | 113 + build/CMakeCache.txt | 370 +++ build/CMakeFiles/3.23.3/CMakeCCompiler.cmake | 72 + .../CMakeFiles/3.23.3/CMakeCXXCompiler.cmake | 83 + .../3.23.3/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 16080 bytes .../3.23.3/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 16104 bytes build/CMakeFiles/3.23.3/CMakeSystem.cmake | 15 + .../3.23.3/CompilerIdC/CMakeCCompilerId.c | 828 +++++ build/CMakeFiles/3.23.3/CompilerIdC/a.out | Bin 0 -> 16200 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 816 +++++ build/CMakeFiles/3.23.3/CompilerIdCXX/a.out | Bin 0 -> 16208 bytes .../CMakeDirectoryInformation.cmake | 16 + build/CMakeFiles/CMakeOutput.log | 367 +++ build/CMakeFiles/Makefile.cmake | 68 + build/CMakeFiles/Makefile2 | 424 +++ .../SysYFCompiler.dir/DependInfo.cmake | 27 + build/CMakeFiles/SysYFCompiler.dir/build.make | 118 + .../SysYFCompiler.dir/cmake_clean.cmake | 11 + .../SysYFCompiler.dir/compiler_depend.make | 2 + .../SysYFCompiler.dir/compiler_depend.ts | 2 + .../CMakeFiles/SysYFCompiler.dir/depend.make | 2 + build/CMakeFiles/SysYFCompiler.dir/flags.make | 10 + build/CMakeFiles/SysYFCompiler.dir/link.txt | 1 + .../SysYFCompiler.dir/progress.make | 3 + build/CMakeFiles/TargetDirectories.txt | 21 + build/CMakeFiles/cmake.check_cache | 1 + build/CMakeFiles/progress.marks | 1 + build/Makefile | 293 ++ build/cmake_install.cmake | 64 + build/compile_commands.json | 92 + .../CMakeFiles/ASTLib.dir/DependInfo.cmake | 19 + .../src/AST/CMakeFiles/ASTLib.dir/build.make | 111 + .../CMakeFiles/ASTLib.dir/cmake_clean.cmake | 11 + .../ASTLib.dir/cmake_clean_target.cmake | 3 + .../ASTLib.dir/compiler_depend.make | 2 + .../CMakeFiles/ASTLib.dir/compiler_depend.ts | 2 + .../src/AST/CMakeFiles/ASTLib.dir/depend.make | 2 + .../src/AST/CMakeFiles/ASTLib.dir/flags.make | 10 + build/src/AST/CMakeFiles/ASTLib.dir/link.txt | 2 + .../AST/CMakeFiles/ASTLib.dir/progress.make | 3 + .../ASTPrinter.dir/DependInfo.cmake | 19 + .../AST/CMakeFiles/ASTPrinter.dir/build.make | 111 + .../ASTPrinter.dir/cmake_clean.cmake | 11 + .../ASTPrinter.dir/cmake_clean_target.cmake | 3 + .../ASTPrinter.dir/compiler_depend.make | 2 + .../ASTPrinter.dir/compiler_depend.ts | 2 + .../AST/CMakeFiles/ASTPrinter.dir/depend.make | 2 + .../AST/CMakeFiles/ASTPrinter.dir/flags.make | 10 + .../AST/CMakeFiles/ASTPrinter.dir/link.txt | 2 + .../CMakeFiles/ASTPrinter.dir/progress.make | 3 + .../CMakeDirectoryInformation.cmake | 16 + build/src/AST/CMakeFiles/progress.marks | 1 + build/src/AST/Makefile | 224 ++ build/src/AST/cmake_install.cmake | 44 + .../CMakeDirectoryInformation.cmake | 16 + .../ErrReporter.dir/DependInfo.cmake | 19 + .../CMakeFiles/ErrReporter.dir/build.make | 111 + .../ErrReporter.dir/cmake_clean.cmake | 11 + .../ErrReporter.dir/cmake_clean_target.cmake | 3 + .../ErrReporter.dir/compiler_depend.make | 2 + .../ErrReporter.dir/compiler_depend.ts | 2 + .../CMakeFiles/ErrReporter.dir/depend.make | 2 + .../CMakeFiles/ErrReporter.dir/flags.make | 10 + .../CMakeFiles/ErrReporter.dir/link.txt | 2 + .../CMakeFiles/ErrReporter.dir/progress.make | 3 + .../ErrorReporter/CMakeFiles/progress.marks | 1 + build/src/ErrorReporter/Makefile | 182 ++ build/src/ErrorReporter/cmake_install.cmake | 44 + .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/Driver.dir/DependInfo.cmake | 22 + .../Frontend/CMakeFiles/Driver.dir/build.make | 111 + .../CMakeFiles/Driver.dir/cmake_clean.cmake | 11 + .../Driver.dir/cmake_clean_target.cmake | 3 + .../Driver.dir/compiler_depend.make | 2 + .../CMakeFiles/Driver.dir/compiler_depend.ts | 2 + .../CMakeFiles/Driver.dir/depend.make | 2 + .../Frontend/CMakeFiles/Driver.dir/flags.make | 10 + .../Frontend/CMakeFiles/Driver.dir/link.txt | 2 + .../CMakeFiles/Driver.dir/progress.make | 3 + .../CMakeFiles/Parser.dir/DependInfo.cmake | 19 + .../Frontend/CMakeFiles/Parser.dir/build.make | 111 + .../CMakeFiles/Parser.dir/cmake_clean.cmake | 11 + .../Parser.dir/cmake_clean_target.cmake | 3 + .../Parser.dir/compiler_depend.make | 2 + .../CMakeFiles/Parser.dir/compiler_depend.ts | 2 + .../CMakeFiles/Parser.dir/depend.make | 2 + .../Frontend/CMakeFiles/Parser.dir/flags.make | 10 + .../Frontend/CMakeFiles/Parser.dir/link.txt | 2 + .../CMakeFiles/Parser.dir/progress.make | 3 + .../CMakeFiles/Scanner.dir/DependInfo.cmake | 19 + .../CMakeFiles/Scanner.dir/build.make | 111 + .../CMakeFiles/Scanner.dir/cmake_clean.cmake | 11 + .../Scanner.dir/cmake_clean_target.cmake | 3 + .../Scanner.dir/compiler_depend.make | 2 + .../CMakeFiles/Scanner.dir/compiler_depend.ts | 2 + .../CMakeFiles/Scanner.dir/depend.make | 2 + .../CMakeFiles/Scanner.dir/flags.make | 10 + .../Frontend/CMakeFiles/Scanner.dir/link.txt | 2 + .../CMakeFiles/Scanner.dir/progress.make | 3 + build/src/Frontend/CMakeFiles/progress.marks | 1 + build/src/Frontend/Makefile | 266 ++ build/src/Frontend/cmake_install.cmake | 44 + .../CMakeDirectoryInformation.cmake | 16 + .../CMakeFiles/IRLib.dir/DependInfo.cmake | 28 + .../SysYFIR/CMakeFiles/IRLib.dir/build.make | 255 ++ .../CMakeFiles/IRLib.dir/cmake_clean.cmake | 29 + .../IRLib.dir/cmake_clean_target.cmake | 3 + .../CMakeFiles/IRLib.dir/compiler_depend.make | 2 + .../CMakeFiles/IRLib.dir/compiler_depend.ts | 2 + .../SysYFIR/CMakeFiles/IRLib.dir/depend.make | 2 + .../SysYFIR/CMakeFiles/IRLib.dir/flags.make | 10 + .../src/SysYFIR/CMakeFiles/IRLib.dir/link.txt | 2 + .../CMakeFiles/IRLib.dir/progress.make | 12 + build/src/SysYFIR/CMakeFiles/progress.marks | 1 + build/src/SysYFIR/Makefile | 425 +++ build/src/SysYFIR/cmake_install.cmake | 44 + .../CMakeDirectoryInformation.cmake | 16 + .../SysYFIRBuilder.dir/DependInfo.cmake | 19 + .../CMakeFiles/SysYFIRBuilder.dir/build.make | 111 + .../SysYFIRBuilder.dir/cmake_clean.cmake | 11 + .../cmake_clean_target.cmake | 3 + .../SysYFIRBuilder.dir/compiler_depend.make | 2 + .../SysYFIRBuilder.dir/compiler_depend.ts | 2 + .../CMakeFiles/SysYFIRBuilder.dir/depend.make | 2 + .../CMakeFiles/SysYFIRBuilder.dir/flags.make | 10 + .../CMakeFiles/SysYFIRBuilder.dir/link.txt | 2 + .../SysYFIRBuilder.dir/progress.make | 3 + .../SysYFIRBuilder/CMakeFiles/progress.marks | 1 + build/src/SysYFIRBuilder/Makefile | 182 ++ build/src/SysYFIRBuilder/cmake_install.cmake | 44 + doc/AST.md | 473 +++ doc/SysYFIR.md | 620 ++++ doc/SysYF语言定义.pdf | Bin 0 -> 873077 bytes doc/figs/核心类概念图.png | Bin 0 -> 30475 bytes doc/phase1.md | 79 + doc/phase2.md | 128 + doc/phase3.md | 132 + include/AST/SyntaxTree.h | 330 ++ include/AST/SyntaxTreePrinter.h | 43 + include/ErrorReporter/ErrorReporter.h | 29 + include/Frontend/FlexLexer.h | 225 ++ include/Frontend/SysYFDriver.h | 50 + include/Frontend/SysYFFlexLexer.h | 37 + include/Frontend/SysYFParser.h | 2911 +++++++++++++++++ include/Frontend/location.hh | 304 ++ include/Frontend/position.hh | 11 + include/Frontend/stack.hh | 8 + include/SysYFIR/BasicBlock.h | 86 + include/SysYFIR/Constant.h | 90 + include/SysYFIR/Function.h | 110 + include/SysYFIR/GlobalVariable.h | 31 + include/SysYFIR/IRPrinter.h | 25 + include/SysYFIR/IRStmtBuilder.h | 84 + include/SysYFIR/Instruction.h | 435 +++ include/SysYFIR/Module.h | 73 + include/SysYFIR/Type.h | 162 + include/SysYFIR/User.h | 41 + include/SysYFIR/Value.h | 63 + include/SysYFIRBuilder/IRBuilder.h | 226 ++ include/internal_macros.h | 20 + include/internal_types.h | 34 + lib/lib.c | 30 + report/contribution.md | 17 + report/report.md | 15 + src/AST/CMakeLists.txt | 9 + src/AST/SyntaxTree.cpp | 31 + src/AST/SyntaxTreePrinter.cpp | 317 ++ src/ErrorReporter/CMakeLists.txt | 4 + src/ErrorReporter/ErrorReporter.cpp | 22 + src/Frontend/CMakeLists.txt | 21 + src/Frontend/SysYFDriver.cpp | 62 + src/Frontend/SysYFParser.cpp | 2479 ++++++++++++++ src/Frontend/SysYFScanner.cpp | 2339 +++++++++++++ src/SysYFIR/BasicBlock.cpp | 122 + src/SysYFIR/CMakeLists.txt | 13 + src/SysYFIR/Constant.cpp | 122 + src/SysYFIR/Function.cpp | 192 ++ src/SysYFIR/GlobalVariable.cpp | 41 + src/SysYFIR/IRPrinter.cpp | 93 + src/SysYFIR/Instruction.cpp | 792 +++++ src/SysYFIR/Module.cpp | 144 + src/SysYFIR/Type.cpp | 284 ++ src/SysYFIR/User.cpp | 67 + src/SysYFIR/Value.cpp | 46 + src/SysYFIRBuilder/CMakeLists.txt | 4 + src/SysYFIRBuilder/IRBuilder.cpp | 81 + src/main.cpp | 61 + 276 files changed, 25602 insertions(+) create mode 100644 Student/task1/demo/go_upstairs.c create mode 100644 Student/task1/demo/go_upstairs.ll create mode 100644 Student/task1/ll/assign_hand.ll create mode 100644 Student/task1/ll/func_hand.ll create mode 100644 Student/task1/ll/if_hand.ll create mode 100644 Student/task1/ll/while_hand.ll create mode 100644 Student/task1/sy/assign_test.sy create mode 100644 Student/task1/sy/func_test.sy create mode 100644 Student/task1/sy/if_test.sy create mode 100644 Student/task1/sy/while_test.sy create mode 100644 Student/task2/CMakeLists.txt create mode 100644 Student/task2/cpp/CMakeLists.txt create mode 100644 Student/task2/cpp/assign_gen.cpp create mode 100644 Student/task2/cpp/func_gen.cpp create mode 100644 Student/task2/cpp/if_gen.cpp create mode 100644 Student/task2/cpp/while_gen.cpp create mode 100644 Student/task2/demo/CMakeLists.txt create mode 100644 Student/task2/demo/go_upstairs.sy create mode 100644 Student/task2/demo/go_upstairs_gen.cpp create mode 100644 Student/task2/sy/assign_test.sy create mode 100644 Student/task2/sy/func_test.sy create mode 100644 Student/task2/sy/if_test.sy create mode 100644 Student/task2/sy/while_test.sy create mode 100644 Student/task3/test.py create mode 100644 Student/task3/test/01_main.out create mode 100644 Student/task3/test/01_main.sy create mode 100644 Student/task3/test/02_var_defn.out create mode 100644 Student/task3/test/02_var_defn.sy create mode 100644 Student/task3/test/03_empty_stmt.out create mode 100644 Student/task3/test/03_empty_stmt.sy create mode 100644 Student/task3/test/04_arr_defn.out create mode 100644 Student/task3/test/04_arr_defn.sy create mode 100644 Student/task3/test/05_arr_assign.out create mode 100644 Student/task3/test/05_arr_assign.sy create mode 100644 Student/task3/test/06_const_defn.out create mode 100644 Student/task3/test/06_const_defn.sy create mode 100644 Student/task3/test/07_const_array_defn.out create mode 100644 Student/task3/test/07_const_array_defn.sy create mode 100644 Student/task3/test/08_var_defn_func.out create mode 100644 Student/task3/test/08_var_defn_func.sy create mode 100644 Student/task3/test/09_void_func.out create mode 100644 Student/task3/test/09_void_func.sy create mode 100644 Student/task3/test/10_if.out create mode 100644 Student/task3/test/10_if.sy create mode 100644 Student/task3/test/11_if_else.out create mode 100644 Student/task3/test/11_if_else.sy create mode 100644 Student/task3/test/12_while.out create mode 100644 Student/task3/test/12_while.sy create mode 100644 Student/task3/test/13_break.out create mode 100644 Student/task3/test/13_break.sy create mode 100644 Student/task3/test/14_continue.out create mode 100644 Student/task3/test/14_continue.sy create mode 100644 Student/task3/test/15_getint.in create mode 100644 Student/task3/test/15_getint.out create mode 100644 Student/task3/test/15_getint.sy create mode 100644 Student/task3/test/16_func_test.out create mode 100644 Student/task3/test/16_func_test.sy create mode 100644 Student/task3/test/17_equal.in create mode 100644 Student/task3/test/17_equal.out create mode 100644 Student/task3/test/17_equal.sy create mode 100644 Student/task3/test/18_scope.out create mode 100644 Student/task3/test/18_scope.sy create mode 100644 Student/task3/test/19_gcd.in create mode 100644 Student/task3/test/19_gcd.out create mode 100644 Student/task3/test/19_gcd.sy create mode 100644 Student/task3/test/20_hanoi.in create mode 100644 Student/task3/test/20_hanoi.out create mode 100644 Student/task3/test/20_hanoi.sy create mode 100644 Student/task3/test_stu/.gitkeep create mode 100644 build/.cmake/api/v1/query/client-vscode/query.json create mode 100644 build/.cmake/api/v1/reply/cache-v2-e780bd2949197fb2e074.json create mode 100644 build/.cmake/api/v1/reply/cmakeFiles-v1-3176d448c0fcaa0f4df8.json create mode 100644 build/.cmake/api/v1/reply/codemodel-v2-0df697e4a7c36f9bbc2e.json create mode 100644 build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json create mode 100644 build/.cmake/api/v1/reply/directory-src.AST-Debug-8995c16e68ff370fe399.json create mode 100644 build/.cmake/api/v1/reply/directory-src.ErrorReporter-Debug-34edfa840f14faa66fda.json create mode 100644 build/.cmake/api/v1/reply/directory-src.Frontend-Debug-3b8d0dd8602d303ac4b2.json create mode 100644 build/.cmake/api/v1/reply/directory-src.SysYFIR-Debug-5e95b0eeb20b96086be2.json create mode 100644 build/.cmake/api/v1/reply/directory-src.SysYFIRBuilder-Debug-0fcb88a9bb04bf471a6e.json create mode 100644 build/.cmake/api/v1/reply/index-2023-12-02T07-52-21-0522.json create mode 100644 build/.cmake/api/v1/reply/target-ASTLib-Debug-55970485fa7c4e69334a.json create mode 100644 build/.cmake/api/v1/reply/target-ASTPrinter-Debug-5db61ace862d46fdf358.json create mode 100644 build/.cmake/api/v1/reply/target-Driver-Debug-b934fe5e53c3bc2ab08c.json create mode 100644 build/.cmake/api/v1/reply/target-ErrReporter-Debug-c14ad9fa9cd21f3ff83e.json create mode 100644 build/.cmake/api/v1/reply/target-IRLib-Debug-ba8f259a2b96a50a1e03.json create mode 100644 build/.cmake/api/v1/reply/target-Parser-Debug-1f286daafb43df61894a.json create mode 100644 build/.cmake/api/v1/reply/target-Scanner-Debug-8dd49397481b22e58d7f.json create mode 100644 build/.cmake/api/v1/reply/target-SysYFCompiler-Debug-d546931bbeea61dadaed.json create mode 100644 build/.cmake/api/v1/reply/target-SysYFIRBuilder-Debug-977b555a6c24b8b3ae5a.json create mode 100644 build/.cmake/api/v1/reply/toolchains-v1-a58db7aa298771900914.json create mode 100644 build/CMakeCache.txt create mode 100644 build/CMakeFiles/3.23.3/CMakeCCompiler.cmake create mode 100644 build/CMakeFiles/3.23.3/CMakeCXXCompiler.cmake create mode 100755 build/CMakeFiles/3.23.3/CMakeDetermineCompilerABI_C.bin create mode 100755 build/CMakeFiles/3.23.3/CMakeDetermineCompilerABI_CXX.bin create mode 100644 build/CMakeFiles/3.23.3/CMakeSystem.cmake create mode 100644 build/CMakeFiles/3.23.3/CompilerIdC/CMakeCCompilerId.c create mode 100755 build/CMakeFiles/3.23.3/CompilerIdC/a.out create mode 100644 build/CMakeFiles/3.23.3/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 build/CMakeFiles/3.23.3/CompilerIdCXX/a.out create mode 100644 build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/CMakeFiles/CMakeOutput.log create mode 100644 build/CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/Makefile2 create mode 100644 build/CMakeFiles/SysYFCompiler.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/SysYFCompiler.dir/build.make create mode 100644 build/CMakeFiles/SysYFCompiler.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/SysYFCompiler.dir/compiler_depend.make create mode 100644 build/CMakeFiles/SysYFCompiler.dir/compiler_depend.ts create mode 100644 build/CMakeFiles/SysYFCompiler.dir/depend.make create mode 100644 build/CMakeFiles/SysYFCompiler.dir/flags.make create mode 100644 build/CMakeFiles/SysYFCompiler.dir/link.txt create mode 100644 build/CMakeFiles/SysYFCompiler.dir/progress.make create mode 100644 build/CMakeFiles/TargetDirectories.txt create mode 100644 build/CMakeFiles/cmake.check_cache create mode 100644 build/CMakeFiles/progress.marks create mode 100644 build/Makefile create mode 100644 build/cmake_install.cmake create mode 100644 build/compile_commands.json create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/DependInfo.cmake create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/build.make create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/cmake_clean.cmake create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/cmake_clean_target.cmake create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/compiler_depend.make create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/compiler_depend.ts create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/depend.make create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/flags.make create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/link.txt create mode 100644 build/src/AST/CMakeFiles/ASTLib.dir/progress.make create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/DependInfo.cmake create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/build.make create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/cmake_clean.cmake create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/cmake_clean_target.cmake create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.make create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.ts create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/depend.make create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/flags.make create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/link.txt create mode 100644 build/src/AST/CMakeFiles/ASTPrinter.dir/progress.make create mode 100644 build/src/AST/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/src/AST/CMakeFiles/progress.marks create mode 100644 build/src/AST/Makefile create mode 100644 build/src/AST/cmake_install.cmake create mode 100644 build/src/ErrorReporter/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/DependInfo.cmake create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/cmake_clean.cmake create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/cmake_clean_target.cmake create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.make create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.ts create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/depend.make create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/flags.make create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/link.txt create mode 100644 build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/progress.make create mode 100644 build/src/ErrorReporter/CMakeFiles/progress.marks create mode 100644 build/src/ErrorReporter/Makefile create mode 100644 build/src/ErrorReporter/cmake_install.cmake create mode 100644 build/src/Frontend/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/DependInfo.cmake create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/build.make create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/cmake_clean.cmake create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/cmake_clean_target.cmake create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/compiler_depend.make create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/compiler_depend.ts create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/depend.make create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/flags.make create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/link.txt create mode 100644 build/src/Frontend/CMakeFiles/Driver.dir/progress.make create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/DependInfo.cmake create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/build.make create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/cmake_clean.cmake create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/cmake_clean_target.cmake create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/compiler_depend.make create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/compiler_depend.ts create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/depend.make create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/flags.make create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/link.txt create mode 100644 build/src/Frontend/CMakeFiles/Parser.dir/progress.make create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/DependInfo.cmake create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/build.make create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/cmake_clean.cmake create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/cmake_clean_target.cmake create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.make create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.ts create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/depend.make create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/flags.make create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/link.txt create mode 100644 build/src/Frontend/CMakeFiles/Scanner.dir/progress.make create mode 100644 build/src/Frontend/CMakeFiles/progress.marks create mode 100644 build/src/Frontend/Makefile create mode 100644 build/src/Frontend/cmake_install.cmake create mode 100644 build/src/SysYFIR/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/DependInfo.cmake create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/build.make create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/cmake_clean.cmake create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/cmake_clean_target.cmake create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.make create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/depend.make create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/flags.make create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/link.txt create mode 100644 build/src/SysYFIR/CMakeFiles/IRLib.dir/progress.make create mode 100644 build/src/SysYFIR/CMakeFiles/progress.marks create mode 100644 build/src/SysYFIR/Makefile create mode 100644 build/src/SysYFIR/cmake_install.cmake create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/DependInfo.cmake create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/cmake_clean.cmake create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/cmake_clean_target.cmake create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.make create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.ts create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/depend.make create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/flags.make create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/link.txt create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/progress.make create mode 100644 build/src/SysYFIRBuilder/CMakeFiles/progress.marks create mode 100644 build/src/SysYFIRBuilder/Makefile create mode 100644 build/src/SysYFIRBuilder/cmake_install.cmake create mode 100755 doc/AST.md create mode 100644 doc/SysYFIR.md create mode 100755 doc/SysYF语言定义.pdf create mode 100755 doc/figs/核心类概念图.png create mode 100644 doc/phase1.md create mode 100644 doc/phase2.md create mode 100644 doc/phase3.md create mode 100755 include/AST/SyntaxTree.h create mode 100755 include/AST/SyntaxTreePrinter.h create mode 100755 include/ErrorReporter/ErrorReporter.h create mode 100644 include/Frontend/FlexLexer.h create mode 100755 include/Frontend/SysYFDriver.h create mode 100755 include/Frontend/SysYFFlexLexer.h create mode 100644 include/Frontend/SysYFParser.h create mode 100644 include/Frontend/location.hh create mode 100644 include/Frontend/position.hh create mode 100644 include/Frontend/stack.hh create mode 100644 include/SysYFIR/BasicBlock.h create mode 100644 include/SysYFIR/Constant.h create mode 100644 include/SysYFIR/Function.h create mode 100644 include/SysYFIR/GlobalVariable.h create mode 100644 include/SysYFIR/IRPrinter.h create mode 100644 include/SysYFIR/IRStmtBuilder.h create mode 100644 include/SysYFIR/Instruction.h create mode 100644 include/SysYFIR/Module.h create mode 100644 include/SysYFIR/Type.h create mode 100644 include/SysYFIR/User.h create mode 100644 include/SysYFIR/Value.h create mode 100644 include/SysYFIRBuilder/IRBuilder.h create mode 100644 include/internal_macros.h create mode 100644 include/internal_types.h create mode 100644 lib/lib.c create mode 100644 report/contribution.md create mode 100644 report/report.md create mode 100644 src/AST/CMakeLists.txt create mode 100755 src/AST/SyntaxTree.cpp create mode 100755 src/AST/SyntaxTreePrinter.cpp create mode 100644 src/ErrorReporter/CMakeLists.txt create mode 100755 src/ErrorReporter/ErrorReporter.cpp create mode 100644 src/Frontend/CMakeLists.txt create mode 100755 src/Frontend/SysYFDriver.cpp create mode 100644 src/Frontend/SysYFParser.cpp create mode 100644 src/Frontend/SysYFScanner.cpp create mode 100644 src/SysYFIR/BasicBlock.cpp create mode 100644 src/SysYFIR/CMakeLists.txt create mode 100644 src/SysYFIR/Constant.cpp create mode 100644 src/SysYFIR/Function.cpp create mode 100644 src/SysYFIR/GlobalVariable.cpp create mode 100644 src/SysYFIR/IRPrinter.cpp create mode 100644 src/SysYFIR/Instruction.cpp create mode 100644 src/SysYFIR/Module.cpp create mode 100644 src/SysYFIR/Type.cpp create mode 100644 src/SysYFIR/User.cpp create mode 100644 src/SysYFIR/Value.cpp create mode 100644 src/SysYFIRBuilder/CMakeLists.txt create mode 100644 src/SysYFIRBuilder/IRBuilder.cpp create mode 100755 src/main.cpp diff --git a/Student/task1/demo/go_upstairs.c b/Student/task1/demo/go_upstairs.c new file mode 100644 index 0000000..e9176e9 --- /dev/null +++ b/Student/task1/demo/go_upstairs.c @@ -0,0 +1,28 @@ +int num[2] = {4, 8}; +int x[1]; +int n; +int tmp = 1; + +int climbStairs(int n) { + if(n < 4) + return n; + int dp[10]; + dp[0] = 0; + dp[1] = 1; + dp[2] = 2; + int i; + i = 3; + while(i0 ){ + return a; + } + return 0; +} diff --git a/Student/task1/sy/while_test.sy b/Student/task1/sy/while_test.sy new file mode 100644 index 0000000..374f82d --- /dev/null +++ b/Student/task1/sy/while_test.sy @@ -0,0 +1,11 @@ +int a; +int b; +int main(){ + b=0; + a=3; + while(a>0){ + b = b+a; + a = a-1; + } + return b; +} diff --git a/Student/task2/CMakeLists.txt b/Student/task2/CMakeLists.txt new file mode 100644 index 0000000..8c8c43d --- /dev/null +++ b/Student/task2/CMakeLists.txt @@ -0,0 +1,18 @@ +project(task2) + +cmake_minimum_required(VERSION 3.5) + +set(CMAKE_CXX_STANDARD 14) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -Wall -g -pedantic") + +set(SYSYF_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + +# include generated files in project environment +include_directories(${SYSYF_SOURCE_DIR}include) +include_directories(${SYSYF_SOURCE_DIR}include/SysYFIR) +add_subdirectory(${SYSYF_SOURCE_DIR}src/SysYFIR src/SysYFIR) + +add_subdirectory(demo) +add_subdirectory(cpp) diff --git a/Student/task2/cpp/CMakeLists.txt b/Student/task2/cpp/CMakeLists.txt new file mode 100644 index 0000000..58796f3 --- /dev/null +++ b/Student/task2/cpp/CMakeLists.txt @@ -0,0 +1,36 @@ +add_executable( + assign_generator + assign_gen.cpp +) +target_link_libraries( + assign_generator + IRLib +) + +add_executable( + func_generator + func_gen.cpp +) +target_link_libraries( + func_generator + IRLib +) + +add_executable( + if_generator + if_gen.cpp +) +target_link_libraries( + if_generator + IRLib +) + +add_executable( + while_generator + while_gen.cpp +) +target_link_libraries( + while_generator + IRLib +) + \ No newline at end of file diff --git a/Student/task2/cpp/assign_gen.cpp b/Student/task2/cpp/assign_gen.cpp new file mode 100644 index 0000000..c30d8f1 --- /dev/null +++ b/Student/task2/cpp/assign_gen.cpp @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task2/cpp/func_gen.cpp b/Student/task2/cpp/func_gen.cpp new file mode 100644 index 0000000..c30d8f1 --- /dev/null +++ b/Student/task2/cpp/func_gen.cpp @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task2/cpp/if_gen.cpp b/Student/task2/cpp/if_gen.cpp new file mode 100644 index 0000000..c30d8f1 --- /dev/null +++ b/Student/task2/cpp/if_gen.cpp @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task2/cpp/while_gen.cpp b/Student/task2/cpp/while_gen.cpp new file mode 100644 index 0000000..c30d8f1 --- /dev/null +++ b/Student/task2/cpp/while_gen.cpp @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task2/demo/CMakeLists.txt b/Student/task2/demo/CMakeLists.txt new file mode 100644 index 0000000..8a83a7a --- /dev/null +++ b/Student/task2/demo/CMakeLists.txt @@ -0,0 +1,8 @@ +add_executable( + go_upstairs_generator + go_upstairs_gen.cpp +) +target_link_libraries( + go_upstairs_generator + IRLib +) diff --git a/Student/task2/demo/go_upstairs.sy b/Student/task2/demo/go_upstairs.sy new file mode 100644 index 0000000..e9176e9 --- /dev/null +++ b/Student/task2/demo/go_upstairs.sy @@ -0,0 +1,28 @@ +int num[2] = {4, 8}; +int x[1]; +int n; +int tmp = 1; + +int climbStairs(int n) { + if(n < 4) + return n; + int dp[10]; + dp[0] = 0; + dp[1] = 1; + dp[2] = 2; + int i; + i = 3; + while(i +#include + +#ifdef DEBUG // 用于调试信息,大家可以在编译过程中通过" -DDEBUG"来开启这一选项 +#define DEBUG_OUTPUT std::cout << __LINE__ << std::endl; // 输出行号的简单示例 +#else +#define DEBUG_OUTPUT +#endif + +#define CONST_INT(num) \ + ConstantInt::create(num, module) + +#define CONST_FP(num) \ + ConstantFloat::create(num, module) // 得到常数值的表示,方便后面多次用到 + +using namespace SysYF::IR; + +int main() { + auto module = Module::create("SysYF code"); // module name是什么无关紧要 + auto builder = IRStmtBuilder::create(nullptr, module); + SysYF::Ptr Int32Type = Type::get_int32_type(module); + + // 全局数组,num,x + auto arrayType_num = ArrayType::get(Int32Type, 2); + auto arrayType_x = ArrayType::get(Int32Type, 1); + auto zero_initializer = ConstantZero::create(Int32Type, module); + std::vector> init_val; + init_val.push_back(CONST_INT(4)); + init_val.push_back(CONST_INT(8)); + auto num_initializer = ConstantArray::create(arrayType_num, init_val); + auto num = GlobalVariable::create("num", module, arrayType_num, false, num_initializer);// 是否是常量定义,初始化常量(ConstantZero类) + auto x = GlobalVariable::create("x", module, arrayType_x, false, zero_initializer);// 参数解释: 名字name,所属module,全局变量类型type, + + auto n = GlobalVariable::create("n", module, Int32Type, false, zero_initializer); + auto tmp = GlobalVariable::create("tmp", module, Int32Type, false, CONST_INT(1)); + + // climbStairs函数 + // 函数参数类型的vector + std::vector> Ints(1, Int32Type); + + //通过返回值类型与参数类型列表得到函数类型 + auto climbStairsFunTy = FunctionType::create(Int32Type, Ints); + + // 由函数类型得到函数 + auto climbStairsFun = Function::create(climbStairsFunTy, + "climbStairs", module); + + // BB的名字在生成中无所谓,但是可以方便阅读 + auto bb = BasicBlock::create(module, "entry", climbStairsFun); + + builder->set_insert_point(bb); // 一个BB的开始,将当前插入指令点的位置设在bb + + auto retAlloca = builder->create_alloca(Int32Type); // 在内存中分配返回值的位置 + auto nAlloca = builder->create_alloca(Int32Type); // 在内存中分配参数n的位置 + + std::vector> args; // 获取climbStairs函数的形参,通过Function中的iterator + for (auto arg = climbStairsFun->arg_begin(); arg != climbStairsFun->arg_end(); arg++) { + args.push_back(*arg); // * 号运算符是从迭代器中取出迭代器当前指向的元素 + } + + builder->create_store(args[0], nAlloca); // store参数n + + auto retBB = BasicBlock::create( + module, "", climbStairsFun); // return分支,提前create,以便true分支可以br + + auto nLoad = builder->create_load(nAlloca); // 将参数n load上来 + auto icmp = builder->create_icmp_lt(nLoad, CONST_INT(4)); // n和4的比较,注意ICMPLT + + auto trueBB = BasicBlock::create(module, "trueBB_if", climbStairsFun); // true分支 + auto falseBB = BasicBlock::create(module, "falseBB_if", climbStairsFun); // false分支 + + builder->create_cond_br(icmp, trueBB, falseBB); // 条件BR + DEBUG_OUTPUT // 我调试的时候故意留下来的,以醒目地提醒你这个调试用的宏定义方法 + builder->set_insert_point(trueBB); // if true; 分支的开始需要SetInsertPoint设置 + nLoad = builder->create_load(nAlloca); + builder->create_store(nLoad, retAlloca); + builder->create_br(retBB); // br retBB + + builder->set_insert_point(falseBB); // if false + auto arrayType_dp = ArrayType::get(Int32Type, 10); + auto dpAlloca = builder->create_alloca(arrayType_dp); + + auto dp0Gep = builder->create_gep(dpAlloca, {CONST_INT(0), CONST_INT(0)}); + builder->create_store(CONST_INT(0), dp0Gep); + + auto dp1Gep = builder->create_gep(dpAlloca, {CONST_INT(0), CONST_INT(1)}); + builder->create_store(CONST_INT(1), dp1Gep); + + auto dp2Gep = builder->create_gep(dpAlloca, {CONST_INT(0), CONST_INT(2)}); + builder->create_store(CONST_INT(2), dp2Gep); + + auto iAlloca = builder->create_alloca(Int32Type); + builder->create_store(CONST_INT(3), iAlloca); + + auto condBB = BasicBlock::create(module, "condBB_while", climbStairsFun); // 条件BB + trueBB = BasicBlock::create(module, "trueBB_while", climbStairsFun); // true分支 + falseBB = BasicBlock::create(module, "falseBB_while", climbStairsFun); // false分支 + + builder->create_br(condBB); + + builder->set_insert_point(condBB); + + auto iLoad = builder->create_load(iAlloca); + nLoad = builder->create_load(nAlloca); + auto add = builder->create_iadd(nLoad, CONST_INT(1)); + + icmp = builder->create_icmp_lt(iLoad, add); + builder->create_cond_br(icmp, trueBB, falseBB); + + builder->set_insert_point(trueBB); + + iLoad = builder->create_load(iAlloca); + auto sub = builder->create_isub(iLoad, CONST_INT(1)); + auto dpGep = builder->create_gep(dpAlloca, {CONST_INT(0), sub}); + auto dp1Load = builder->create_load(dpGep); + + iLoad = builder->create_load(iAlloca); + sub = builder->create_isub(iLoad, CONST_INT(2)); + dpGep = builder->create_gep(dpAlloca, {CONST_INT(0), sub}); + auto dp2Load = builder->create_load(dpGep); + + add = builder->create_iadd(dp1Load, dp2Load); + iLoad = builder->create_load(iAlloca); + dpGep = builder->create_gep(dpAlloca, {CONST_INT(0), iLoad}); + builder->create_store(add, dpGep); + + iLoad = builder->create_load(iAlloca); + add = builder->create_iadd(iLoad, CONST_INT(1)); + builder->create_store(add, iAlloca); + + builder->create_br(condBB); + + builder->set_insert_point(falseBB); + nLoad = builder->create_load(nAlloca); + dpGep = builder->create_gep(dpAlloca, {CONST_INT(0), nLoad}); + auto dpLoad = builder->create_load(dpGep); + builder->create_store(dpLoad, retAlloca); + builder->create_br(retBB); + + builder->set_insert_point(retBB); // ret分支 + auto retLoad = builder->create_load(retAlloca); + builder->create_ret(retLoad); + + // main函数 + auto mainFun = Function::create(FunctionType::create(Int32Type, {}), + "main", module); + bb = BasicBlock::create(module, "entry", mainFun); + // BasicBlock的名字在生成中无所谓,但是可以方便阅读 + builder->set_insert_point(bb); + + retAlloca = builder->create_alloca(Int32Type); + auto resAlloca = builder->create_alloca(Int32Type); + + auto num0Gep = builder->create_gep(num, {CONST_INT(0), CONST_INT(0)}); // GEP: 这里为什么是{0, 0}呢? (实验报告相关) + auto num0Load = builder->create_load(num0Gep); + builder->create_store(num0Load, n); + + auto tmpLoad = builder->create_load(tmp); + auto numGep = builder->create_gep(num, {CONST_INT(0), tmpLoad}); + auto numLoad = builder->create_load(numGep); + auto x0Gep = builder->create_gep(x, {CONST_INT(0), CONST_INT(0)}); + builder->create_store(numLoad, x0Gep); + + nLoad = builder->create_load(n); + tmpLoad = builder->create_load(tmp); + add = builder->create_iadd(nLoad, tmpLoad); + auto call = builder->create_call(climbStairsFun, {add}); // 为什么这里传的是{add}呢? + builder->create_store(call, resAlloca); + + auto resLoad = builder->create_load(resAlloca); + x0Gep = builder->create_gep(x, {CONST_INT(0), CONST_INT(0)}); + auto x0Load = builder->create_load(x0Gep); + sub = builder->create_isub(resLoad, x0Load); + builder->create_store(sub, retAlloca); + retLoad = builder->create_load(retAlloca); + builder->create_ret(retLoad); + // 给这么多注释了,但是可能你们还是会弄很多bug + // 所以强烈建议配置AutoComplete,效率会大大提高! + // 别人配了AutoComplete,只花1小时coding + // 你没有配AutoComplete,找method花5小时,debug花5小时,肯定哭唧唧! + // 最后,如果猜不到某个IR指令对应的C++的函数,建议把指令翻译成英语然后在method列表中搜索一下 + // 最后的最后,这个例子只涉及到了一点基本的指令生成, + // 对于额外的指令,包括数组,在之后的实验中可能需要大家好好搜索一下思考一下, + // 还有涉及到的C++语法,可以在gitlab上发issue提问或者向大家提供指导 + // 对于这个例子里的代码风格/用法,如果有好的建议也欢迎提出! + std::cout << module->print(); + return 0; +} diff --git a/Student/task2/sy/assign_test.sy b/Student/task2/sy/assign_test.sy new file mode 100644 index 0000000..87e3097 --- /dev/null +++ b/Student/task2/sy/assign_test.sy @@ -0,0 +1,6 @@ +int main(){ + float b = 1.8; + int a[2] = {2}; + a[1] = a[0] * b; + return a[1]; +} diff --git a/Student/task2/sy/func_test.sy b/Student/task2/sy/func_test.sy new file mode 100644 index 0000000..51d371f --- /dev/null +++ b/Student/task2/sy/func_test.sy @@ -0,0 +1,13 @@ +int add(int a,int b){ + return (a+b-1); +} + +int main(){ + int a; + int b; + int c; + a=3; + b=2; + c = 5; + return c + add(a,b); +} diff --git a/Student/task2/sy/if_test.sy b/Student/task2/sy/if_test.sy new file mode 100644 index 0000000..5fbc540 --- /dev/null +++ b/Student/task2/sy/if_test.sy @@ -0,0 +1,9 @@ +int a; + +int main(){ + a = 10; + if( a>0 ){ + return a; + } + return 0; +} diff --git a/Student/task2/sy/while_test.sy b/Student/task2/sy/while_test.sy new file mode 100644 index 0000000..374f82d --- /dev/null +++ b/Student/task2/sy/while_test.sy @@ -0,0 +1,11 @@ +int a; +int b; +int main(){ + b=0; + a=3; + while(a>0){ + b = b+a; + a = a-1; + } + return b; +} diff --git a/Student/task3/test.py b/Student/task3/test.py new file mode 100644 index 0000000..cede8f7 --- /dev/null +++ b/Student/task3/test.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +import subprocess +import os + +IRBuild_ptn = '"{}" "-emit-ir" "-o" "{}" "{}"' +ExeGen_ptn = '"clang" "{}" "-o" "{}" "{}" "../../lib/lib.c"' +Exe_ptn = '"{}"' + +def eval(EXE_PATH, TEST_BASE_PATH, optimization): + print('===========TEST START===========') + print('now in {}'.format(TEST_BASE_PATH)) + dir_succ = True + for case in testcases: + print('Case %s:' % case, end='') + TEST_PATH = TEST_BASE_PATH + case + SY_PATH = TEST_BASE_PATH + case + '.sy' + LL_PATH = TEST_BASE_PATH + case + '.ll' + INPUT_PATH = TEST_BASE_PATH + case + '.in' + OUTPUT_PATH = TEST_BASE_PATH + case + '.out' + need_input = testcases[case] + + IRBuild_result = subprocess.run(IRBuild_ptn.format(EXE_PATH, LL_PATH, SY_PATH), shell=True, stderr=subprocess.PIPE) + if IRBuild_result.returncode == 0: + input_option = None + if need_input: + with open(INPUT_PATH, "rb") as fin: + input_option = fin.read() + + try: + subprocess.run(ExeGen_ptn.format(optimization, TEST_PATH, LL_PATH), shell=True, stderr=subprocess.PIPE) + result = subprocess.run(Exe_ptn.format(TEST_PATH), shell=True, input=input_option, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + out = result.stdout.split(b'\n') + if result.returncode != b'': + out.append(str(result.returncode).encode()) + for i in range(len(out)-1, -1, -1): + out[i] = out[i].strip(b'\r') + if out[i] == b'': + out.remove(b'') + case_succ = True + with open(OUTPUT_PATH, "rb") as fout: + i = 0 + for line in fout.readlines(): + line = line.strip(b'\r').strip(b'\n') + if line == '': + continue + if out[i] != line: + dir_succ = False + case_succ = False + i = i + 1 + if case_succ: + print('\t\033[32mPass\033[0m') + else: + print('\t\033[31mWrong Answer\033[0m') + except Exception as _: + dir_succ = False + print(_, end='') + print('\t\033[31mCodeGen or CodeExecute Fail\033[0m') + finally: + subprocess.call(["rm", "-rf", TEST_PATH, TEST_PATH]) + subprocess.call(["rm", "-rf", TEST_PATH, TEST_PATH + ".o"]) + subprocess.call(["rm", "-rf", TEST_PATH, TEST_PATH + ".ll"]) + + else: + dir_succ = False + print('\t\033[31mIRBuild Fail\033[0m') + if dir_succ: + print('\t\033[32mSuccess\033[0m in dir {}'.format(TEST_BASE_PATH)) + else: + print('\t\033[31mFail\033[0m in dir {}'.format(TEST_BASE_PATH)) + + print('============TEST END============') + + +if __name__ == "__main__": + + # you can only modify this to add your testcase + TEST_DIRS = [ + './test/', + ] + # you can only modify this to add your testcase + + optimization = "-O0" # -O0 -O1 -O2 -O3 -O4(currently = -O3) -Ofast + for TEST_BASE_PATH in TEST_DIRS: + testcases = {} # { name: need_input } + EXE_PATH = os.path.abspath('../../build/SysYFCompiler') + testcase_list = list(map(lambda x: x.split('.'), os.listdir(TEST_BASE_PATH))) + testcase_list.sort() + for i in range(len(testcase_list)): + testcases[testcase_list[i][0]] = False + for i in range(len(testcase_list)): + testcases[testcase_list[i][0]] = testcases[testcase_list[i][0]] | (testcase_list[i][1] == 'in') + eval(EXE_PATH, TEST_BASE_PATH, optimization=optimization) diff --git a/Student/task3/test/01_main.out b/Student/task3/test/01_main.out new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Student/task3/test/01_main.out @@ -0,0 +1 @@ +0 diff --git a/Student/task3/test/01_main.sy b/Student/task3/test/01_main.sy new file mode 100644 index 0000000..ade4548 --- /dev/null +++ b/Student/task3/test/01_main.sy @@ -0,0 +1,3 @@ +int main(){ + return 0; +} diff --git a/Student/task3/test/02_var_defn.out b/Student/task3/test/02_var_defn.out new file mode 100644 index 0000000..f04c001 --- /dev/null +++ b/Student/task3/test/02_var_defn.out @@ -0,0 +1 @@ +29 diff --git a/Student/task3/test/02_var_defn.sy b/Student/task3/test/02_var_defn.sy new file mode 100644 index 0000000..d0d0f2c --- /dev/null +++ b/Student/task3/test/02_var_defn.sy @@ -0,0 +1,8 @@ +int a,b; + +int main(){ + a=10; + b=5; + int c=a*2+b*1.1+3.6; + return c; +} \ No newline at end of file diff --git a/Student/task3/test/03_empty_stmt.out b/Student/task3/test/03_empty_stmt.out new file mode 100644 index 0000000..aabe6ec --- /dev/null +++ b/Student/task3/test/03_empty_stmt.out @@ -0,0 +1 @@ +21 diff --git a/Student/task3/test/03_empty_stmt.sy b/Student/task3/test/03_empty_stmt.sy new file mode 100644 index 0000000..a8c161f --- /dev/null +++ b/Student/task3/test/03_empty_stmt.sy @@ -0,0 +1,5 @@ +int main() { + int a = 10; + ; + return a * 2 + 1; +} diff --git a/Student/task3/test/04_arr_defn.out b/Student/task3/test/04_arr_defn.out new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Student/task3/test/04_arr_defn.out @@ -0,0 +1 @@ +0 diff --git a/Student/task3/test/04_arr_defn.sy b/Student/task3/test/04_arr_defn.sy new file mode 100644 index 0000000..0fa1ceb --- /dev/null +++ b/Student/task3/test/04_arr_defn.sy @@ -0,0 +1,4 @@ +int a[10]; +int main(){ + return 0; +} diff --git a/Student/task3/test/05_arr_assign.out b/Student/task3/test/05_arr_assign.out new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Student/task3/test/05_arr_assign.out @@ -0,0 +1 @@ +0 diff --git a/Student/task3/test/05_arr_assign.sy b/Student/task3/test/05_arr_assign.sy new file mode 100644 index 0000000..3fe56ba --- /dev/null +++ b/Student/task3/test/05_arr_assign.sy @@ -0,0 +1,5 @@ +int a[10]; +int main(){ + a[0]=1; + return 0; +} diff --git a/Student/task3/test/06_const_defn.out b/Student/task3/test/06_const_defn.out new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/Student/task3/test/06_const_defn.out @@ -0,0 +1 @@ +4 diff --git a/Student/task3/test/06_const_defn.sy b/Student/task3/test/06_const_defn.sy new file mode 100644 index 0000000..6804194 --- /dev/null +++ b/Student/task3/test/06_const_defn.sy @@ -0,0 +1,5 @@ +const int x=4; + +int main(){ + return x; +} \ No newline at end of file diff --git a/Student/task3/test/07_const_array_defn.out b/Student/task3/test/07_const_array_defn.out new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/Student/task3/test/07_const_array_defn.out @@ -0,0 +1 @@ +8 diff --git a/Student/task3/test/07_const_array_defn.sy b/Student/task3/test/07_const_array_defn.sy new file mode 100644 index 0000000..0ae4d90 --- /dev/null +++ b/Student/task3/test/07_const_array_defn.sy @@ -0,0 +1,7 @@ +const int a[5]={0,1,2,3,4}; +const int b = 3; +float c = a[b + 1]; + +int main(){ + return a[4] + c; +} \ No newline at end of file diff --git a/Student/task3/test/08_var_defn_func.out b/Student/task3/test/08_var_defn_func.out new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/Student/task3/test/08_var_defn_func.out @@ -0,0 +1 @@ +4 diff --git a/Student/task3/test/08_var_defn_func.sy b/Student/task3/test/08_var_defn_func.sy new file mode 100644 index 0000000..03ab608 --- /dev/null +++ b/Student/task3/test/08_var_defn_func.sy @@ -0,0 +1,8 @@ +int defn(){ + return 4; +} + +int main(){ + int a=defn(); + return a; +} \ No newline at end of file diff --git a/Student/task3/test/09_void_func.out b/Student/task3/test/09_void_func.out new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/Student/task3/test/09_void_func.out @@ -0,0 +1 @@ +5 diff --git a/Student/task3/test/09_void_func.sy b/Student/task3/test/09_void_func.sy new file mode 100644 index 0000000..2799e1e --- /dev/null +++ b/Student/task3/test/09_void_func.sy @@ -0,0 +1,13 @@ +int a,b,c; + +void add(int a,int b){ + c=a+b; + return; +} + +int main(){ + a=3; + b=2; + add(a,b); + return c; +} \ No newline at end of file diff --git a/Student/task3/test/10_if.out b/Student/task3/test/10_if.out new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Student/task3/test/10_if.out @@ -0,0 +1 @@ +1 diff --git a/Student/task3/test/10_if.sy b/Student/task3/test/10_if.sy new file mode 100644 index 0000000..a908d63 --- /dev/null +++ b/Student/task3/test/10_if.sy @@ -0,0 +1,9 @@ +int a; + +int main(){ + a = 10; + if( a>0 ){ + return 1; + } + return 0; +} diff --git a/Student/task3/test/11_if_else.out b/Student/task3/test/11_if_else.out new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Student/task3/test/11_if_else.out @@ -0,0 +1 @@ +1 diff --git a/Student/task3/test/11_if_else.sy b/Student/task3/test/11_if_else.sy new file mode 100644 index 0000000..a4f5062 --- /dev/null +++ b/Student/task3/test/11_if_else.sy @@ -0,0 +1,10 @@ +int a; +int main(){ + a = 10; + if( a>0 ){ + return 1; + } + else{ + return 0; + } +} diff --git a/Student/task3/test/12_while.out b/Student/task3/test/12_while.out new file mode 100644 index 0000000..1e8b314 --- /dev/null +++ b/Student/task3/test/12_while.out @@ -0,0 +1 @@ +6 diff --git a/Student/task3/test/12_while.sy b/Student/task3/test/12_while.sy new file mode 100644 index 0000000..374f82d --- /dev/null +++ b/Student/task3/test/12_while.sy @@ -0,0 +1,11 @@ +int a; +int b; +int main(){ + b=0; + a=3; + while(a>0){ + b = b+a; + a = a-1; + } + return b; +} diff --git a/Student/task3/test/13_break.out b/Student/task3/test/13_break.out new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/Student/task3/test/13_break.out @@ -0,0 +1 @@ +5 diff --git a/Student/task3/test/13_break.sy b/Student/task3/test/13_break.sy new file mode 100644 index 0000000..55b40dc --- /dev/null +++ b/Student/task3/test/13_break.sy @@ -0,0 +1,9 @@ +int main(){ + int a=10; + while(a>0){ + a=a-1; + if(a==5) + break; + } + return a; +} \ No newline at end of file diff --git a/Student/task3/test/14_continue.out b/Student/task3/test/14_continue.out new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/Student/task3/test/14_continue.out @@ -0,0 +1 @@ +5 diff --git a/Student/task3/test/14_continue.sy b/Student/task3/test/14_continue.sy new file mode 100644 index 0000000..d0f9e50 --- /dev/null +++ b/Student/task3/test/14_continue.sy @@ -0,0 +1,11 @@ +int main(){ + int a=10; + while(a>0){ + if(a>5){ + a=a-1; + continue; + } + return a; + } + return a; +} \ No newline at end of file diff --git a/Student/task3/test/15_getint.in b/Student/task3/test/15_getint.in new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/Student/task3/test/15_getint.in @@ -0,0 +1 @@ +10 diff --git a/Student/task3/test/15_getint.out b/Student/task3/test/15_getint.out new file mode 100644 index 0000000..f599e28 --- /dev/null +++ b/Student/task3/test/15_getint.out @@ -0,0 +1 @@ +10 diff --git a/Student/task3/test/15_getint.sy b/Student/task3/test/15_getint.sy new file mode 100644 index 0000000..5a7c254 --- /dev/null +++ b/Student/task3/test/15_getint.sy @@ -0,0 +1,5 @@ +int main(){ + int a; + a = getint(); + return a; +} diff --git a/Student/task3/test/16_func_test.out b/Student/task3/test/16_func_test.out new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/Student/task3/test/16_func_test.out @@ -0,0 +1 @@ +5 diff --git a/Student/task3/test/16_func_test.sy b/Student/task3/test/16_func_test.sy new file mode 100644 index 0000000..67645a3 --- /dev/null +++ b/Student/task3/test/16_func_test.sy @@ -0,0 +1,23 @@ +int a; + +int myFunc(int a, int b, int c) { + a = 2; + { + int c; + c = 0; + if (c != 0) { + return 0; + } + } + while (b > 0) { + b = b - 1; + } + return (a)+(b); +} + +int main() { + a = (3); + int b; + b = myFunc(1, 2, 1); + return ((a+b)); +} \ No newline at end of file diff --git a/Student/task3/test/17_equal.in b/Student/task3/test/17_equal.in new file mode 100644 index 0000000..bce4388 --- /dev/null +++ b/Student/task3/test/17_equal.in @@ -0,0 +1 @@ +3 2 diff --git a/Student/task3/test/17_equal.out b/Student/task3/test/17_equal.out new file mode 100644 index 0000000..573541a --- /dev/null +++ b/Student/task3/test/17_equal.out @@ -0,0 +1 @@ +0 diff --git a/Student/task3/test/17_equal.sy b/Student/task3/test/17_equal.sy new file mode 100644 index 0000000..1453cdb --- /dev/null +++ b/Student/task3/test/17_equal.sy @@ -0,0 +1,12 @@ +int a; +int b; +int main(){ + a = getint(); + b = getint(); + if ( a == b ){ + return 1; + } + else{ + return 0; + } +} diff --git a/Student/task3/test/18_scope.out b/Student/task3/test/18_scope.out new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/Student/task3/test/18_scope.out @@ -0,0 +1 @@ +8 diff --git a/Student/task3/test/18_scope.sy b/Student/task3/test/18_scope.sy new file mode 100644 index 0000000..afc6d97 --- /dev/null +++ b/Student/task3/test/18_scope.sy @@ -0,0 +1,17 @@ +const int a = 5; +int b; + +int my_sum(int x, float y){ + b = a + x - y; + return b; +} + +int main(){ + int a = 7; + { + const float a = 3.3; + my_sum(a, a); + } + my_sum(a, b); + return b; +} diff --git a/Student/task3/test/19_gcd.in b/Student/task3/test/19_gcd.in new file mode 100644 index 0000000..4271cf2 --- /dev/null +++ b/Student/task3/test/19_gcd.in @@ -0,0 +1,2 @@ +4 +20 \ No newline at end of file diff --git a/Student/task3/test/19_gcd.out b/Student/task3/test/19_gcd.out new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/Student/task3/test/19_gcd.out @@ -0,0 +1 @@ +4 diff --git a/Student/task3/test/19_gcd.sy b/Student/task3/test/19_gcd.sy new file mode 100644 index 0000000..1d20bc5 --- /dev/null +++ b/Student/task3/test/19_gcd.sy @@ -0,0 +1,34 @@ +int n; + +int gcd(int m,int n) +{ + int t; + int r; + + if(m 0) { + hanoi(getint(), 1, 2, 3); + putch(10); + n = n - 1; + } + return 0; +} diff --git a/Student/task3/test_stu/.gitkeep b/Student/task3/test_stu/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/build/.cmake/api/v1/query/client-vscode/query.json b/build/.cmake/api/v1/query/client-vscode/query.json new file mode 100644 index 0000000..82bb964 --- /dev/null +++ b/build/.cmake/api/v1/query/client-vscode/query.json @@ -0,0 +1 @@ +{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]} \ No newline at end of file diff --git a/build/.cmake/api/v1/reply/cache-v2-e780bd2949197fb2e074.json b/build/.cmake/api/v1/reply/cache-v2-e780bd2949197fb2e074.json new file mode 100644 index 0000000..52286d4 --- /dev/null +++ b/build/.cmake/api/v1/reply/cache-v2-e780bd2949197fb2e074.json @@ -0,0 +1,1199 @@ +{ + "entries" : + [ + { + "name" : "ANTLR_EXECUTABLE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "UNINITIALIZED", + "value" : "/usr/local/lib/antlr-4.13.1-complete.jar" + }, + { + "name" : "CMAKE_ADDR2LINE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-addr2line" + }, + { + "name" : "CMAKE_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-ar" + }, + { + "name" : "CMAKE_BUILD_TYPE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "STRING", + "value" : "Debug" + }, + { + "name" : "CMAKE_CACHEFILE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "This is the directory where this CMakeCache.txt was created" + } + ], + "type" : "INTERNAL", + "value" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "name" : "CMAKE_CACHE_MAJOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Major version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_CACHE_MINOR_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Minor version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "23" + }, + { + "name" : "CMAKE_CACHE_PATCH_VERSION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Patch version of cmake used to create the current loaded cache" + } + ], + "type" : "INTERNAL", + "value" : "3" + }, + { + "name" : "CMAKE_COLOR_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Enable/Disable color output during build." + } + ], + "type" : "BOOL", + "value" : "ON" + }, + { + "name" : "CMAKE_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cmake" + }, + { + "name" : "CMAKE_CPACK_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cpack program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/cpack" + }, + { + "name" : "CMAKE_CTEST_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to ctest program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/ctest" + }, + { + "name" : "CMAKE_CXX_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/clang++" + }, + { + "name" : "CMAKE_CXX_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-ar" + }, + { + "name" : "CMAKE_CXX_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_CXX_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_CXX_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_CXX_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_CXX_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the CXX compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_C_COMPILER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/clang" + }, + { + "name" : "CMAKE_C_COMPILER_AR", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "LLVM archiver" + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-ar" + }, + { + "name" : "CMAKE_C_COMPILER_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Generate index for LLVM archive" + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_C_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_C_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "-g" + }, + { + "name" : "CMAKE_C_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "-Os -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "-O3 -DNDEBUG" + }, + { + "name" : "CMAKE_C_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the C compiler during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "-O2 -g -DNDEBUG" + }, + { + "name" : "CMAKE_DLLTOOL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-dlltool" + }, + { + "name" : "CMAKE_EDIT_COMMAND", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to cache edit program executable." + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/ccmake" + }, + { + "name" : "CMAKE_EXECUTABLE_FORMAT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Executable file format" + } + ], + "type" : "INTERNAL", + "value" : "ELF" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_EXPORT_COMPILE_COMMANDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "No help, variable specified on the command line." + } + ], + "type" : "BOOL", + "value" : "TRUE" + }, + { + "name" : "CMAKE_EXTRA_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of external makefile project generator." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator." + } + ], + "type" : "INTERNAL", + "value" : "Unix Makefiles" + }, + { + "name" : "CMAKE_GENERATOR_INSTANCE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Generator instance identifier." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_PLATFORM", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator platform." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_GENERATOR_TOOLSET", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Name of generator toolset." + } + ], + "type" : "INTERNAL", + "value" : "" + }, + { + "name" : "CMAKE_HOME_DIRECTORY", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Source directory with the top level CMakeLists.txt file for this project" + } + ], + "type" : "INTERNAL", + "value" : "/home/llh/bianyi/h3i6k4urnv20231127110302" + }, + { + "name" : "CMAKE_INSTALL_PREFIX", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install path prefix, prepended onto install directories." + } + ], + "type" : "PATH", + "value" : "/usr/local" + }, + { + "name" : "CMAKE_INSTALL_SO_NO_EXE", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Install .so files without execute permission." + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_LINKER", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/ld.lld" + }, + { + "name" : "CMAKE_MAKE_PROGRAM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/bin/gmake" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of modules during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_NM", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-nm" + }, + { + "name" : "CMAKE_NUMBER_OF_MAKEFILES", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "number of local generators" + } + ], + "type" : "INTERNAL", + "value" : "6" + }, + { + "name" : "CMAKE_OBJCOPY", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-objcopy" + }, + { + "name" : "CMAKE_OBJDUMP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-objdump" + }, + { + "name" : "CMAKE_PLATFORM_INFO_INITIALIZED", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Platform information initialized" + } + ], + "type" : "INTERNAL", + "value" : "1" + }, + { + "name" : "CMAKE_PROJECT_DESCRIPTION", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_HOMEPAGE_URL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "" + }, + { + "name" : "CMAKE_PROJECT_NAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "SysYFCompiler" + }, + { + "name" : "CMAKE_RANLIB", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-ranlib" + }, + { + "name" : "CMAKE_READELF", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-readelf" + }, + { + "name" : "CMAKE_ROOT", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Path to CMake installation." + } + ], + "type" : "INTERNAL", + "value" : "/usr/share/cmake-3.23" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of shared libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_SKIP_INSTALL_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when installing shared libraries, but are added when building." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_SKIP_RPATH", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "If set, runtime paths are not added when using shared libraries." + } + ], + "type" : "BOOL", + "value" : "NO" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during all build types." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_DEBUG", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during DEBUG builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during MINSIZEREL builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELEASE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELEASE builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Flags used by the linker during the creation of static libraries during RELWITHDEBINFO builds." + } + ], + "type" : "STRING", + "value" : "" + }, + { + "name" : "CMAKE_STRIP", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "Path to a program." + } + ], + "type" : "FILEPATH", + "value" : "/usr/local/bin/llvm-strip" + }, + { + "name" : "CMAKE_UNAME", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "uname command" + } + ], + "type" : "INTERNAL", + "value" : "/usr/bin/uname" + }, + { + "name" : "CMAKE_VERBOSE_MAKEFILE", + "properties" : + [ + { + "name" : "ADVANCED", + "value" : "1" + }, + { + "name" : "HELPSTRING", + "value" : "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." + } + ], + "type" : "BOOL", + "value" : "FALSE" + }, + { + "name" : "Driver_LIB_DEPENDS", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Dependencies for the target" + } + ], + "type" : "STATIC", + "value" : "general;Scanner;general;Parser;general;ASTLib;" + }, + { + "name" : "SysYFCompiler_BINARY_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "name" : "SysYFCompiler_IS_TOP_LEVEL", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "ON" + }, + { + "name" : "SysYFCompiler_SOURCE_DIR", + "properties" : + [ + { + "name" : "HELPSTRING", + "value" : "Value Computed by CMake" + } + ], + "type" : "STATIC", + "value" : "/home/llh/bianyi/h3i6k4urnv20231127110302" + } + ], + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } +} diff --git a/build/.cmake/api/v1/reply/cmakeFiles-v1-3176d448c0fcaa0f4df8.json b/build/.cmake/api/v1/reply/cmakeFiles-v1-3176d448c0fcaa0f4df8.json new file mode 100644 index 0000000..11d6dcc --- /dev/null +++ b/build/.cmake/api/v1/reply/cmakeFiles-v1-3176d448c0fcaa0f4df8.json @@ -0,0 +1,171 @@ +{ + "inputs" : + [ + { + "path" : "CMakeLists.txt" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.23.3/CMakeSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeSystemSpecificInitialize.cmake" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.23.3/CMakeCCompiler.cmake" + }, + { + "isGenerated" : true, + "path" : "build/CMakeFiles/3.23.3/CMakeCXXCompiler.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeSystemSpecificInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeGenericSystem.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeInitializeConfigs.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Platform/Linux.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Platform/UnixPaths.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeCInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Compiler/Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Compiler/GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Platform/Linux-Clang-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Platform/Linux-GNU-C.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeCXXInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeLanguageInformation.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Compiler/Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Compiler/Clang.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Platform/Linux-Clang-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Platform/Linux-GNU-CXX.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/Platform/Linux-GNU.cmake" + }, + { + "isCMake" : true, + "isExternal" : true, + "path" : "/usr/share/cmake-3.23/Modules/CMakeCommonLanguageInclude.cmake" + }, + { + "path" : "src/AST/CMakeLists.txt" + }, + { + "path" : "src/ErrorReporter/CMakeLists.txt" + }, + { + "path" : "src/Frontend/CMakeLists.txt" + }, + { + "path" : "src/SysYFIR/CMakeLists.txt" + }, + { + "path" : "src/SysYFIRBuilder/CMakeLists.txt" + } + ], + "kind" : "cmakeFiles", + "paths" : + { + "build" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build", + "source" : "/home/llh/bianyi/h3i6k4urnv20231127110302" + }, + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/build/.cmake/api/v1/reply/codemodel-v2-0df697e4a7c36f9bbc2e.json b/build/.cmake/api/v1/reply/codemodel-v2-0df697e4a7c36f9bbc2e.json new file mode 100644 index 0000000..1df7586 --- /dev/null +++ b/build/.cmake/api/v1/reply/codemodel-v2-0df697e4a7c36f9bbc2e.json @@ -0,0 +1,215 @@ +{ + "configurations" : + [ + { + "directories" : + [ + { + "build" : ".", + "childIndexes" : + [ + 1, + 2, + 3, + 4, + 5 + ], + "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "projectIndex" : 0, + "source" : ".", + "targetIndexes" : + [ + 7 + ] + }, + { + "build" : "src/AST", + "jsonFile" : "directory-src.AST-Debug-8995c16e68ff370fe399.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 0, + "source" : "src/AST", + "targetIndexes" : + [ + 0, + 1 + ] + }, + { + "build" : "src/ErrorReporter", + "jsonFile" : "directory-src.ErrorReporter-Debug-34edfa840f14faa66fda.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 0, + "source" : "src/ErrorReporter", + "targetIndexes" : + [ + 3 + ] + }, + { + "build" : "src/Frontend", + "jsonFile" : "directory-src.Frontend-Debug-3b8d0dd8602d303ac4b2.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 0, + "source" : "src/Frontend", + "targetIndexes" : + [ + 2, + 5, + 6 + ] + }, + { + "build" : "src/SysYFIR", + "jsonFile" : "directory-src.SysYFIR-Debug-5e95b0eeb20b96086be2.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 0, + "source" : "src/SysYFIR", + "targetIndexes" : + [ + 4 + ] + }, + { + "build" : "src/SysYFIRBuilder", + "jsonFile" : "directory-src.SysYFIRBuilder-Debug-0fcb88a9bb04bf471a6e.json", + "minimumCMakeVersion" : + { + "string" : "3.5" + }, + "parentIndex" : 0, + "projectIndex" : 0, + "source" : "src/SysYFIRBuilder", + "targetIndexes" : + [ + 8 + ] + } + ], + "name" : "Debug", + "projects" : + [ + { + "directoryIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5 + ], + "name" : "SysYFCompiler", + "targetIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8 + ] + } + ], + "targets" : + [ + { + "directoryIndex" : 1, + "id" : "ASTLib::@a444a0c40c7ac42d3904", + "jsonFile" : "target-ASTLib-Debug-55970485fa7c4e69334a.json", + "name" : "ASTLib", + "projectIndex" : 0 + }, + { + "directoryIndex" : 1, + "id" : "ASTPrinter::@a444a0c40c7ac42d3904", + "jsonFile" : "target-ASTPrinter-Debug-5db61ace862d46fdf358.json", + "name" : "ASTPrinter", + "projectIndex" : 0 + }, + { + "directoryIndex" : 3, + "id" : "Driver::@0b016ee7c5b414e95873", + "jsonFile" : "target-Driver-Debug-b934fe5e53c3bc2ab08c.json", + "name" : "Driver", + "projectIndex" : 0 + }, + { + "directoryIndex" : 2, + "id" : "ErrReporter::@38368af917f072842415", + "jsonFile" : "target-ErrReporter-Debug-c14ad9fa9cd21f3ff83e.json", + "name" : "ErrReporter", + "projectIndex" : 0 + }, + { + "directoryIndex" : 4, + "id" : "IRLib::@7bd47b404d1c486f666e", + "jsonFile" : "target-IRLib-Debug-ba8f259a2b96a50a1e03.json", + "name" : "IRLib", + "projectIndex" : 0 + }, + { + "directoryIndex" : 3, + "id" : "Parser::@0b016ee7c5b414e95873", + "jsonFile" : "target-Parser-Debug-1f286daafb43df61894a.json", + "name" : "Parser", + "projectIndex" : 0 + }, + { + "directoryIndex" : 3, + "id" : "Scanner::@0b016ee7c5b414e95873", + "jsonFile" : "target-Scanner-Debug-8dd49397481b22e58d7f.json", + "name" : "Scanner", + "projectIndex" : 0 + }, + { + "directoryIndex" : 0, + "id" : "SysYFCompiler::@6890427a1f51a3e7e1df", + "jsonFile" : "target-SysYFCompiler-Debug-d546931bbeea61dadaed.json", + "name" : "SysYFCompiler", + "projectIndex" : 0 + }, + { + "directoryIndex" : 5, + "id" : "SysYFIRBuilder::@7dba5afa2263daf2439d", + "jsonFile" : "target-SysYFIRBuilder-Debug-977b555a6c24b8b3ae5a.json", + "name" : "SysYFIRBuilder", + "projectIndex" : 0 + } + ] + } + ], + "kind" : "codemodel", + "paths" : + { + "build" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build", + "source" : "/home/llh/bianyi/h3i6k4urnv20231127110302" + }, + "version" : + { + "major" : 2, + "minor" : 4 + } +} diff --git a/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json b/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json new file mode 100644 index 0000000..3a67af9 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-.-Debug-f5ebdc15457944623624.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : ".", + "source" : "." + } +} diff --git a/build/.cmake/api/v1/reply/directory-src.AST-Debug-8995c16e68ff370fe399.json b/build/.cmake/api/v1/reply/directory-src.AST-Debug-8995c16e68ff370fe399.json new file mode 100644 index 0000000..cf227bc --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-src.AST-Debug-8995c16e68ff370fe399.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src/AST", + "source" : "src/AST" + } +} diff --git a/build/.cmake/api/v1/reply/directory-src.ErrorReporter-Debug-34edfa840f14faa66fda.json b/build/.cmake/api/v1/reply/directory-src.ErrorReporter-Debug-34edfa840f14faa66fda.json new file mode 100644 index 0000000..a492330 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-src.ErrorReporter-Debug-34edfa840f14faa66fda.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src/ErrorReporter", + "source" : "src/ErrorReporter" + } +} diff --git a/build/.cmake/api/v1/reply/directory-src.Frontend-Debug-3b8d0dd8602d303ac4b2.json b/build/.cmake/api/v1/reply/directory-src.Frontend-Debug-3b8d0dd8602d303ac4b2.json new file mode 100644 index 0000000..5d76aab --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-src.Frontend-Debug-3b8d0dd8602d303ac4b2.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src/Frontend", + "source" : "src/Frontend" + } +} diff --git a/build/.cmake/api/v1/reply/directory-src.SysYFIR-Debug-5e95b0eeb20b96086be2.json b/build/.cmake/api/v1/reply/directory-src.SysYFIR-Debug-5e95b0eeb20b96086be2.json new file mode 100644 index 0000000..702d6da --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-src.SysYFIR-Debug-5e95b0eeb20b96086be2.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src/SysYFIR", + "source" : "src/SysYFIR" + } +} diff --git a/build/.cmake/api/v1/reply/directory-src.SysYFIRBuilder-Debug-0fcb88a9bb04bf471a6e.json b/build/.cmake/api/v1/reply/directory-src.SysYFIRBuilder-Debug-0fcb88a9bb04bf471a6e.json new file mode 100644 index 0000000..20dcb47 --- /dev/null +++ b/build/.cmake/api/v1/reply/directory-src.SysYFIRBuilder-Debug-0fcb88a9bb04bf471a6e.json @@ -0,0 +1,14 @@ +{ + "backtraceGraph" : + { + "commands" : [], + "files" : [], + "nodes" : [] + }, + "installers" : [], + "paths" : + { + "build" : "src/SysYFIRBuilder", + "source" : "src/SysYFIRBuilder" + } +} diff --git a/build/.cmake/api/v1/reply/index-2023-12-02T07-52-21-0522.json b/build/.cmake/api/v1/reply/index-2023-12-02T07-52-21-0522.json new file mode 100644 index 0000000..f94d534 --- /dev/null +++ b/build/.cmake/api/v1/reply/index-2023-12-02T07-52-21-0522.json @@ -0,0 +1,132 @@ +{ + "cmake" : + { + "generator" : + { + "multiConfig" : false, + "name" : "Unix Makefiles" + }, + "paths" : + { + "cmake" : "/usr/bin/cmake", + "cpack" : "/usr/bin/cpack", + "ctest" : "/usr/bin/ctest", + "root" : "/usr/share/cmake-3.23" + }, + "version" : + { + "isDirty" : false, + "major" : 3, + "minor" : 23, + "patch" : 3, + "string" : "3.23.3", + "suffix" : "" + } + }, + "objects" : + [ + { + "jsonFile" : "codemodel-v2-0df697e4a7c36f9bbc2e.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + { + "jsonFile" : "cache-v2-e780bd2949197fb2e074.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-3176d448c0fcaa0f4df8.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "toolchains-v1-a58db7aa298771900914.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ], + "reply" : + { + "client-vscode" : + { + "query.json" : + { + "requests" : + [ + { + "kind" : "cache", + "version" : 2 + }, + { + "kind" : "codemodel", + "version" : 2 + }, + { + "kind" : "toolchains", + "version" : 1 + }, + { + "kind" : "cmakeFiles", + "version" : 1 + } + ], + "responses" : + [ + { + "jsonFile" : "cache-v2-e780bd2949197fb2e074.json", + "kind" : "cache", + "version" : + { + "major" : 2, + "minor" : 0 + } + }, + { + "jsonFile" : "codemodel-v2-0df697e4a7c36f9bbc2e.json", + "kind" : "codemodel", + "version" : + { + "major" : 2, + "minor" : 4 + } + }, + { + "jsonFile" : "toolchains-v1-a58db7aa298771900914.json", + "kind" : "toolchains", + "version" : + { + "major" : 1, + "minor" : 0 + } + }, + { + "jsonFile" : "cmakeFiles-v1-3176d448c0fcaa0f4df8.json", + "kind" : "cmakeFiles", + "version" : + { + "major" : 1, + "minor" : 0 + } + } + ] + } + } + } +} diff --git a/build/.cmake/api/v1/reply/target-ASTLib-Debug-55970485fa7c4e69334a.json b/build/.cmake/api/v1/reply/target-ASTLib-Debug-55970485fa7c4e69334a.json new file mode 100644 index 0000000..55a64a2 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ASTLib-Debug-55970485fa7c4e69334a.json @@ -0,0 +1,166 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/AST/libASTLib.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/AST/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 1, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 10, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 12, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 13, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 14, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 15, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 16, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 17, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 4, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "ASTLib::@a444a0c40c7ac42d3904", + "name" : "ASTLib", + "nameOnDisk" : "libASTLib.a", + "paths" : + { + "build" : "src/AST", + "source" : "src/AST" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/AST/SyntaxTree.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-ASTPrinter-Debug-5db61ace862d46fdf358.json b/build/.cmake/api/v1/reply/target-ASTPrinter-Debug-5db61ace862d46fdf358.json new file mode 100644 index 0000000..88850cb --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ASTPrinter-Debug-5db61ace862d46fdf358.json @@ -0,0 +1,166 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/AST/libASTPrinter.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/AST/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 6, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 10, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 12, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 13, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 14, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 15, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 16, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 17, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 4, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "ASTPrinter::@a444a0c40c7ac42d3904", + "name" : "ASTPrinter", + "nameOnDisk" : "libASTPrinter.a", + "paths" : + { + "build" : "src/AST", + "source" : "src/AST" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/AST/SyntaxTreePrinter.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-Driver-Debug-b934fe5e53c3bc2ab08c.json b/build/.cmake/api/v1/reply/target-Driver-Debug-b934fe5e53c3bc2ab08c.json new file mode 100644 index 0000000..2f3314d --- /dev/null +++ b/build/.cmake/api/v1/reply/target-Driver-Debug-b934fe5e53c3bc2ab08c.json @@ -0,0 +1,188 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/Frontend/libDriver.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "target_link_libraries", + "include_directories" + ], + "files" : + [ + "src/Frontend/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 1, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 16, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 2, + "file" : 1, + "line" : 10, + "parent" : 3 + }, + { + "command" : 2, + "file" : 1, + "line" : 12, + "parent" : 3 + }, + { + "command" : 2, + "file" : 1, + "line" : 13, + "parent" : 3 + }, + { + "command" : 2, + "file" : 1, + "line" : 14, + "parent" : 3 + }, + { + "command" : 2, + "file" : 1, + "line" : 15, + "parent" : 3 + }, + { + "command" : 2, + "file" : 1, + "line" : 16, + "parent" : 3 + }, + { + "command" : 2, + "file" : 1, + "line" : 17, + "parent" : 3 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 4, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 10, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 2, + "id" : "ASTLib::@a444a0c40c7ac42d3904" + }, + { + "backtrace" : 2, + "id" : "Scanner::@0b016ee7c5b414e95873" + }, + { + "backtrace" : 2, + "id" : "Parser::@0b016ee7c5b414e95873" + } + ], + "id" : "Driver::@0b016ee7c5b414e95873", + "name" : "Driver", + "nameOnDisk" : "libDriver.a", + "paths" : + { + "build" : "src/Frontend", + "source" : "src/Frontend" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Frontend/SysYFDriver.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-ErrReporter-Debug-c14ad9fa9cd21f3ff83e.json b/build/.cmake/api/v1/reply/target-ErrReporter-Debug-c14ad9fa9cd21f3ff83e.json new file mode 100644 index 0000000..3358e79 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-ErrReporter-Debug-c14ad9fa9cd21f3ff83e.json @@ -0,0 +1,166 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/ErrorReporter/libErrReporter.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/ErrorReporter/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 1, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 10, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 12, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 13, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 14, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 15, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 16, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 17, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 4, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "ErrReporter::@38368af917f072842415", + "name" : "ErrReporter", + "nameOnDisk" : "libErrReporter.a", + "paths" : + { + "build" : "src/ErrorReporter", + "source" : "src/ErrorReporter" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/ErrorReporter/ErrorReporter.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-IRLib-Debug-ba8f259a2b96a50a1e03.json b/build/.cmake/api/v1/reply/target-IRLib-Debug-ba8f259a2b96a50a1e03.json new file mode 100644 index 0000000..e505548 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-IRLib-Debug-ba8f259a2b96a50a1e03.json @@ -0,0 +1,238 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/SysYFIR/libIRLib.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/SysYFIR/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 1, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 10, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 12, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 13, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 14, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 15, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 16, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 17, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 4, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + } + ], + "id" : "IRLib::@7bd47b404d1c486f666e", + "name" : "IRLib", + "nameOnDisk" : "libIRLib.a", + "paths" : + { + "build" : "src/SysYFIR", + "source" : "src/SysYFIR" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/Type.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/User.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/Value.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/BasicBlock.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/Constant.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/Function.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/GlobalVariable.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/Instruction.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/Module.cpp", + "sourceGroupIndex" : 0 + }, + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIR/IRPrinter.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-Parser-Debug-1f286daafb43df61894a.json b/build/.cmake/api/v1/reply/target-Parser-Debug-1f286daafb43df61894a.json new file mode 100644 index 0000000..8e7f58c --- /dev/null +++ b/build/.cmake/api/v1/reply/target-Parser-Debug-1f286daafb43df61894a.json @@ -0,0 +1,166 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/Frontend/libParser.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/Frontend/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 11, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 10, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 12, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 13, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 14, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 15, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 16, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 17, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 4, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "Parser::@0b016ee7c5b414e95873", + "name" : "Parser", + "nameOnDisk" : "libParser.a", + "paths" : + { + "build" : "src/Frontend", + "source" : "src/Frontend" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Frontend/SysYFParser.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-Scanner-Debug-8dd49397481b22e58d7f.json b/build/.cmake/api/v1/reply/target-Scanner-Debug-8dd49397481b22e58d7f.json new file mode 100644 index 0000000..33424ec --- /dev/null +++ b/build/.cmake/api/v1/reply/target-Scanner-Debug-8dd49397481b22e58d7f.json @@ -0,0 +1,166 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/Frontend/libScanner.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/Frontend/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 6, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 10, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 12, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 13, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 14, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 15, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 16, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 17, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 4, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "Scanner::@0b016ee7c5b414e95873", + "name" : "Scanner", + "nameOnDisk" : "libScanner.a", + "paths" : + { + "build" : "src/Frontend", + "source" : "src/Frontend" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/Frontend/SysYFScanner.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/target-SysYFCompiler-Debug-d546931bbeea61dadaed.json b/build/.cmake/api/v1/reply/target-SysYFCompiler-Debug-d546931bbeea61dadaed.json new file mode 100644 index 0000000..4ea7e68 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-SysYFCompiler-Debug-d546931bbeea61dadaed.json @@ -0,0 +1,268 @@ +{ + "artifacts" : + [ + { + "path" : "SysYFCompiler" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_executable", + "target_link_libraries", + "include_directories" + ], + "files" : + [ + "CMakeLists.txt", + "src/Frontend/CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 25, + "parent" : 0 + }, + { + "command" : 1, + "file" : 0, + "line" : 30, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 16, + "parent" : 3 + }, + { + "command" : 2, + "file" : 0, + "line" : 10, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 12, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 13, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 14, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 15, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 16, + "parent" : 0 + }, + { + "command" : 2, + "file" : 0, + "line" : 17, + "parent" : 0 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 10, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 11, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "dependencies" : + [ + { + "backtrace" : 2, + "id" : "ASTLib::@a444a0c40c7ac42d3904" + }, + { + "backtrace" : 2, + "id" : "ASTPrinter::@a444a0c40c7ac42d3904" + }, + { + "backtrace" : 2, + "id" : "ErrReporter::@38368af917f072842415" + }, + { + "backtrace" : 2, + "id" : "Driver::@0b016ee7c5b414e95873" + }, + { + "backtrace" : 2, + "id" : "Scanner::@0b016ee7c5b414e95873" + }, + { + "backtrace" : 2, + "id" : "Parser::@0b016ee7c5b414e95873" + }, + { + "backtrace" : 2, + "id" : "IRLib::@7bd47b404d1c486f666e" + }, + { + "backtrace" : 2, + "id" : "SysYFIRBuilder::@7dba5afa2263daf2439d" + } + ], + "id" : "SysYFCompiler::@6890427a1f51a3e7e1df", + "link" : + { + "commandFragments" : + [ + { + "fragment" : "-O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g", + "role" : "flags" + }, + { + "fragment" : "", + "role" : "flags" + }, + { + "backtrace" : 2, + "fragment" : "src/SysYFIRBuilder/libSysYFIRBuilder.a", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "src/SysYFIR/libIRLib.a", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "src/Frontend/libDriver.a", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "src/AST/libASTPrinter.a", + "role" : "libraries" + }, + { + "backtrace" : 2, + "fragment" : "src/ErrorReporter/libErrReporter.a", + "role" : "libraries" + }, + { + "backtrace" : 4, + "fragment" : "src/Frontend/libScanner.a", + "role" : "libraries" + }, + { + "backtrace" : 4, + "fragment" : "src/Frontend/libParser.a", + "role" : "libraries" + }, + { + "backtrace" : 4, + "fragment" : "src/AST/libASTLib.a", + "role" : "libraries" + } + ], + "language" : "CXX" + }, + "name" : "SysYFCompiler", + "nameOnDisk" : "SysYFCompiler", + "paths" : + { + "build" : ".", + "source" : "." + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/main.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "EXECUTABLE" +} diff --git a/build/.cmake/api/v1/reply/target-SysYFIRBuilder-Debug-977b555a6c24b8b3ae5a.json b/build/.cmake/api/v1/reply/target-SysYFIRBuilder-Debug-977b555a6c24b8b3ae5a.json new file mode 100644 index 0000000..ec230f5 --- /dev/null +++ b/build/.cmake/api/v1/reply/target-SysYFIRBuilder-Debug-977b555a6c24b8b3ae5a.json @@ -0,0 +1,166 @@ +{ + "archive" : {}, + "artifacts" : + [ + { + "path" : "src/SysYFIRBuilder/libSysYFIRBuilder.a" + } + ], + "backtrace" : 1, + "backtraceGraph" : + { + "commands" : + [ + "add_library", + "include_directories" + ], + "files" : + [ + "src/SysYFIRBuilder/CMakeLists.txt", + "CMakeLists.txt" + ], + "nodes" : + [ + { + "file" : 0 + }, + { + "command" : 0, + "file" : 0, + "line" : 1, + "parent" : 0 + }, + { + "file" : 1 + }, + { + "command" : 1, + "file" : 1, + "line" : 10, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 12, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 13, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 14, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 15, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 16, + "parent" : 2 + }, + { + "command" : 1, + "file" : 1, + "line" : 17, + "parent" : 2 + } + ] + }, + "compileGroups" : + [ + { + "compileCommandFragments" : + [ + { + "fragment" : " -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g" + }, + { + "fragment" : "-std=gnu++14" + } + ], + "includes" : + [ + { + "backtrace" : 3, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/build" + }, + { + "backtrace" : 4, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include" + }, + { + "backtrace" : 5, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST" + }, + { + "backtrace" : 6, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter" + }, + { + "backtrace" : 7, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend" + }, + { + "backtrace" : 8, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR" + }, + { + "backtrace" : 9, + "path" : "/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder" + } + ], + "language" : "CXX", + "languageStandard" : + { + "backtraces" : + [ + 1 + ], + "standard" : "14" + }, + "sourceIndexes" : + [ + 0 + ] + } + ], + "id" : "SysYFIRBuilder::@7dba5afa2263daf2439d", + "name" : "SysYFIRBuilder", + "nameOnDisk" : "libSysYFIRBuilder.a", + "paths" : + { + "build" : "src/SysYFIRBuilder", + "source" : "src/SysYFIRBuilder" + }, + "sourceGroups" : + [ + { + "name" : "Source Files", + "sourceIndexes" : + [ + 0 + ] + } + ], + "sources" : + [ + { + "backtrace" : 1, + "compileGroupIndex" : 0, + "path" : "src/SysYFIRBuilder/IRBuilder.cpp", + "sourceGroupIndex" : 0 + } + ], + "type" : "STATIC_LIBRARY" +} diff --git a/build/.cmake/api/v1/reply/toolchains-v1-a58db7aa298771900914.json b/build/.cmake/api/v1/reply/toolchains-v1-a58db7aa298771900914.json new file mode 100644 index 0000000..b4eba54 --- /dev/null +++ b/build/.cmake/api/v1/reply/toolchains-v1-a58db7aa298771900914.json @@ -0,0 +1,113 @@ +{ + "kind" : "toolchains", + "toolchains" : + [ + { + "compiler" : + { + "id" : "Clang", + "implicit" : + { + "includeDirectories" : + [ + "/usr/local/lib/clang/18/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/include", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/11", + "/usr/lib64", + "/lib/x86_64-linux-gnu", + "/lib64", + "/usr/lib/x86_64-linux-gnu", + "/lib", + "/usr/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "gcc", + "gcc_s", + "c", + "gcc", + "gcc_s" + ] + }, + "path" : "/usr/local/bin/clang", + "version" : "18.0.0" + }, + "language" : "C", + "sourceFileExtensions" : + [ + "c", + "m" + ] + }, + { + "compiler" : + { + "id" : "Clang", + "implicit" : + { + "includeDirectories" : + [ + "/usr/include/c++/11", + "/usr/include/x86_64-linux-gnu/c++/11", + "/usr/include/c++/11/backward", + "/usr/local/lib/clang/18/include", + "/usr/local/include", + "/usr/include/x86_64-linux-gnu", + "/include", + "/usr/include" + ], + "linkDirectories" : + [ + "/usr/lib/gcc/x86_64-linux-gnu/11", + "/usr/lib64", + "/lib/x86_64-linux-gnu", + "/lib64", + "/usr/lib/x86_64-linux-gnu", + "/lib", + "/usr/lib" + ], + "linkFrameworkDirectories" : [], + "linkLibraries" : + [ + "stdc++", + "m", + "gcc_s", + "gcc", + "c", + "gcc_s", + "gcc" + ] + }, + "path" : "/usr/local/bin/clang++", + "version" : "18.0.0" + }, + "language" : "CXX", + "sourceFileExtensions" : + [ + "C", + "M", + "c++", + "cc", + "cpp", + "cxx", + "mm", + "mpp", + "CPP", + "ixx", + "cppm" + ] + } + ], + "version" : + { + "major" : 1, + "minor" : 0 + } +} diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..a423acb --- /dev/null +++ b/build/CMakeCache.txt @@ -0,0 +1,370 @@ +# This is the CMakeCache file. +# For build in directory: /home/llh/bianyi/h3i6k4urnv20231127110302/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 +######################## + +//No help, variable specified on the command line. +ANTLR_EXECUTABLE:UNINITIALIZED=/usr/local/lib/antlr-4.13.1-complete.jar + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/local/bin/llvm-addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/local/bin/llvm-ar + +//No help, variable specified on the command line. +CMAKE_BUILD_TYPE:STRING=Debug + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//No help, variable specified on the command line. +CMAKE_CXX_COMPILER:FILEPATH=/usr/local/bin/clang++ + +//LLVM archiver +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/local/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/local/bin/llvm-ranlib + +//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 + +//No help, variable specified on the command line. +CMAKE_C_COMPILER:FILEPATH=/usr/local/bin/clang + +//LLVM archiver +CMAKE_C_COMPILER_AR:FILEPATH=/usr/local/bin/llvm-ar + +//Generate index for LLVM archive +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/local/bin/llvm-ranlib + +//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=/usr/local/bin/llvm-dlltool + +//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= + +//No help, variable specified on the command line. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld.lld + +//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/local/bin/llvm-nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/local/bin/llvm-objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/local/bin/llvm-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=SysYFCompiler + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/local/bin/llvm-ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/local/bin/llvm-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/local/bin/llvm-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 + +//Dependencies for the target +Driver_LIB_DEPENDS:STATIC=general;Scanner;general;Parser;general;ASTLib; + +//Value Computed by CMake +SysYFCompiler_BINARY_DIR:STATIC=/home/llh/bianyi/h3i6k4urnv20231127110302/build + +//Value Computed by CMake +SysYFCompiler_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +SysYFCompiler_SOURCE_DIR:STATIC=/home/llh/bianyi/h3i6k4urnv20231127110302 + + +######################## +# 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=/home/llh/bianyi/h3i6k4urnv20231127110302/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=23 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//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 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake +//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 +//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=/home/llh/bianyi/h3i6k4urnv20231127110302 +//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=6 +//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.23 +//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/build/CMakeFiles/3.23.3/CMakeCCompiler.cmake b/build/CMakeFiles/3.23.3/CMakeCCompiler.cmake new file mode 100644 index 0000000..3b80308 --- /dev/null +++ b/build/CMakeFiles/3.23.3/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/local/bin/clang") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "Clang") +set(CMAKE_C_COMPILER_VERSION "18.0.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 "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/local/bin/llvm-ar") +set(CMAKE_C_COMPILER_AR "/usr/local/bin/llvm-ar") +set(CMAKE_RANLIB "/usr/local/bin/llvm-ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/local/bin/llvm-ranlib") +set(CMAKE_LINKER "/usr/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC ) +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 "x86_64-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 "x86_64-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/local/lib/clang/18/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/include;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib64;/lib/x86_64-linux-gnu;/lib64;/usr/lib/x86_64-linux-gnu;/lib;/usr/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.23.3/CMakeCXXCompiler.cmake b/build/CMakeFiles/3.23.3/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..f173301 --- /dev/null +++ b/build/CMakeFiles/3.23.3/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/local/bin/clang++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "Clang") +set(CMAKE_CXX_COMPILER_VERSION "18.0.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 "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/local/bin/llvm-ar") +set(CMAKE_CXX_COMPILER_AR "/usr/local/bin/llvm-ar") +set(CMAKE_RANLIB "/usr/local/bin/llvm-ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/local/bin/llvm-ranlib") +set(CMAKE_LINKER "/usr/bin/ld.lld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX ) +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 "x86_64-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 "x86_64-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/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/local/lib/clang/18/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/include;/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/x86_64-linux-gnu/11;/usr/lib64;/lib/x86_64-linux-gnu;/lib64;/usr/lib/x86_64-linux-gnu;/lib;/usr/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.23.3/CMakeDetermineCompilerABI_C.bin b/build/CMakeFiles/3.23.3/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..a6c8e060d7ef0a6b9aac64c1f746b789178ad389 GIT binary patch literal 16080 zcmeHOYit}>6~4QU8;3mXqzNoZnhYfcr{Kx%#&#T6Y1WT*X2EvS#HmuH>2!8?*4}0x zW_Gr#IxOOE}a*X{J%@ppiD)6}6?ewfC`lKtHWJdDd* zEqs~}lE0uieEj4WPrMLn{2rJtS#XT&>a=2fl{$ES3H-}T;12-a zBHklfV^DFGhoO#mDCPp8dPd?Q5%%C1hdW{OmLvd5oqkRLzE(6>4}#}O2Jm%wb)pII z0qXE9$QBV=G|oH7KD^d3w8&lqiT$@I4zPi6q3fv$L(gOjMlL&Lf(jEQrI&2Ovh}=? zEeO2cca749fFD;S}YKS(u&;;yciW*tehl98BM!cnOW6@O6%_FABv~q3amqm#IS~ zCTZ2{5$l)sIyn9|oRK*CWfvZFAi2Nh!s${b@f$9j=Lk03a^XBCN$_`m1pEm25%446 zN5GGOAA$e#2>i8q%RjYKb4}Wr#^3J{LVI%74px4xo%%`B%ks!89j^ggx$7$Io43ZG z_7c=GxSW;+`H?phGZ!DyW?s`yUA=K&Bp#WK{7idl&qXk(Y$$>G&5YW-^$BSY_;Y}0 zPc?oM#qL}725@~p*1`3P%H`&*(`fiINwEKfwC|Wgv3*{fxuL!I=e^pCw;Hs-E84|* zdp&e;7j@87xtwX<+P}cZ@lEg91I?oRp~Kp#JwdE$Gq2mLv@?6QfO2hnrBb<;hTSWT z8$b^n1K(Bu$baK8Xr%ER2I__Qzj25&AHSu|ly6*!&!MKJhHk-8{SY49nt!ycsUbc$ z6Q3jS0)pRNrqzJIsR#bChJGeKcMMKL^&C~t3Oe+Q9|1oCegymo_!00U;77oZfFA)r z0)7Pi2>20r>k+{BJMNMg9@yXQdM|Y}+;z;|KAhM;knFZ6b<--E>7!PnSKl`rPxKG> z2x%wz$w}MPix#~4Iy#sb85xZ0@!|eN&oEfXb|aZR3V8=e2yAM&2j4~FyP0#>E0u>q zo(FjvH=H>Ygz`@gg(-|^0B6Av3KJ=ckkSGCp1g`gCG^KbH5M5K5f{VU<~rzV9%PCPX_x| z-xkb+XK3(?9|1oCegymo_!00U;77oZfFA)r0)7Pk$0NXbdz`1oIe7A63652}(WhD|(+tqMeq%76Qkm>Gn*A5l(fq?}~PS9_`whN$=Vj>5PVxyQABe8ZhA)_hsTQ6|Whd#{lH7 za-O?F2DgK(XTJsTAmkH|(>y10p%8w~gYP7qe>ZHOfJ(rXf6Vg&Gs6SocEP^`wm$(C z^vl0P#!pN8b=5pu#=j1gdgK3rv~Lz+#j(WW!SX6>0myGYpr9t?@u0j38{*>%YEB+H z%BAA-A7~4RwIcRDw5l!j#y!q$@5`TB~_s*;b0S^kedU(!b67YI?^CtoKxRhNzFY(3s?q34DULN_gfY-~L z{}$oiy!lz#KaYAr{)+k+G${N(8kRrFeirB1zW{i>{P-(m?~U7aviIi4-vnHdo@#e% zg7x$G#i5jCN7N!Dtiyl*blVse0F>-p&i$L%;)tX%P|ZN6kMiZ zmHE7`yB{!g$$VaKvgGw8n8-riu__*d8m|4A&+9#weE;R~vmMLhz{j;D>%5+1875EO z@$&$tpn@@FKCfq4&XOVf_a6Tf(2mDM%h-kcBHbT(9Z%gzUtC9d6*f0tAs$Q5ZMJ&b zW&BefewZ3q@_5k~7S>sQ1~9k(81Y%+ecfHyFJoVTikr{t6qfv)!}b_!clin^$mjSA zg<45IPAUtpe_Y48`P0N>iSNqX#q0lhXms<>D~>hG&$`J_=eRNaW2it5s{9Qg#?Np3 z{iN5Pb(TK|PP2>8>sm#{-WK~~9?Rc>4bDCK*;m(n{5>px_sa8=c^t=20~e2<`TQN( zr5yl5X>~+(&wQ4bp~cM?F)|H1lCKklR^!L~H=x1I=XG3&_&iQ8pY`id!M=F>ydG;M zKKo&N^yMzj`W>E=-5}JN|BMG`zFSu3uFH0oI{XF=46g(DjL+lYxZv{@kKIKVW9^Q% Y-P1YyW!tq&@SnyT3lx0ba2GHCzmp|J)&Kwi literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.23.3/CMakeDetermineCompilerABI_CXX.bin b/build/CMakeFiles/3.23.3/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..b8af8b5bcaabefc86fd034b2ad5238f7453e548f GIT binary patch literal 16104 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 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.23.3/CMakeSystem.cmake b/build/CMakeFiles/3.23.3/CMakeSystem.cmake new file mode 100644 index 0000000..60c3954 --- /dev/null +++ b/build/CMakeFiles/3.23.3/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.2.0-35-generic") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.2.0-35-generic") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.2.0-35-generic") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.2.0-35-generic") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/build/CMakeFiles/3.23.3/CompilerIdC/CMakeCCompilerId.c b/build/CMakeFiles/3.23.3/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..26b2f9e --- /dev/null +++ b/build/CMakeFiles/3.23.3/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,828 @@ +#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(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#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(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# 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[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "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/build/CMakeFiles/3.23.3/CompilerIdC/a.out b/build/CMakeFiles/3.23.3/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..29fa537f8cfeba1e42ef8a6f568bfc645bba4541 GIT binary patch literal 16200 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 Pzj?d1_y-IHgZ}>n4I51y literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.23.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/build/CMakeFiles/3.23.3/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..57a7a85 --- /dev/null +++ b/build/CMakeFiles/3.23.3/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,816 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#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(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif 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_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(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#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(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(1) +# if defined(__LCC__) +# define COMPILER_VERSION_MINOR DEC(__LCC__- 100) +# endif +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# 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[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "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/build/CMakeFiles/3.23.3/CompilerIdCXX/a.out b/build/CMakeFiles/3.23.3/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..20b257e64075bb28233f8ca495b08416757481c3 GIT binary patch literal 16208 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 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/CMakeDirectoryInformation.cmake b/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f653cb8 --- /dev/null +++ b/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/llh/bianyi/h3i6k4urnv20231127110302") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/llh/bianyi/h3i6k4urnv20231127110302/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/build/CMakeFiles/CMakeOutput.log b/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..b9cf05c --- /dev/null +++ b/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,367 @@ +The system is: Linux - 6.2.0-35-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/local/bin/clang +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 Clang, found in "/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/3.23.3/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/local/bin/clang++ +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 Clang, found in "/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/3.23.3/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_be689/fast && /usr/bin/gmake -f CMakeFiles/cmTC_be689.dir/build.make CMakeFiles/cmTC_be689.dir/build +gmake[1]: Entering directory '/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o +/usr/local/bin/clang -v -MD -MT CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o.d -o CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.23/Modules/CMakeCCompilerABI.c +clang version 18.0.0 (git@git.zhlh6.cn:llvm/llvm-project.git 2b71f91b06ad4f5a0c54725b06283fd731620b92) +Target: x86_64-unknown-linux-gnu +Thread model: posix +InstalledDir: /usr/local/bin +Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 +Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 +Candidate multilib: .;@m64 +Candidate multilib: 32;@m32 +Candidate multilib: x32;@mx32 +Selected multilib: .;@m64 + (in-process) + "/usr/local/bin/clang-18" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp -v -fcoverage-compilation-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp -resource-dir /usr/local/lib/clang/18 -dependency-file CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o.d -MT CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -sys-header-deps -internal-isystem /usr/local/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -ferror-limit 19 -fgnuc-version=4.2.1 -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -x c /usr/share/cmake-3.23/Modules/CMakeCCompilerABI.c +clang -cc1 version 18.0.0 based upon LLVM 18.0.0git default target x86_64-unknown-linux-gnu +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/local/lib/clang/18/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /include + /usr/include +End of search list. +Linking C executable cmTC_be689 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_be689.dir/link.txt --verbose=1 +/usr/local/bin/clang -v -rdynamic CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -o cmTC_be689 +clang version 18.0.0 (git@git.zhlh6.cn:llvm/llvm-project.git 2b71f91b06ad4f5a0c54725b06283fd731620b92) +Target: x86_64-unknown-linux-gnu +Thread model: posix +InstalledDir: /usr/local/bin +Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 +Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 +Candidate multilib: .;@m64 +Candidate multilib: 32;@m32 +Candidate multilib: x32;@mx32 +Selected multilib: .;@m64 + "/usr/bin/ld" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -export-dynamic -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_be689 /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /lib/x86_64-linux-gnu/crtn.o +gmake[1]: Leaving directory '/home/llh/bianyi/h3i6k4urnv20231127110302/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/local/lib/clang/18/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/include] + add: [/usr/include] + end of search list found + collapse include dir [/usr/local/lib/clang/18/include] ==> [/usr/local/lib/clang/18/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/include] ==> [/include] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/local/lib/clang/18/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/include;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld\.lld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_be689/fast && /usr/bin/gmake -f CMakeFiles/cmTC_be689.dir/build.make CMakeFiles/cmTC_be689.dir/build] + ignore line: [gmake[1]: Entering directory '/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/local/bin/clang -v -MD -MT CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o.d -o CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.23/Modules/CMakeCCompilerABI.c] + ignore line: [clang version 18.0.0 (git@git.zhlh6.cn:llvm/llvm-project.git 2b71f91b06ad4f5a0c54725b06283fd731620b92)] + ignore line: [Target: x86_64-unknown-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /usr/local/bin] + ignore line: [Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11] + ignore line: [Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11] + ignore line: [Candidate multilib: .] + ignore line: [@m64] + ignore line: [Candidate multilib: 32] + ignore line: [@m32] + ignore line: [Candidate multilib: x32] + ignore line: [@mx32] + ignore line: [Selected multilib: .] + ignore line: [@m64] + ignore line: [ (in-process)] + ignore line: [ "/usr/local/bin/clang-18" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp -v -fcoverage-compilation-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp -resource-dir /usr/local/lib/clang/18 -dependency-file CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o.d -MT CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -sys-header-deps -internal-isystem /usr/local/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -ferror-limit 19 -fgnuc-version=4.2.1 -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -x c /usr/share/cmake-3.23/Modules/CMakeCCompilerABI.c] + ignore line: [clang -cc1 version 18.0.0 based upon LLVM 18.0.0git default target x86_64-unknown-linux-gnu] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/local/lib/clang/18/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /include] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Linking C executable cmTC_be689] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_be689.dir/link.txt --verbose=1] + ignore line: [/usr/local/bin/clang -v -rdynamic CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -o cmTC_be689 ] + ignore line: [clang version 18.0.0 (git@git.zhlh6.cn:llvm/llvm-project.git 2b71f91b06ad4f5a0c54725b06283fd731620b92)] + ignore line: [Target: x86_64-unknown-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /usr/local/bin] + ignore line: [Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11] + ignore line: [Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11] + ignore line: [Candidate multilib: .] + ignore line: [@m64] + ignore line: [Candidate multilib: 32] + ignore line: [@m32] + ignore line: [Candidate multilib: x32] + ignore line: [@mx32] + ignore line: [Selected multilib: .] + ignore line: [@m64] + link line: [ "/usr/bin/ld" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -export-dynamic -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_be689 /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /lib/x86_64-linux-gnu/crtn.o] + arg [/usr/bin/ld] ==> ignore + arg [-zrelro] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-pie] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-o] ==> ignore + arg [cmTC_be689] ==> ignore + arg [/lib/x86_64-linux-gnu/Scrt1.o] ==> obj [/lib/x86_64-linux-gnu/Scrt1.o] + arg [/lib/x86_64-linux-gnu/crti.o] ==> obj [/lib/x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib64] ==> dir [/lib/../lib64] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] + arg [-L/lib] ==> dir [/lib] + arg [-L/usr/lib] ==> dir [/usr/lib] + arg [CMakeFiles/cmTC_be689.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] + arg [/lib/x86_64-linux-gnu/crtn.o] ==> obj [/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64] ==> [/usr/lib64] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib64] ==> [/lib64] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] + collapse library dir [/lib] ==> [/lib] + collapse library dir [/usr/lib] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/lib/x86_64-linux-gnu/Scrt1.o;/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o;/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib64;/lib/x86_64-linux-gnu;/lib64;/usr/lib/x86_64-linux-gnu;/lib;/usr/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_de587/fast && /usr/bin/gmake -f CMakeFiles/cmTC_de587.dir/build.make CMakeFiles/cmTC_de587.dir/build +gmake[1]: Entering directory '/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o +/usr/local/bin/clang++ -v -MD -MT CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -MF CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o.d -o CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.23/Modules/CMakeCXXCompilerABI.cpp +clang version 18.0.0 (git@git.zhlh6.cn:llvm/llvm-project.git 2b71f91b06ad4f5a0c54725b06283fd731620b92) +Target: x86_64-unknown-linux-gnu +Thread model: posix +InstalledDir: /usr/local/bin +Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 +Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 +Candidate multilib: .;@m64 +Candidate multilib: 32;@m32 +Candidate multilib: x32;@mx32 +Selected multilib: .;@m64 + (in-process) + "/usr/local/bin/clang-18" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCXXCompilerABI.cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp -v -fcoverage-compilation-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp -resource-dir /usr/local/lib/clang/18 -dependency-file CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o.d -MT CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -sys-header-deps -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -internal-isystem /usr/local/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -x c++ /usr/share/cmake-3.23/Modules/CMakeCXXCompilerABI.cpp +clang -cc1 version 18.0.0 based upon LLVM 18.0.0git default target x86_64-unknown-linux-gnu +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 + /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 + /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward + /usr/local/lib/clang/18/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /include + /usr/include +End of search list. +Linking CXX executable cmTC_de587 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_de587.dir/link.txt --verbose=1 +/usr/local/bin/clang++ -v -rdynamic CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_de587 +clang version 18.0.0 (git@git.zhlh6.cn:llvm/llvm-project.git 2b71f91b06ad4f5a0c54725b06283fd731620b92) +Target: x86_64-unknown-linux-gnu +Thread model: posix +InstalledDir: /usr/local/bin +Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 +Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 +Candidate multilib: .;@m64 +Candidate multilib: 32;@m32 +Candidate multilib: x32;@mx32 +Selected multilib: .;@m64 + "/usr/bin/ld" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -export-dynamic -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_de587 /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /lib/x86_64-linux-gnu/crtn.o +gmake[1]: Leaving directory '/home/llh/bianyi/h3i6k4urnv20231127110302/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/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11] + add: [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11] + add: [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward] + add: [/usr/local/lib/clang/18/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/include] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11] ==> [/usr/include/c++/11] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11] ==> [/usr/include/x86_64-linux-gnu/c++/11] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward] ==> [/usr/include/c++/11/backward] + collapse include dir [/usr/local/lib/clang/18/include] ==> [/usr/local/lib/clang/18/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/include] ==> [/include] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/local/lib/clang/18/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/include;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld\.lld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_de587/fast && /usr/bin/gmake -f CMakeFiles/cmTC_de587.dir/build.make CMakeFiles/cmTC_de587.dir/build] + ignore line: [gmake[1]: Entering directory '/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/local/bin/clang++ -v -MD -MT CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -MF CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o.d -o CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.23/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [clang version 18.0.0 (git@git.zhlh6.cn:llvm/llvm-project.git 2b71f91b06ad4f5a0c54725b06283fd731620b92)] + ignore line: [Target: x86_64-unknown-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /usr/local/bin] + ignore line: [Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11] + ignore line: [Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11] + ignore line: [Candidate multilib: .] + ignore line: [@m64] + ignore line: [Candidate multilib: 32] + ignore line: [@m32] + ignore line: [Candidate multilib: x32] + ignore line: [@mx32] + ignore line: [Selected multilib: .] + ignore line: [@m64] + ignore line: [ (in-process)] + ignore line: [ "/usr/local/bin/clang-18" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCXXCompilerABI.cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp -v -fcoverage-compilation-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/CMakeTmp -resource-dir /usr/local/lib/clang/18 -dependency-file CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o.d -MT CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -sys-header-deps -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -internal-isystem /usr/local/lib/clang/18/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -ferror-limit 19 -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -x c++ /usr/share/cmake-3.23/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [clang -cc1 version 18.0.0 based upon LLVM 18.0.0git default target x86_64-unknown-linux-gnu] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward] + ignore line: [ /usr/local/lib/clang/18/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /include] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Linking CXX executable cmTC_de587] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_de587.dir/link.txt --verbose=1] + ignore line: [/usr/local/bin/clang++ -v -rdynamic CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_de587 ] + ignore line: [clang version 18.0.0 (git@git.zhlh6.cn:llvm/llvm-project.git 2b71f91b06ad4f5a0c54725b06283fd731620b92)] + ignore line: [Target: x86_64-unknown-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [InstalledDir: /usr/local/bin] + ignore line: [Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11] + ignore line: [Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11] + ignore line: [Candidate multilib: .] + ignore line: [@m64] + ignore line: [Candidate multilib: 32] + ignore line: [@m32] + ignore line: [Candidate multilib: x32] + ignore line: [@mx32] + ignore line: [Selected multilib: .] + ignore line: [@m64] + link line: [ "/usr/bin/ld" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -export-dynamic -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_de587 /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib CMakeFiles/cmTC_de587.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /lib/x86_64-linux-gnu/crtn.o] + arg [/usr/bin/ld] ==> ignore + arg [-zrelro] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-pie] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-o] ==> ignore + arg [cmTC_de587] ==> ignore + arg [/lib/x86_64-linux-gnu/Scrt1.o] ==> obj [/lib/x86_64-linux-gnu/Scrt1.o] + arg [/lib/x86_64-linux-gnu/crti.o] ==> obj [/lib/x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib64] ==> dir [/lib/../lib64] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] + arg [-L/lib] ==> dir [/lib] + arg [-L/usr/lib] ==> dir [/usr/lib] + arg [CMakeFiles/cmTC_de587.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/x86_64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] + arg [/lib/x86_64-linux-gnu/crtn.o] ==> obj [/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib64] ==> [/usr/lib64] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib64] ==> [/lib64] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] + collapse library dir [/lib] ==> [/lib] + collapse library dir [/usr/lib] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/lib/x86_64-linux-gnu/Scrt1.o;/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o;/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib64;/lib/x86_64-linux-gnu;/lib64;/usr/lib/x86_64-linux-gnu;/lib;/usr/lib] + implicit fwks: [] + + diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..6ad648c --- /dev/null +++ b/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,68 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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.23.3/CMakeCCompiler.cmake" + "CMakeFiles/3.23.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.23.3/CMakeSystem.cmake" + "../src/AST/CMakeLists.txt" + "../src/ErrorReporter/CMakeLists.txt" + "../src/Frontend/CMakeLists.txt" + "../src/SysYFIR/CMakeLists.txt" + "../src/SysYFIRBuilder/CMakeLists.txt" + "/usr/share/cmake-3.23/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.23/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.23/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.23/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.23/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.23/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.23/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.23/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.23/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.23/Modules/Compiler/Clang-C.cmake" + "/usr/share/cmake-3.23/Modules/Compiler/Clang-CXX.cmake" + "/usr/share/cmake-3.23/Modules/Compiler/Clang.cmake" + "/usr/share/cmake-3.23/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.23/Modules/Platform/Linux-Clang-C.cmake" + "/usr/share/cmake-3.23/Modules/Platform/Linux-Clang-CXX.cmake" + "/usr/share/cmake-3.23/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.23/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.23/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.23/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.23/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/CMakeDirectoryInformation.cmake" + "src/AST/CMakeFiles/CMakeDirectoryInformation.cmake" + "src/ErrorReporter/CMakeFiles/CMakeDirectoryInformation.cmake" + "src/Frontend/CMakeFiles/CMakeDirectoryInformation.cmake" + "src/SysYFIR/CMakeFiles/CMakeDirectoryInformation.cmake" + "src/SysYFIRBuilder/CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/SysYFCompiler.dir/DependInfo.cmake" + "src/AST/CMakeFiles/ASTLib.dir/DependInfo.cmake" + "src/AST/CMakeFiles/ASTPrinter.dir/DependInfo.cmake" + "src/ErrorReporter/CMakeFiles/ErrReporter.dir/DependInfo.cmake" + "src/Frontend/CMakeFiles/Driver.dir/DependInfo.cmake" + "src/Frontend/CMakeFiles/Scanner.dir/DependInfo.cmake" + "src/Frontend/CMakeFiles/Parser.dir/DependInfo.cmake" + "src/SysYFIR/CMakeFiles/IRLib.dir/DependInfo.cmake" + "src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/DependInfo.cmake" + ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..ba3563b --- /dev/null +++ b/build/CMakeFiles/Makefile2 @@ -0,0 +1,424 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/SysYFCompiler.dir/all +all: src/AST/all +all: src/ErrorReporter/all +all: src/Frontend/all +all: src/SysYFIR/all +all: src/SysYFIRBuilder/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: src/AST/preinstall +preinstall: src/ErrorReporter/preinstall +preinstall: src/Frontend/preinstall +preinstall: src/SysYFIR/preinstall +preinstall: src/SysYFIRBuilder/preinstall +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/SysYFCompiler.dir/clean +clean: src/AST/clean +clean: src/ErrorReporter/clean +clean: src/Frontend/clean +clean: src/SysYFIR/clean +clean: src/SysYFIRBuilder/clean +.PHONY : clean + +#============================================================================= +# Directory level rules for directory src/AST + +# Recursive "all" directory target. +src/AST/all: src/AST/CMakeFiles/ASTLib.dir/all +src/AST/all: src/AST/CMakeFiles/ASTPrinter.dir/all +.PHONY : src/AST/all + +# Recursive "preinstall" directory target. +src/AST/preinstall: +.PHONY : src/AST/preinstall + +# Recursive "clean" directory target. +src/AST/clean: src/AST/CMakeFiles/ASTLib.dir/clean +src/AST/clean: src/AST/CMakeFiles/ASTPrinter.dir/clean +.PHONY : src/AST/clean + +#============================================================================= +# Directory level rules for directory src/ErrorReporter + +# Recursive "all" directory target. +src/ErrorReporter/all: src/ErrorReporter/CMakeFiles/ErrReporter.dir/all +.PHONY : src/ErrorReporter/all + +# Recursive "preinstall" directory target. +src/ErrorReporter/preinstall: +.PHONY : src/ErrorReporter/preinstall + +# Recursive "clean" directory target. +src/ErrorReporter/clean: src/ErrorReporter/CMakeFiles/ErrReporter.dir/clean +.PHONY : src/ErrorReporter/clean + +#============================================================================= +# Directory level rules for directory src/Frontend + +# Recursive "all" directory target. +src/Frontend/all: src/Frontend/CMakeFiles/Driver.dir/all +src/Frontend/all: src/Frontend/CMakeFiles/Scanner.dir/all +src/Frontend/all: src/Frontend/CMakeFiles/Parser.dir/all +.PHONY : src/Frontend/all + +# Recursive "preinstall" directory target. +src/Frontend/preinstall: +.PHONY : src/Frontend/preinstall + +# Recursive "clean" directory target. +src/Frontend/clean: src/Frontend/CMakeFiles/Driver.dir/clean +src/Frontend/clean: src/Frontend/CMakeFiles/Scanner.dir/clean +src/Frontend/clean: src/Frontend/CMakeFiles/Parser.dir/clean +.PHONY : src/Frontend/clean + +#============================================================================= +# Directory level rules for directory src/SysYFIR + +# Recursive "all" directory target. +src/SysYFIR/all: src/SysYFIR/CMakeFiles/IRLib.dir/all +.PHONY : src/SysYFIR/all + +# Recursive "preinstall" directory target. +src/SysYFIR/preinstall: +.PHONY : src/SysYFIR/preinstall + +# Recursive "clean" directory target. +src/SysYFIR/clean: src/SysYFIR/CMakeFiles/IRLib.dir/clean +.PHONY : src/SysYFIR/clean + +#============================================================================= +# Directory level rules for directory src/SysYFIRBuilder + +# Recursive "all" directory target. +src/SysYFIRBuilder/all: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/all +.PHONY : src/SysYFIRBuilder/all + +# Recursive "preinstall" directory target. +src/SysYFIRBuilder/preinstall: +.PHONY : src/SysYFIRBuilder/preinstall + +# Recursive "clean" directory target. +src/SysYFIRBuilder/clean: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/clean +.PHONY : src/SysYFIRBuilder/clean + +#============================================================================= +# Target rules for target CMakeFiles/SysYFCompiler.dir + +# All Build rule for target. +CMakeFiles/SysYFCompiler.dir/all: src/AST/CMakeFiles/ASTLib.dir/all +CMakeFiles/SysYFCompiler.dir/all: src/AST/CMakeFiles/ASTPrinter.dir/all +CMakeFiles/SysYFCompiler.dir/all: src/ErrorReporter/CMakeFiles/ErrReporter.dir/all +CMakeFiles/SysYFCompiler.dir/all: src/Frontend/CMakeFiles/Driver.dir/all +CMakeFiles/SysYFCompiler.dir/all: src/Frontend/CMakeFiles/Scanner.dir/all +CMakeFiles/SysYFCompiler.dir/all: src/Frontend/CMakeFiles/Parser.dir/all +CMakeFiles/SysYFCompiler.dir/all: src/SysYFIR/CMakeFiles/IRLib.dir/all +CMakeFiles/SysYFCompiler.dir/all: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/SysYFCompiler.dir/build.make CMakeFiles/SysYFCompiler.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/SysYFCompiler.dir/build.make CMakeFiles/SysYFCompiler.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=24,25 "Built target SysYFCompiler" +.PHONY : CMakeFiles/SysYFCompiler.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/SysYFCompiler.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 27 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/SysYFCompiler.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : CMakeFiles/SysYFCompiler.dir/rule + +# Convenience name for target. +SysYFCompiler: CMakeFiles/SysYFCompiler.dir/rule +.PHONY : SysYFCompiler + +# clean rule for target. +CMakeFiles/SysYFCompiler.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/SysYFCompiler.dir/build.make CMakeFiles/SysYFCompiler.dir/clean +.PHONY : CMakeFiles/SysYFCompiler.dir/clean + +#============================================================================= +# Target rules for target src/AST/CMakeFiles/ASTLib.dir + +# All Build rule for target. +src/AST/CMakeFiles/ASTLib.dir/all: + $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTLib.dir/build.make src/AST/CMakeFiles/ASTLib.dir/depend + $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTLib.dir/build.make src/AST/CMakeFiles/ASTLib.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=1,2 "Built target ASTLib" +.PHONY : src/AST/CMakeFiles/ASTLib.dir/all + +# Build rule for subdir invocation for target. +src/AST/CMakeFiles/ASTLib.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/AST/CMakeFiles/ASTLib.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : src/AST/CMakeFiles/ASTLib.dir/rule + +# Convenience name for target. +ASTLib: src/AST/CMakeFiles/ASTLib.dir/rule +.PHONY : ASTLib + +# clean rule for target. +src/AST/CMakeFiles/ASTLib.dir/clean: + $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTLib.dir/build.make src/AST/CMakeFiles/ASTLib.dir/clean +.PHONY : src/AST/CMakeFiles/ASTLib.dir/clean + +#============================================================================= +# Target rules for target src/AST/CMakeFiles/ASTPrinter.dir + +# All Build rule for target. +src/AST/CMakeFiles/ASTPrinter.dir/all: + $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTPrinter.dir/build.make src/AST/CMakeFiles/ASTPrinter.dir/depend + $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTPrinter.dir/build.make src/AST/CMakeFiles/ASTPrinter.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=3,4 "Built target ASTPrinter" +.PHONY : src/AST/CMakeFiles/ASTPrinter.dir/all + +# Build rule for subdir invocation for target. +src/AST/CMakeFiles/ASTPrinter.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/AST/CMakeFiles/ASTPrinter.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : src/AST/CMakeFiles/ASTPrinter.dir/rule + +# Convenience name for target. +ASTPrinter: src/AST/CMakeFiles/ASTPrinter.dir/rule +.PHONY : ASTPrinter + +# clean rule for target. +src/AST/CMakeFiles/ASTPrinter.dir/clean: + $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTPrinter.dir/build.make src/AST/CMakeFiles/ASTPrinter.dir/clean +.PHONY : src/AST/CMakeFiles/ASTPrinter.dir/clean + +#============================================================================= +# Target rules for target src/ErrorReporter/CMakeFiles/ErrReporter.dir + +# All Build rule for target. +src/ErrorReporter/CMakeFiles/ErrReporter.dir/all: + $(MAKE) $(MAKESILENT) -f src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make src/ErrorReporter/CMakeFiles/ErrReporter.dir/depend + $(MAKE) $(MAKESILENT) -f src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make src/ErrorReporter/CMakeFiles/ErrReporter.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=7,8 "Built target ErrReporter" +.PHONY : src/ErrorReporter/CMakeFiles/ErrReporter.dir/all + +# Build rule for subdir invocation for target. +src/ErrorReporter/CMakeFiles/ErrReporter.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/ErrorReporter/CMakeFiles/ErrReporter.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : src/ErrorReporter/CMakeFiles/ErrReporter.dir/rule + +# Convenience name for target. +ErrReporter: src/ErrorReporter/CMakeFiles/ErrReporter.dir/rule +.PHONY : ErrReporter + +# clean rule for target. +src/ErrorReporter/CMakeFiles/ErrReporter.dir/clean: + $(MAKE) $(MAKESILENT) -f src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make src/ErrorReporter/CMakeFiles/ErrReporter.dir/clean +.PHONY : src/ErrorReporter/CMakeFiles/ErrReporter.dir/clean + +#============================================================================= +# Target rules for target src/Frontend/CMakeFiles/Driver.dir + +# All Build rule for target. +src/Frontend/CMakeFiles/Driver.dir/all: src/AST/CMakeFiles/ASTLib.dir/all +src/Frontend/CMakeFiles/Driver.dir/all: src/Frontend/CMakeFiles/Scanner.dir/all +src/Frontend/CMakeFiles/Driver.dir/all: src/Frontend/CMakeFiles/Parser.dir/all + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Driver.dir/build.make src/Frontend/CMakeFiles/Driver.dir/depend + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Driver.dir/build.make src/Frontend/CMakeFiles/Driver.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=5,6 "Built target Driver" +.PHONY : src/Frontend/CMakeFiles/Driver.dir/all + +# Build rule for subdir invocation for target. +src/Frontend/CMakeFiles/Driver.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 8 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/CMakeFiles/Driver.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : src/Frontend/CMakeFiles/Driver.dir/rule + +# Convenience name for target. +Driver: src/Frontend/CMakeFiles/Driver.dir/rule +.PHONY : Driver + +# clean rule for target. +src/Frontend/CMakeFiles/Driver.dir/clean: + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Driver.dir/build.make src/Frontend/CMakeFiles/Driver.dir/clean +.PHONY : src/Frontend/CMakeFiles/Driver.dir/clean + +#============================================================================= +# Target rules for target src/Frontend/CMakeFiles/Scanner.dir + +# All Build rule for target. +src/Frontend/CMakeFiles/Scanner.dir/all: + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Scanner.dir/build.make src/Frontend/CMakeFiles/Scanner.dir/depend + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Scanner.dir/build.make src/Frontend/CMakeFiles/Scanner.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=22,23 "Built target Scanner" +.PHONY : src/Frontend/CMakeFiles/Scanner.dir/all + +# Build rule for subdir invocation for target. +src/Frontend/CMakeFiles/Scanner.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/CMakeFiles/Scanner.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : src/Frontend/CMakeFiles/Scanner.dir/rule + +# Convenience name for target. +Scanner: src/Frontend/CMakeFiles/Scanner.dir/rule +.PHONY : Scanner + +# clean rule for target. +src/Frontend/CMakeFiles/Scanner.dir/clean: + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Scanner.dir/build.make src/Frontend/CMakeFiles/Scanner.dir/clean +.PHONY : src/Frontend/CMakeFiles/Scanner.dir/clean + +#============================================================================= +# Target rules for target src/Frontend/CMakeFiles/Parser.dir + +# All Build rule for target. +src/Frontend/CMakeFiles/Parser.dir/all: + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Parser.dir/build.make src/Frontend/CMakeFiles/Parser.dir/depend + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Parser.dir/build.make src/Frontend/CMakeFiles/Parser.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=20,21 "Built target Parser" +.PHONY : src/Frontend/CMakeFiles/Parser.dir/all + +# Build rule for subdir invocation for target. +src/Frontend/CMakeFiles/Parser.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/CMakeFiles/Parser.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : src/Frontend/CMakeFiles/Parser.dir/rule + +# Convenience name for target. +Parser: src/Frontend/CMakeFiles/Parser.dir/rule +.PHONY : Parser + +# clean rule for target. +src/Frontend/CMakeFiles/Parser.dir/clean: + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Parser.dir/build.make src/Frontend/CMakeFiles/Parser.dir/clean +.PHONY : src/Frontend/CMakeFiles/Parser.dir/clean + +#============================================================================= +# Target rules for target src/SysYFIR/CMakeFiles/IRLib.dir + +# All Build rule for target. +src/SysYFIR/CMakeFiles/IRLib.dir/all: + $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/depend + $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=9,10,11,12,13,14,15,16,17,18,19 "Built target IRLib" +.PHONY : src/SysYFIR/CMakeFiles/IRLib.dir/all + +# Build rule for subdir invocation for target. +src/SysYFIR/CMakeFiles/IRLib.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 11 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIR/CMakeFiles/IRLib.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : src/SysYFIR/CMakeFiles/IRLib.dir/rule + +# Convenience name for target. +IRLib: src/SysYFIR/CMakeFiles/IRLib.dir/rule +.PHONY : IRLib + +# clean rule for target. +src/SysYFIR/CMakeFiles/IRLib.dir/clean: + $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/clean +.PHONY : src/SysYFIR/CMakeFiles/IRLib.dir/clean + +#============================================================================= +# Target rules for target src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir + +# All Build rule for target. +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/all: + $(MAKE) $(MAKESILENT) -f src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/depend + $(MAKE) $(MAKESILENT) -f src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=26,27 "Built target SysYFIRBuilder" +.PHONY : src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/all + +# Build rule for subdir invocation for target. +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 2 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/rule + +# Convenience name for target. +SysYFIRBuilder: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/rule +.PHONY : SysYFIRBuilder + +# clean rule for target. +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/clean: + $(MAKE) $(MAKESILENT) -f src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/clean +.PHONY : src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.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/build/CMakeFiles/SysYFCompiler.dir/DependInfo.cmake b/build/CMakeFiles/SysYFCompiler.dir/DependInfo.cmake new file mode 100644 index 0000000..4615dd5 --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/DependInfo.cmake @@ -0,0 +1,27 @@ + +# 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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/main.cpp" "CMakeFiles/SysYFCompiler.dir/src/main.cpp.o" "gcc" "CMakeFiles/SysYFCompiler.dir/src/main.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR/CMakeFiles/IRLib.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Driver.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/ASTPrinter.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Scanner.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Parser.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/ASTLib.dir/DependInfo.cmake" + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/SysYFCompiler.dir/build.make b/build/CMakeFiles/SysYFCompiler.dir/build.make new file mode 100644 index 0000000..7a5f1f7 --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/build.make @@ -0,0 +1,118 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include CMakeFiles/SysYFCompiler.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/SysYFCompiler.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/SysYFCompiler.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/SysYFCompiler.dir/flags.make + +CMakeFiles/SysYFCompiler.dir/src/main.cpp.o: CMakeFiles/SysYFCompiler.dir/flags.make +CMakeFiles/SysYFCompiler.dir/src/main.cpp.o: ../src/main.cpp +CMakeFiles/SysYFCompiler.dir/src/main.cpp.o: CMakeFiles/SysYFCompiler.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/SysYFCompiler.dir/src/main.cpp.o" + /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/SysYFCompiler.dir/src/main.cpp.o -MF CMakeFiles/SysYFCompiler.dir/src/main.cpp.o.d -o CMakeFiles/SysYFCompiler.dir/src/main.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/main.cpp + +CMakeFiles/SysYFCompiler.dir/src/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SysYFCompiler.dir/src/main.cpp.i" + /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/main.cpp > CMakeFiles/SysYFCompiler.dir/src/main.cpp.i + +CMakeFiles/SysYFCompiler.dir/src/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SysYFCompiler.dir/src/main.cpp.s" + /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/main.cpp -o CMakeFiles/SysYFCompiler.dir/src/main.cpp.s + +# Object files for target SysYFCompiler +SysYFCompiler_OBJECTS = \ +"CMakeFiles/SysYFCompiler.dir/src/main.cpp.o" + +# External object files for target SysYFCompiler +SysYFCompiler_EXTERNAL_OBJECTS = + +SysYFCompiler: CMakeFiles/SysYFCompiler.dir/src/main.cpp.o +SysYFCompiler: CMakeFiles/SysYFCompiler.dir/build.make +SysYFCompiler: src/SysYFIRBuilder/libSysYFIRBuilder.a +SysYFCompiler: src/SysYFIR/libIRLib.a +SysYFCompiler: src/Frontend/libDriver.a +SysYFCompiler: src/AST/libASTPrinter.a +SysYFCompiler: src/ErrorReporter/libErrReporter.a +SysYFCompiler: src/Frontend/libScanner.a +SysYFCompiler: src/Frontend/libParser.a +SysYFCompiler: src/AST/libASTLib.a +SysYFCompiler: CMakeFiles/SysYFCompiler.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable SysYFCompiler" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/SysYFCompiler.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/SysYFCompiler.dir/build: SysYFCompiler +.PHONY : CMakeFiles/SysYFCompiler.dir/build + +CMakeFiles/SysYFCompiler.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/SysYFCompiler.dir/cmake_clean.cmake +.PHONY : CMakeFiles/SysYFCompiler.dir/clean + +CMakeFiles/SysYFCompiler.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/SysYFCompiler.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/SysYFCompiler.dir/depend + diff --git a/build/CMakeFiles/SysYFCompiler.dir/cmake_clean.cmake b/build/CMakeFiles/SysYFCompiler.dir/cmake_clean.cmake new file mode 100644 index 0000000..c82c55e --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/SysYFCompiler.dir/src/main.cpp.o" + "CMakeFiles/SysYFCompiler.dir/src/main.cpp.o.d" + "SysYFCompiler" + "SysYFCompiler.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/SysYFCompiler.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/SysYFCompiler.dir/compiler_depend.make b/build/CMakeFiles/SysYFCompiler.dir/compiler_depend.make new file mode 100644 index 0000000..f436a47 --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for SysYFCompiler. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/SysYFCompiler.dir/compiler_depend.ts b/build/CMakeFiles/SysYFCompiler.dir/compiler_depend.ts new file mode 100644 index 0000000..0b83350 --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for SysYFCompiler. diff --git a/build/CMakeFiles/SysYFCompiler.dir/depend.make b/build/CMakeFiles/SysYFCompiler.dir/depend.make new file mode 100644 index 0000000..8e7b36f --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for SysYFCompiler. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/SysYFCompiler.dir/flags.make b/build/CMakeFiles/SysYFCompiler.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/CMakeFiles/SysYFCompiler.dir/link.txt b/build/CMakeFiles/SysYFCompiler.dir/link.txt new file mode 100644 index 0000000..e7e84ef --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/link.txt @@ -0,0 +1 @@ +/usr/local/bin/clang++ -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g CMakeFiles/SysYFCompiler.dir/src/main.cpp.o -o SysYFCompiler src/SysYFIRBuilder/libSysYFIRBuilder.a src/SysYFIR/libIRLib.a src/Frontend/libDriver.a src/AST/libASTPrinter.a src/ErrorReporter/libErrReporter.a src/Frontend/libScanner.a src/Frontend/libParser.a src/AST/libASTLib.a diff --git a/build/CMakeFiles/SysYFCompiler.dir/progress.make b/build/CMakeFiles/SysYFCompiler.dir/progress.make new file mode 100644 index 0000000..59fdd58 --- /dev/null +++ b/build/CMakeFiles/SysYFCompiler.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 24 +CMAKE_PROGRESS_2 = 25 + diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..0fa4f87 --- /dev/null +++ b/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,21 @@ +/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/SysYFCompiler.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/edit_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles/rebuild_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/ASTLib.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/ASTPrinter.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/edit_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/rebuild_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter/CMakeFiles/edit_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter/CMakeFiles/rebuild_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Driver.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Scanner.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Parser.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/edit_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/rebuild_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR/CMakeFiles/IRLib.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR/CMakeFiles/edit_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR/CMakeFiles/rebuild_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder/CMakeFiles/edit_cache.dir +/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder/CMakeFiles/rebuild_cache.dir diff --git a/build/CMakeFiles/cmake.check_cache b/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/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/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..f64f5d8 --- /dev/null +++ b/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +27 diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..9641a66 --- /dev/null +++ b/build/Makefile @@ -0,0 +1,293 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.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 + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles /home/llh/bianyi/h3i6k4urnv20231127110302/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/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 SysYFCompiler + +# Build rule for target. +SysYFCompiler: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 SysYFCompiler +.PHONY : SysYFCompiler + +# fast build rule for target. +SysYFCompiler/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/SysYFCompiler.dir/build.make CMakeFiles/SysYFCompiler.dir/build +.PHONY : SysYFCompiler/fast + +#============================================================================= +# Target rules for targets named ASTLib + +# Build rule for target. +ASTLib: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ASTLib +.PHONY : ASTLib + +# fast build rule for target. +ASTLib/fast: + $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTLib.dir/build.make src/AST/CMakeFiles/ASTLib.dir/build +.PHONY : ASTLib/fast + +#============================================================================= +# Target rules for targets named ASTPrinter + +# Build rule for target. +ASTPrinter: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ASTPrinter +.PHONY : ASTPrinter + +# fast build rule for target. +ASTPrinter/fast: + $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTPrinter.dir/build.make src/AST/CMakeFiles/ASTPrinter.dir/build +.PHONY : ASTPrinter/fast + +#============================================================================= +# Target rules for targets named ErrReporter + +# Build rule for target. +ErrReporter: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ErrReporter +.PHONY : ErrReporter + +# fast build rule for target. +ErrReporter/fast: + $(MAKE) $(MAKESILENT) -f src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make src/ErrorReporter/CMakeFiles/ErrReporter.dir/build +.PHONY : ErrReporter/fast + +#============================================================================= +# Target rules for targets named Driver + +# Build rule for target. +Driver: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Driver +.PHONY : Driver + +# fast build rule for target. +Driver/fast: + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Driver.dir/build.make src/Frontend/CMakeFiles/Driver.dir/build +.PHONY : Driver/fast + +#============================================================================= +# Target rules for targets named Scanner + +# Build rule for target. +Scanner: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Scanner +.PHONY : Scanner + +# fast build rule for target. +Scanner/fast: + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Scanner.dir/build.make src/Frontend/CMakeFiles/Scanner.dir/build +.PHONY : Scanner/fast + +#============================================================================= +# Target rules for targets named Parser + +# Build rule for target. +Parser: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Parser +.PHONY : Parser + +# fast build rule for target. +Parser/fast: + $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Parser.dir/build.make src/Frontend/CMakeFiles/Parser.dir/build +.PHONY : Parser/fast + +#============================================================================= +# Target rules for targets named IRLib + +# Build rule for target. +IRLib: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 IRLib +.PHONY : IRLib + +# fast build rule for target. +IRLib/fast: + $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/build +.PHONY : IRLib/fast + +#============================================================================= +# Target rules for targets named SysYFIRBuilder + +# Build rule for target. +SysYFIRBuilder: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 SysYFIRBuilder +.PHONY : SysYFIRBuilder + +# fast build rule for target. +SysYFIRBuilder/fast: + $(MAKE) $(MAKESILENT) -f src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build +.PHONY : SysYFIRBuilder/fast + +src/main.o: src/main.cpp.o +.PHONY : src/main.o + +# target to build an object file +src/main.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/SysYFCompiler.dir/build.make CMakeFiles/SysYFCompiler.dir/src/main.cpp.o +.PHONY : src/main.cpp.o + +src/main.i: src/main.cpp.i +.PHONY : src/main.i + +# target to preprocess a source file +src/main.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/SysYFCompiler.dir/build.make CMakeFiles/SysYFCompiler.dir/src/main.cpp.i +.PHONY : src/main.cpp.i + +src/main.s: src/main.cpp.s +.PHONY : src/main.s + +# target to generate assembly for a file +src/main.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/SysYFCompiler.dir/build.make CMakeFiles/SysYFCompiler.dir/src/main.cpp.s +.PHONY : src/main.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 "... rebuild_cache" + @echo "... ASTLib" + @echo "... ASTPrinter" + @echo "... Driver" + @echo "... ErrReporter" + @echo "... IRLib" + @echo "... Parser" + @echo "... Scanner" + @echo "... SysYFCompiler" + @echo "... SysYFIRBuilder" + @echo "... src/main.o" + @echo "... src/main.i" + @echo "... src/main.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/build/cmake_install.cmake b/build/cmake_install.cmake new file mode 100644 index 0000000..608cc84 --- /dev/null +++ b/build/cmake_install.cmake @@ -0,0 +1,64 @@ +# Install script for directory: /home/llh/bianyi/h3i6k4urnv20231127110302 + +# 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 "Debug") + 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/local/bin/llvm-objdump") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + # Include the install script for each subdirectory. + include("/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/cmake_install.cmake") + include("/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter/cmake_install.cmake") + include("/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/cmake_install.cmake") + include("/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR/cmake_install.cmake") + include("/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder/cmake_install.cmake") + +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 "/home/llh/bianyi/h3i6k4urnv20231127110302/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/build/compile_commands.json b/build/compile_commands.json new file mode 100644 index 0000000..f985d2a --- /dev/null +++ b/build/compile_commands.json @@ -0,0 +1,92 @@ +[ +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/SysYFCompiler.dir/src/main.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/main.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/main.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTree.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTree.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTreePrinter.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTreePrinter.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/ErrorReporter/ErrorReporter.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/ErrorReporter/ErrorReporter.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/Scanner.dir/SysYFScanner.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFScanner.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFScanner.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/Parser.dir/SysYFParser.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFParser.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFParser.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/Driver.dir/SysYFDriver.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFDriver.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFDriver.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/Type.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Type.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Type.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/User.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/User.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/User.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/Value.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Value.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Value.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/BasicBlock.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/BasicBlock.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/BasicBlock.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/Constant.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Constant.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Constant.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/Function.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Function.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Function.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/GlobalVariable.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/GlobalVariable.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/GlobalVariable.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/Instruction.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Instruction.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Instruction.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/Module.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Module.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Module.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/IRLib.dir/IRPrinter.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/IRPrinter.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/IRPrinter.cpp" +}, +{ + "directory": "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder", + "command": "/usr/local/bin/clang++ -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 -o CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIRBuilder/IRBuilder.cpp", + "file": "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIRBuilder/IRBuilder.cpp" +} +] \ No newline at end of file diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/DependInfo.cmake b/build/src/AST/CMakeFiles/ASTLib.dir/DependInfo.cmake new file mode 100644 index 0000000..8aef5a9 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTree.cpp" "src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o" "gcc" "src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.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/build/src/AST/CMakeFiles/ASTLib.dir/build.make b/build/src/AST/CMakeFiles/ASTLib.dir/build.make new file mode 100644 index 0000000..d40dca7 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/build.make @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include src/AST/CMakeFiles/ASTLib.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include src/AST/CMakeFiles/ASTLib.dir/compiler_depend.make + +# Include the progress variables for this target. +include src/AST/CMakeFiles/ASTLib.dir/progress.make + +# Include the compile flags for this target's objects. +include src/AST/CMakeFiles/ASTLib.dir/flags.make + +src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o: src/AST/CMakeFiles/ASTLib.dir/flags.make +src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o: ../src/AST/SyntaxTree.cpp +src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o: src/AST/CMakeFiles/ASTLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o -MF CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o.d -o CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTree.cpp + +src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ASTLib.dir/SyntaxTree.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTree.cpp > CMakeFiles/ASTLib.dir/SyntaxTree.cpp.i + +src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ASTLib.dir/SyntaxTree.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTree.cpp -o CMakeFiles/ASTLib.dir/SyntaxTree.cpp.s + +# Object files for target ASTLib +ASTLib_OBJECTS = \ +"CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o" + +# External object files for target ASTLib +ASTLib_EXTERNAL_OBJECTS = + +src/AST/libASTLib.a: src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o +src/AST/libASTLib.a: src/AST/CMakeFiles/ASTLib.dir/build.make +src/AST/libASTLib.a: src/AST/CMakeFiles/ASTLib.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX static library libASTLib.a" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && $(CMAKE_COMMAND) -P CMakeFiles/ASTLib.dir/cmake_clean_target.cmake + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/ASTLib.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +src/AST/CMakeFiles/ASTLib.dir/build: src/AST/libASTLib.a +.PHONY : src/AST/CMakeFiles/ASTLib.dir/build + +src/AST/CMakeFiles/ASTLib.dir/clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && $(CMAKE_COMMAND) -P CMakeFiles/ASTLib.dir/cmake_clean.cmake +.PHONY : src/AST/CMakeFiles/ASTLib.dir/clean + +src/AST/CMakeFiles/ASTLib.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/ASTLib.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/AST/CMakeFiles/ASTLib.dir/depend + diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/cmake_clean.cmake b/build/src/AST/CMakeFiles/ASTLib.dir/cmake_clean.cmake new file mode 100644 index 0000000..cdfe46a --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o" + "CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o.d" + "libASTLib.a" + "libASTLib.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/ASTLib.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/cmake_clean_target.cmake b/build/src/AST/CMakeFiles/ASTLib.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..1d532e6 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libASTLib.a" +) diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/compiler_depend.make b/build/src/AST/CMakeFiles/ASTLib.dir/compiler_depend.make new file mode 100644 index 0000000..ae0ec5f --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for ASTLib. +# This may be replaced when dependencies are built. diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/compiler_depend.ts b/build/src/AST/CMakeFiles/ASTLib.dir/compiler_depend.ts new file mode 100644 index 0000000..7e2dff2 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for ASTLib. diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/depend.make b/build/src/AST/CMakeFiles/ASTLib.dir/depend.make new file mode 100644 index 0000000..770409d --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for ASTLib. +# This may be replaced when dependencies are built. diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/flags.make b/build/src/AST/CMakeFiles/ASTLib.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/link.txt b/build/src/AST/CMakeFiles/ASTLib.dir/link.txt new file mode 100644 index 0000000..a919853 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/link.txt @@ -0,0 +1,2 @@ +/usr/local/bin/llvm-ar qc libASTLib.a CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o +/usr/local/bin/llvm-ranlib libASTLib.a diff --git a/build/src/AST/CMakeFiles/ASTLib.dir/progress.make b/build/src/AST/CMakeFiles/ASTLib.dir/progress.make new file mode 100644 index 0000000..abadeb0 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTLib.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 + diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/DependInfo.cmake b/build/src/AST/CMakeFiles/ASTPrinter.dir/DependInfo.cmake new file mode 100644 index 0000000..05b8c21 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTreePrinter.cpp" "src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o" "gcc" "src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.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/build/src/AST/CMakeFiles/ASTPrinter.dir/build.make b/build/src/AST/CMakeFiles/ASTPrinter.dir/build.make new file mode 100644 index 0000000..43ddf0d --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/build.make @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include src/AST/CMakeFiles/ASTPrinter.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.make + +# Include the progress variables for this target. +include src/AST/CMakeFiles/ASTPrinter.dir/progress.make + +# Include the compile flags for this target's objects. +include src/AST/CMakeFiles/ASTPrinter.dir/flags.make + +src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o: src/AST/CMakeFiles/ASTPrinter.dir/flags.make +src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o: ../src/AST/SyntaxTreePrinter.cpp +src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o: src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o -MF CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o.d -o CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTreePrinter.cpp + +src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTreePrinter.cpp > CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.i + +src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST/SyntaxTreePrinter.cpp -o CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.s + +# Object files for target ASTPrinter +ASTPrinter_OBJECTS = \ +"CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o" + +# External object files for target ASTPrinter +ASTPrinter_EXTERNAL_OBJECTS = + +src/AST/libASTPrinter.a: src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o +src/AST/libASTPrinter.a: src/AST/CMakeFiles/ASTPrinter.dir/build.make +src/AST/libASTPrinter.a: src/AST/CMakeFiles/ASTPrinter.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX static library libASTPrinter.a" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && $(CMAKE_COMMAND) -P CMakeFiles/ASTPrinter.dir/cmake_clean_target.cmake + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/ASTPrinter.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +src/AST/CMakeFiles/ASTPrinter.dir/build: src/AST/libASTPrinter.a +.PHONY : src/AST/CMakeFiles/ASTPrinter.dir/build + +src/AST/CMakeFiles/ASTPrinter.dir/clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST && $(CMAKE_COMMAND) -P CMakeFiles/ASTPrinter.dir/cmake_clean.cmake +.PHONY : src/AST/CMakeFiles/ASTPrinter.dir/clean + +src/AST/CMakeFiles/ASTPrinter.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/ASTPrinter.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/AST/CMakeFiles/ASTPrinter.dir/depend + diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/cmake_clean.cmake b/build/src/AST/CMakeFiles/ASTPrinter.dir/cmake_clean.cmake new file mode 100644 index 0000000..c5c1679 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o" + "CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o.d" + "libASTPrinter.a" + "libASTPrinter.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/ASTPrinter.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/cmake_clean_target.cmake b/build/src/AST/CMakeFiles/ASTPrinter.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..cc36a5d --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libASTPrinter.a" +) diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.make b/build/src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.make new file mode 100644 index 0000000..a915294 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for ASTPrinter. +# This may be replaced when dependencies are built. diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.ts b/build/src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.ts new file mode 100644 index 0000000..7325708 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for ASTPrinter. diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/depend.make b/build/src/AST/CMakeFiles/ASTPrinter.dir/depend.make new file mode 100644 index 0000000..394ac04 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for ASTPrinter. +# This may be replaced when dependencies are built. diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/flags.make b/build/src/AST/CMakeFiles/ASTPrinter.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/link.txt b/build/src/AST/CMakeFiles/ASTPrinter.dir/link.txt new file mode 100644 index 0000000..9e362b8 --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/link.txt @@ -0,0 +1,2 @@ +/usr/local/bin/llvm-ar qc libASTPrinter.a CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o +/usr/local/bin/llvm-ranlib libASTPrinter.a diff --git a/build/src/AST/CMakeFiles/ASTPrinter.dir/progress.make b/build/src/AST/CMakeFiles/ASTPrinter.dir/progress.make new file mode 100644 index 0000000..8c8fb6f --- /dev/null +++ b/build/src/AST/CMakeFiles/ASTPrinter.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 3 +CMAKE_PROGRESS_2 = 4 + diff --git a/build/src/AST/CMakeFiles/CMakeDirectoryInformation.cmake b/build/src/AST/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f653cb8 --- /dev/null +++ b/build/src/AST/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/llh/bianyi/h3i6k4urnv20231127110302") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/llh/bianyi/h3i6k4urnv20231127110302/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/build/src/AST/CMakeFiles/progress.marks b/build/src/AST/CMakeFiles/progress.marks new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/build/src/AST/CMakeFiles/progress.marks @@ -0,0 +1 @@ +4 diff --git a/build/src/AST/Makefile b/build/src/AST/Makefile new file mode 100644 index 0000000..6015bae --- /dev/null +++ b/build/src/AST/Makefile @@ -0,0 +1,224 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.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 + +# The main all target +all: cmake_check_build_system + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST//CMakeFiles/progress.marks + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/AST/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/AST/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/AST/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/AST/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +src/AST/CMakeFiles/ASTLib.dir/rule: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/AST/CMakeFiles/ASTLib.dir/rule +.PHONY : src/AST/CMakeFiles/ASTLib.dir/rule + +# Convenience name for target. +ASTLib: src/AST/CMakeFiles/ASTLib.dir/rule +.PHONY : ASTLib + +# fast build rule for target. +ASTLib/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTLib.dir/build.make src/AST/CMakeFiles/ASTLib.dir/build +.PHONY : ASTLib/fast + +# Convenience name for target. +src/AST/CMakeFiles/ASTPrinter.dir/rule: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/AST/CMakeFiles/ASTPrinter.dir/rule +.PHONY : src/AST/CMakeFiles/ASTPrinter.dir/rule + +# Convenience name for target. +ASTPrinter: src/AST/CMakeFiles/ASTPrinter.dir/rule +.PHONY : ASTPrinter + +# fast build rule for target. +ASTPrinter/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTPrinter.dir/build.make src/AST/CMakeFiles/ASTPrinter.dir/build +.PHONY : ASTPrinter/fast + +SyntaxTree.o: SyntaxTree.cpp.o +.PHONY : SyntaxTree.o + +# target to build an object file +SyntaxTree.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTLib.dir/build.make src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.o +.PHONY : SyntaxTree.cpp.o + +SyntaxTree.i: SyntaxTree.cpp.i +.PHONY : SyntaxTree.i + +# target to preprocess a source file +SyntaxTree.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTLib.dir/build.make src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.i +.PHONY : SyntaxTree.cpp.i + +SyntaxTree.s: SyntaxTree.cpp.s +.PHONY : SyntaxTree.s + +# target to generate assembly for a file +SyntaxTree.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTLib.dir/build.make src/AST/CMakeFiles/ASTLib.dir/SyntaxTree.cpp.s +.PHONY : SyntaxTree.cpp.s + +SyntaxTreePrinter.o: SyntaxTreePrinter.cpp.o +.PHONY : SyntaxTreePrinter.o + +# target to build an object file +SyntaxTreePrinter.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTPrinter.dir/build.make src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.o +.PHONY : SyntaxTreePrinter.cpp.o + +SyntaxTreePrinter.i: SyntaxTreePrinter.cpp.i +.PHONY : SyntaxTreePrinter.i + +# target to preprocess a source file +SyntaxTreePrinter.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTPrinter.dir/build.make src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.i +.PHONY : SyntaxTreePrinter.cpp.i + +SyntaxTreePrinter.s: SyntaxTreePrinter.cpp.s +.PHONY : SyntaxTreePrinter.s + +# target to generate assembly for a file +SyntaxTreePrinter.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/AST/CMakeFiles/ASTPrinter.dir/build.make src/AST/CMakeFiles/ASTPrinter.dir/SyntaxTreePrinter.cpp.s +.PHONY : SyntaxTreePrinter.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 "... rebuild_cache" + @echo "... ASTLib" + @echo "... ASTPrinter" + @echo "... SyntaxTree.o" + @echo "... SyntaxTree.i" + @echo "... SyntaxTree.s" + @echo "... SyntaxTreePrinter.o" + @echo "... SyntaxTreePrinter.i" + @echo "... SyntaxTreePrinter.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 /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(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/build/src/AST/cmake_install.cmake b/build/src/AST/cmake_install.cmake new file mode 100644 index 0000000..2ca16e5 --- /dev/null +++ b/build/src/AST/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/llh/bianyi/h3i6k4urnv20231127110302/src/AST + +# 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 "Debug") + 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/local/bin/llvm-objdump") +endif() + diff --git a/build/src/ErrorReporter/CMakeFiles/CMakeDirectoryInformation.cmake b/build/src/ErrorReporter/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f653cb8 --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/llh/bianyi/h3i6k4urnv20231127110302") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/llh/bianyi/h3i6k4urnv20231127110302/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/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/DependInfo.cmake b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/DependInfo.cmake new file mode 100644 index 0000000..a27a603 --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/ErrorReporter/ErrorReporter.cpp" "src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o" "gcc" "src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.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/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make new file mode 100644 index 0000000..8577430 --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include src/ErrorReporter/CMakeFiles/ErrReporter.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.make + +# Include the progress variables for this target. +include src/ErrorReporter/CMakeFiles/ErrReporter.dir/progress.make + +# Include the compile flags for this target's objects. +include src/ErrorReporter/CMakeFiles/ErrReporter.dir/flags.make + +src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o: src/ErrorReporter/CMakeFiles/ErrReporter.dir/flags.make +src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o: ../src/ErrorReporter/ErrorReporter.cpp +src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o: src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o -MF CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o.d -o CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/ErrorReporter/ErrorReporter.cpp + +src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/ErrorReporter/ErrorReporter.cpp > CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.i + +src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/ErrorReporter/ErrorReporter.cpp -o CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.s + +# Object files for target ErrReporter +ErrReporter_OBJECTS = \ +"CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o" + +# External object files for target ErrReporter +ErrReporter_EXTERNAL_OBJECTS = + +src/ErrorReporter/libErrReporter.a: src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o +src/ErrorReporter/libErrReporter.a: src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make +src/ErrorReporter/libErrReporter.a: src/ErrorReporter/CMakeFiles/ErrReporter.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX static library libErrReporter.a" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter && $(CMAKE_COMMAND) -P CMakeFiles/ErrReporter.dir/cmake_clean_target.cmake + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/ErrReporter.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +src/ErrorReporter/CMakeFiles/ErrReporter.dir/build: src/ErrorReporter/libErrReporter.a +.PHONY : src/ErrorReporter/CMakeFiles/ErrReporter.dir/build + +src/ErrorReporter/CMakeFiles/ErrReporter.dir/clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter && $(CMAKE_COMMAND) -P CMakeFiles/ErrReporter.dir/cmake_clean.cmake +.PHONY : src/ErrorReporter/CMakeFiles/ErrReporter.dir/clean + +src/ErrorReporter/CMakeFiles/ErrReporter.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/src/ErrorReporter /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/ErrorReporter/CMakeFiles/ErrReporter.dir/depend + diff --git a/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/cmake_clean.cmake b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/cmake_clean.cmake new file mode 100644 index 0000000..3bf1a7c --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o" + "CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o.d" + "libErrReporter.a" + "libErrReporter.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/ErrReporter.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/cmake_clean_target.cmake b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..ca4b143 --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libErrReporter.a" +) diff --git a/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.make b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.make new file mode 100644 index 0000000..dd67c97 --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for ErrReporter. +# This may be replaced when dependencies are built. diff --git a/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.ts b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.ts new file mode 100644 index 0000000..43bfcd8 --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for ErrReporter. diff --git a/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/depend.make b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/depend.make new file mode 100644 index 0000000..219e95b --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for ErrReporter. +# This may be replaced when dependencies are built. diff --git a/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/flags.make b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/link.txt b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/link.txt new file mode 100644 index 0000000..98bc77b --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/link.txt @@ -0,0 +1,2 @@ +/usr/local/bin/llvm-ar qc libErrReporter.a CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o +/usr/local/bin/llvm-ranlib libErrReporter.a diff --git a/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/progress.make b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/progress.make new file mode 100644 index 0000000..72bb7dd --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/ErrReporter.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 7 +CMAKE_PROGRESS_2 = 8 + diff --git a/build/src/ErrorReporter/CMakeFiles/progress.marks b/build/src/ErrorReporter/CMakeFiles/progress.marks new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/build/src/ErrorReporter/CMakeFiles/progress.marks @@ -0,0 +1 @@ +2 diff --git a/build/src/ErrorReporter/Makefile b/build/src/ErrorReporter/Makefile new file mode 100644 index 0000000..156de34 --- /dev/null +++ b/build/src/ErrorReporter/Makefile @@ -0,0 +1,182 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.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 + +# The main all target +all: cmake_check_build_system + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/ErrorReporter//CMakeFiles/progress.marks + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/ErrorReporter/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/ErrorReporter/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/ErrorReporter/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/ErrorReporter/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +src/ErrorReporter/CMakeFiles/ErrReporter.dir/rule: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/ErrorReporter/CMakeFiles/ErrReporter.dir/rule +.PHONY : src/ErrorReporter/CMakeFiles/ErrReporter.dir/rule + +# Convenience name for target. +ErrReporter: src/ErrorReporter/CMakeFiles/ErrReporter.dir/rule +.PHONY : ErrReporter + +# fast build rule for target. +ErrReporter/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make src/ErrorReporter/CMakeFiles/ErrReporter.dir/build +.PHONY : ErrReporter/fast + +ErrorReporter.o: ErrorReporter.cpp.o +.PHONY : ErrorReporter.o + +# target to build an object file +ErrorReporter.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.o +.PHONY : ErrorReporter.cpp.o + +ErrorReporter.i: ErrorReporter.cpp.i +.PHONY : ErrorReporter.i + +# target to preprocess a source file +ErrorReporter.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.i +.PHONY : ErrorReporter.cpp.i + +ErrorReporter.s: ErrorReporter.cpp.s +.PHONY : ErrorReporter.s + +# target to generate assembly for a file +ErrorReporter.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/ErrorReporter/CMakeFiles/ErrReporter.dir/build.make src/ErrorReporter/CMakeFiles/ErrReporter.dir/ErrorReporter.cpp.s +.PHONY : ErrorReporter.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 "... rebuild_cache" + @echo "... ErrReporter" + @echo "... ErrorReporter.o" + @echo "... ErrorReporter.i" + @echo "... ErrorReporter.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 /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(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/build/src/ErrorReporter/cmake_install.cmake b/build/src/ErrorReporter/cmake_install.cmake new file mode 100644 index 0000000..c5e7548 --- /dev/null +++ b/build/src/ErrorReporter/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/llh/bianyi/h3i6k4urnv20231127110302/src/ErrorReporter + +# 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 "Debug") + 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/local/bin/llvm-objdump") +endif() + diff --git a/build/src/Frontend/CMakeFiles/CMakeDirectoryInformation.cmake b/build/src/Frontend/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f653cb8 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/llh/bianyi/h3i6k4urnv20231127110302") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/llh/bianyi/h3i6k4urnv20231127110302/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/build/src/Frontend/CMakeFiles/Driver.dir/DependInfo.cmake b/build/src/Frontend/CMakeFiles/Driver.dir/DependInfo.cmake new file mode 100644 index 0000000..f54a854 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFDriver.cpp" "src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o" "gcc" "src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Scanner.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Parser.dir/DependInfo.cmake" + "/home/llh/bianyi/h3i6k4urnv20231127110302/build/src/AST/CMakeFiles/ASTLib.dir/DependInfo.cmake" + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/build.make b/build/src/Frontend/CMakeFiles/Driver.dir/build.make new file mode 100644 index 0000000..7084cf6 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/build.make @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include src/Frontend/CMakeFiles/Driver.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include src/Frontend/CMakeFiles/Driver.dir/compiler_depend.make + +# Include the progress variables for this target. +include src/Frontend/CMakeFiles/Driver.dir/progress.make + +# Include the compile flags for this target's objects. +include src/Frontend/CMakeFiles/Driver.dir/flags.make + +src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o: src/Frontend/CMakeFiles/Driver.dir/flags.make +src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o: ../src/Frontend/SysYFDriver.cpp +src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o: src/Frontend/CMakeFiles/Driver.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o -MF CMakeFiles/Driver.dir/SysYFDriver.cpp.o.d -o CMakeFiles/Driver.dir/SysYFDriver.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFDriver.cpp + +src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/Driver.dir/SysYFDriver.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFDriver.cpp > CMakeFiles/Driver.dir/SysYFDriver.cpp.i + +src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/Driver.dir/SysYFDriver.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFDriver.cpp -o CMakeFiles/Driver.dir/SysYFDriver.cpp.s + +# Object files for target Driver +Driver_OBJECTS = \ +"CMakeFiles/Driver.dir/SysYFDriver.cpp.o" + +# External object files for target Driver +Driver_EXTERNAL_OBJECTS = + +src/Frontend/libDriver.a: src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o +src/Frontend/libDriver.a: src/Frontend/CMakeFiles/Driver.dir/build.make +src/Frontend/libDriver.a: src/Frontend/CMakeFiles/Driver.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX static library libDriver.a" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -P CMakeFiles/Driver.dir/cmake_clean_target.cmake + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/Driver.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +src/Frontend/CMakeFiles/Driver.dir/build: src/Frontend/libDriver.a +.PHONY : src/Frontend/CMakeFiles/Driver.dir/build + +src/Frontend/CMakeFiles/Driver.dir/clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -P CMakeFiles/Driver.dir/cmake_clean.cmake +.PHONY : src/Frontend/CMakeFiles/Driver.dir/clean + +src/Frontend/CMakeFiles/Driver.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Driver.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/Frontend/CMakeFiles/Driver.dir/depend + diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/cmake_clean.cmake b/build/src/Frontend/CMakeFiles/Driver.dir/cmake_clean.cmake new file mode 100644 index 0000000..c597e2c --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/Driver.dir/SysYFDriver.cpp.o" + "CMakeFiles/Driver.dir/SysYFDriver.cpp.o.d" + "libDriver.a" + "libDriver.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/Driver.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/cmake_clean_target.cmake b/build/src/Frontend/CMakeFiles/Driver.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..80b0993 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libDriver.a" +) diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/compiler_depend.make b/build/src/Frontend/CMakeFiles/Driver.dir/compiler_depend.make new file mode 100644 index 0000000..209a790 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for Driver. +# This may be replaced when dependencies are built. diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/compiler_depend.ts b/build/src/Frontend/CMakeFiles/Driver.dir/compiler_depend.ts new file mode 100644 index 0000000..77fbfbe --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for Driver. diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/depend.make b/build/src/Frontend/CMakeFiles/Driver.dir/depend.make new file mode 100644 index 0000000..a4cef35 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for Driver. +# This may be replaced when dependencies are built. diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/flags.make b/build/src/Frontend/CMakeFiles/Driver.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/link.txt b/build/src/Frontend/CMakeFiles/Driver.dir/link.txt new file mode 100644 index 0000000..d8490dc --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/link.txt @@ -0,0 +1,2 @@ +/usr/local/bin/llvm-ar qc libDriver.a CMakeFiles/Driver.dir/SysYFDriver.cpp.o +/usr/local/bin/llvm-ranlib libDriver.a diff --git a/build/src/Frontend/CMakeFiles/Driver.dir/progress.make b/build/src/Frontend/CMakeFiles/Driver.dir/progress.make new file mode 100644 index 0000000..3a86673 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Driver.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 5 +CMAKE_PROGRESS_2 = 6 + diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/DependInfo.cmake b/build/src/Frontend/CMakeFiles/Parser.dir/DependInfo.cmake new file mode 100644 index 0000000..3f615c2 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFParser.cpp" "src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.o" "gcc" "src/Frontend/CMakeFiles/Parser.dir/SysYFParser.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/build/src/Frontend/CMakeFiles/Parser.dir/build.make b/build/src/Frontend/CMakeFiles/Parser.dir/build.make new file mode 100644 index 0000000..b23e37b --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/build.make @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include src/Frontend/CMakeFiles/Parser.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include src/Frontend/CMakeFiles/Parser.dir/compiler_depend.make + +# Include the progress variables for this target. +include src/Frontend/CMakeFiles/Parser.dir/progress.make + +# Include the compile flags for this target's objects. +include src/Frontend/CMakeFiles/Parser.dir/flags.make + +src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.o: src/Frontend/CMakeFiles/Parser.dir/flags.make +src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.o: ../src/Frontend/SysYFParser.cpp +src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.o: src/Frontend/CMakeFiles/Parser.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.o -MF CMakeFiles/Parser.dir/SysYFParser.cpp.o.d -o CMakeFiles/Parser.dir/SysYFParser.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFParser.cpp + +src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/Parser.dir/SysYFParser.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFParser.cpp > CMakeFiles/Parser.dir/SysYFParser.cpp.i + +src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/Parser.dir/SysYFParser.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFParser.cpp -o CMakeFiles/Parser.dir/SysYFParser.cpp.s + +# Object files for target Parser +Parser_OBJECTS = \ +"CMakeFiles/Parser.dir/SysYFParser.cpp.o" + +# External object files for target Parser +Parser_EXTERNAL_OBJECTS = + +src/Frontend/libParser.a: src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.o +src/Frontend/libParser.a: src/Frontend/CMakeFiles/Parser.dir/build.make +src/Frontend/libParser.a: src/Frontend/CMakeFiles/Parser.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX static library libParser.a" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -P CMakeFiles/Parser.dir/cmake_clean_target.cmake + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/Parser.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +src/Frontend/CMakeFiles/Parser.dir/build: src/Frontend/libParser.a +.PHONY : src/Frontend/CMakeFiles/Parser.dir/build + +src/Frontend/CMakeFiles/Parser.dir/clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -P CMakeFiles/Parser.dir/cmake_clean.cmake +.PHONY : src/Frontend/CMakeFiles/Parser.dir/clean + +src/Frontend/CMakeFiles/Parser.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Parser.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/Frontend/CMakeFiles/Parser.dir/depend + diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/cmake_clean.cmake b/build/src/Frontend/CMakeFiles/Parser.dir/cmake_clean.cmake new file mode 100644 index 0000000..618a90b --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/Parser.dir/SysYFParser.cpp.o" + "CMakeFiles/Parser.dir/SysYFParser.cpp.o.d" + "libParser.a" + "libParser.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/Parser.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/cmake_clean_target.cmake b/build/src/Frontend/CMakeFiles/Parser.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..1b2ef3b --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libParser.a" +) diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/compiler_depend.make b/build/src/Frontend/CMakeFiles/Parser.dir/compiler_depend.make new file mode 100644 index 0000000..ca2a054 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for Parser. +# This may be replaced when dependencies are built. diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/compiler_depend.ts b/build/src/Frontend/CMakeFiles/Parser.dir/compiler_depend.ts new file mode 100644 index 0000000..7cdd5d0 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for Parser. diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/depend.make b/build/src/Frontend/CMakeFiles/Parser.dir/depend.make new file mode 100644 index 0000000..b550a02 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for Parser. +# This may be replaced when dependencies are built. diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/flags.make b/build/src/Frontend/CMakeFiles/Parser.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/link.txt b/build/src/Frontend/CMakeFiles/Parser.dir/link.txt new file mode 100644 index 0000000..7deacc9 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/link.txt @@ -0,0 +1,2 @@ +/usr/local/bin/llvm-ar qc libParser.a CMakeFiles/Parser.dir/SysYFParser.cpp.o +/usr/local/bin/llvm-ranlib libParser.a diff --git a/build/src/Frontend/CMakeFiles/Parser.dir/progress.make b/build/src/Frontend/CMakeFiles/Parser.dir/progress.make new file mode 100644 index 0000000..bc8bba0 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Parser.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 20 +CMAKE_PROGRESS_2 = 21 + diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/DependInfo.cmake b/build/src/Frontend/CMakeFiles/Scanner.dir/DependInfo.cmake new file mode 100644 index 0000000..560b68a --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFScanner.cpp" "src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.o" "gcc" "src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.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/build/src/Frontend/CMakeFiles/Scanner.dir/build.make b/build/src/Frontend/CMakeFiles/Scanner.dir/build.make new file mode 100644 index 0000000..99d3bfa --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/build.make @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include src/Frontend/CMakeFiles/Scanner.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.make + +# Include the progress variables for this target. +include src/Frontend/CMakeFiles/Scanner.dir/progress.make + +# Include the compile flags for this target's objects. +include src/Frontend/CMakeFiles/Scanner.dir/flags.make + +src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.o: src/Frontend/CMakeFiles/Scanner.dir/flags.make +src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.o: ../src/Frontend/SysYFScanner.cpp +src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.o: src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.o -MF CMakeFiles/Scanner.dir/SysYFScanner.cpp.o.d -o CMakeFiles/Scanner.dir/SysYFScanner.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFScanner.cpp + +src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/Scanner.dir/SysYFScanner.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFScanner.cpp > CMakeFiles/Scanner.dir/SysYFScanner.cpp.i + +src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/Scanner.dir/SysYFScanner.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend/SysYFScanner.cpp -o CMakeFiles/Scanner.dir/SysYFScanner.cpp.s + +# Object files for target Scanner +Scanner_OBJECTS = \ +"CMakeFiles/Scanner.dir/SysYFScanner.cpp.o" + +# External object files for target Scanner +Scanner_EXTERNAL_OBJECTS = + +src/Frontend/libScanner.a: src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.o +src/Frontend/libScanner.a: src/Frontend/CMakeFiles/Scanner.dir/build.make +src/Frontend/libScanner.a: src/Frontend/CMakeFiles/Scanner.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX static library libScanner.a" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -P CMakeFiles/Scanner.dir/cmake_clean_target.cmake + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/Scanner.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +src/Frontend/CMakeFiles/Scanner.dir/build: src/Frontend/libScanner.a +.PHONY : src/Frontend/CMakeFiles/Scanner.dir/build + +src/Frontend/CMakeFiles/Scanner.dir/clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend && $(CMAKE_COMMAND) -P CMakeFiles/Scanner.dir/cmake_clean.cmake +.PHONY : src/Frontend/CMakeFiles/Scanner.dir/clean + +src/Frontend/CMakeFiles/Scanner.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend/CMakeFiles/Scanner.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/Frontend/CMakeFiles/Scanner.dir/depend + diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/cmake_clean.cmake b/build/src/Frontend/CMakeFiles/Scanner.dir/cmake_clean.cmake new file mode 100644 index 0000000..03eb67d --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/Scanner.dir/SysYFScanner.cpp.o" + "CMakeFiles/Scanner.dir/SysYFScanner.cpp.o.d" + "libScanner.a" + "libScanner.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/Scanner.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/cmake_clean_target.cmake b/build/src/Frontend/CMakeFiles/Scanner.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..2f24850 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libScanner.a" +) diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.make b/build/src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.make new file mode 100644 index 0000000..fe11532 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for Scanner. +# This may be replaced when dependencies are built. diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.ts b/build/src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.ts new file mode 100644 index 0000000..1a36600 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for Scanner. diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/depend.make b/build/src/Frontend/CMakeFiles/Scanner.dir/depend.make new file mode 100644 index 0000000..435795c --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for Scanner. +# This may be replaced when dependencies are built. diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/flags.make b/build/src/Frontend/CMakeFiles/Scanner.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/link.txt b/build/src/Frontend/CMakeFiles/Scanner.dir/link.txt new file mode 100644 index 0000000..f27921b --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/link.txt @@ -0,0 +1,2 @@ +/usr/local/bin/llvm-ar qc libScanner.a CMakeFiles/Scanner.dir/SysYFScanner.cpp.o +/usr/local/bin/llvm-ranlib libScanner.a diff --git a/build/src/Frontend/CMakeFiles/Scanner.dir/progress.make b/build/src/Frontend/CMakeFiles/Scanner.dir/progress.make new file mode 100644 index 0000000..783d35b --- /dev/null +++ b/build/src/Frontend/CMakeFiles/Scanner.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 22 +CMAKE_PROGRESS_2 = 23 + diff --git a/build/src/Frontend/CMakeFiles/progress.marks b/build/src/Frontend/CMakeFiles/progress.marks new file mode 100644 index 0000000..45a4fb7 --- /dev/null +++ b/build/src/Frontend/CMakeFiles/progress.marks @@ -0,0 +1 @@ +8 diff --git a/build/src/Frontend/Makefile b/build/src/Frontend/Makefile new file mode 100644 index 0000000..587b6f2 --- /dev/null +++ b/build/src/Frontend/Makefile @@ -0,0 +1,266 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.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 + +# The main all target +all: cmake_check_build_system + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/Frontend//CMakeFiles/progress.marks + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +src/Frontend/CMakeFiles/Driver.dir/rule: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/CMakeFiles/Driver.dir/rule +.PHONY : src/Frontend/CMakeFiles/Driver.dir/rule + +# Convenience name for target. +Driver: src/Frontend/CMakeFiles/Driver.dir/rule +.PHONY : Driver + +# fast build rule for target. +Driver/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Driver.dir/build.make src/Frontend/CMakeFiles/Driver.dir/build +.PHONY : Driver/fast + +# Convenience name for target. +src/Frontend/CMakeFiles/Scanner.dir/rule: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/CMakeFiles/Scanner.dir/rule +.PHONY : src/Frontend/CMakeFiles/Scanner.dir/rule + +# Convenience name for target. +Scanner: src/Frontend/CMakeFiles/Scanner.dir/rule +.PHONY : Scanner + +# fast build rule for target. +Scanner/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Scanner.dir/build.make src/Frontend/CMakeFiles/Scanner.dir/build +.PHONY : Scanner/fast + +# Convenience name for target. +src/Frontend/CMakeFiles/Parser.dir/rule: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/Frontend/CMakeFiles/Parser.dir/rule +.PHONY : src/Frontend/CMakeFiles/Parser.dir/rule + +# Convenience name for target. +Parser: src/Frontend/CMakeFiles/Parser.dir/rule +.PHONY : Parser + +# fast build rule for target. +Parser/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Parser.dir/build.make src/Frontend/CMakeFiles/Parser.dir/build +.PHONY : Parser/fast + +SysYFDriver.o: SysYFDriver.cpp.o +.PHONY : SysYFDriver.o + +# target to build an object file +SysYFDriver.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Driver.dir/build.make src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.o +.PHONY : SysYFDriver.cpp.o + +SysYFDriver.i: SysYFDriver.cpp.i +.PHONY : SysYFDriver.i + +# target to preprocess a source file +SysYFDriver.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Driver.dir/build.make src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.i +.PHONY : SysYFDriver.cpp.i + +SysYFDriver.s: SysYFDriver.cpp.s +.PHONY : SysYFDriver.s + +# target to generate assembly for a file +SysYFDriver.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Driver.dir/build.make src/Frontend/CMakeFiles/Driver.dir/SysYFDriver.cpp.s +.PHONY : SysYFDriver.cpp.s + +SysYFParser.o: SysYFParser.cpp.o +.PHONY : SysYFParser.o + +# target to build an object file +SysYFParser.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Parser.dir/build.make src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.o +.PHONY : SysYFParser.cpp.o + +SysYFParser.i: SysYFParser.cpp.i +.PHONY : SysYFParser.i + +# target to preprocess a source file +SysYFParser.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Parser.dir/build.make src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.i +.PHONY : SysYFParser.cpp.i + +SysYFParser.s: SysYFParser.cpp.s +.PHONY : SysYFParser.s + +# target to generate assembly for a file +SysYFParser.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Parser.dir/build.make src/Frontend/CMakeFiles/Parser.dir/SysYFParser.cpp.s +.PHONY : SysYFParser.cpp.s + +SysYFScanner.o: SysYFScanner.cpp.o +.PHONY : SysYFScanner.o + +# target to build an object file +SysYFScanner.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Scanner.dir/build.make src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.o +.PHONY : SysYFScanner.cpp.o + +SysYFScanner.i: SysYFScanner.cpp.i +.PHONY : SysYFScanner.i + +# target to preprocess a source file +SysYFScanner.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Scanner.dir/build.make src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.i +.PHONY : SysYFScanner.cpp.i + +SysYFScanner.s: SysYFScanner.cpp.s +.PHONY : SysYFScanner.s + +# target to generate assembly for a file +SysYFScanner.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/Frontend/CMakeFiles/Scanner.dir/build.make src/Frontend/CMakeFiles/Scanner.dir/SysYFScanner.cpp.s +.PHONY : SysYFScanner.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 "... rebuild_cache" + @echo "... Driver" + @echo "... Parser" + @echo "... Scanner" + @echo "... SysYFDriver.o" + @echo "... SysYFDriver.i" + @echo "... SysYFDriver.s" + @echo "... SysYFParser.o" + @echo "... SysYFParser.i" + @echo "... SysYFParser.s" + @echo "... SysYFScanner.o" + @echo "... SysYFScanner.i" + @echo "... SysYFScanner.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 /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(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/build/src/Frontend/cmake_install.cmake b/build/src/Frontend/cmake_install.cmake new file mode 100644 index 0000000..313eb44 --- /dev/null +++ b/build/src/Frontend/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/llh/bianyi/h3i6k4urnv20231127110302/src/Frontend + +# 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 "Debug") + 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/local/bin/llvm-objdump") +endif() + diff --git a/build/src/SysYFIR/CMakeFiles/CMakeDirectoryInformation.cmake b/build/src/SysYFIR/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f653cb8 --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/llh/bianyi/h3i6k4urnv20231127110302") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/llh/bianyi/h3i6k4urnv20231127110302/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/build/src/SysYFIR/CMakeFiles/IRLib.dir/DependInfo.cmake b/build/src/SysYFIR/CMakeFiles/IRLib.dir/DependInfo.cmake new file mode 100644 index 0000000..fe35281 --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/DependInfo.cmake @@ -0,0 +1,28 @@ + +# 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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/BasicBlock.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Constant.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Function.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/GlobalVariable.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/IRPrinter.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Instruction.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Module.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Type.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/User.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o.d" + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Value.cpp" "src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.o" "gcc" "src/SysYFIR/CMakeFiles/IRLib.dir/Value.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/build/src/SysYFIR/CMakeFiles/IRLib.dir/build.make b/build/src/SysYFIR/CMakeFiles/IRLib.dir/build.make new file mode 100644 index 0000000..21db43e --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/build.make @@ -0,0 +1,255 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include src/SysYFIR/CMakeFiles/IRLib.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.make + +# Include the progress variables for this target. +include src/SysYFIR/CMakeFiles/IRLib.dir/progress.make + +# Include the compile flags for this target's objects. +include src/SysYFIR/CMakeFiles/IRLib.dir/flags.make + +src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o: ../src/SysYFIR/Type.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o -MF CMakeFiles/IRLib.dir/Type.cpp.o.d -o CMakeFiles/IRLib.dir/Type.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Type.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/Type.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Type.cpp > CMakeFiles/IRLib.dir/Type.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/Type.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Type.cpp -o CMakeFiles/IRLib.dir/Type.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o: ../src/SysYFIR/User.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o -MF CMakeFiles/IRLib.dir/User.cpp.o.d -o CMakeFiles/IRLib.dir/User.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/User.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/User.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/User.cpp > CMakeFiles/IRLib.dir/User.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/User.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/User.cpp -o CMakeFiles/IRLib.dir/User.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.o: ../src/SysYFIR/Value.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.o -MF CMakeFiles/IRLib.dir/Value.cpp.o.d -o CMakeFiles/IRLib.dir/Value.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Value.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/Value.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Value.cpp > CMakeFiles/IRLib.dir/Value.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/Value.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Value.cpp -o CMakeFiles/IRLib.dir/Value.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o: ../src/SysYFIR/BasicBlock.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o -MF CMakeFiles/IRLib.dir/BasicBlock.cpp.o.d -o CMakeFiles/IRLib.dir/BasicBlock.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/BasicBlock.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/BasicBlock.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/BasicBlock.cpp > CMakeFiles/IRLib.dir/BasicBlock.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/BasicBlock.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/BasicBlock.cpp -o CMakeFiles/IRLib.dir/BasicBlock.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o: ../src/SysYFIR/Constant.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o -MF CMakeFiles/IRLib.dir/Constant.cpp.o.d -o CMakeFiles/IRLib.dir/Constant.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Constant.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/Constant.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Constant.cpp > CMakeFiles/IRLib.dir/Constant.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/Constant.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Constant.cpp -o CMakeFiles/IRLib.dir/Constant.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o: ../src/SysYFIR/Function.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o -MF CMakeFiles/IRLib.dir/Function.cpp.o.d -o CMakeFiles/IRLib.dir/Function.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Function.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/Function.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Function.cpp > CMakeFiles/IRLib.dir/Function.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/Function.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Function.cpp -o CMakeFiles/IRLib.dir/Function.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o: ../src/SysYFIR/GlobalVariable.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o -MF CMakeFiles/IRLib.dir/GlobalVariable.cpp.o.d -o CMakeFiles/IRLib.dir/GlobalVariable.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/GlobalVariable.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/GlobalVariable.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/GlobalVariable.cpp > CMakeFiles/IRLib.dir/GlobalVariable.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/GlobalVariable.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/GlobalVariable.cpp -o CMakeFiles/IRLib.dir/GlobalVariable.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o: ../src/SysYFIR/Instruction.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o -MF CMakeFiles/IRLib.dir/Instruction.cpp.o.d -o CMakeFiles/IRLib.dir/Instruction.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Instruction.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/Instruction.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Instruction.cpp > CMakeFiles/IRLib.dir/Instruction.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/Instruction.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Instruction.cpp -o CMakeFiles/IRLib.dir/Instruction.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o: ../src/SysYFIR/Module.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o -MF CMakeFiles/IRLib.dir/Module.cpp.o.d -o CMakeFiles/IRLib.dir/Module.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Module.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/Module.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Module.cpp > CMakeFiles/IRLib.dir/Module.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/Module.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/Module.cpp -o CMakeFiles/IRLib.dir/Module.cpp.s + +src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/flags.make +src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o: ../src/SysYFIR/IRPrinter.cpp +src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o: src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o -MF CMakeFiles/IRLib.dir/IRPrinter.cpp.o.d -o CMakeFiles/IRLib.dir/IRPrinter.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/IRPrinter.cpp + +src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/IRLib.dir/IRPrinter.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/IRPrinter.cpp > CMakeFiles/IRLib.dir/IRPrinter.cpp.i + +src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/IRLib.dir/IRPrinter.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR/IRPrinter.cpp -o CMakeFiles/IRLib.dir/IRPrinter.cpp.s + +# Object files for target IRLib +IRLib_OBJECTS = \ +"CMakeFiles/IRLib.dir/Type.cpp.o" \ +"CMakeFiles/IRLib.dir/User.cpp.o" \ +"CMakeFiles/IRLib.dir/Value.cpp.o" \ +"CMakeFiles/IRLib.dir/BasicBlock.cpp.o" \ +"CMakeFiles/IRLib.dir/Constant.cpp.o" \ +"CMakeFiles/IRLib.dir/Function.cpp.o" \ +"CMakeFiles/IRLib.dir/GlobalVariable.cpp.o" \ +"CMakeFiles/IRLib.dir/Instruction.cpp.o" \ +"CMakeFiles/IRLib.dir/Module.cpp.o" \ +"CMakeFiles/IRLib.dir/IRPrinter.cpp.o" + +# External object files for target IRLib +IRLib_EXTERNAL_OBJECTS = + +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/build.make +src/SysYFIR/libIRLib.a: src/SysYFIR/CMakeFiles/IRLib.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Linking CXX static library libIRLib.a" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && $(CMAKE_COMMAND) -P CMakeFiles/IRLib.dir/cmake_clean_target.cmake + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/IRLib.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +src/SysYFIR/CMakeFiles/IRLib.dir/build: src/SysYFIR/libIRLib.a +.PHONY : src/SysYFIR/CMakeFiles/IRLib.dir/build + +src/SysYFIR/CMakeFiles/IRLib.dir/clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR && $(CMAKE_COMMAND) -P CMakeFiles/IRLib.dir/cmake_clean.cmake +.PHONY : src/SysYFIR/CMakeFiles/IRLib.dir/clean + +src/SysYFIR/CMakeFiles/IRLib.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR/CMakeFiles/IRLib.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/SysYFIR/CMakeFiles/IRLib.dir/depend + diff --git a/build/src/SysYFIR/CMakeFiles/IRLib.dir/cmake_clean.cmake b/build/src/SysYFIR/CMakeFiles/IRLib.dir/cmake_clean.cmake new file mode 100644 index 0000000..d507d8a --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/cmake_clean.cmake @@ -0,0 +1,29 @@ +file(REMOVE_RECURSE + "CMakeFiles/IRLib.dir/BasicBlock.cpp.o" + "CMakeFiles/IRLib.dir/BasicBlock.cpp.o.d" + "CMakeFiles/IRLib.dir/Constant.cpp.o" + "CMakeFiles/IRLib.dir/Constant.cpp.o.d" + "CMakeFiles/IRLib.dir/Function.cpp.o" + "CMakeFiles/IRLib.dir/Function.cpp.o.d" + "CMakeFiles/IRLib.dir/GlobalVariable.cpp.o" + "CMakeFiles/IRLib.dir/GlobalVariable.cpp.o.d" + "CMakeFiles/IRLib.dir/IRPrinter.cpp.o" + "CMakeFiles/IRLib.dir/IRPrinter.cpp.o.d" + "CMakeFiles/IRLib.dir/Instruction.cpp.o" + "CMakeFiles/IRLib.dir/Instruction.cpp.o.d" + "CMakeFiles/IRLib.dir/Module.cpp.o" + "CMakeFiles/IRLib.dir/Module.cpp.o.d" + "CMakeFiles/IRLib.dir/Type.cpp.o" + "CMakeFiles/IRLib.dir/Type.cpp.o.d" + "CMakeFiles/IRLib.dir/User.cpp.o" + "CMakeFiles/IRLib.dir/User.cpp.o.d" + "CMakeFiles/IRLib.dir/Value.cpp.o" + "CMakeFiles/IRLib.dir/Value.cpp.o.d" + "libIRLib.a" + "libIRLib.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/IRLib.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/src/SysYFIR/CMakeFiles/IRLib.dir/cmake_clean_target.cmake b/build/src/SysYFIR/CMakeFiles/IRLib.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..13f8ea1 --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libIRLib.a" +) diff --git a/build/src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.make b/build/src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.make new file mode 100644 index 0000000..f45e26e --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for IRLib. +# This may be replaced when dependencies are built. diff --git a/build/src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts b/build/src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts new file mode 100644 index 0000000..71e9c42 --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for IRLib. diff --git a/build/src/SysYFIR/CMakeFiles/IRLib.dir/depend.make b/build/src/SysYFIR/CMakeFiles/IRLib.dir/depend.make new file mode 100644 index 0000000..11ad6b9 --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for IRLib. +# This may be replaced when dependencies are built. diff --git a/build/src/SysYFIR/CMakeFiles/IRLib.dir/flags.make b/build/src/SysYFIR/CMakeFiles/IRLib.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/src/SysYFIR/CMakeFiles/IRLib.dir/link.txt b/build/src/SysYFIR/CMakeFiles/IRLib.dir/link.txt new file mode 100644 index 0000000..dd3c2f0 --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/link.txt @@ -0,0 +1,2 @@ +/usr/local/bin/llvm-ar qc libIRLib.a CMakeFiles/IRLib.dir/Type.cpp.o CMakeFiles/IRLib.dir/User.cpp.o CMakeFiles/IRLib.dir/Value.cpp.o CMakeFiles/IRLib.dir/BasicBlock.cpp.o CMakeFiles/IRLib.dir/Constant.cpp.o CMakeFiles/IRLib.dir/Function.cpp.o CMakeFiles/IRLib.dir/GlobalVariable.cpp.o CMakeFiles/IRLib.dir/Instruction.cpp.o CMakeFiles/IRLib.dir/Module.cpp.o CMakeFiles/IRLib.dir/IRPrinter.cpp.o +/usr/local/bin/llvm-ranlib libIRLib.a diff --git a/build/src/SysYFIR/CMakeFiles/IRLib.dir/progress.make b/build/src/SysYFIR/CMakeFiles/IRLib.dir/progress.make new file mode 100644 index 0000000..548b719 --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/IRLib.dir/progress.make @@ -0,0 +1,12 @@ +CMAKE_PROGRESS_1 = 9 +CMAKE_PROGRESS_2 = 10 +CMAKE_PROGRESS_3 = 11 +CMAKE_PROGRESS_4 = 12 +CMAKE_PROGRESS_5 = 13 +CMAKE_PROGRESS_6 = 14 +CMAKE_PROGRESS_7 = 15 +CMAKE_PROGRESS_8 = 16 +CMAKE_PROGRESS_9 = 17 +CMAKE_PROGRESS_10 = 18 +CMAKE_PROGRESS_11 = 19 + diff --git a/build/src/SysYFIR/CMakeFiles/progress.marks b/build/src/SysYFIR/CMakeFiles/progress.marks new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/build/src/SysYFIR/CMakeFiles/progress.marks @@ -0,0 +1 @@ +11 diff --git a/build/src/SysYFIR/Makefile b/build/src/SysYFIR/Makefile new file mode 100644 index 0000000..986b53c --- /dev/null +++ b/build/src/SysYFIR/Makefile @@ -0,0 +1,425 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.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 + +# The main all target +all: cmake_check_build_system + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIR//CMakeFiles/progress.marks + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIR/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIR/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIR/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIR/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +src/SysYFIR/CMakeFiles/IRLib.dir/rule: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIR/CMakeFiles/IRLib.dir/rule +.PHONY : src/SysYFIR/CMakeFiles/IRLib.dir/rule + +# Convenience name for target. +IRLib: src/SysYFIR/CMakeFiles/IRLib.dir/rule +.PHONY : IRLib + +# fast build rule for target. +IRLib/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/build +.PHONY : IRLib/fast + +BasicBlock.o: BasicBlock.cpp.o +.PHONY : BasicBlock.o + +# target to build an object file +BasicBlock.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.o +.PHONY : BasicBlock.cpp.o + +BasicBlock.i: BasicBlock.cpp.i +.PHONY : BasicBlock.i + +# target to preprocess a source file +BasicBlock.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.i +.PHONY : BasicBlock.cpp.i + +BasicBlock.s: BasicBlock.cpp.s +.PHONY : BasicBlock.s + +# target to generate assembly for a file +BasicBlock.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/BasicBlock.cpp.s +.PHONY : BasicBlock.cpp.s + +Constant.o: Constant.cpp.o +.PHONY : Constant.o + +# target to build an object file +Constant.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.o +.PHONY : Constant.cpp.o + +Constant.i: Constant.cpp.i +.PHONY : Constant.i + +# target to preprocess a source file +Constant.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.i +.PHONY : Constant.cpp.i + +Constant.s: Constant.cpp.s +.PHONY : Constant.s + +# target to generate assembly for a file +Constant.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Constant.cpp.s +.PHONY : Constant.cpp.s + +Function.o: Function.cpp.o +.PHONY : Function.o + +# target to build an object file +Function.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.o +.PHONY : Function.cpp.o + +Function.i: Function.cpp.i +.PHONY : Function.i + +# target to preprocess a source file +Function.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.i +.PHONY : Function.cpp.i + +Function.s: Function.cpp.s +.PHONY : Function.s + +# target to generate assembly for a file +Function.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Function.cpp.s +.PHONY : Function.cpp.s + +GlobalVariable.o: GlobalVariable.cpp.o +.PHONY : GlobalVariable.o + +# target to build an object file +GlobalVariable.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.o +.PHONY : GlobalVariable.cpp.o + +GlobalVariable.i: GlobalVariable.cpp.i +.PHONY : GlobalVariable.i + +# target to preprocess a source file +GlobalVariable.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.i +.PHONY : GlobalVariable.cpp.i + +GlobalVariable.s: GlobalVariable.cpp.s +.PHONY : GlobalVariable.s + +# target to generate assembly for a file +GlobalVariable.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/GlobalVariable.cpp.s +.PHONY : GlobalVariable.cpp.s + +IRPrinter.o: IRPrinter.cpp.o +.PHONY : IRPrinter.o + +# target to build an object file +IRPrinter.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.o +.PHONY : IRPrinter.cpp.o + +IRPrinter.i: IRPrinter.cpp.i +.PHONY : IRPrinter.i + +# target to preprocess a source file +IRPrinter.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.i +.PHONY : IRPrinter.cpp.i + +IRPrinter.s: IRPrinter.cpp.s +.PHONY : IRPrinter.s + +# target to generate assembly for a file +IRPrinter.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/IRPrinter.cpp.s +.PHONY : IRPrinter.cpp.s + +Instruction.o: Instruction.cpp.o +.PHONY : Instruction.o + +# target to build an object file +Instruction.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.o +.PHONY : Instruction.cpp.o + +Instruction.i: Instruction.cpp.i +.PHONY : Instruction.i + +# target to preprocess a source file +Instruction.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.i +.PHONY : Instruction.cpp.i + +Instruction.s: Instruction.cpp.s +.PHONY : Instruction.s + +# target to generate assembly for a file +Instruction.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Instruction.cpp.s +.PHONY : Instruction.cpp.s + +Module.o: Module.cpp.o +.PHONY : Module.o + +# target to build an object file +Module.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.o +.PHONY : Module.cpp.o + +Module.i: Module.cpp.i +.PHONY : Module.i + +# target to preprocess a source file +Module.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.i +.PHONY : Module.cpp.i + +Module.s: Module.cpp.s +.PHONY : Module.s + +# target to generate assembly for a file +Module.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Module.cpp.s +.PHONY : Module.cpp.s + +Type.o: Type.cpp.o +.PHONY : Type.o + +# target to build an object file +Type.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.o +.PHONY : Type.cpp.o + +Type.i: Type.cpp.i +.PHONY : Type.i + +# target to preprocess a source file +Type.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.i +.PHONY : Type.cpp.i + +Type.s: Type.cpp.s +.PHONY : Type.s + +# target to generate assembly for a file +Type.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Type.cpp.s +.PHONY : Type.cpp.s + +User.o: User.cpp.o +.PHONY : User.o + +# target to build an object file +User.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.o +.PHONY : User.cpp.o + +User.i: User.cpp.i +.PHONY : User.i + +# target to preprocess a source file +User.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.i +.PHONY : User.cpp.i + +User.s: User.cpp.s +.PHONY : User.s + +# target to generate assembly for a file +User.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/User.cpp.s +.PHONY : User.cpp.s + +Value.o: Value.cpp.o +.PHONY : Value.o + +# target to build an object file +Value.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.o +.PHONY : Value.cpp.o + +Value.i: Value.cpp.i +.PHONY : Value.i + +# target to preprocess a source file +Value.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.i +.PHONY : Value.cpp.i + +Value.s: Value.cpp.s +.PHONY : Value.s + +# target to generate assembly for a file +Value.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIR/CMakeFiles/IRLib.dir/build.make src/SysYFIR/CMakeFiles/IRLib.dir/Value.cpp.s +.PHONY : Value.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 "... rebuild_cache" + @echo "... IRLib" + @echo "... BasicBlock.o" + @echo "... BasicBlock.i" + @echo "... BasicBlock.s" + @echo "... Constant.o" + @echo "... Constant.i" + @echo "... Constant.s" + @echo "... Function.o" + @echo "... Function.i" + @echo "... Function.s" + @echo "... GlobalVariable.o" + @echo "... GlobalVariable.i" + @echo "... GlobalVariable.s" + @echo "... IRPrinter.o" + @echo "... IRPrinter.i" + @echo "... IRPrinter.s" + @echo "... Instruction.o" + @echo "... Instruction.i" + @echo "... Instruction.s" + @echo "... Module.o" + @echo "... Module.i" + @echo "... Module.s" + @echo "... Type.o" + @echo "... Type.i" + @echo "... Type.s" + @echo "... User.o" + @echo "... User.i" + @echo "... User.s" + @echo "... Value.o" + @echo "... Value.i" + @echo "... Value.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 /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(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/build/src/SysYFIR/cmake_install.cmake b/build/src/SysYFIR/cmake_install.cmake new file mode 100644 index 0000000..751f4bc --- /dev/null +++ b/build/src/SysYFIR/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIR + +# 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 "Debug") + 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/local/bin/llvm-objdump") +endif() + diff --git a/build/src/SysYFIRBuilder/CMakeFiles/CMakeDirectoryInformation.cmake b/build/src/SysYFIRBuilder/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f653cb8 --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/llh/bianyi/h3i6k4urnv20231127110302") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/llh/bianyi/h3i6k4urnv20231127110302/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/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/DependInfo.cmake b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/DependInfo.cmake new file mode 100644 index 0000000..e5a673b --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.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 + "/home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIRBuilder/IRBuilder.cpp" "src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o" "gcc" "src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.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/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make new file mode 100644 index 0000000..cc3fb65 --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make @@ -0,0 +1,111 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +# Include any dependencies generated for this target. +include src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.make + +# Include the progress variables for this target. +include src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/progress.make + +# Include the compile flags for this target's objects. +include src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/flags.make + +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/flags.make +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o: ../src/SysYFIRBuilder/IRBuilder.cpp +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o -MF CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o.d -o CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o -c /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIRBuilder/IRBuilder.cpp + +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.i" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIRBuilder/IRBuilder.cpp > CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.i + +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.s" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder && /usr/local/bin/clang++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIRBuilder/IRBuilder.cpp -o CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.s + +# Object files for target SysYFIRBuilder +SysYFIRBuilder_OBJECTS = \ +"CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o" + +# External object files for target SysYFIRBuilder +SysYFIRBuilder_EXTERNAL_OBJECTS = + +src/SysYFIRBuilder/libSysYFIRBuilder.a: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o +src/SysYFIRBuilder/libSysYFIRBuilder.a: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make +src/SysYFIRBuilder/libSysYFIRBuilder.a: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX static library libSysYFIRBuilder.a" + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder && $(CMAKE_COMMAND) -P CMakeFiles/SysYFIRBuilder.dir/cmake_clean_target.cmake + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/SysYFIRBuilder.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build: src/SysYFIRBuilder/libSysYFIRBuilder.a +.PHONY : src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build + +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder && $(CMAKE_COMMAND) -P CMakeFiles/SysYFIRBuilder.dir/cmake_clean.cmake +.PHONY : src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/clean + +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/llh/bianyi/h3i6k4urnv20231127110302 /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIRBuilder /home/llh/bianyi/h3i6k4urnv20231127110302/build /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/depend + diff --git a/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/cmake_clean.cmake b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/cmake_clean.cmake new file mode 100644 index 0000000..bdd75be --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o" + "CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o.d" + "libSysYFIRBuilder.a" + "libSysYFIRBuilder.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/SysYFIRBuilder.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/cmake_clean_target.cmake b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..5da99ec --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +file(REMOVE_RECURSE + "libSysYFIRBuilder.a" +) diff --git a/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.make b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.make new file mode 100644 index 0000000..05fe4ac --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for SysYFIRBuilder. +# This may be replaced when dependencies are built. diff --git a/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.ts b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.ts new file mode 100644 index 0000000..d42c7ee --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for SysYFIRBuilder. diff --git a/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/depend.make b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/depend.make new file mode 100644 index 0000000..89aeba7 --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for SysYFIRBuilder. +# This may be replaced when dependencies are built. diff --git a/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/flags.make b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/flags.make new file mode 100644 index 0000000..2e5536c --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# compile CXX with /usr/local/bin/clang++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/llh/bianyi/h3i6k4urnv20231127110302/build -I/home/llh/bianyi/h3i6k4urnv20231127110302/include -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/AST -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/ErrorReporter -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/Frontend -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIR -I/home/llh/bianyi/h3i6k4urnv20231127110302/include/SysYFIRBuilder + +CXX_FLAGS = -O0 -Wall -Wextra -Wno-unused -Wshadow -Werror -g -pedantic -g -std=gnu++14 + diff --git a/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/link.txt b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/link.txt new file mode 100644 index 0000000..b030ae0 --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/link.txt @@ -0,0 +1,2 @@ +/usr/local/bin/llvm-ar qc libSysYFIRBuilder.a CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o +/usr/local/bin/llvm-ranlib libSysYFIRBuilder.a diff --git a/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/progress.make b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/progress.make new file mode 100644 index 0000000..3244467 --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 26 +CMAKE_PROGRESS_2 = 27 + diff --git a/build/src/SysYFIRBuilder/CMakeFiles/progress.marks b/build/src/SysYFIRBuilder/CMakeFiles/progress.marks new file mode 100644 index 0000000..0cfbf08 --- /dev/null +++ b/build/src/SysYFIRBuilder/CMakeFiles/progress.marks @@ -0,0 +1 @@ +2 diff --git a/build/src/SysYFIRBuilder/Makefile b/build/src/SysYFIRBuilder/Makefile new file mode 100644 index 0000000..9aa9777 --- /dev/null +++ b/build/src/SysYFIRBuilder/Makefile @@ -0,0 +1,182 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.23 + +# 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 = /home/llh/bianyi/h3i6k4urnv20231127110302 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/llh/bianyi/h3i6k4urnv20231127110302/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.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 + +# The main all target +all: cmake_check_build_system + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles /home/llh/bianyi/h3i6k4urnv20231127110302/build/src/SysYFIRBuilder//CMakeFiles/progress.marks + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIRBuilder/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/llh/bianyi/h3i6k4urnv20231127110302/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIRBuilder/clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIRBuilder/preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIRBuilder/preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +# Convenience name for target. +src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/rule: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/rule +.PHONY : src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/rule + +# Convenience name for target. +SysYFIRBuilder: src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/rule +.PHONY : SysYFIRBuilder + +# fast build rule for target. +SysYFIRBuilder/fast: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build +.PHONY : SysYFIRBuilder/fast + +IRBuilder.o: IRBuilder.cpp.o +.PHONY : IRBuilder.o + +# target to build an object file +IRBuilder.cpp.o: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.o +.PHONY : IRBuilder.cpp.o + +IRBuilder.i: IRBuilder.cpp.i +.PHONY : IRBuilder.i + +# target to preprocess a source file +IRBuilder.cpp.i: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.i +.PHONY : IRBuilder.cpp.i + +IRBuilder.s: IRBuilder.cpp.s +.PHONY : IRBuilder.s + +# target to generate assembly for a file +IRBuilder.cpp.s: + cd /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(MAKE) $(MAKESILENT) -f src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/build.make src/SysYFIRBuilder/CMakeFiles/SysYFIRBuilder.dir/IRBuilder.cpp.s +.PHONY : IRBuilder.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 "... rebuild_cache" + @echo "... SysYFIRBuilder" + @echo "... IRBuilder.o" + @echo "... IRBuilder.i" + @echo "... IRBuilder.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 /home/llh/bianyi/h3i6k4urnv20231127110302/build && $(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/build/src/SysYFIRBuilder/cmake_install.cmake b/build/src/SysYFIRBuilder/cmake_install.cmake new file mode 100644 index 0000000..a78f9e5 --- /dev/null +++ b/build/src/SysYFIRBuilder/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/llh/bianyi/h3i6k4urnv20231127110302/src/SysYFIRBuilder + +# 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 "Debug") + 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/local/bin/llvm-objdump") +endif() + diff --git a/doc/AST.md b/doc/AST.md new file mode 100755 index 0000000..54ef981 --- /dev/null +++ b/doc/AST.md @@ -0,0 +1,473 @@ +# AST + +**源码链接:** + +[SyntaxTree.h](../include/SyntaxTree.h) + +[SyntaxTree.cpp](../src/SyntaxTree.cpp) + + +## 目录 + +[Ptr](#ptr) + +[PtrLst](#ptrlist) + +[Position](#position) + +[Type](#type) + +[Binop](#binop) + +[UnaryOp](#unaryOp) + +[UnaryCondOp](#unarycondop) + +[BinaryCondOp](#binarycondop) + +[Node](#node) + +[Assembly](#assembly) + +[InitVal](#initval) + +[GlobalDef](#globaldef) + +[FuncDef](#funcdef) + +[VarDef](#vardef) + +[Stmt](#stmt) + +[AssignStmt](#assignstmt) + +[ReturnStmt](#returnstmt) + +[BlockStmt](#blockstmt) + +[EmptyStmt](#emptystmt) + +[ExprStmt](#exprstmt) + +[Expr](#expr) + +[CondExpr](#condexpr) + +[AddExpr](#addexpr) + +[UnaryCondExpr](#unarycondexpr) + +[BinaryCondExpr](#binarycondexpr) + +[BinaryExpr](#binaryexpr) + +[UnaryExpr](#unaryexpr) + +[LVal](#lval) + +[Literal](#literal) + +[FuncCallStmt](#funccallstmt) + +[FuncParam](#funcparam) + +[FuncFParamList](#funcfparamlist) + +[IfStmt](#ifstmt) + +[WhileStmt](#whilestmt) + +[BreakStmt](#breakstmt) + +[ContinueStmt](#continuestmt) + +[Visitor](#visitor) + +## Ptr + +AST中使用的指针类型。实际上是`std::shared_ptr` + +## PtrList + +存放[Ptr](#ptr)的list,实际上是`std::vector` + +## Position + +该节点代表的语法结构在源文件的位置信息,实际上是`yy::location`。由bison/flex自动生成。 + +## Type +包含SysY语言支持的数据类型:`Type::INT`以及`Type::VOID`。 + +多出的`Type::STRING`类型用作系统调用的参数类型,`Type::BOOL`作为条件表达式类型。 + +## Binop + +双目算术表达式的操作符。包含 + +`Binop::PLUS` 加 + +`Binop::MINUS`减 + +`Binop::MULTIPLY`乘 + +`Binop::DIVIDE`除 + +`Binop::MODULO`模 + +## UnaryOp + +单目算术表达式操作符,包含 + +`UnaryOp::PLUS`正 + +`UnaryOp::MINUS`负 + + +## UnaryCondOp + +单目条件表达式操作符,包含 + +`UnaryCondOp::NOT`非 + +## BinaryCondOp + +双目条件表达式操作符,包含 + +`BinaryCondOp::LT`小于 + +`BinaryCondOp::LTE`小于等于 + +`BinaryCondOp::GT`大于 + +`BinaryCondOp::GTE`大于等于 + +`BinaryCondOp::EQ`等于等于 + +`BinaryCondOp::NEQ`不等于 + +`BinaryCondOp::LAND`逻辑与 + +`BinaryCondOp::LOR`逻辑或 + +## Node + +语法树所有结点的基类, + +`Node::loc`是其在对应源文件的位置信息。类型为[Position](#position) + +`virtual void Node::accept(Visitor &visitor)`为虚函数,用于访问者模式,接受一个[Visitor](#visitor)。需要进行重写。 + +## Assembly + +AST的根结点 + +[PtrList](#ptrlist)<[GlobalDef](#globaldef)> `Assembly::global_defs`存放所有[GlobalDef](#globaldef)指针。 + +## InitVal + +代表初值的结点。该结点为嵌套定义。以下类型的变量初值均可表示: + +```c++ +int a = 1 + 1; +int b[2] = {1,2}; +int c[2][2] = {{1,2},{3,4}} +... +``` + +`bool InitVal::isExp` + +为真时初值为[Expr](#expr)类型。为假时代表以`{...}`的形式进行赋初值 +eg +```c++ +int a = 3 + 1;//isExp=true +int c[2][2] = {{1,2},{3,4}};//isExp=false +``` +所有`InitVal`结点最底层一定是[Expr](#expr)类型。也即`isExp`为true + +[PtrList](#ptrlist)<[InitVal](#initval)> `InitVal::elementList` + +当`isExp`为false时该域才有意义。是包含`{}`中其余`InitVal`结点指针的列表。 + +[Ptr](#ptr)<[Expr](#expr)> `InitVal::expr` + +当`isExp`为true时该域才有意义。一个初值表达式的指针。 + +## GlobalDef + +所有def结点的基类 + +## FuncDef + +代表函数定义。 + +[Type](#type) `FuncDef::ret_type`。 + +函数的返回值类型 + +[Ptr](#ptr)<[FuncFParamList](#funcfparamlist)> `FuncDef::param_list`。 + +函数的形参指针 + +`std::string FuncDef::name` + +函数名 + +[Ptr](#ptr)<[BlockStmt](#blockstmt)> `FuncDef::body` + +函数体指针 + +## VarDef + +代表变量定义 + +`bool VarDef::is_constant` + +是否为常量 + +[Type](#type) `VarDef::btype` + +变量类型(在sysY中只能是int) + +`std::string VarDef::name` + +变量名 + +`bool VarDef::is_inited` + +是否初始化 + +[PtrList](#ptrlist)<[Expr](#expr)> `VarDef::array_length` + +若为数组,则是存放各维长度表达式指针的列表,否则为空 + +[Ptr](#ptr)<[InitVal](#initval)> `VarDef::initializers` + +若初始化,则是指向初值定义的指针 + +## Stmt + +所有statement的基类 + +## AssignStmt + +表示如下类型的语句: +```c++ +target = value +``` + +即赋值型语句 + +[Ptr](#ptr)<[Lval](#lval)> `AssignStmt::target` + +赋值表达式的左值指针 + +[Ptr](#ptr)<[Expr](#expr)> `AssignStmt::value` + +赋值表达式右边表达式指针 + +## ReturnStmt + +代表return 语句 + +[Ptr](#ptr)<[Expr](#expr)> `ReturnStmt::ret` + +return 语句返回的表达式指针。空指针代表void return + +## BlockStmt + +代表使用`{}`括起来的stmt。 + +[PtrList](#ptrlist)<[Stmt](#stmt)> `BlockStmt::body` + +该block中所有stmt指针的列表 + +## EmptyStmt + +空语句 + +## ExprStmt + +表达式语句 + +[Ptr](#ptr)<[Expr](#exp)> `ExprStmt::exp` + +表达式语句对应表达式的指针 + +## Expr + +所有表达式的基类 + +## CondExpr + +所有条件表达式的基类 + +## AddExpr + +所有算术表达式的基类 + +## UnaryCondExpr + +单目条件表达式 + +`UnaryCondOp UnaryCondExpr::op` + +操作符 + +[Ptr](#ptr)<[Expr](#expr)> `UnaryCondExpr::rhs` + +操作符右端表达式指针 + +## BinaryCondExpr + +双目条件表达式 + +`BinaryCondOp BinaryCondExpr::op` + +操作符 + +[Ptr](#ptr)<[Expr](#expr)> `BinaryCondExpr::lhs, rhs` + +操作符左右两端表达式指针 + +## BinaryExpr + +双目算术表达式 + +`BinOp BinaryExpr::op` + +操作符 + +[Ptr](#ptr)<[Expr](#expr)> `BinaryExpr::lhs, rhs` + +操作符左右两端表达式指针 + +## UnaryExpr + +单目算术表达式 + +`UnaryOp UnaryExpr::op` + +操作符 + +[Ptr](#ptr)<[Expr](#expr)> `UnaryExpr::rhs` + +操作符右端表达式指针 + +## LVal + +左值表达式 + +`std::string Lval::name` + +变量名 + +[PtrList](#ptrlist)<[Expr](#expr)> `LVal::array_index` + +数组索引的指针列表。若不是数组,则为空 + +## Literal + +语义值类型,包含整数和字符串 + +`bool Literal::is_int` + +是否为整形 + +`int Literal::int_const` + +整数语义值 + +`std::string Literal::str` + +字符串语义值(未处理转义) + +## FuncCallStmt + +函数调用 + +`std::string FuncCallStmt::name` + +被调用的函数名 + +[PtrList](#ptrlist)<[Expr](#expr)> `FuncCallStmt::params` + +存放函数实参表达式指针的列表 + +## FuncParam + +单个函数形参 + +`std::string FuncParam::name` + +形参名 + +[Type](#type) `FuncParam::param_type` + +形参类型 + +[PtrList](#ptrlist)<[Expr](#expr)> `FuncParam::array_index` + +形参的数组维度列表,存放每一维的表达式指针。若非数组则为空 + +## FuncFParamList + +存放一个函数的所有形参 + +[PtrList](#ptrlist)<[FuncParam](#funcparam)> `FuncFParamList::params` + +存放所有形参指针的列表 + +## IfStmt + +表示如下结构: +```c++ +if(cond_exp) + if_stmt +或 +if(cond_exp) + if_stmt +else + else_stmt +``` + +[Ptr](#ptr)<[Expr](#expr)> `IfStmt::cond_exp` + +cond_exp的指针 + +[Ptr](#ptr)<[Stmt](#stmt)> `IfStmt::if_statement` + +if_stmt的指针 + +[Ptr](#ptr)<[Stmt](#stmt)> `IfStmt::else_statement` + +else_stmt的指针(若无else,则为空) + + +## WhileStmt + +表示如下结构 +```c++ +while(cond_exp) + stmt +``` + +[Ptr](#ptr)<[Expr](#expr)> `WhileStmt::cond_exp` + +cond_exp的指针 + +[Ptr](#ptr)<[Stmt](#stmt)> `WhileStmt::statement` + +stmt的指针 + + +## BreakStmt + +表示一个break语句 + +## ContinueStmt + +表示一个continue语句 + +## Visitor + +访问者模式的基类,用于访问AST。需要重写其中的visit函数。 \ No newline at end of file diff --git a/doc/SysYFIR.md b/doc/SysYFIR.md new file mode 100644 index 0000000..8a9cc30 --- /dev/null +++ b/doc/SysYFIR.md @@ -0,0 +1,620 @@ +# SysYF IR + +- [SysYF IR](#sysyf-ir) + - [IR](#ir) + - [IR Features](#ir-features) + - [IR Format](#ir-format) + - [Instruction](#instruction) + - [Terminator Instructions](#terminator-instructions) + - [Ret](#ret) + - [Br](#br) + - [Standard binary operators](#standard-binary-operators) + - [Add FAdd](#add-fadd) + - [Sub FSub](#sub-fsub) + - [Mul FMul](#mul-fmul) + - [SDiv FDiv](#sdiv-fdiv) + - [SRem](#srem) + - [Memory operators](#memory-operators) + - [Alloca](#alloca) + - [Load](#load) + - [Store](#store) + - [CastInst](#castinst) + - [ZExt](#zext) + - [FpToSi](#fptosi) + - [SiToFp](#sitofp) + - [Other operators](#other-operators) + - [ICmp FCmp](#icmp-fcmp) + - [Call](#call) + - [GetElementPtr](#getelementptr) + - [C++ APIs](#c-apis) + - [核心类概念图](#核心类概念图) + - [BasicBlock](#basicblock) + - [Constant](#constant) + - [Function](#function) + - [GlobalVariable](#globalvariable) + - [IRStmtBuilder](#irstmtbuilder) + - [Instruction](#instruction-1) + - [Module](#module) + - [Type](#type) + - [User](#user) + - [Value](#value) + - [总结](#总结) + +## IR + +### IR Features +- 采用类型化三地址代码的方式 + - 区别于 X86 汇编的目标和源寄存器共用的模式: ADD EAX, EBX + - %2 = add i32 %0, %1 +- 静态单赋值 (SSA) 形式 + 无限寄存器 + - 每个变量都只被赋值一次 + - 容易确定操作间的依赖关系,便于优化分析 +- 强类型系统 + - 每个 Value 都具备自身的类型, + - IR类型系统: + - `i1`:1位宽的整数类型 + - `i32`:32位宽的整数类型 + - `float`:单精度浮点数类型 + - `pointer`:指针类型 + - 例如:`i32*, [10 x i32*]` + - `label` bb的标识符类型 + - `functiontype`函数类型,包括函数返回值类型与参数类型(下述文档未提及) + +### IR Format +下面以`easy.c`与`easy.ll`为例进行说明。 +通过命令`clang -S -emit-llvm easy.c`可以得到对应的`easy.ll`如下(其中增加了额外的注释)。`.ll`文件中注释以`;`开头。 + +- `easy.c`: + ``` c + int main(){ + int a; + int b; + a = 1; + b = 2; + if(a < b) + b = 3; + return a + b; + } + ``` +- `easy.ll`: + ``` c + ; 注释: .ll文件中注释以';'开头 + ; ModuleID = 'easy.c' + source_filename = "easy.c" + ; 注释: target的开始 + target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + ; 注释: target的结束 + + ; 注释: 全局main函数的定义 + ; Function Attrs: noinline nounwind optnone uwtable + define dso_local i32 @main() #0 { + ; 注释: 第一个基本块的开始 + %1 = alloca i32, align 4 + %2 = alloca i32, align 4 + %3 = alloca i32, align 4 + store i32 0, i32* %1, align 4 + store i32 1, i32* %2, align 4 + store i32 2, i32* %3, align 4 + %4 = load i32, i32* %2, align 4 + %5 = load i32, i32* %3, align 4 + %6 = icmp slt i32 %4, %5 + br i1 %6, label %7, label %8 + ; 注释: 第一个基本块的结束 + + ; 注释: 第二个基本块的开始 + 7: ; preds = %0 + store i32 3, i32* %3, align 4 + br label %8 + ; 注释: 第二个基本块的结束 + + ; 注释: 第三个基本块的开始 + 8: ; preds = %7, %0 + %9 = load i32, i32* %2, align 4 + %10 = load i32, i32* %3, align 4 + %11 = add nsw i32 %9, %10 + ret i32 %11 ; 注释: 返回语句 + ; 注释: 第三个基本块的结束 + } + + attributes #0 = { noinline nounwind optnone uwtable "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" } + + !llvm.module.flags = !{!0} + !llvm.ident = !{!1} + + !0 = !{i32 1, !"wchar_size", i32 4} + !1 = !{!"clang version 10.0.1 "} + ``` +每个program由1个或多个module组成,每个module对应1个程序文件,module之间由LLVM Linker进行链接形成1个可执行文件或者库。 +每个module组成如下: +- Target Information: + ``` c + target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" + target triple = "x86_64-unknown-linux-gnu" + ``` +- Global Symbols: main函数的定义 +- Others:尾部其他信息 + +每个函数的组成如下: +- 头部:函数返回值类型、函数名、函数参数 +- 一个或多个基本块: + - 每个基本块由Label和Instruction组成。 + ``` c + 8: ; preds = %7, %0 + %9 = load i32, i32* %2, align 4 + %10 = load i32, i32* %3, align 4 + %11 = add nsw i32 %9, %10 + ret i32 %11 + ``` + 这个例子中,`8`就是Label。 + `%9 = load i32, i32* %2, align 4`中的`%9`是目的操作数,`load`是指令助记符,`i32`是`int32`的类型,`i32*`是指向`int32`的地址类型,`%2`是源操作数,`align 4`表示对齐。 +### Instruction +#### Terminator Instructions +**注**:ret与br都是Terminator Instructions也就是终止指令,在llvm基本块的定义里,基本块是单进单出的,因此只能有一条终止指令(ret或br)。当一个基本块有两条终止指令,clang 在做解析时会认为第一个终结指令是此基本块的结束,并会开启一个新的匿名的基本块(并占用了下一个编号)。 +##### Ret +- 格式 + - `ret ` + - `ret void` +- 例子: + - `ret i32 %0` + - `ret void` +- 概念:` ret`指令用于将控制流(以及可选的值)从函数返回给调用者。`ret`指令有两种形式:一种返回值,然后终结函数,另一种仅终结函数。 + +##### Br +- 格式: + - `br i1 , label , label ` + - `br label ` +- 例子: + - `br i1 %cond label %truebb label %falsebb` + - `br label %bb` +- 概念:`br`指令用于使控制流转移到当前功能中的另一个基本块。 该指令有两种形式,分别对应于条件分支和无条件分支。 + +#### Standard binary operators +##### Add FAdd +- 格式: + - ` = add , ` + - ` = fadd , ` +- 例子: + - `%2 = add i32 %1, %0` + - `%2 = fadd float %1, %0` +- 概念:`add`指令返回其两个`i32`类型的操作数之和,返回值为`i32`类型,`fadd`指令返回其两个`float`类型的操作数之和,返回值为`float`类型 + +##### Sub FSub +- 格式与例子与`add`,`fadd`类似 +- 概念:`sub`指令返回其两个`i32`类型的操作数之差,返回值为`i32`类型,`fsub`指令返回其两个`float`类型的操作数之差,返回值为`float`类型 + +##### Mul FMul +- 格式与例子与`add`,`fadd`类似 +- 概念:`mul`指令返回其两个`i32`类型的操作数之积,返回值为`i32`类型,`fmul`指令返回其两个`float`类型的操作数之积,返回值为`float`类型 + +##### SDiv FDiv +- 格式与例子与`add`,`fadd`类似 +- 概念:`sdiv`指令返回其两个`i32`类型的操作数之商,返回值为`i32`类型,`fdiv`指令返回其两个`float`类型的操作数之商,返回值为`float`类型 + +##### SRem +- 格式与例子与`add`类似 +- 概念:`srem`指令返回其两个`i32`类型的操作数之模,返回值为`i32`类型 + +#### Memory operators +##### Alloca +- 格式:` = alloca ` +- 例子: + - `%ptr = alloca i32` + - `%ptr = alloca [10 x i32]` +- 概念: `alloca`指令在当前执行函数的栈帧上分配内存,当该函数返回其调用者时将自动释放该内存。 始终在地址空间中为数据布局中指示的分配资源分配对象 + +##### Load +- 格式:` = load , * ` +- 例子:`%val = load i32, i32* %ptr` +- 概念:`load`指令用于从内存中读取。 + +##### Store +- 格式:`store , * ` +- 例子:`store i32 3, i32* %ptr` +- 概念:`store`指令用于写入内存 + +#### CastInst +##### ZExt +- 格式:` = zext to ` +- 例子:`%1 = zext i1 %0 to i32` +- 概念:`zext`指令将其操作数**零**扩展为`type2`类型。 + +##### FpToSi +- 概念:`fptosi`指令将浮点值转换为`type2`(整数)类型。 +- 格式:` = fptosi to ` +- 例子:`%Y = fptosi float 1.0E-247 to i32` + +##### SiToFp +- 格式:` = sitofp to ` +- 例子:`%X = sitofp i32 257 to float` +- 概念:`sitofp`指令将有符号整数转换为`type2`(浮点数)类型。 + +#### Other operators +##### ICmp FCmp +- 格式: + - ` = icmp , ` + - ` = eq | ne | sgt | sge | slt | sle` + - ` = fcmp , ` + - ` = eq | ne | ugt | uge | ult | ule` +- 例子:`i1 %2 = icmp sge i32 %0, %1` +- 概念:`icmp`指令根据两个整数的比较返回布尔值,`fcmp`指令根据两个浮点数的比较返回布尔值。 + +##### Call +- 格式: + - ` = call () ` +- 例子: + - `%0 = call i32 @func( i32 %1, i32* %0)` + - `call @func( i32 %arg)` +- 概念:`call`指令用于使控制流转移到指定的函数,其传入参数绑定到指定的值。 在被调用函数中执行`ret`指令后,控制流程将在函数调用后继续执行该指令,并且该函数的返回值绑定到`result`参数。 + +##### GetElementPtr +- 格式:` = getelementptr , * [, ]` +- 例子: + - `%2 = getelementptr [10 x i32], [10 x i32]* %1, i32 0, i32 %0` + - `%2 = getelementptr i32, i32* %1 i32 %0` +- 参数解释:第一个参数是计算基础类型,第二第三个参数表示索引开始的指针类型及指针,`[]`表示可重复参数,里面表示的数组索引的偏移类型及偏移值。(思考指针类型为`[10 x i32]`指针和`i32`指针`getelementptr`用法的不同) +- 概念:`getelementptr`指令用于获取数组结构的元素的地址。 它仅执行地址计算,并且不访问内存。 + +## C++ APIs + +### 核心类概念图 + +![](figs/核心类概念图.png) + +### BasicBlock +- 继承:从[value](#value)继承 + +- 含义:基本块,是一个是单入单出的代码块,该类维护了一个指令链表,基本块本身属于 Value, 类型是 \,会被分支指令调用 + +- 成员: + + - instr_list_:指令链表 + - pre_bbs_: bb前驱集合 + - succ_bbs_:bb后继集合 + +- API: + + ```c++ + // 创建并返回BB块,参数分别是BB块所属的Module,name是其名字默认为空,BB块所属的Function + static Ptr create(Ptr m, const std::string &name ,Ptr parent ) + // 返回BB块所属的函数 + Ptr get_parent(); + // 返回BB块所属的Module + Ptr get_module(); + // 返回BB块的终止指令(ret|br),若BB块最后一条指令不是终止指令返回null + Ptr get_terminator(); + // 将instr指令添加到此BB块指令链表结尾,调用IRBuilder里来创建函数会自动调用此方法 + void add_instruction(Ptr instr); + // 将instr指令添加到此BB块指令链表开头 + void add_instr_begin(Ptr instr); + // 将instr指令从BB块指令链表中移除,同时调用api维护好instr的操作数的use链表 + void delete_instr(Ptr instr); + // BB块中指令数为空返回true + bool empty(); + // 返回BB块中指令的数目 + int get_num_of_instr(); + //返回BB块的指令链表 + PtrList &get_instructions(); + // 将此BB块从所属函数的bb链表中移除 + void erase_from_parent(); + + /****************api about cfg****************/ + PtrList &get_pre_basic_blocks() // 返回前驱块集合 + PtrList &get_succ_basic_blocks() // 返回后继块集合 + void add_pre_basic_block(Ptr bb) // 添加前驱块 + void add_succ_basic_block(Ptr bb) // 添加后继块 + void remove_pre_basic_block(Ptr bb) // 移除前驱块 + void remove_succ_basic_block(Ptr bb) // 移除后继块 + /****************api about cfg****************/ + + ``` + + +### Constant +- 继承:从[User](#user)继承 +- 含义:常数,各种类型常量的基类 +- 子类: + - ConstantInt + - 含义:int类型的常数 + + - 成员 + + - value_:常数值 + + - API + + ```cpp + int get_value() // 返回该常数类型中存的常数值 + static int get_value(Ptr const_val)// 返回该常数类型const_val中存的常数值 + static Ptr get(int val, Ptr m) // 以val值来创建常数类 + static Ptr get(bool val, Ptr m) // 以val值来创建bool常数类 + ``` + + - ConstantFloat + - 含义:float类型的常数 + + - 成员 + + - value_:常数值 + + - API + + ```cpp + static Ptr get(float val, Ptr m) // 以val值创建并返回浮点数常量类 + float get_value() // 返回该常数类型中存的常数值 + ``` + + - ConstantZero + + - 含义:用于全局变量初始化的常量0值。 + + - API + + ```cpp + static Ptr get(Ptr ty, Ptr m);// 创建并返回ConstantZero常量类 + ``` + + - ConstantArray + + - 含义:数组类型的常数 + - 成员 + - const_array:数组常量值 + + - API:cminus语法不需要数组常量的支持(本次实验不需要用到),在此不过多解释。感兴趣可以自行查看源代码。 +### Function +- 继承:从[Value](#value)继承 + +- 含义:函数,该类描述 LLVM 的一个简单过程,维护基本块表,格式化参数表 + +- 成员 + - basic_blocks_:基本块列表 + - arguments_:形参列表 + - parent_:函数属于的module + +- API + + ```cpp + static Ptr create(Ptr ty, const std::string &name, Ptr parent); + // 创建并返回Function,参数依次是待创建函数类型ty、函数名字name(不可为空)、函数所属的Module + Ptr get_function_type() const; + // 返回此函数类的函数类型 + Ptr get_return_type() const; + // 返回此函数类型的返回值类型 + void add_basic_block(Ptr bb); + // 将bb添加至Function的bb链表上(调用bb里的创建函数时会自动调用此函数挂在function的bb链表上) + unsigned get_num_of_args() const; + // 得到函数形参数数量 + unsigned get_num_basic_blocks() const; + // 得到函数基本块数量 + Ptr get_parent() const; + // 得到函数所属的Module + PtrList::iterator arg_begin() + // 得到函数形参的list的起始迭代器 + PtrList::iterator arg_end() + // 得到函数形参的list的终止迭代器 + void remove(Ptr bb) + // 从函数的bb链表中删除一个bb + PtrList &get_basic_blocks() + // 返回函数bb链表 + PtrList &get_args() + // 返回函数的形参链表 + void set_instr_name(); + // 给函数中未命名的基本块和指令命名 + ``` + + + +- 相关类 + - Argument + - 含义:参数 + + - 成员 + - arg_no_:参数序号 + - parent_:参数属于哪个函数 + + - API + + ```cpp + Ptr get_parent() // 返回参数的所属函数 + unsigned get_arg_no() const // 返回参数在所在函数的第几个参数 + ``` +### GlobalVariable +- 继承:从[User](#user)继承 +- 含义:全局变量,该类用于表示全局变量,是 GlobalValue 的子类,根据地址来访问 +- 成员: + - is_const:是否为常量 + - init_val_:初始值 +- API:由于cminusf语义要求所有的全局变量都默认初始化为0,故`GlobalVariable`中成员和API再构造CminusFBuilder用不到 +### IRStmtBuilder +- 含义:生成IR的辅助类,该类提供了独立的接口创建各种 IR 指令,并将它们插入基本块中, 该辅助类不做任何类型检查。 + +- API + + ```cpp + Ptr get_insert_block()// 返回正在插入指令的BB + void set_insert_point(Ptr bb)// 设置当前需要插入指令的bb + ptr create_[instr_type]()// 创建instr_type(具体名字参考IRStmtBuilder.h代码)的指令并对应插入到正在插入的BB块,这种类型的指令看函数名字和参数名字和IR文档是一一对应的。 + ``` + + +### Instruction +- 继承:从[User](#user)继承 +- 含义:指令,该类是所有 LLVM 指令的基类,主要维护指令的操作码(指令类别),指令所属的基本块,指令的操作数个数信息 +- 成员 + - parent_:指令所属的BasicBlock + - op_id_:指令的类型id + - num_ops_指令的操作数个数 +- 子类 + - BinaryInst:双目运算指令包括add、sub、mul、div + - 其他子类和前述文档中提到的指令一一对应,不在此赘述。 +- API:所有指令的创建都要通过 IRStmtBuilder 进行,不需要关注Instruction类的实现细节,(**注**:不通过 IRStmtBuilder 来创建指令,而直接调用指令子类的创建方法未经助教完善的测试) +### Module +- 含义:一个编译单元,在此源语言的意义下是一个文件 + +- 成员 + - function_list_:函数链表,记录了这个编译单元的所有函数 + - global_list_:全局变量链表 + - instr_id2string_:通过指令类型id得到其打印的string + - module_name_, source_file_name:未使用 + - 从module中能取到的基本类型 + +- API + + ```cpp + Ptr get_void_type(); + // 得到IR中的void类型其他类型可以用类似的API得到(推荐取得类型采用lab3助教提供的方法Type::get()) + void add_function(Ptr f); + // 将f挂在module的function链表上,在function被创建的时候会自动调用此方法来添加function + void add_global_variable(Ptr g); + // 将g挂在module的GlobalVariable链表上,在GlobalVariable被创建的时候会自动调用此方法来添加GlobalVariable + PtrList &get_global_variable(); + // 获取全局变量列表 + std::string get_instr_op_name( Instruction::OpID instr ); + // 获取instr对应的指令名(打印ir时调用) + void set_print_name(); + // 设置打印ir的指令与bb名字; + ``` + + +### Type +- 含义:IR的类型,该类是所有类型的超类 + +- 成员 + + - tid_:枚举类型,表示type的类型(包含VoidType、LabelType、FloatType、Int1、Int32、ArrayType、PointerType) + +- 子类 + - IntegerType + - 含义:int 类型 + + - 成员 + + - num_bits:长度(i1或者i32) + + - API + + ```cpp + unsigned get_num_bits();// 返回int的位数 + ``` + - FloatType + + - 含义:float 类型 + - FunctionType + - 含义:函数类型 + + - 成员 + - result_:返回值类型 + - args_:参数类型列表 + + - API + + ```cpp + static Ptr get(Ptr result, PtrVec params); + // 返回函数类型,参数依次是返回值类型result,形参类型列表params + unsigned get_num_of_args() const; + // 返回形参个数 + Ptr get_param_type(unsigned i) const; + // 返回第i个形参的类型 + PtrVec::iterator param_begin() + // 返回形参类型列表的起始迭代器 + PtrVec::iterator param_end() + // 返回形参类型列表的终止迭代器 + Ptr get_return_type() const; + // 返回函数类型中的返回值类型 + ``` + - ArrayType + - 含义:数组类型 + + - 成员 + - contained_:数组成员的类型 + - num_elements_:数组维数 + + - API + + ```cpp + static Ptr get(Ptr contained, unsigned num_elements); + // 返回数组类型,参数依次是 数组元素的类型contained,数组元素个数num_elements + Ptr get_element_type() const + // 返回数组元素类型 + unsigned get_num_of_elements() const + // 返回数组元素个数 + ``` + - PointerType + - 含义:指针类型 + + - 成员 + + - contained_:指针指向的类型 + + - API + + ```cpp + Ptr get_element_type() const { return contained_; } + // 返回指针指向的类型 + static Ptr get(Ptr contained); + // 返回contained类型的指针类型 + Ptr get_pointer_element_type();// 若是PointerType则返回指向的类型,若不是则返回nullptr。 + static Ptr create(Ptr contained); + // 创建指向contained类型的指针类型 + ``` + +- API + + ```cpp + bool is_void_type()// 判断是否是void类型其他类型有类似API请查看Type.h + static Ptr get_void_type(Ptr m);// 得到void类型 + Ptr get_pointer_element_type();// 若是PointerType则返回指向的类型,若不是则返回nullptr。 + Ptr get_array_element_type();// 若是ArrayType则返回指向的类型,若不是则返回nullptr。 + ``` + + +### User +- 继承:从[value](#value)继承 + +- 含义:使用者,提供一个操作数表,表中每个操作数都直接指向一个 Value, 提供了 use-def 信息,它本身是 Value 的子类, Value 类会维护一个该数据使用者的列表,提供def-use信息。简单来说操作数表表示我用了谁,该数据使用者列表表示谁用了我。这两个表在后续的**优化实验**会比较重要请务必理解。 + +- 成员 + - operands_:参数列表,表示这个使用者所用到的参数 + - num_ops_:表示该使用者使用的参数的个数 + +- API + + ```cpp + Ptr get_operand(unsigned i) const; + // 从user的操作数链表中取出第i个操作数 + void set_operand(unsigned i, Ptr v); + // 将user的第i个操作数设为v + void add_operand(Ptr v); + // 将v挂到User的操作数链表上 + unsigned get_num_operand() const; + // 得到操作数链表的大小 + void remove_use_of_ops(); + // 从User的操作数链表中的所有操作数处的use_list_ 移除该User; + void remove_operands(int index1, int index2); + // 移除操作数链表中索引为index1-index2的操作数,例如想删除第0个操作数:remove_operands(0,0) + ``` + +### Value +- 含义:最基础的类,代表一个操作数,代表一个可能用于指令操作数的带类型数据 + +- 成员 + - use_list_:记录了所有使用该操作数的指令的列表 + - name_:名字 + - type_:类型,一个type类,表示操作数的类型 + +- API + + ```cpp + Ptr get_type() const //返回这个操作数的类型 + std::list &get_use_list() // 返回value的使用者链表 + void add_use(Ptr val, unsigned arg_no = 0); + // 添加val至this的使用者链表上 + void replace_all_use_with(Ptr new_val); + // 将this在所有的地方用new_val替代,并且维护好use_def与def_use链表 + void remove_use(Ptr val); + // 将val从this的use_list_中移除 + ``` + +### 总结 + +在本文档里提供了为SysYF语言程序生成LLVM IR可能需要用到的SysYF IR应用编程接口,如果对这些API有问题的请移步issue讨论,本次`SysYF IR`应用编程接口由助教自行设计实现,并做了大量测试,如有对助教的实现方法有异议或者建议的也请移步issue讨论,**除了选做内容无需修改助教代码**。 diff --git a/doc/SysYF语言定义.pdf b/doc/SysYF语言定义.pdf new file mode 100755 index 0000000000000000000000000000000000000000..3b50c123ef2b37274917df7446f366a5db7900d7 GIT binary patch literal 873077 zcmdqJ1z43!*FG*tw@50&CZ#u&!x&$Nz>6GpiDM|mEtseDw z&Uw%8``+tcTwK?F_OmC}%(`c-nKkzextx#)9f+O<6^XnW{D+DJ0x$q<^vzL`xVeFf zZnj21K|M!3OB)lQoSuo11Ar0yvpi5r&)S62-IPvHh6(^waI|+aa8$H6GLpBkaRjil zK$1x7*;|NP8{2@3xp_1)1b~wn@q+(Qk&LVjAywQI_DfxmI)H*UPS)UZfRbj04jKTa zo8kb>Y>*EYcE|@SGvtHqMp$_O8>B`6I|Jk!J48e+z|R%kl<`|d;1<~%fh+pjBzYqT z8z*}MBL}d+A~x2JHyL{w)J1OWeopTVi*>}?Dbj2tz9VATN?ja(gp;#OeY2z>nz{Q4n&(*ZzfBSSMi0UK8h za8?EY3kM556C;3~8AQ*)s09G`v$Z3*0~`R5-UN!;+c?>RYldhY@&%{>RJ7N#cCfwa zC<8a3paM|H$l1)mNM2L`T)Lv3z5_VPSN(tOOa}nN&;5Q=@b`WfF|%|uvImM-g4-u# zWME@x1e7weHgPlsFf+14aydBK8|hi0BDtn?YDq>eccV6=Gkj_5nz~g?RiO$@AM(AF zdk#P*n?kflut)GWlvM*H3toG7N3R}CQa`p*NQTPMuxikFsY=`2GwpSKwRe1ccp5xU z;IenPe|<6%*&zGn^X957pXcex>lq^S1|Ofx1}ARv8sr4l?cx#Z{Tp6>IXGy4 z=~I2Nxg2~IA4$ZEUe-RzG3|A>-i7|jtR_HfkTRb@P@bo-+v)1Qj~n?DQjUGB zNmKayT3f>-wNPkHS&CS*bG|)Svw}hsMy}6gd3T!|M4Rqm`FuP_+`N>#To+s_9WuI3 z^2)nqzbCNv4x!G$PV^FWRS-qudV$YJX`fHDR`(J6G;w#aakik;Xdu&vHQV_XcWrNP zB<*Y2_g<&{~th**{v$?dd9L(%yFp$m@-xK!}y? z%kp$bCew|#NAB)+P#uu!!nH+c|BSShukE^ix~yTlppxDQSHoxO9Ln@2ve^;g@UyVE z(wSCGNNc;jz3b$Qpgq0HO`KFpq4~@bbgUNgMbxImI21MuQ=->#*6+_-a|G{NX}Q6M z23|STsCf3%^5L93HHUeD?Z@bx(Prt8{Hh{JlRYW!g@Df-t(#{cT6;Ilj!m8?emLP1 zM#uM)$2u;kZx|F?kqT-%3uNQ&f2M!`MOsR*NWUId0DI(l(F!vc>>Uj;A>UiOV^@jq zs)95gky=JN+PZ$Cb#ib%NSN17XpbcBlfg*y*F@4qD>)SveY{#;0UN2;qlL7)iaHdR z>Y7+z=Ex^)l^HvIgyN@F83;T2Ts2=T^73F<0Q$nqo}Ui@ zF-IdmV|CyeELqXRq(bOepbtL~_o=2E1(<0V7|(Co|~@oVwW zKs}?POaBzuNpZX(-{ad;H)kYaX@j0ul9#AUq$Fh_jDDR>T#mVBf<2QTCR-)Wnvsz9{-L0Szr`MX;g z(wCT#EaycG7bD@`K01+F+O_-L8xvC3YbGZ%Jh6m|)h^o<#`joVGP`(cm-(^fl+Be< zvRUsP)M1k?^0Roz#z*5kFMCgTNtK1{s6WRGweliN^qnEH@?JEam~@Hy;vgIi&%<)> zFWOX_a9duFu(M+;nelD>C>-ojB|sn^RB8#D2vQuZ#`~)h5qFE2(LT?fc}9Fneo*ib zD-)bG%R8JnSsjTN}M-W8dB+g*TP$~y03 zvC+?gb1L>up0Ld&zbT2cPjtHAS{DkZvay`Mx4`|td+US|xo@=-c5(L=F$lTupbPhT zOwn)$E!M;14rww%*@x){LOL>dvafp0xeGM9GlzEv0&^7$$!C&znuoS)C&-^Nj9IC3 zskQ~)qqc0bRkvkR4@U4xIMyObG1U!=9)sO`rKsnV1l<(hT1wa`iIa-9%1hARLU`}} zm_YAQy87)2B$E2!Kt|Fm*@0Ji(cQE`T{(Nu_qgA(?T;JxM#mBctZX-1q;sxk`C9i$ z?%hcY?8TFyl@>B;WjO*Nhq|>q3HoH)GZn>$luGer%sLvI=L@a((TcX#M!^JCjx_c7 zBz%##%5pg?vhE!pwCNfzX7AX3<~0r_W^@cjVInWpc3nSE702GgZW%xd2Uqn-%BNZM>IiaJ%dsGs(10uP|ZA#!FXE)Ltvi7EMmo1-4w+ z+V!~&YjmBxtcEWj&QY5hR^xfogku@6zk(+~OAXDYn4ELm-aLxnya z!1{BEl1jrPU3(w(`l;27C6CGkTW@~kj94{T=QnIlN_*@UE+Nh7VVIoAqK=^G@O(bl91gDk<3|XWv!3$M}R46BHL&bLeG?QIcUN zn=Ewj-3RgsX+q2m?0}K|?!grgC)6T>CbKVPlxZ_P?X9vHsaypd*ZOf0(bmqEB=&d`v2t(l0dl@)(^?zjoPT!%Ef-#@CEB26Qbxel4O z$d+hPe$!29QSI2Vg-XaP~fC-LTW^`#(`&jsD zJ*Mu?nCD1y7qx6*Q#__=xP`aEq8`2vaeEhVaim6!$=)Cb7-LWglK`bDKi=d&W(s(i zL(aX3KyO4hjxs=tr1~gRla3uTS!&P1>0HTXmW)aQ&wXi6Q(}sW|oA>XFBmf$Ao*emlbb@H!7Wt(@|;Ag9HrpM2KzHKZ35 zo>Lq*&@be7iwqO#f70wMPE6=Bm%?%$mnBzVPgM;YJ3?4lG4C5wr=RPnd9y>l1G=!J zshjMrdy~S6M4hN&|7vOl1|1M81sf+N^GIq#zE>eKQt~1T`AY7EVdIjLv$XQyBfDwO zLJB%n;W-LpG$)cC&4X5}!U!a*7f2{(sm8}2-qiVn+N1=_MK>Lgd(DHG3ri#$Wz)s+ zqn=HK$DJ%D4H*U+IZ^RzH@(3z$TdcK>Lq%ekNx^kQ9r(SgvRoft*0Zh?Kn!SukgJ0h6Am9m?4O4j^GAdApa* zm?AlonzpiEG8*Lm3a->kW7~2FSlNV3T53F&@HhWMQlF3_NKN8JH6yB$R ztJH&rVKFTYp>ryVi+yBLS9`1LL8sG5{xVxnpzEVn#hCMK#?g`9KlJ`J~oYR^Ltr zlS`li*Rz<4g(_i;j-k>H=J^Yh4|0@wZ^{`L?mQAurSmUV>$b||*@(CG(%7Wscszx+ z{?z1*qjVa_7%C&70b!87V5$~6AH%#|tuk+>pXRxH#s)6TOfA#Mc5S*J8`UGPt6lQu z5~k&Nz!_%n z?v2FeyKf)59+$OcMO?irg9;)6?R%^bGi5v*>df3XtaOVtNT`Gr7l5a2(^h#l;VYWF zX@W%^nq#`isfXTWo9DD@E9OaeVEJ$YyR;p<|F!h;E9S!(3fo*|==Q9LQzpa+fZsGu z3^o#}WhO(}sDC&`=p*UkM3xT*RMDDlK|=QfJw8udLF4A%0aY5iBc9SeQWMOydUJ|r zH0zigHu|wi?Mq`UVvu!_RHK~4 z*pBk;$JwWrnUBf1aZLF&3!=_VUp*EJa%W~8k-)Udd`vl!I*B|m3d`~d+v4{Z6H3gb!*fE#2*i5=nvJhF-6dc*Z4T> zZ^XuRTC&@{yc=`Wd!+h(W^U3hFQ;k=M)? z=OP7NM8zu-+zx3kp2=`ryx;&9E?2b`_1r(i{Ge=_X?3r$={6PSHIjv=;6Mmr>3AwK zYUdkNHFltOJ?esI!K@(s+ht?;w|odz?RS@ngpa}q@xQ=y&ybqYJ|cfE)p<94G$Vh5 z@FdjaP@hsMis2hRJR1Xipi4qkc|IlG%&dF95y0;8ey_LWl+JKp|1nYjoizw&nB)-VlOU2Up z>`M)LwWP*daiK&WHC4Q7pHQ~ zrPOiCXyFa3WxaA5vK$Xwsg%5%VEBxg%-E|xVOoqHA0IVhs=N7Cm}3tO`X+xvA{K|Z znFMmwwB0jZ5Z0#mWwS%HdrBaS#r_rgHl2TnZCUlos^l0sUuL>8XPP!vo-;W8-k-XW{z%j zV&E{0g8{e(J!{9Cd=3Csa4qscMH?k+vzy2YI3UIHEvWP(+IEu$B8dh762j5~{P^wW z#dj(HS(@*X3yKTfRDII`#;+kGNDIKP6>UVtg{1Xt|Bx3bqymm)F)#qZKPtF6I2u{q z1O@@$VqxGyZdzk+X6tBU5BM5VQ@LpXM980`NjDk33n^=FXk-uW6w2?N0uDsV8=07a zyWfqH9~@pZx`|9W+1gqfS=|KrehEw6RPw!`KXmd#2uS=-M$gI!_?P+sN3cvB08ETP zad2SN%z)q8#L@`B0OY^Xh$A={$?#1(jsQAF@E1WnTQQ>>MM8e!cQ#QmGXw{{SQr_= zfl=45UqI~OZ#Vs?@--zBxU*Eh<+>?D0o-TG;4F|d0+4_n9Sb-hcvArY#KgdHQ#LrF zcT)s7&Su1T(|-_5{M>(#XyPyJ{v+TB6p#kW*w|a?Spp680H9xT-NYULV=h7dKjr!@ zwhMvBcl7);WDi#p%4^^@L=20P8|JAVi8yWw@_~HQl z7++um@zeNXWn=p>zL*)=evB_h7M5Se7u(;AFJ{JX!wdXy1K#gm1q?_!a9sdKu)_v` ztNC>!4YJYoTZ{irNi08<#BXn=XZe4uns1wKf2kVqi29+L-+Ue8U;3ZF97R7%_Rk98 zU|{)KA;0)`M)sc+!p8BFLRi5+-SqG`-~M+BVPg8O5VoHc0?vJ-5QeV`VPj0D{>jh&4GjOVV&5lIe=);k{JKf_v%_VDsOM+f1xW;fhX#NVGF*OkxR5vB!Sjd1 z{TrG7d!Co^tB?JYg=U0IFM$xx3u)Rf?YPPEUDE%R=Y>@By`+D%=6}-<|BOiX|96-O z2w=ZYJXs-AvtPRNFJ0OXtMTh1=uaK-vnl^4e12Uy{DRNlRuGJT_!uy+0Alxl#wX;> zcU}D*KEdMr_n^rHne#zFvUqKU6&G(Z2PoN3zg8w-x zIhcO3lMJAr?Iei#XFK_K6T=^l>z8>U3+o?_i34(qm9O%P3^$1&GJpa3o56&<`7Yrffc&;7{VK_S5sQCm zCYgSiNw(j{HPe61OhT&p-qL@>;xDcL4>0_ntxwo~ao2wb!@paffQd@q7AWA6`uhTf z?KhtZ;ROBG^dB(%b%Db1V@mZ8cJe<=d6~Z2N|C>uSAiIre@v{{ep^pL^8P0759X(FV}4D4+jY>XY%^uQq;$ej0I84U2M z_Rm4QugtbzB>E#7qXFhk-DLRLgF)VWm-o*GFn_b)V5qQs9b!LmRN4OEp8jB*{$Qbk!=7J5!#~qizmr-2pCq9|;PGE# zq5cxVX8w8k@%J=THV_NP&8YgmgL6Ye)e0lyviBlN_#zkC5R_lIkB)b*zMvr@0@re% z#as1KxBr~it!?`YdYpXXhbi*ZknWa_6tkfPB}xku5&%oLbr?xnHiXrBjuzbR-_X9PKgjdA$~s!fWDizWuVr z=i;=5>uU9)rmu9q)%%P1 z^yV@8#E2OSgZsSdk)YnyJGmmc%c^PkW6PzxsBZ}vB+CWYnEa%uF3yigV|*;G4t#R) zvQP5#!WJ!=30_a6^lP||$4?YhHjfi49xT1AI?t~--kQ?sKVFJK9^6uEsnf0W@ESmI zb!lZ-pGi}-7`S)*L`m?=`(v~Asl>KXK1(_@*opuQH0`iuYvc)i&lPn7Vy>$MzGBVr zT%9k4GS7Xk8tHG>(2wYCS4bH?5o9lwOx8Yj*Fu{x^z?Xaa}o%ZMg*E2?#{Zeft zXXfM z+?`=WPbl6rR1UaGygTlhd^twJch!A7zuBYIUNl3*BT9NsDPIXnC50;}Eu!;4$eJn| zP&-^+NA|#;qr0u_jg#j6`JAcpngjj|rMUy^O9O$BusZ|iEK(9%ju|?03hza2RcvlC zLA}sAUkmXqbLgsjOHX0W?HewmCrouPVKfSFbQV#!k4akM^#`cL3TG-jFVJZ}+ z$x)bsvXb<0yd<;oS*P6+Mp6LAJ&Qr&_Hy?Iyw#mRK?lV$6VL4TSey&b34~2443We= z(R$qmj9Ac#$zHVARkd$vjVGvun?x;Hsp;qA%e!FX$vfbYx;ecjB%!-*DOs4CqaQvJ zD_lzfeNhaON`jP99%V+pAkK-eQC^R z-{%a}Cn_RRcCb61H#Tr)>Dzszr=H_%_G(5r7=n8;9Z?}FemkTc%IY%fMZQ|Dn(0}9 z#L9DZ)c2CSPsZyc)|Wo2>~QRAtn*QiQEPY)8eQu2ccgDf&sEC|N}uiG@lS-9f!b1~ zwS~4^$NkdcutDO}jD`%#j;~luYG@@Wd-+k{${EOw;>9@+07=3IAGZjgk?4bl;-A~+ zRxt1=?~$)-&Sud))gEbPVY`}B)>^aac=+W`O5OYG<8fvG@#AfqR9tsicq{6bU`5Ze zy*+Fdl&rxg<=wJQVxCD^@>jeF6f*7dU&dEi2}c&RI8xD03x#EU11Vi50|QALIo7d- zKl>_jo?Hr43&W^RD?%Tc?Qkcjmk!u1hj1fuF!Xx}8bZ${8#X69azCRi!}f&7hr2&8 zF4HZ!!YsEETkoyi`PKq)=0kfR8VA+V^+|&ObsF|osV~yQ(ESc5litlV$B-P9JJ5ma zq3?-J1i}$NEhsDL^pBDqv`Z}B5yCg<3C6>D(%Wp@9LYU-#8iucQM}V?qIG7a55gHp zsbEJwoW9IkM+i-9@5dw6Yodux>$wq9y!@5qAgOv}Qmyki`Rly=>NNru%JJg7vT zHnXajnE2xPxv~7eZU81)#W%Lh9 z^>ft2L9nSVs5)#fN=&U7J3cOUI}LuUW7KfEfT58gy?7U(Sg4>3wbmA(Sj!_=peWHo z$R!rbe49foyv;wYj9^SxvJ3-m7|SmptC-gN<| zIw)bZECRrZbr1sV+&i)tky$(v<%rDzp7-x+^q~kK``z)>CEJZ+qTV|IM3294;oB*1 zT}>qW6jc@3jetxQ8C#*Ax42i@nvO**p9TdfkC;QaO)$H~> zwe%cIG^^38W6gHV{pYh6ti5SUo^pKf!=7|%Z->j4UrVYdUA~U0Qom65X~J$A4t>Ux zDVcmrh^UlT`N9D}Q4XW@B21CAcT0`KrS{%bqjYs$++btAQ!cEoesLH&!y11m72K9rV)g<$6*WSPfkh^h7r5kmq>G}YBQV29!=@2 z>BC?69>|o}+wL^BOk{GK&pGJf>G#_V27I6yq*B?IYPR&^z_uu-VHtq$>suEq&dTai z2zGyJM!B!huP|~Pj9x<3c<=hPNPC?)ds~F8I|pF}{Ym`?b7Quc+foUZzVjxUVS*u} z!Wb2ptpTo}QYo>W05ti@lZ0SoTEoxtw#wQ!?KBWTf*>Y#90%cXd}TR0xY9xnwo3faGs zqEwjCwO)$|x-Cdb4sINoC`MSdjYbgWc11Cb5vW>v&eHr~5`>-8VX{GcFkU?zjhOEi zgXkJ_mFG}S2H!HjXuD#l3HFVEl%<^Tk$F}Z$ zeiONiq#cG$3OcRbGU#$0y(;=#BlppAd(qa9#4|;MT^)ZbgX``IRRAHSAdS6QhR?ZM zqkip1ZXW6)xxn?VfkNKfI~9{&ncX|b70)?=O(L2s`h)_QPc+9>lyI@?viXYyS&gBA zxxsrgmDBPa$+cyoz8Ipsf+7ChxrnRVnwYqkazy_3g*v%T?w(}G!kZ7TkLZrzTr~%f z^$Xc8BF&Ha&7=-W1e73=#8E^8?ZgAp1I_z7=pG%M)soxUA)_M&(Q7Dqm8(c+r}vWE z4I!VAzg-sTr7zgRBpU0s*k7ZFygJz%-bQ`+XxhH-WoU(W`)ka1&R8#uVmktr{mXY1 z+>X7Qcf%}L8|i~%7Xv|75~)2D>Wty~N6%wTMD8d*AnSN9@0uVJ^x2g&k(@EKsz0T( zUB@qxRz;Rjd30)@EV|KFh`mCUk*NmRR% zfVXxI{lu@yhLx!%xa_$*pLAV5*&}N|zD2#+PrHIus>(*^A^L(-pU_@tdogn1T)v{< zQHjKV!#;k5FF#&R!6V&3r!x%X3d~X+S4nW3=qFIj6-_>3*JAZuB{Cm2IQA?jW;dtB)qGgTToXFK0 zZ^Bk^(L1Ume2g>bAloM;ViKGz$K4SgB>jAl3TNq14_T2Z4W8;j1t@ha|Kh%ovZyLy zY+cc_Tf|a3;lxOoT+)<2Q=&tf6wCZxp?Qjo-q3vg`vl5ndD!u#i$huFuR!kny*Z&P zz@zu(&tGTU8%eyM{myeugofU!JxgFJ`5jWDY6gY8?W+ zs0?&8S7%UoGXr?!ibKbepUBy5_VU_w`q2-NV!1f(7ZrBm!%s#JYS8wbz)u_a!IZiv zl1UNK&CQjuT9gsiiD@%D=aKZ#+8>&<9LKqL__#K?RB1!}x#hd}j%CYRtC^vnNMEWG zx0u`(>K_pdhfcE=IJ@#JPADww2DYJIsk+qBd_Evtw~yU?$C4w1Bt+cw!f(5{%NG2G(ontbejA`x15g4is*1v@0b11;E(`B7Y0JAf zdjjZ(m(1O4_UOIbWi zYJB<2S4CD9_DT_tuPf_sjXXHW@X0#Te$))G)5&QcfLGVlDxR2OKJY+PZQwF~Mi~d) zr4pB!DEW+>2Y*(Ajc2GPF$))Wl0uI{rgXmYZnd$er%7;6*i;v;wp8w7gX4XGK9Ntz zU^%sIO}! z{dF@#u?*oSB6q~^F}1;{>PG8A6VhU2`L}h9lUL()QOHL>cv89_%G(KZS67ber3?T~ z%OAe;jC)>t{Bn~^2>o`vR7mr?gvA;y=ch04=^aeoog^RFpo%>gK2$H2J?U8JrDvO+ z7{N^H3_f;rMPZOPcl^lBsesI(B_$ zecwxlx`q5AX)3)ZJ>3jhW@iE24~gKC;+XWIbU2;EDe)DRD=;*1HUN4aaRl}>v`+~Q z>mdU9NeBz4rx8$k(YPR9QGP`gFqewWGCO;_;2!U@1}L1OXuLO=9sJU3U1%`n#sWn4 z&x;eq5E4lF$qaQjV+e3i0$<;I87Q69uap*oC%&eQxuzk-AVe#*IM7Rfz#@?Uq^XU5 zmI^q&PT_(d#6ymNPS~`Qb9to_k*08Dd63nW7Vti(4w3(f=SSU~0&ql))wR+>pT@%c zvGv%=1o8Xg#MuJ-v4+JP8LvyfC_|Y@v3gG1;)0Q~4-)igqWx@YM5^k>7k9}VEmqXAP0DJOkJoDX zX*Z=dzf?Bo#UH&vqjc~Tf<~`bGVp}1DL}-Id1b%v_(I3O;cbC7x_n!tLA28cVGs3@ zCVH;+#}zh>2EZxMLur@?!uxpAo!OF1*8jZZn^rFq%{fyNkN(bq(5t zJ?1}bQL4eE855Eau-qfoJ68xl3!ZLrSEFOd?QwxBGq2CUhX%Y!(poxlJcY$NwR_=q z_K=qNxT=s9r4(M`t>Ufnog9;? zp{2R_u|=9*DkirVI-?4?IaV3KySX1Y^v!B;eZxr=f?S~$c&VXyyUTLVqdVcQufsz_ zJ@+#2-hF$Y;1gQ}+0sy@h~Po)+AOO9cWQyJ5yJ&e-f;Cfq4R@X`~1HC*u`c0N4OI$ zY`pm)TEnk>I{4BmEJ6yWnC`eZ)bTG_@d_i=gu6@!X-Y=G1W2J{v{1plG-$Eusdpcm z!E4s-VXWI~h_mE*$!%NMV%{TgFnIWmEWWN{jnhbS+J~r6v-(jwoDc$%c3Z%Q>Evx* zzS51e(~iO?RlLiYs!Jyiu>7WSlU zPT3dw3w%tn3(|*0bHhr~6qqg_1@dvG!RL>Bx0gcZKB%sR4v!oyJAYYd6LGHx*&`UY zlg3;aYAB36vY66I39is%R5PU@Obj;Pe2ePE$BB-uSX}bCfW279(}Y5qyGf zy&nOE^!hYuG*TT&Un)`I!BOr4oKD(NzOr^D+|u5M#s^%UQ5^fkn@%m5Rrz;z%O?CE zG*f)avJXh8yl#d6kTkb^yYEp&7jEKRB1~1&7dDljfXYQZno18bNP7a`9o68qpy#(( z;3Ihs_4AgqxGWsUDY+E6a(xKn#`LKO<6?f!^}e9ihNPcrJ|>0z$%ZUn#F%&@?#YhJ z3d!v$-46g{+ag}mj0%udl1Do~ya;RDzz0p&4J@C@PEI3U`) z_hCNO5-m^YP^=filJDyZz!5F4;Ctfq23G`m*uS{M?a!ZiYh@qJVljO>#xWDHC{4dOQH_OkeT#x%c|@It{7tdYN+Zt%IE{SFdww%m+2@ zC6@V;ld>}64fAO=$^F*xFnj5?PWGg%!0}FHcpwT@#M7o%4>d;C-JKNMpMUy9028Tv z|8vR;oN2<7ph+0A(I=nuvKP}r$y%PoSt{Xk`4R1zA3xm|axYAziH1=n?g}qMqRbIr z5#-Bqvgyx%i_#hHq$~jXEG-6}qJuQ5oyysyvjIm;vj#dxxf}0G-=Mc&E;LrxjNVQ9 zxME{rcN-gSPk?2813>L>eG+<@UHj}lpB2Yz%+Fb(=?v-bIvR`6Y|e}#gLH27yAdLe z@@6FECWV0%p)L~3NJ58Avag%hac5%?I~ob=^9SIt4dyUI+SbRj@jy^${7498;+Be! z!XG-c-@Zl(Z$UclL_C=^)39c6-W4$5dq{TztCdto_A~%}$`(QAQLwc3GMfIV!ysoF zx!{vWp|ChI^=UW!B*hGe$?3LYE+T~Y!OtPYZ%z^d}2%CQKEewSjFY|isvvGAfapJK)&Fi-jLgb<2dfCKMLz7TI6pV z@Fu}eLF%>frM^|rHdAhx8)yI)yQsNYb+>dU-QK(W7KL*Jc%YTo-KCyP_bp`>Z-#LY z9NCt_=3WQP)8}|(Pp=IV=Lh&_HDteX=Rk=YzmK-*HIwqj4hm{M*-s;Rd$nMB4ng0a zLcR>y08S5TEFl!7l@Uh>E-nnkRgr;xvfdQ;a7IYNS#RM`AX63;g9vxr-s0NS6uH+^ zI5?HHIoLPf(j4MLWVfBRr@CwoOS^~W>E@JMt7t*^d8onROrz4`bpyHLKCc|kV(~*` zRk9NR88N09%)0Z_Ri9S-vht=;8L5qoa|IGc+0DVWtt3sJNxHocy6>;}M|ApSI<`lf z&Zt(z*QQofUTJfeCM@C^mbhY30SwQ{EmoyfU%EaXaIi_h+k1?MIQq=plg`I^Cf~$a zUh>E|U_dt-oy5{u9mi+io>@dlfxP)H?Vo8Nzf1MsBZ07dWiI}SY73?^+_dP11i}uH^=Iw^B+GYM z|5qdsNHyO}`Zpwy-+SVpxdiMSKhC=_f~nv?o$O)*{UCs_bNqbVg$YbTyXlW_?C(F* z$-WXm*uSRv%E7;(db5DZA1vTgU2LE~kw3m(a`j6G{y`!9YXp?makWE{UYRFGF1MO>G4gde^$l6X5xcS5&c2NVPs`x`6pd`KYH|o ziT{<5`t4{0IQKs>@gby&-{AMRB%GfPu>3-4{I|55ug4?*g)-P6{E%Oi@f+{t*8vOZ zqn}S0eWjZIvqt`hhr#}DCR;*|Tm7P>e@D6bOZv=T@oawF6!*vFaX+q%`*A(ocfJky z{x=rD*F$UI$G_n9{A)svs;s`bk-^Qib&%WOz$Ev!OG5`uzF$Fc&yccDw1~yk_vFZtjN9q~Du1`1(n-w%z9IRNkY8{YSgr=cntk zNBf^irTDJ*4s-W)u!E4(miTG5PkpAmuG-gSaqCZCBF?YQjO-DT9YKd~K^gk9LNUg> z@_PuEnbP2P~{bK)AaH+tnXY|4&!9)11rt+YCVL< zk2LVicWvL>#UXm%QXw?=XrFQ14N(DptY@#KG%JD5OMHG8&JH$j6#(~~KNc>kM3Ad* zROCSGY1Rh$k+e%RGwbuZDgU<>anNS8dk?nr$pfY5Q%=;I=Bn7q$SIClFXFrBb>;^< zl~dq0^?}QZIW^q0y)>#7_vU$=;e@PN1oUp9c`P74Ublmu^KO>zZg{zV$}igrzV=Y> z%hH|??=g{=P?zkKI1P<9v13_bphoKk+~~H~HUYP|dSh7XIHC+O{j&9@eCSQaZgf|PmW8`mRR(~ABox| zwlCo=18*sTLXS*}dHM%f#2e3)-C%_G#%;5ZPNQNf6N_yE^s4SlL5UF8@{-fxym~x2 zp)gsqm8!A8KbbsXN3g_Iz*GU{Evt0`eBDpM$%~?QKisex5f+M*4?ukwYa;jDWL33A zEiw*HWBJmlO43;W>f@8HpZX7J=9`_&R$4KE+Bd>9rZ5Tf!KbIg^vj2nI3 zYFZP*(uoD#W)GtdnC`6& za?4E4@VLTM7YrrOcpTF0mu#M`Y+#9g+&x?vZ8gZEaWBhiw65xye@$N>KCIM)J4k^6^)L{M#bPiGj-jvu9~v3S_P?dcaP zA+`QIc%gB{kEln2X-DDC8IX!iOu}Pwtm~pwYcpyY^#?2GjPku+R53)xJlbuL7~xF} zBcsE1yOJ=rA%mVqQ#2G+OGn)?#Znt&O)SeM0W0{D(k6-SQj8>FH(kiTY8=7jCFfJi zZq|$#QmcA}K$6g)q1I(K0fr+E6GMbRz zE#uftvS)eSIv2QyX}-r#La`j3^yJgjWio5;nTyu1Fug^Ub?xUE(D)FC#NV`n0Iu8c zZP4sfdkQAU_7Nn;08D91cxs14+F>~Q7lz{s#HwZ-bRTkO3H!Pa`yM3ra1%>4v?0G? z=exJQ8a$LAP?TkO_r*|1WL;2ydPi{bL8vB0SgBthS?IA8dOf)XrKY+bqg#WeE+ggm zdks*ika02Wz#OxV_>Ost8KDs!L27-=;@W?bZl58WBgId?D&vC3xEG1t& zf(CWDkNFnvxM2}D#(azUZT`*58Lmv(6WcM-`w0@8BX=xrS&V*3)JyKu&wQJ5lBA%L zofou)!YZ;>8y(s7?(ju80IW zu?v-n=JA9GEst}@_VC0iG!B*x9vNzFHgr8l_>k0P3(IF7_1;jQTv2K6bR-53ZgtMj z4R6E+>ss-cIwOk(nxa%I*jeFmEncLp6Ws~LE2Y;1K=ydeI_8#+z}G^NMPjmO?A;_I z_lTK4(E*2&SSUdzEh$1Q(7gpb=Y);M{F-V#-HEFD2%xp|y4h=TE4~!;TMI?OQ>+1! z7!+uCj4(LIb9T;juWN;Q?FHl>y~#*yuMqIi)-%)YjVMyQ=%OaDuMi`w8mXPV)u>|= zj(t>*%1snbCluJnzJ_Fv>iwx02NVBSS{dClo5qwn_Lvd zoJ1p;sc&?GZxtiz`L_Gh$D@tb+<9T|)N=_F*qYfR_4}{a1C9(fyW*cacxU=&i=t@L zW<*5JUZe!aMlcyn>)gE~fFyGy)`phejSk1Lh&!jkx`itli)t`=MhXIHzO}ZmG_kLI zDBn9>6(k^>g{_s7xtNJksyOtK+2mT zrFRGPBc^Lhs9TM`EisL+^G}^HIoA5Z419EMnbsksodJUe|kKQnP5`8KfQgVD+Doqn!nG0%iKXAygSy&Y?3R&2Yqa;_c0%Gl6% zwD*fps_&6Sl-yIpDrA2U-Y?Q-6Z~Er6*8u zN&hrrXEzULWtzRSh%B<;)g-P5xpz)Bb5ep>DkVhEFObL`okn0_o6=2H{3~SE`Ni|IrIFsc z5x_#fE%5i-x^o{l-58Zr(s6qtK0P~Cbw&iq_x8z1y8972EkAw}qGF`=tukcA@sK>{ zkz(;(9^9H1@gY4?M>`W2>vb1B+`=-xjxXC79Jwb)swV|}{nLZ6Shf2Y40-LDUVa`F zg(ajXpG+kj4&OYe>KaBce|mIK5K*Z7;g);MN_jE+Od0k;@+W zv;)Ph(-D2_>7QY{Hk}+oQ#=vq5mG7`HT_1tPX~#-oA39?Xu;q+c60IV4Gpmkm9xU_ zaeo?@<#ssOt}{cABo*$OXi#A)30+LN20%sf%{5K8C%C$M9Bj%0`@^7^fMMr@aJkHE zy!$6C!_aY$TT>kG7MU4HN<3x|_P8(I5d6_yQsF&8c4W%@AYT1wJNCXw&q1ju4K$aQ z6>jBcXM=2@PJ*F_i;YP4#>TZ-ZiWXC9}~~u?c0jvm9skeb0dj{(P^nim&;Jeml$nS zXT5=X$V}(Pe%=g0agXD4MtylPs|_)HF04)x(`*3mL`WZuP~->)2simkKDiW}ZLH`A z!Dwc~Wn`>lq)%`XR8hCK^|ev^FsvX0Pw7NvsczeHKCc+Bu7X$5h$ei%ez{^dA&$;H zUsb31I;vUApV|WLNI~Th0eKpca1R~=1h?Ss5Zv9}-QBIQ zS4nr@?t8oMfBpV=f80L?jDk@G>{{n=&f0UYJ=d;~S^2bdI9_H={?lg!E2xwe4(*75 zju69xMAWZ&F!#*ws?1#!Ei$7&;wwC}ez`K8KG!IVN1|NA$zurThftR%oA5LTX5d&a zpyzm}`^GXL_wlVsY8ol7UAxj|G8n{3?}-9RsY}l0lDLszi&y3rwgPjw@hZj}UZwkca}i>+7mQ=DA;*aP@Ced_0ym!0B%Au&RW!8Q z<5b)52@2Iz2Wf9LhfZ<94g$lc<{xhAA+~W4zYFc-4g2x)W56@!Curu=t;(gtHe!;J^eAdBcP2fMnzi~ z>+ZEFZfPR@0CXaqO8VYneAJk=oXP$3oUi_-EASMnmF@ye9K2<&($+JW#y0lbW^E76 zGOe0}j`>nzC<~11S@uS007a{s5Wu-bmDYZX*n4@*`r>fB`^_?Zlm|@aN~21%NV9Pn zbNN=QGX?uW5+GHj(3Bi%!}a5g_&eSX1O_M7eMsCcVHVLe9NeI2*B+R%y2>v9naEt# zk9S7?<~MVP)GcwK!dcBdp*$;*Df(Oz%@oLD|3p`A4%@|6+rXe=`GK?X2#EJXo+iRX znZxFXNMASQ`QMbuy$++AW8M;ad>&uceIE`b%w6|=Pt26wpn@*z&Hv>R${))0H<0rm zc>cfTqyOlR`KuKV)Stn^)DdL*`9GKZ{6((y-_TNKrhib$aQ)LR_dh@TPXqs#?E1eS z=>G-{`J;Uj{m&1l$!;Fuz%~~m{>r3 z@V`0|xc&(h|KWgtd+&c+Cz7?WwF1fZjGaM}7Zw%<(6Rt4Gb;n=rR+>B44?)WtgNgI ze|D`3tAJRb`fv9hqc{;8qtM^Tppdb%g`F)34SrIV`u$1u+1c6tBO{}mn;V0jy{Rp| zld}nfoufIUrL!?JqmwZU3!|Gk$PNK|p3%h4*oo1W8MI5C!QRA-`gfNLl|Kzg{@Trh z^&jEk9|Zch;r}`3{)$Qe1r(tv*y&UzEXlgrP|ikZg#bOwLO=%649Xj~ zbuaj;d_hgl;8>QA`=DeSCf89V3nuz3wVwjyGWo4R6(@mHv2J`34z_+UM~t|#p+fI1 z+YHKhpBjyq5_(zZ>7)euy(50yJ&J{`(N3=-G|N$_dKdnFt(vTAXsCXwdx`Xgx}5n% z`4JQU^}}nrh9kiQ%TZBbMhI}T@!P6+1fQu=i-Z$8DI+xK2W7;>T-@WmwL&?+hj8Rq z7ZzsJr$>4Xp|wR9G-Q`i_r{s*I2r8}Y;s|0>lXr0n*?7jEQ<;Ykx`C9_n|$P+64*$ zujresMF0|Gp*KZeg_3Rx_xLJKm&{uzyOI0`Kbz^J(2>A_fy(A)O)g_nEaVu`?>N$G zFpJJ4j#0OF5qrtlB{_BdFXiVWU>}>PGIgUv8TIY!xJwM+JfIeS8EYS46xXseN2OC$XHxlvQ3!FAwN!Z&evr%Mn+nV-uAXH_6BV4{XToe6~T zoutDT)IJ$)ztMTc<)5L#+5_WvG#zpiqUp2q_o0$3&K=FWIS37izF&G&cwMhNu1p6d zBI8vm*NZ2@@lRzk*mFB^6=(UK5I=k7wg)7<<=FGSkWbtD&^3ZtWU*N4S-Ekj9%^W~ z(J7KlZf zeKyq3b@43gk6eVzVp`{f{nH)4u>lUa+A0PV`qgft#j_UxAy+6Q}Mhdm^h9 zoI5dzOXV9VsaaUG7uPz8nuOhV`OyKjUg#>@gxcVUt719gEXqa01BS-xFL=ytOMB`Y-yrJInPFSBju`FRTrr>R)$ z>b6_W@+Pvb@@e-Mw!Hs2`{_h3peMSZ2Mc|Xm-h&x!LaUCg}*8dsY1E>vW=hTQjF{U zn+3OBV$%4Co)gc8-0T5N-(^Y1C`@&N7l*f<*DskHu4yiOT^J?Q)WHdh!H}l7^O)Ym zns6L$g!9nQ6oY1}cDB88VzdzM17!Jvh`Ng`ji)a$aU>-g9Zg{nOzo^uwZ0$EkTHIJs{oV z`OQmtmdTxuIP$nI=?(UACyTKO+NQG0mBQngHu_c<-`?eY@WS-@Wg9C9e7IHo1SE01 z$tv~iCFZvpoz&iks=V8?SvN%a<`O>IOCCPoFP-Rjwb|Dy2y?06txu(7(m8iD!*jb4 zH#}7+vjApn2^79wG(sCN2Snb$^K+cvuZQS0C>8>ylrjsITvC(PTRiht5m$S_uVmG4 z_YQL8UMdcfAmM7|81k})T^wucTjso#`I$!P;a}f-%MQ9WV=blp;;QEzrR=y!ellD? zzR6gn1!j{ol{9pAFa~{*axcYAV$%C|>D0-wnV5S2*yj23`o;C*E4v9Mwy(f~8a?(e zJ1(H;xVJ*v^=aU!?*?anNb&FuKa#A%XS5!1%%i@FVgng=<~O35=FkA@{1I7+c{0f? z8%Js=-EvxfoBCTvxO6cvq=~s6&;|1$blZ-ArhuShmG*wXay;ILkn*!X<>{?-GY<^! zYrJ&z6oij&YV~FFHJcn=zZB>q`OYRzhWfxUT`$_)hVtpu7?&KgQH5MYA#-C3C3EK^6kc)aOT&<=#zk@+`va=z z>;tA!%C9C5E@jnSX)$zkMS&Lh14rFWpHi(<@$8_ivM^eC0h29jTIT#VyPa~K`O0*u z-mcPSsj~AN5rLgbm&X}!82)Cj{ib^^_m^H?H)UA`WBh_QjJY}e9bTNw=bmLvbK+F@ z20>dU#bc-BzP1iI++)Uv;7U(GmA&uylm6a1R=(E*U_%zDWFhH`? zVzUfts#b2OwwZ4;RD4P8;Wa;Cb~5EjM;ouCncWZ@>R#aM9wx5dG%p)8SvxD-*e7Rh z!O0htsePur#pkVgyQ0LvA{dnm9i)K%ETJ;qCxmr-e6ur*otdHk>X^72E)vb}Zj0$8m4t@t+ID;9TChsGyL z9INR?+M_y5)C;Sy3%lF%%u=2;Z&lAHs(6h3nnB+O&%4Alh~%a@Cu^=YNLRQIyY~ub z)^zeUtu8-|YGx=xQjET*sr2jS792KX_QVZY*3voCU9&6x1i)8k)x`y$?S>P{J;xU< z_4NzBJW-ad6>*n!3Zw78!KvQ#l{s%wa6ae9eFgNbt(@LL^_%->$tRw@7gxmAioa(} zLmEOr<`&r=j#tI9V^~k!dA5^5k%djEFIa!ttdk^>>n+N>cl8Fi@-jKt7BZ@$L&|7PJ>kFCOAv_@E-L zOPi_rA2Wi^PGLm>-iFvb!52RwSQ25W7m6#IEKva>*Z`t8*Nd7?SC-!RLO*euq_XAL z7qY;zp4%^=r(l(FeQb{IE1G@Xc7XzBW*@G`hO1>9&PG2P1{mIbDG<`164OKFPi=Y& z+>0h8_O!Xdx6nyic0+>{`UWr2I3OlENI9>zh<_ulmUSws2idrySAH=ylV!L~0{ZRa z$e9}-ZSo!cbOi!h*re+n<%TafOBQ~Co*G~kv0Y4g?5Fy0fpU9axQrY*J9&0hIZu+c z+dUxTuOF$`Oj29nH3(jmfJfNbC-#4khyME+>)&4)J1E|wrh;4&ml{|P^*iJJHuUZm z0u&$6n}9!p`SZdI%o!Be0BqrpTP{hej?DY|$vX}68g}h9LSKa=TZ^7f><{j?=}>Ge zqfce8)Ih1zeeK86$j|B1>^&j2Yuam&EJX|c_tRmiX>X@0qpsqWm5t5oc(DD-$u>j? z*Bh)TB&4rG>O2lvy=%`hC{G?_jZEqH>Rc_cwUa-{xeKTPl!+K^3mTC=V_$q0ts7w1 zoOOZLdrEVkw`;8#`uhXhYJ>q8rM28zp1@W>^nf z>Z2ivs+ta;SV9I14TZGrw7K{7MZO|!lt^y*87O6Il4|QdyR>oeqCNWog0i&1$h82ztqJDuRUGYn z@Abi4Hq}02oj9o;dYpf~{v5TpK64OylOEei8tl-2C&N%>SnEOZJS4lJIw()&2Ne1+ zgTe@V6#4;Fs5)%UhvnXV=9e0z4pBAX8vJAsi)kzO3>Ed*Q^VDl)DDc1m#W#=C*@kyiOPP)RShL$VF zG9IJ}pbSBqQRCM*f!;f~)n{wJoA%-#9Wh=RbrjQJ91KvsyVNlv54q$_2yC68Tt4k7 zi^}EbOT|cTL-imdOfOM4+Z~i$0kL`8EthBHq@Bd?{F14u%#NfPppCu*y__|&*9UK|c})3P}}s5?dv44-Q!e;$M)zqti-W5>(- zs%k1Dz5s>NeUpu?b!zV7)qoWF!BKYLw*#jKY7eOuehK*TJP2NoXvrq$)%BByG3ozS)3;YLG zNkla-bJ){zdbxkZ8vbhs`8c!yfzHtf`CEc1cn)MPo|{YbcS7+vpDYrgLcgfqfy`C8 zB^?#|DO>u|u)mIBAS^hzGF7%~2rKAHsxy4ne#i7Hk#R;3|L2ioZ*%d)IWqq$P`V50 zwQNgE;9a4Kg(`b}abs+mzk6%fa%*N2cvTW7@|Zax1obtPpy@WS+L6(XL+I%>u$rOp z5N;IDR@d}QU?LyzgA~lLq0{paI5IBa#mPJb_1sPlNIO60W+>oDSS4qL45!#4p%D?l zuoa?un_*D*{|1rX$a&Fwp7PcDVfWl;nV~HIZGQ<641sJ`;f7l%ER{`Um@4aswBP@I z!c~fj+r=pLhgA4GQ3c+M;hJ@ENF%8OBnr%w+wL)7u6Ya>|5(tTOEW<35hW@yUp+!C zYf-a2QFcOBVk6^{l&TrkF}71#=@F&&F!Tz7I2Hf20==#LR!qo^$mH!)1JwDkXxE7) z$sJ=M4bfu#OGZ(`vt7MfS9?gipoma2)a45uc`8bf^NfT^phpELO1$+N+OW6ZFNZbC zW<@iE$TTe`WxeWc@9tifts9~^;IgfSX40P4wbgssRGs!`Au%}#PUBZRvRHVP%K)x( z=g>{kGx`^cyY3GP1$nd|Ms)p~nIhU-fD!cwI--N)>tkeg(7>K*f&9H27i<^p;#U&R zR9W3Q9e96WHrth8<&D?P_>&Bd4bN4w>d7=1vy|*;P^f<J^lx{ACLhFCw~D7N%f8nd;k%wIX5Umn>26kK zF=&_L+y|*hb60o;`m07rx3Q$0yo>|&XxrY1&t0KZY}7Ac3L)yZN>oJgt{Gsc8hwr4 zd6>smL$E{jZUD0%USS>spm0csPj9Jy&4`ta&NWrtLAn7R@|A3~(sxAi_H=jL4X_FU zwtWj&lN^0Z6MXiQo(>xyMm^G*7$JpzS_?@A-s`x-an*pfx7 z1WMC=u~hw`{vfpJUHQF2^ee2!0p-)sRZ30CqLwwevCV5mJ6OqCT7K)4wmEe*{eEly zoQRQ1_hIO2g-+la-r{PP*8W8l+4JlEoaIgXvJFrqxQNH$avQJ4Kq}*7{}!Z7nYY4P z!NsPMwynq~`L^oiEb6Hp^T5+B)cX5ws*0^;M!A$#vehu?16K*mygiZvl+_$yqhVjp z@gT_t%z!-kAq?2%OT_)oKHg{dH(_C?cVzrTEIXD?Us1lYW#SrDc&Fy>yhPlz=l?Qv zfa*H?}9DdfMGBJ;X^5lU2PMY(WkI6wO3K8T6ABQ9-X@?hQY znHYyM@LV5BVt?x5DkP0t57fZNocPD11PRL2^y6em$VH*G&_vB6QAdSb3%T{Lh)-$n zwPkY5gX)9^@ekGI$d6#yBdS^56H_|1g@9ll+!OJ9ulN(H?O{Z)S4T<=-;Gkpc$r1G7 zC0x%n(9;)P2z4icBmu*cRIgK{1lEXb*HL%FcElZbN2bi>-ME!7Dx}BaK_a9Lze-Gg)iyS=5zyhec%pPsK1sB{#5C)8uG9suW_B z`u*=|Yk;PlE6WQ!?U#b^KCL}$JpIrbCtAL1rGltf0&^#>arc(B2#EI2_4_bRIS|{w z*|B{>B|!Mu#O_FuzlXdx@6gju9!N~tCjk!OCOdk|KTs-o4JE5EI?#cpBP6Si) zfT)A0orOo}JU$%H>mtw{`wf@NWue?l@`P1KKr+439>cS%NclzOVaVOY7`|D@$H@)G zNc&yiE-92aJBD;y-9l<~=K{4H$raT%+^Z--Yxez5i@d#EEBk$+Rt^{?V=S5kW#4NA zPX-G*{CmPYdE<&TpRFr(X9d0o79B*fcm*66PX?vDK%mED*}Nb4vGiqk{(Vk6G4piG z?^KEC`k|jQ1h@EWzhw$ch4^>e*&+@IPkt40yPzQ5s)BukM00jM~taL-ZF+x%~Jy1R;b=-u| z(*Gl3T)SjC5qA(^aJIGAnSyuQjgUq225eIlKEJ=lQxTa3ts;QoHmytxm-%GL^PVW8 zMh#~zP!M>`-$n70G01=jHSVL}tR$Ldm^%vmkJCn`x;Bc@FwmWR4Z7CQlyrR0#y6*O z^z$J~h44as4gcYyh}n9`=I8vLgLmguyW6aPz#QyX{U`<@n^4S9t5eEh49M#%tTFH- z7|lmk_OmKwZOL8eSYpuPg^OY_pxP{_}-)twFd;tu`+G*VpB6MJH z-NDUTyFOEgqhD){?p3In1fvHOc&sUejmjc9zug#Avuwv@!ShL)W=51a9ZbAk;+pHz8M>us4(CEZL|5PxzFW(+5tQ8T*xGygzWm8g|fZ-D;W9?qu>13>x zw6&Fu{4PQo8_bjealZL>xjPGKiKU;0I1&qZO&(yE(K?zO8W6n&9h&RdfV7S$E$ggx z;D#O3RoY(AnL0!H@ha~-it6l5heX)ucJ3z6c;(WOCdG zZNBt$Bd-DtnP)^=)YzG->QRp{^RcX+`Z?PU(8v6OTEC9O7o_lS=c&9qeWh&2dCF2^ z!mzfe04?zs9h;IyFi~1bkA8R-Xg(}R|jzE*oC%^bpD=I1lADTpiu zf{y})@CtX0P0iZ3*@Yy(>A>Pf?dP4w27pWDZ4~n*y|eLMG>5uPm6y{*ox#Fs=eWd@ zS}z48X|Oyu2(ULFz>qhNt)VD$Q)UHO<>?^To7G@j($nPuq%m8%3wxAvG_>2pfZ1fG zl*r+?flPW!3(1IunjZ1jWH(=!7!~a*LdJ`4-`MRGN^Pg9eBy5!zvEx_&%HyUYyG%3 zmTOk-853tkWWdm}We!2#WmiC=luOop5GtEyL%!bd(0PiCNoXN@yu-ev5NYvi?nqKrNCHk>8K4v_Xxjs+pK}*Hf znyYtHtC8&Y{8(6siLsuEmFI}kbI3Q04uYfgdr*$5XV}1py>G1_AFJ6@b8cM}98(!mOe&@IQQ+0>MEP+5!S)!$jX~Hfi|?t#_pCA zMQ7u{OxFxzWcLiHSvBwlC95l z%^3S@rKEDUu2EgNL?*V6Vo^55jyJj)(xt^nsdALYzHbj(VNGcBHar;@{hx^%#bWbUW9 z2j`nWj%x72FIGlKt^srDtMOx+t0(PHnXpPyK%pcdWe>4U&_Q(EbluFmIr3h*vbpeR z2zJA3zSewwL9hW&g}VWo@}sx^^mr3)4A%2Z=EiyOPpaxJIC=Vza-#yfjDbh{_=1p> zhFFAhTq->T4!|Pd5|b z#}J|d{Zuvb^uba#KIRc|9)%1MtJV0YyVPNt2VscUtMGj<+o#!sHgR+Nz1iv3c4{ss zU%QPTud9>LN_Q`Eae3v_!(ty0GaoZR^F`7?Qn!v4^~rNP<+xt5jtcUw?sVX}-TNdE z>-CMwL*nP`z30@2PaVFjV8}c#ogV*GGjprw-;z_b^OU+pH)4*i&T~x|!{$RIFihJ7 zx*feR6}n5cI|l)|mPA(Rdjr016mcl^Xc5?yH>|f`^{RTI z9jsL7NRGg1n2)t=xO?H;TsndH6()aN3uarftFU4E)bhD$W5rJ=i*HH+z)kWl^J%Ba z3a+{1GvbI(*&d!_$f33ZA+5%SA6_bR@~8ZfOn$?~-@NgEw28uEfk|lAR_iN+>jP5BiZCuUV(PuZ01*=#X98kV>N=r7#efuoRYiZ|r=dmzO zI_RQ-NB(dNTGXD~wscy6ye^IAm`C+IT{bbpn<)+ONs2Ksab}hYMsTZ^xx6glzdx39 zMX=c1JM*z4x=5v%)UYE%Fi_EiIr=qYKr53ZF+zoARw{2h#`JV!qu3fB?M{%TH^ZJ4 zDpTC9f3CnZ6ACP&dz9R#?Us<{7`(-JoY;)Ybz@!Akd|wP>KN_94NsqA;;NzwwrINP z?%QHp);6DHEgYKs5SiETF7iEf4ge#muWjR$Z3l9|Jnrq{{>1zyvgQxD^shOy$QS6F z!)$4Qqa}9aZ(%+ur8g!&3N>d!x$T|?9nM~%my0P6>^oLlzJStum!MQuYHMhmDo6nj zx{RcjnEGm-$n`^BYY{AMB9{W#yesS%EIo53)xu9p5H%KER{a-#;F?{vpWX!laLqDJ z0;i@+qtzC9yS~s}h-WB-rOuw~bN9R}DxgOC!knh;>zj=Sg^qM_kWhoq66@Ef9HZYSI&hQw}Cz*7N*PJ*;%6t~@3({hbDT?-^v)Ht8)Oxg5@ zeZO^Ds`-yo{L)KZsPtTJ(eFu2;5KpMe$7+RLPetX59DsV&`M;Y_l+drUe$Ld9K z;<88C$uhVOHBc`jt4-@Ru7Y~(p-h#Rg$Cm0DNT3v5r24)78udifFm%t3{g+}b^in= zUfc6~0hjdg;(oh^HayJBj2P?7uu!1S#PgR{!;*EeC}GWaG!bnDZ*!;*kn^8NlN8@< zMfY1`*CV|rB)@ES^pL*0&h?hJ2`m?VE=U_gw+neCPi@A!C4fBn+Gz37`zgl8j72^^ z@AH^jj2&XwablBG&L9%%Fj;ktPDT0%Hi(ZbVNP4lxM^T-$fo*27s8xR7irD5xW>m$i!X6gJkTsq(GC_SGC99)SIgS{5B8ki3Gua?C z*q-Vl!#ry^9_1JRE@jW)fSwD=bTSdRhT=zS-3t=43i$sd@2p{=lmc;ym(ONtHfUZJ z<$#o+wDjBC?zy8Ia))H|-}k?bpmy;1U#kv->*}O5U&l&@L?KE555bBRjn79KHbC#T z^9*d8EaBu0L|nW_nCvyaTqOm^Yv56^KCaU|>ftJ(tl#Y@3y>JyTzfF{qGXah3klX# zrvYj|TsH`4=youV(#U@B@D2xdZ*4+Yh*l~SlIN# zQ)m6rN_z>P%C`tFes=B|(fsD6v5rw+X@vdXbsgXKV`vU>eDRp=GI?Z|xIH-+r1INR zoD2(LNq-gq9(v!rYodQm>}|bIc6@Vs$L7F;mKgN2==J8Hh09OyHjqWU^t5yFJ8LS7 zSn|amzeYb8TY+Zj zo(Mk!J_QgmH>^EHRo>IoHSNChgsIQ9q-5=`r+%~u2zEI;mXek(bR5%8$1kSzM2+g6 zyro3QvHeMSLMiew0zza_UVH$1x68o-o2r=;9z5&>o+Op5xCS)G|B=B>A9z9 zExO~ZlD{SGTDxOfuEbBEEG8^gxrx%-E^*>}8#zDO^)EtnotIm}J!=5nXgATAzRWCzj?A}|^3&_RqJa=Qg=wv#}Pu%BMmLFHHdBO_7ywP8>3Cj!&3G;VONt=9`=hKgwE4}Dc5nR+ z5eR0#t1Ka`UtY7^XYChcJ3vs$ zdl138>rKV;4IGqZjSWyXK1SURG@HDt)RS&}bIK;ST+2Wer+p*)D0|dBszwVpOApqe z@`HDG{aKH#HBawV(TRc$<;$Z8v4RJ`Eid^r;Q`(}kbej8=3ObDngwA}$x@em^dt1&`;EowRb5c{{C4{hnws0Q05s~;CG(45Z5_%F57ARYOA?|T zD!+EsQKegaWABZ?A+InyJwhy|6?dP!HYUdg@>h@gkwoH*S0039RjdoC_aWhDjIdSL zK7WJ$y0AMSn!~?Nglu2AR)|CX(eBKz9)vht6~sV5l{MvI|s{LycM5 ziQ5vJ_ACA9fmnHLzptqO`;#TdiL{eCv7iRu#rF>a>G_{wg2hL z;7DF~uDnQSVfT_B9!oRzzM|bjvHb(flP5%j;CkVxh-WAGL9eM+JYDSbF}33bio}y8 z0!(!5L8wsG@S!}LL2K1B71)}9Ps)5+STcqzXlf2KdW5oO@HZ?QbJ3?GpT?~lc>ac2 zT`QE!a?_1m#1|O~jax^-a@SqJoA`#MjR8+st%;3RU*fZ{xr@&Mp6g?;gWrzc*!M+8 z-eI?EA+`Cb^`y=&j!iXbssi9T5d1SX*3c~msGM6f-t9vuRjO=|hPAt!p284~{Ft?J z-IoSS0UxdMa9e~x76@4w|L(S1Cj0vh#8sx4l02QU4Iw-l7zMA$+^mqkKjxoF&$o-i z2g!C3g`p+J>^34#av-xn{7z6#7T5kvgzO$q-b&-wR!Ab;0<{3{8_ zzw&(iOM}Qi$UoRYcBDTJ4e@^xhy2?P5Jg8jV--_pkRm};oKe-(-T5yr5aGW(i2UV2 z>URTK#{Up~{OR5VYV`a2ZxexfDE@i)WAgyj!~g#7-=r9txlB?$=If2!mEM}5$L zUtQ12&HTq5@^=ZysqV5ZSp%B)hb-R%i9x?#bZc<15F=v7WMBPz)`(EV2{}B6!K>yp z@xG!xY>$$7inC6aQp}EGMG_%=mPkoHb8@H6p!q(#S|Z?fe_zqI_-Z(RIa|DZQoq_> zQNgwSFwTuYa9%qv8$L#Dpy#Z=rmz2UT5@&?w7doak7o6piJImC+VP`m75~tp(cUbdb_)-P7J;FKLk=B|P$tl%PQEQOA#z)V>pHXm_ z#c+Reiei>ut+ARCvsiuOqV*PjBNu0;+%CGUSM?X6YUzWqO!9;Iv*^9RW=`B3&zfp5 zfM==?h_Ogg<4nA!eZPI<&Wvx{^!>`-X%*rov)A_htJ-S|^VcstcaFUsE?t(-pq#+y z+UtSFnC8>=pg3-RkHLk^#B#vsT*QKPIRt(9r$X}>0VuQlSq#btSe)C+xs`HLCRP-# zbDC!Th*NPe>-lVyc*!N`*?kx+0>teU1Fz}TXcb2!s$?dl>WOJq-O+~*8qRS)>Y0Sh zl`Ij4Xa}dhym<|2iC~vL#Cq~g@aejBKU_cIR%IdjmQbX(yC=_uQf^K&gdqc%mBa(# zKngYPvpHsqFbW1&UJdcLU?5`m{O57mu^(B;5kF~@K6XA8Nps9;5b<4yQxHqLf}7A< zVeM2Bmx#bEP)FA!t|5KIl%8Qf=|(IxEVUB#+@~P<2tE-~k7mMvkt|3imimGv` zAXQWI~oIaQ^@91m|=v6HPg3l4Okzp)qPdt?rgfsScY<97n@zhQ}J~&Aa@fz!l+^G z%yoKnDGhsg4$;_5wPw+_WH~|a^ltZV&`)Di)SVu+#4h|Y5-}o!_`!0va4`g8rf-=< zm2;GzhaOdHMzNyv@m24aW>gR`%h}BY}ftx=uD*MEAr3kwINt zX(vK0An;Qyk@<6Z`H?AEA zK`$T}Qb+2=ay#_45mpQ2a0|soDCkzJh6^m6^Z$*A@ymuqO1y% zl~IjB&e*%p6`=;bgQRu(OCR;YT&$>h*I&6+;yi-yexrw>cv1Vrf;7DS9o+wuvp$6o#d)w_Zu6~>`h8Mi ziG*hezVubBO#f<-mjpR~Bp>{^0A9|ZQ|XGlO!9VP#E58@I$2wXt2i)>Da=@*Ns9G_y;I`mWA8XSc6>6mh6p2P&wMlBz z5KB}7C)a+tOKuh`u0m`yHHagY-F$MVP zN-q`+oYFIf+Pbb*Q_gk{aU_*8G8qkmjWqD6NjDkc>2Ra>Kl}=JuQeoCT_|loPLYjw zHN3yKZkN@xL3~2jIOp%(iuAQ4E}eI{Ow8jTq2$8(RpcgWN?r9*jj8m-YQ@Km^mJAEQUl zbq8&@IwzEu?p#?n=wp*g8&cy)28JZ&`G|GqI|boM3?~-*PYyX>2M=Jv7S z{it#o2sT}mLV4~|gh&01=MF!C7l(=YNroZc$tdVQQV1oZ6;7)K@1}l|>Xu}X)BY5U z98^z<@`;;Kp_3h)vw6Pmq~lF7FX=4O5b2U=nMwRZaaL*#KDWg{Uhe>JUSAH67}B+3 zZ{C0u1OvV39vWVZ4JWwEQeieIKIc29&+Y;pmxpDk5Obh8Us$dVTX@9 zflo7|ka0Bw)GZltj^Uk(I|>u;uNMsB;;ch-ohXvJU&Z{Q4#GV82^+=i`~>M;!RJ4# zx54Iw=PIH5tEfWS>YbA57nQqaz;Ud+!;c)4B)C8#O!|>_Ecfw!Ti76S*ZNaDXh$_a z*JH*?PmVU;G}o=r5|Y>yovrGeYKMcK3O8pC$oSr}wffY&Dq>}2_Osw(z0NCI({3!(GUNxYudZyvdl|Gf47cNE{o<|o#y^Gnw>^ezw>mymJCmt4 zaJ~PC&%NoXraY>S&)w8H07vR-Pbl4!or6#F8X@TEd#vch5wa|T)1>Gp@0MSae*9ee z%10KcM4oqTLSs2VXQ3Tr{^j%ez{A6ch~*C{`06^P&N9Xj@Dg^KGWnGNW?98LT~k#p zYV!Cn;W%0ONa-jcO-Xhf#HaUi>bMN~!Ms^W@cBoLWb8~-RTv5sd3D@M_}nH%sx#v( z`wDT~u^HPq&Ff*?VwIYGmn0oD^idY%`jCmT+5vJ=dCX-y5%2i=$TU*)>Swg@Y9hTl z#Y7d@^&Qyi26{!c@FM4%_q9^VAtN0INM+2+0jWYY%n8c6o9oVR2Wzh9P4}yzeQX!1 zNtKMBK3hN%9u(5vG%Y(X+s^YjKlQO;gg*|kpumWfs8W0Hy|V^O7LM2=A=odXE|P4u zNP%mN_q+~TGzEs5@2s&!mmb`?5aMdzY{f53>| zFbvM95_5WzP3#s|P2l7PMUj_71a5!5y)X+LIxz=W(sTTcFdRD488NXG20F!(n$(k^ z1!5waY&aZx!g3~s9LAIY?DYmMI^_~p$!@pPR#%^%x^`pDWp20%c5uO6*(Kds8tJ9| zkqS*w+i;6RO;z`akzuawsKr{-Z2Evbwrim4B9_Er0;}SZT9y9cGj^OKwDdAfX66=C zS1wCTjaA&Ngo97tK5qLB{LpH5I%-lrmv2I2S ztN9mw0;T9`~XkMou=jvLEm!pDD_UgmgCZ8^u%`x3C)6 zOe{7n_@05wIqhm%8V+SM4ioKM0Mt5{SNot`FIuOWW|8MRg9bJR%x$Tu3uWgeUD{6P zBzbUKvo`I8eP?>3>O~9#9dt1o0fL`mmCUMCs4=0aT~N*QsS-G{0P~O>9B1YGxy!3n zyC+jP^m$UU)H=j$)|rciAFe7zqq>>Q+~R{0nL||YwFe!5nvHSijT*AL?kG=I$uU<^ z)?DkA2-ZMV2bIFi69kikkWQLi>Q$fHLD&)#9q%t#-jV7XClSmMSqScIhL=&Vf$;kM z3O?>Dm0n#4I;&QyZ3UD+CF@u#o$@sM8WfkgtwM-l8B&uYi7(CYc;d#v$96Jav38>2 z(0_D?$>N~#7DQpPP&G|hktO0OrnWAfZM!kG1XqNP%Y178D*JxTSZl%Bq0$X|emHmS zmHqb3q;e<&dS4={UbIIQJ}MMHETr^n63{G$JJz8$+~7N6R1DTZHG*M-l4H*Hx)5M9 z1i$W@#2tk_)zNF4-Is|YuALW_m!AE8CG7ji9X&D@Qa55(KXIz*z4E0;856&P1C?97 znWv;f38&Z&YI@8|@wppUCxKZgJknX>qMD_0Mg;!xl~c8QoK4;h>5`y^YyIr*#X*%h zP2R>qC=j|?8!8)3&sYO2EoKsGTaD;q72ES&>-L7sHk^AzR{jWIqpZxHZtC|KUU^8X zc?+yIz$;7!i{(d}bhL{&)7jz@6|hhR476WyLpjB`yw5v&&`u?g4J*w^4Pv)2X+hoCtLgtWI{8fw{a~ z&O!g76Zt;@%)fUU|F==*f6*C(B-VfPSpUD#8FT)Ty8Qbjlk+bg`~N#SV`h;5!tN(UL{(F=O`rrL8o{(N$nHaK$*ftcVx9sTe{$qyUIzLQMW$9VCS3z6LgrKbP zeMZuxv{GLRd}||3O6Ft#ghN(B>u7DP`clZ?gG07G`0y~?kFto^x5e;<)nI{Kz^{|Q z1PJZc{`zp)t?yIw^tc_mS|D(ur!VmGdeeM8c5>gm{aE{ycOMh8?)!XUA0&w;7`FhjfBWZa5B5=Uh{(?MmR`B-r;Qz|wjd0!2{_?Q-zleM1;Ld{YZE$9i zOl(a&nM`ckwr$(SC$??dwllG9+n<=9;LZ0}FKTPw-KyQHt?fT=_3hhz?(N&BpFYoX zYHCaxzsrPzKDPj$1O&WVCx)M5Gc-NCm(@3YUs=$1k8@nM-=6Qrb9z9J0KM;5Gr@1f zYyS2EkCVW4PqBN60D(gLjrCj?x-uGV%G|5hTxhS(K^trQO4=RAc8E`l$fzN`HON<# ze*70>rlHpNh=*$qpP-j6-Nlk|?$6#Apr0dt{e5rJYCR7EMlwAi0@7JSP|l6Z`(@zr z)-JpY)bGk_RWKwRfqQ=>f^W{W1ECD1=}4znT3SPmQ*eaKMZf;uYv=r>eig%EQNaM@ z5=+!<&GF{?_R+z}onb3%p`Zjd zWkK|}w2WWG&5D_BA*5LLH~sx~1ds)k9DMV&gQC-c=g?^Rm|+0MJNtmIZOVXSLZS+p z4Sl6r{M>Lm38q3kmYp9mO*)Vn6NF^-qvj7%EWWcWzIANn#1-FZ@E#GcPH=HLQVZYyLvEu zRgBq8w>?!vGX@NiBKrM#Zd3y`Szqk;pMtI}K7%GM1WPS==#1!}C||KLY`?yb0teyV z9(&#&(BDqJ^hKNX%vbd!y=BMZeZMK}y$j#`R1n+c_2F%^u(LM zJCGCTepwo|jaJFV)+fS$FZIT(QC`--nbnk^_VDwQksX5r4=pMxDk~Fg4_mX6=^alf zLzAVHVWW}>4NFu-<_l<>esB+;i)NRlcCq_5?9Q!ymKsaOGNFby7ZUCCOIty&X$3s2 zhzL?MM|ZQCMnw(5hQBvqP?TJhyfkJ532SC?AdlyvryCzc);vEBpsdGT1*xqO?p^kU z1Ffy2vDeB-w{9vHY;uO)325V41$5H$9bqT2 zZ6z9ciS8jTGBkY;N&Op$mkhn=-}Osk?}`!S^}U8uP(P-K;O&kCw+r{jikap~;{}QI zLTnaW0%QVRG_}va3~4Qa2xhaN8UnW#Sc(}xLs3wALjuag?4wb1H^4|)I+OjJdEk(R>>d}&i`<&_^lF*^UOFW$OB~k8UUr2V zxddsLE&R#7pfKYww5UlQ1LJJfQm5VYv`)areJw*E0Wu#l!M!RmgA@fqQGaub=XnyE zV`0(kj8T+!jR)M;<$QBzM#r_T!2Q)I1*4|QZ!l8_jb;AGm6qIqwb|xa1JN|GcF_+D zg$NY-OuwD0M_b~Dm{fRo+yS%n!=Tt0&<$&IgZA%*THeB-#5u-e$4j^vvx8(lH`qWj zitWUF0Y@z%mEvLBr!^GM)qzgUGObRQa)!|?_{moLuY<@Gq4yF~q2 z#N{4K9bQlty4mFlP5Ge9PjyRJvE-HNAd`d{YXr_5r1;_oVfXfgFrHPSwmwY3BXg@iiVgME3&P+=c&6Y58gEB={)MhX3+1Y_s0H|ClmhDF)v%0u=^x+EPy^*_%jO#a z3*K*;?4{ ztALT8cyaMs2n|5e&>)V(_DpBMbIUqS9fNDBTQL*^QsR;@fFp-(P=LC3dzC`&Fb{Xf z*sp4yoXU7M^nssU7rOrzpVsJ3HjA6vmz)bIz;nv)I_FrQ7VNwPYHtTV*o@&<85c2J z7&d+_XF4*iPq~wr7W}!k+itqwu(Q9`wKdG6e-mXUJV!8PpQfzQ(bmr&&8MsJ2!E!3 zAckdozPDXO-)OGtln?&3#z81I8dhd_i7jKxm}g5n>KklQvnOuWOr*X=(B4w?vTuLr1VM6 z@-_>LkjOj5m^<>hVz^>cB9Aza?_n+grgEC2ICuQ@< zff~mJKMI zTkqbYFpTKCdmFl%8&@P;Rmk(u3A#8c=i`sY!K{B!qlKDt73gXf81z9fmC@bQbQXsS z9vvy9HB~cxR*qAP1K2dq)v!nEQ1$ukvrw}SasYpM&doF2kZI;gK8-H3;J{-A6@lj=mHy}{7*n1v?n`sn`$ZFHn6@ zGp)kpFkZV3-zOT_x|Ru&6T-FICC1^^Tq1~3y>zo$V&n2ycdbycz^Z;?WpuwoRF3Xt zJ!0M?Y{=Xc`2zLuUL|!-Cc^Q$b+j6!X&`@jUes$G88QeBZrrD)9t2m{Jbif%| zkIjfjiHWsVCEv|FB%NwO?#sTU6XJf3N|mr#gtO>&LGs9E9>1S=3U-3LN?giEZhd_D zifY!da)VpFwi%t(3LlguomrM(w|P46spaA2UtfI)m1c!CV-cm*JP6VH_9>_u_yk8X`I&^A}WS zxP%qrixP`<5rr7bSiX;LM741QMwD&#Y^CpYMB+9tEubk&orin6wblh^SZMsYwP@^Z z%fvv^bCHwt!>-!hBZ&9Yy|LuH^7&q4qF@U7B@IP1Y8M@E4X$D0XnSnG;09xwuKhi| zY1ZL1l*o_dZ&x_o246k1#;jwz-5@M^XucZ^rotPE7Pq8kD+f6Aqnbt!v~J=g-3rx? zg=)te%fqI-A;af*`B~HYj7ktp#UKMbKqXxRMj4Whk|51~^P<&IV;{Ut1E7dQ+{4uMZ93a(qDGaBJ{ zCnTz0LO@;f(R+`kN?UhOKl0jZ5XN?u!Bj2L?x}OmJ^z#Yq4WA4-k!2{4(ZLY7Q?5O z%`c9aLvsGg50f3A1bUt;u_g0~mQHrn$>%mvr$86Z|dsfxA2*}~Jz1p~K^ZvLn4r@InTFb7+7cZe@{e;R$Wz?c3(@%H< z6Jh-}Hg+iOHMyf3)#-S%yF?f_zaUlFRp$ibxg%`~(TzShG_sxc-LRP4z{}@z@@%+! zeixZKR$L&SLpB2u;m&ei8qPu$UkXzjW=4x+O+aq7L5J0xIY3Qgk|N)7Pl2;PSpWh? zH+XLdS<)TAr6Hq)IDztny_mdlDn4CmI zbe>UteTH?4UH`kvjU?>iWpPSKgSOb8;K!~x3$*xHt^`78u~x|d?z8dryG}6hI99Xmqsji=6(rPkiq@w0mE~ zYO;vc7+pp4c$j)Moe;BmP*bjTR$fuRwHYq)a*HEcHGC?ATmgM)JPF2nr&g%9sqb`U zbT53LTRUCMB4pfP2V`G}m4PUotXN;@-d)R19cpnf)~EFQvGk%5zQLi9S?kKuOw8gq zyu>0i(8k8>gr4A!^`YY;rz&u)%zAVZXB4-l68opML#S`ij=U1=Gy`WGYMGnXs0j4g zdfr)3yfM&+d`n_TPo}Mld=WuaHVjR?9M3yUY@#ggV+YBQxfv-{eLT>zhKolqQ+^=7 z_WItY{cgkQ_wUPs`0sJM7wkc@2ptiKvZVlRivdu|{hA`_l*ZDg$1tSPGI9gIE@dc9 zl32CF6O?AqUu$Jm4|}``*73*K>QZ{QNw^e$I#d?!{Laxnsw3BtIo$K@H6Yp2NRm6& zaXf^}WRwP#wZ0un>D|r9&xp6Icn7j<IB0cGrZai&F!*=jX|EP8RKX;hsk+2+^}O z9ncmm@;VrrS!@frvn;OJ`Sffwld@R%fZ6)4#Lr$^bgP=^W@*jiGqq0|0)gJ!PQ<(+ z$Dzf9U#f8qaaJ}HYHms#?~9d74c7ZRT40-)Sx1GK650^jl=OOwWJ8&L20j&Jmu%UD zky`^1w7ATd(J&Q5Tu1&mTCjw=2g494(F`G*!J(1t8QK^v(k(=Wi)tfCw|at-c3$+` z=!-KMVSC_Cu%{$g0m7L6x-r>!6Ddh^P$#^KcTHy}Dp8S<&F09JzOiozE~w_4kK*V=#l%ZSW{7o>srSaR(cal zhMApH>*Zg<-gMmqf&+_AGM6k?dJSuPWKoC>o2=mm20@@n#LtJS`U03_S@5cu4I+f5 zfN3dvLNQ-QjsuICZpYIfvAYYi9ftZiVEta0Is;|Xp^1vlok@~<*-G!xF~36hnGv%! zxw~n*&j`cis@pmhnCx6u2Tn4H8oHnVUPi0IW~j+kYdup%)U85`KFY+sH~uKfBCgG~ z*L&4L_9WUro8ijP0Yt1P z=D(`?!=WKXx;^)2EeTF4Q54}?Ha7ffDT@RDtVpqsP9q%FU~Z3fov#vm*PFFE7|tCA@wP^;e7`Z z@V?y}4s5>oxQ_dN{^;LHQv2T?tNa&K`9JW%{|!b?&&p22@TIu?CA|Dqm5JpGYNr3q z$n+(={Qno?Oi%xRz&HO-5w-t!lFQ8OEdNt-nV#|g6Uk);MmqNYI{EouQK1)EkZKDf z+r9-WNH~86gAJaLI3HaoC@|#YD#`KtL2f%kRo4JxgyvC9)q z_vqsS(oIQ?6bM(A&C&tqV!nGrwf8l1Ooq3-@GX4aQ;+T;(pL`)U0iAtYehXxqOlhr zr7h}llU^g;HAT;rXnT!qGo4jrbb$xk^6oI$23FH2(HW(x{gzM70v@SRDR=uJ!@-ft zjwOT6EBg5x2<9PQkH4P&T{*p3Yc%G*KI1>jKFTYtn3#2rwh!^9Mf`S{3F5ClYrXlcWdOYetclDy)=m2 z`@|=Pd~`kzcyaHlC%Qpn(^a(A`BWEwu|l<%uNg`9+?>s0KpZT4)=oO6?=yVRggIDS z$Uwv46X5DJ8tpL;>nq_?oF~5=e+b~$GX?ky-n{Qu<2xxto%hEBypL_L91~t6%kTQ+ zyA}zcczkS28eGUxgxMu^m-V|<)=d&x^07rVRnt{+oQj`6i<+vFP|l-?S5(w4KL!C% z)Qo)y>t`omoXtk?%nw0nTQXUVi29=kP_x)H^c$1qfs~^m>Mvt^*VvofuU9ar*p9{B z5zXEYgxv>O4RKRva$}ZWUAa7K^9lsxZ@~q40m6bWg&~m4g&odmEe3JGEy`y;hJ=e+ z>wSiP92In_(QhhpSRRMD)D^v+^Tqv@OB=%!h&)vV`kxz!y3>}SPfgn~mxql3cwMsw zMYfqPCzY@g2veglAMGe-4mnlI%Ks?rx~3R%29~3ML|rZ`C7u^Tcn#)A($bHdL5D9F zNu2)zddh|*o}xG;e?w^$G)URr5#C6!*~noq-lVSdg1#loKWtcK#u{Q3ba+ zVGL-IFm#jksXnM-nR;4uNZVtCI7v>V7vbUXI!;Xj_Y0!=~wwd-grq>))ZK>KG20fXQAEI?)GH z(=IE)UXk9g=G^lx;XjAVhf*XoKS>3=L&#{^iu}a5>I$;^v+C04=kBJ{;+LT%QKg?x zaq?NXFBj!CpAVOJqUC27aGjoO{hv#Hhx;PcOUK@$FM=VB;{SO=iwAC4{4>w@oeXHg z5sbRd3HTCKqTVEeXvQtufU=ws8sesWkj~gYL_t9o#-7V+$9EU=l~(ARl!xk85R!?Q zYLI;eGp1hMo~&}ICV>VR^_I)wpLv`WpPU3T9si{~hS&&qp;0sHP9)+ZC1gbsi^)1vAnQg;wN{rI*-2bifxri2Af0sOhT}H` z96d*43D;|&W0mq3rNr!2DfdzimsCZUw?bve`Fr(wjxG^Q`Jzi6n|ej z*KEI<18*DGM~+X4S_ZkTE_EI2nk7Sbt(dy-ikV-u?#o0!r@!K+kUSN!+2nK@5b(@- z*%@uISdz{%&?*RG)JsOAX_8y%@NNL|@7+&htZcO!S9wc{Ks+8+{=t__ApRUc0C3?Oe=-C{bk(0EhUij4m`wtj!iGJbbT{s6{?R4qNEE!hEue(E*C6jd zN1aQOEioi4+@!eIVdl{{oc|?V#>J*-|&@$bk2U5*FB?bB2!_E<3qof zQTmi#Lv9?q+B`tWV&Y>~N3xiob{D|BFR{77^f(hd1qiof?`Kq(L96}sijGqyz?Z&meVC-+y zC^iyP#>hv6pEw9x`;CU*DN~B?VJvH9Whz7 zzfQsDC?N1D1&wy-)J}iuzMiezO>RC7pS7E)=C;;+oGcSDP~vNTycy_9J`roBBR*v4 zOrlKk!AM-xRcAy)`{PAXN6PD_X!9dGkb6INq(Qy$oKW$kQutY;kx-c*@f6a$byr<# zp3Q^%s{+8(<9#fF` z%u+zVAn-Rm-~p1DZR9sVlhI7m`f<`?Gx(N&w!!x+EzH{!YT+BKQeZhIR*Qg2xbdyn z1%m`dcqy2%2;R2o#D2>`0Q+9m^Mu$c&1M(FjXllVlA!MR9M-%36Lh#wH~)`s-+Flk z$#+jv2TLrG`Q`TvtLC?Oefmi$$gD3+%BCk(1!DzrS1{GCu-(ML&RBSw0-vpIrL+nt zYDyVAfC`&#IROfrMu_Vx_C05HL6vNq$lQm)F{zxU^^zOXmFG)bPT>4zw(p4iY}y`b zqTK_xF+Cj?r{<0<1Tu&m?gRWz_Lqti5TzAbdc|T2&@P&2B2j}3efz#I)HJ+F@+U0( zFdVzUAmUt~R?_9B^QKt7M06fgvnyoOA!=s2`<`YEi`@96V@94IS7{7N=JzY_CM|7H znP;wI`YRW*O-3qyCCz=vEUJIW*Q1DXvne&(5%q`6?|p}`(;|X%m}^8_12EFpZqA8J z9xltdY&O=SUO$>Oi$L%kPXiB%7eQqetjDUc2fXLWH@i>Cu9;!S+vfp3K-#QH~D{U7?0DATQf>}&?wfD(rF z6l50)yztzD#b&)w3EHksad^qo1G3+#$4tN$OoiIbQsGFsHeenIz#_a8zeTq;eUHbE zQ~RCvMr`T_95_Y8x#vQeLX@cQ#}T4NIz&+v|86C7m!pqduQ(S9yy6vxbtexhx`_%PZ*8W^6tbJ992(Z8 zE8)mi#tS(7q@n$Z69l~iK8j!V0mVW>@z`YFxvmtvj9+4%?QRl(lak%^Fp3rL3mYX{R@lPTu6vJknKJ2U~-L(Qx8(TDS? zYGUq?{5Q(eo;pYwPxudLfxZ-q`@0PMP~>zTD*MC%Vy);}d4xd2JpSil;aTDcUo68HrL{ z@Lr#=Y$KRW{I&77iE!(IZW({%nb;@;dnn}^-MbIo12fitR#a}}4_>cOFw)%tpmStR zuzaM}GAX@&mTs+&DAX8d$LyEQ`A7p`+OoEBd~gJ0_RJ^4z>*R_Qkhhwtt-z4#9e=E zYI;4v55x>YqM^IE6#VynM7za~2EHl+WZ}KK1y|hX`DGZ>{)K89Ohx zAp`EK%G*|MKIur$O9q1aea8A})>Y7_7}SeT&QCbR|9n@Zd_nM&ugW|bO1cT55CwUs zr+!#jwt=5gP%q~3sC|F-Nb~*p%|8P9y`@cAalhJow(c83r2YxG0z(MHzu77P`Ad_0 zDup24sTUHg#|{@ewO45%y4=6k32G$}`LKn!%ChL0^27KiPH&j+b}vlXaC|j#-Qk~K z#l|d4^qETnUOB+cS^e1?9QkM3Q)Ze&*Rh8|rULFY8r0iJ`kz5SmB!B2H&_RN z^jrW2_WDB3@Ofpj79Aot1BnC%CHW>+LR z5=ex0%76G=@@vbyLej0c{YaIRC8vorsxQNBC-WhU8OldJv#9kWoG=%oq7Fm-y&@rj z@UpeQ^PV#h;?QbW5p=-xHwjHdNm<|6mtD%hSh-&A9!V!v2fbfU;RaAj%yDi?MtM%*qpN$!Z` z%O20#%zFbzNS)2QLDVG3Q72EKutAn%uSQ^*eQ3-~wK;hQ;BOeCl>EtR3e6O*ql8Q1 z%Xd#m9>$wnkxO~TC^??RO{Z$BoGsNq{~~re_CqM{PkA!6i08m5myJ&%4=P$U4X=g zg~GUn-WNsm%LOuPN#w3llv+MHfYbOq*{!8MpmS;LRVmNcwC6%mznwW0K;mDNAH#-} zqunV4Z6xl)4te&3Q5LO6r*(<+mT>dbXw7b@hdHRn3mrcXh4tWSu?2Iq95CvLKh#94PdgQ@y zOuRix|FFI*!mDQnGq~n!&3MLrsens+OF*$S0DOO!xtffljw#e8xo_b>nr8{u)+t=h z|E$AIZDTc3LM+&;n=83Sh2;J*_%ic0J-N1XLcL`^$NvyEV5JNB`Hhg&ob@ZgC|xWb@7kk8}bB9l~Vl}t&h<2GQYM9HS@rm*WKfP$} zoxI4DL;;;vz~imE5Ohq3Y@6egO9=A2Xw){KRSb|m#_bIciLFXOUR&P_gg z{UQngmuV;QugpXs9%q-kuiuC7cKl=eRo7>pct(uZI-=qOCRxst8E(V10SP=1FFouf zh|PZGz?6k`CH2T{He8|tr-TW0m~6DN!;2tCZ@>$)(WkOomaKWA0>Eu?5H2!W{A*gt z4@b!SjH zxMu$yKX*GgMmQ-~+rg?r*X`hbYm2Ott9wtcxV;4R#xV7@e49Odf+yjw!3tq$yV;%U`mT{=bSBi6QTnid&@E%oW` zUV*A+-THPbZB0YQf3Uf??PYz0oB z1$ZWpdt0?--|5>9O1RtYUB6tql#|p*q%rMxav;{|pDVgQOhXkIv%-cIPkkhkuG;zw zq%Dd6sg8wVxwg z{<`DF`K1%?Z5(RwX%C?#AB>1F$%Fcqsgn^}|3`%aE^HDtEPGmtPJ?5&vxT%d6VE~H zoXYzv7rfm%+Hfn9&e!{T8|lp=9+|m$G@{u#ZscQWuzNf28jvIjf|FSb2$dS}OnJmmMR0wvT6A1?RTXW5J>)`acH| z8i|#s>)xuG7SjL6gZ+P88j;Zs3&>!>p^!ca{Au-+XMB|H;-+}{kUpz-oSXZ+(Ppp0 z04EpQvp>H72>iQZm74xkk)J*LYFN(a`#d}HEd3AyBf-&e#^?L(hS(Rx_hu6}zlv|k zN*3Puit87yMZi#%G(7k2Wmoa<$3`b7Na{U2*E`hbzAbspsw)=x?l}$boO3$xvUg`e zbnw~p%@|ul|0@|dvmv4n=Fl`Zo46XLGwALCemLYi!z@g6lm&a|0xF!(czY z!H;*sL&*BFRAJXC5fCl?CcOcPS;VQ*`2LI1OIgElJ4X2Jp~0*0fhSxW+05yUtwq?p zz-s9u2$ae$19rF=v69cljy?_ek^M2@2nM}u(qxxIMzJ5$G73oLk??~22m}dxPZX}%VF z)f!`Tx5wU{X~6T|;=ElG{)E52e#AqC((a7jA-lky5Yn{ALuK}HytoeJA^em!U9SW% zanoffJ~$jl^1dzg4<5VGgL zp8(E8Sfl{`d1J#lwV%1fM~_ zH#Msa`by>}`5fFA$A$#jk9ZeP1Uub^kw;du29QF#xN}@Xt!ae(9>Bj~4Mp!T;R~eWEt@LV>x3@jEtBHh^JvIS?7ObL6B zII6V?&)<72_`!qj4RG#{uiF)W`ovu_z5L2qGNWbTQFiLnrvhNs4;@^CPGJw6|Df5tBIE=Zj;E#cH%iuiEmID2-opUk+WmA}1@ z8vR&8leKDI>uBm-)e45zL7RC}%qa?SMsIhF&UiDx8HDR#et5rnMM>rc@iUC#dI2a+ zc?~n5qEf=ib=T$Hf988sZcML!voUte8ch?N8>X@x2^}=K@GXTTV{Dq$T!ZK!-d`Jm zbA!jFf9-znV-V$u@Zdntk|1WBG^()?;g|AEnK&(#3@{y$Jes9}!@}D6evc3yN@2XZ z1p4I0hV@A*D?jDoX!fj3@He}0PNJ&YR8GQGmzVea*}q3)OI0MEUCf@+KGi6o7PrUb z?wfW3`L^r!+(hl&%IIYk-Rx1*fue_Ua)?iE)u3?z^BQFUIkK7KlYD=+R(%7nrHMsu zkE7(!v5|~0So$SnWeJ5kghIg>9k#g*v)q6&P`>X z-xkJjuTWoovc2wi?w8U6NG((t&F;BccH}zNmmh7^+E;Q={O}@jAA=5~=9iXf+Sq@s z$I<2WF4|t&tmSl?``lHZK03)z{EM`2t2KY&qVD9{Xore`EwNF@%Gs)MeBM*We=IgZ z)!}BZv#TCj_u8h87~%&URB~xz1w)<8BHE;@X>*>RT38%@6pjK`YrBHWxeDpdltmg_ zxkiY^; zg4cDeThP(!Mkm>%AD{>S=`@QiM>YFj*>x7x@;a~d!Wuvps}KWqz?w?NI`qCPlrIG| zTa;z;kl1mMW0X@WisLk&saQ)E5fd+5`6EezWUy=GvNr4$FuKR|(l??kE2&iMi zL?nca8V#~7g4NxV4EmVvmbRq_7Szu+N$O9Z-g zpupn&NR1c$vhEKQcJ9JjE250UYE$3d_ikL14*Lrj00yFK&ISAzRUdPTbW`D!7BD%j zt48qA>m-P1_7}*LgW54C8R`a6jsQGFLZ>K&PpyAM()5~TU-L>@v)8P|5h^up=hLW) z1i7JAxPz%|KABUDX7D9&%jmRT0j+RiIMNWl^a+eEVc*5s8WPG0jUOx^tE4|4w0FM_ zX^b>P{XwLEf#+Y0s5g2rKVH;H&k^zl;V#h$s-nKHjaNO$lXQyLWLf5koCn6mux?i= zhI{5(c@g)QanJ|7)8ny6<#>>*G``hYSkvV~cq{5Ah^jPYLraL=Yg65~kVLbZ3hi8T zga|P(_ilE3Lp8XKmSadoN0|VpIBq)_KICU9Kq0xv?tcB0$DXOSOrPER9$Y=Q(XBSZZ3oQs3K!+4 z=WVg5eQ;@4D*e@e4ehR)a_33qw3}bv@7CuCJBgg)#u zITY6@o^;qrguLW7^rJ1|TA|?-2g4z@rwlkoNMLq$7Crmd8K6x+ym;)c&EAQ7#ym?o z1nH@Zr1dny7l7h``o2LUg}-F`NK%mA?q>Qqj4N}|oRG|QQ}TXxBB))ce4e^cSm9_e zCUj-5Z@nWu0f4%kAX86nO%8`jP6eGYWXYbCkwE6nZcRN`!0Z=k&! z{#yVCA5t2jptm1%d`pG8;w)luxP zWu1B^?CN5?p7sMT`p&(ROz=;$wZ?ub;mG*{u?aRtPG;{>KA>jRdvuky(tTXEvqAZ) z63~zYfjpeifv9=JLqG{nd`K)FZ~r67gD>qcUO`=2mCMk%(_GXQw~m!I)4{sE@r-=* zw42VoG|WtN+nIpVq$@MiwEeHo5~(VdnVy-+ZHr^}^_M?;_mquJt?C{f-%4xVw_-~{ z7l|R$)w0$*+qFv5eavI!#04E+FA32MrJ@x9uwKxT{AFJ0b8SRPUa4{ef8e`l&ra{NZ{q=)!juX>p(pI0uI9Z&xXJM&^m3E3pVqp&UI_6P^o(a%gCaj80+>rV@fgb%QLy6vQ? z)U%h0PupMr!cT~%bHRW<&j131wAOLhjE?B1Kfd(f=;Fvt?X8n!A1%abS9S&Pa6rEd zvkPHpy>pe9ABcOldH_abv|en!-O04N+VQln(i~c)TUs>c{!XD;L&Rsm$D+UB#-wzR zAI1|6DCmzX$|%>m(vtz*uWZ$dnLVC%_qS)ehm3Gm!SLqA2f{WB>5XpF=&#FWpMv>} zET*0P1{CqGx;K0PBi*C*2n;7sLt42+?Q$Twc%9`o&*pCW$X+1b;9>Lrj)@p|t)}FkI5$-hc$*8? z7X+4Gv}FJT&g(d9mwijUQ32n=L)93hM{Wo=jyIb4^tUg6zcS{;nVQyY{!@~cX?!w( z;Zl*9o{Juf%tx{xB$!14RZnD;HknYDQ$=mWSQSI4;dduYbx)=LW-%WG`kkQjG#{mv zLjbJFZ@;~jGuyS~ zca!pxYD)C4tgx~jy|ht4)ruEr(97b&Nn0TzlB|OAAa7tnYd);=A^`Yk_vm0iAeuBe z`$b5nKKk+Ss_3bV<^T)w&8a6P;nmv7Sy~QOHptL)+s586cey`VHYN&ikZg+L%L^W& zw{aRd|KkFfCf#ktRQzx1bs#)JXHkCQ7MZn0q!jqJUfU8@ZB2$E85Df>Oh zj*M?mDHn@e`sW!&cm&oo4f&MesS)G>2Mn?$Z)1!y1$q6uUq88x@Gn$EGG4!4*j5@5An>s_r2Q?b%vmQhD3@ zCIoGqlGxY8%(?rtv>J9FK-V*>zXY{9DO^)TI)hm(88>*3O^59M(Bl~(pGbgEs=u_Zwv{hO1HZcQ<<^#;%_7ocoSlkCIO*H&V{970xh~nu@)D~55e@0C zbK1(p`1|}3Ek%*_E@2Zf?snU+Zz|lVcT;&66{4JV5;FLiK{dl{U~y$l&+>IK5<-Ko zc*&TD@k;5)Vg4YQZ3A7K*2{NaNn1+Afxxy;7SKqQeY~E*m}lW~ANx9>rw;948tbkQ z&x8f(vZop3@SqgLn(d4~V(Ikb=y19YbiL|{?uL1VoBHtk=vW8>5f*&6J55{al9^~9 zMyCYQ6(yv>_TLcLSDJ>7i;gBW5rb%T0>hb(-|xZaYF}TX^!D%mrb*9UwSbl3GG7ZJ zc*E@i!FH1ruH9+fi*BvWQ-KUz8#oF&{CAXnbEsCOG02Our|Fu9hy8BDC-ZMh^I`WG zWxfk(RB&urC|D$513ZgCDso%eo8@eqBl#Kf)^#gZt&>=&pzr|cKJX@1_{g)F%=5X` z1ak5LV8XbWn%<*%R$=6d_`n2@1c5=7FP|3tE%zQ*h_BZxU$hrRv|Eg+0RjEhHA7mH zsMgOPek-Kt;^#SE41cueVhpscX>y4IC$21#-vpOFndZHy$>Wa33)368Q{78sDBmH2 zGLPC|Yp)x>CP$a_>=?}0wHh%r<_F`-vhF@DJ;2!!v2tbnuDdp74U=?;QtOreXq3`J zx^HUNWH~Tax{#G8RTEh--6Iq*OUN?!`bgI~HZR)W?WNV4zxS4Ez;yqT-nNDLsJt(b zH7SIdR<&-Kqa20@0fM={vTeAV3ay>JGMv~%)F&vT)b_O%;QszZF_5V0W%AG)yj0HW zSC~g(LHVGV-BO8a!u`16y1K0C7Jw>tyiB+Et!|p;WL7NevuG33(;&I`J_#&>yB7Vl zx?g}SqG2B;EuE8&Sv>^shAe9<>jg8m??N5h;_`q;Hac<9Z=?B_fUjXPZFO1EE)F)d zIFaEs?I5^!ipEKQ%CVH`k*S-l!JQ~F07yd#FIGqMU-hNdCg)mz?}VDhyYQ5C<>m+)pY*;BZepX0J}H`{i69z zU)4>32^f`A6296u73nUJCk%M`@KJiZB3b)ILs8}*r(h5~ssuF5i;>h3MhUK^T{cUu z)nwo*ig$Cy`=%G2T^%&I7Bvp9>obBi#uM23+f!#B3J=BpV?6M`(e@Uwku}YJx7S|V zYg#iid(F%qGvk^W)@-ktVa&|T%*@Qp%*@Qp@cDV~m%NE|bEQPd=t!;6sncCk(?=~; zSO0&c4{JwO?kik=z@#pqgqdhN0ckG&`8O|%g&qG^nuU}k3=-v^nQWI<&N+Z+1u4gt z=ZbnXBdSUNuKOZXV6uW3xLUXgC6xV2F_aKlGMDD@=_lSRXJ~~@jrVXZ3w4%t!_mth zrhpoFYzIX(*GTL&(7Fx~YPs2Tg_t*8)#xF(4XT_nQT!ZJAr3m;BalPD7-0HIp8a62 zBCmcRAikXWr-z;ne@}dU6e!DG;uMOBqGF=taZohkPFhi3i{0VMdMm69Ajqq5bhNS> zw0XiqQ2_Bz5gCI=Y5zSBgt{Uq=alQu&at$#kg$)3KBiUXXL8CVE-jD5vmfokmJ{4Z zGzHkO_(ok057K@7S$V4xrRZA1Y|Gv|r?S>@Ny{oYW)O8_u0h~&5r-1U&CLd6$tjqZ z8-^ypad^<`LkL4laF)GRYBQ%1|MU?r;}HMxaJ}X4)sdb#KilDFZw4fRt6xyuz6k>! z4m`YX!_o!j)Q%X*8DCOy0b`Ht?4**aw-idYCXH`G4sg3F7mIN(oY?gS`xajw-@!Gs%!_R9YF z^uOoVcIM=s&#bB{JD1`i$10Ay7RZ-DWa1a^oA2c=^Y}j>*k%*KLdyo5&Puc{^ zs#ZBySJ!rRzEX1Ql;N3>?p4667R{}YusK5ahV6zU7ZT%MQA|gvy+ID!Ww|MZ7$55a z2E(TVLE>-dm|*UtK=fD=5Q)Xb;k1U9Q_xp|zf^5H&1g`{wP1T*x4y8kH|YP^Qc zCOxs^O-Kd?Ka_y3RtRRcmR<;`qb388DWAEd;3{~6@z6lCX=F4)Qgws|zEg%A1fZ!@ z2sF>CyR(tOXz$D`pV5$0;zfuT%q&Babz1t3k~fq7X*ftJuxyg-9RpA@xaEftY{jfK ztvfgRR}X*8I)l;~)@6H^5%n_`34U(BdL*f!JwH~^mrZ*0d0nGm`?5` zcEn7XvEoGv3zE&tYKmyb2@QETD;-|x;6>SJ;a_&9JJf=k6CBvRt{`(XqZ7 zD+eR#LW?xEnqH!E-P@)p&0k``AKzF21Vs6^mo9xn1rXYb32vjRg5M}j8!S~YTU)L; zXkXDl@Hi4hzj0_6K;oQ9n*WKY$Q+02a`(+YHpEnPkBP75@DPV<>`S}h=Cx52YT$ORKP79HTN z(lRb<-R+u)8q6rys>_KGE#R?PGi-AYJq}0(pl^C$bfF=?5`Y7mOi6$Bbr-VIF`jay zBi4&OhTD;XBc3|3~@7NCX?!v^8fp+CuwKZQk1Vu+6ft;;SNmng5 zCXB^F@ac}L6*dMRvXDc85!7w(z!kMF$+=rae!Ih<=W;CZ)lPgxV3R4^*8OHADoePI zj&EC4iZ?w;=#cNib-vOhW*oU6;RSL?J3xU}(M~z$x~mDozKF}Nxfx98L~^c{{|)4n zdVO9P!6*1=tuSK1{BC@_5fY+lzTTtyY=juTrA@a^H+=c9EkhK}g_zLr=KK6g1LCX1 zNgLQYu8f6-MaN;+`j{&8H`5kNJP_(yIF)vDx9VkUh`H&Rjke}?bQ`@w*2bu?$Jr_s zS$L^9ji6HL`{h!q?_PVb;q;mkey_@=-yWcBXMwo^9gS4mUK!ANz5WmyBhVLEwL}+?PJ^K4g{@q zRCIs6Preg|E5S1%m*10_S~fyKak5E^L<#c!8Sf@8GSj?DM~)?ZY8EnB#H|hN$Qfmd zwAA?_w092l#dB2+rZ5F3WQ6$TV&6NFL^Rj<@W|6zl>jy*nvDdRt8#DMdz!#s-gCD5 zd&6V#wd(ojSIu-GfQjtD+98QcBT*XsZ`&(f2JVnK*_1uWN|`cpvwq#%`%*?rkl<-nW*&|pXhQ{Ci|b%+x!co6^khGq z3;Qy4I*-Qh#Cg)@Z%HN|V^ou?QqkB|HInD>&amDEB)bDA968i$ZN}^C!GfO?Mf`@{ zZp!0+C1XaZ`k4TIPAaf@!+zK^8G(3)=}q;RNNFLFVJ;#Zqs*Z-w{L|`sg<1Px(bSr zkEWMeE3_k%gp5k>)*$*WW{ZJhujw$VAgb-7IUQgT)@i3Uom@Y;##MA|8cMxfJB7}a zUS~Z3gX80iO)eSdXT1&yFUJ(YRd!IgRh>}g$95&D>A@E%@vIGl`b2_3)=9F;G#SwS z*2(wTCjy&>SB#1o@uCs%8W%Sw{-v3nz0*MRb6I>T&-gVhM^RB>Sdeaqgb46ya%0JB z{&tYqQ*AALJPe8}N?Ha16~h%1N!m^Q#n8#dr5rfacFfTPrF;FzF+$*cZc}eU*%ypk`3|iHu8vidi(gyDepkfgtxtSppq$M<%U4`zGk9tDNV2r zD-|5(?Hhh{wtmJgBQ&AYhh<9mb54wzXXnO;uaDb>BYQ4Mx+Z?zpWEMWM?aUb!?#v- zQmnLBuX%N-Ua@=rp3y!;(6fDj-PA5Q9lm(m=|w-LS@_l61 zGp5Vv@#DqdjE0HSbqei(|aR^T&zk6EWYs6x@~rQW`vu zn(ld3wk(nAFP-epth5y=GbE025^XROJ$<8wadF!_C4%xIHZ!_xo@JrxADxi@zF~C^ zR9>6^tC`kTv}KA{WToA`5fxJd{wjD;8Ezez`NteHkyirnVd?We9x8GCjOfI=%SiiK z6*vDmXBZ{8ueIxGeLdC`Hd={{fxpLl$jnp_Dna>tzJmQVbbDB>mFB>{4k_~?Fzzcd z)mn-YkMIR4YdDs=z&GCJxwlU8xCtRi^V^rn&!rg_soy&+G~<}c+S;2d{)?+|*6$I! zNeg8kxo5-&%{a{Ccs3o~s`-z=zJ+|ddRRwKoN7b2IDxZ~n+J{uD~&bD<57TB`-#Qr zQ^0I>X$9|NO#Sa+-ddGLs_BWb;3qJya*B2}<3}7$TwT3q3 z=!sB4^yB(IwpXC-OaKP%qy4PcSmSuYHRxSpPn51bpY72V@^?^^Ptf}cWcskal@9>b zH3Y`)Rwnb^N*}+OZB|HM-gR7dqyM&(071IJY^YH2({{ezC>`OCKKPAW0DdbE8lh8R z`Lx`K$7lMI@;|fs{6!Rk+vdC}6t1(_>s_pFl#w>F+v?RzSD+%!;f?O$`xWja2o=1M z?kh$ylW>Yk8}w&=;A;)uM$>@Y;(Pk1*~2^R^;BZV+s-~b#0_oth0aii4Q48WoHt~| z$4z5c6zJtX?@-6@q0&w1+Gbm2?*!|oh>^srSIB_P)!Dd}rr*p5%i;8Aezh?$e1e$1Ld6*YN%;BWi=HY!= zps!Dh9wBk_c2tL10QwT+&GiBG4L|;>HJbG#bl4L=f7ieIqi3%z2)#o&X2ewq7sFQc zW?EXk#}=Z=p4^4dvTJx3<-@?)6)Jg=Z6alew>BSJ@&iSm*&Jyz4_JwJfxK@Bwgzf5 z@1ls*(C~z)t2as;TwFBfHz_Ishz|*;657zFrbQ3)g&ceV2-9g)L95}o3=UY|pgb2V z80RSxW~1Fir%LO&Xuh?B$=f9=I_aj2_$n8Rl~vbp{VD4i&b=$qTk6v42rox%peNhC z0DwE}%GUiV-$-c{#lZ>P6nf>vFhAph#8;3NbJ7GDf?lR^o;mzNv;=87*C7*-jd`^j zx0l-N2+vtCpzid+f?V%WJRBTv!LnlCDpR{kbuS}> zkMtlQLz|dGPr?IN%RvlMvi7Ns{K()C`~>TcxV3sxMkX5RTGFjXOCvZORZ4DoX_-qM zjlMQ=DgK#r5avh7VPc=6asfS0z^S?HWA%J`>zkaK_+Kadh=~p#W5=8~&9gQ4Mx>0{ zOsQMmRPRuMLd{wE-yXl&4Tcbnbd*jsQGuCD*1U^A`4}wmehOwMggcCI+KGkP(JrJy{K}R8@6vt7baX*;OP_RtSDZ)}djP1alhI zBU^>W$nG1x-U@ZgV>tgq^sB9GvIz&c^L*n$HqqaG5`S7A_K@iX~MRB%;VK&if&zc0)#OHi(Pgx;_<%5szT3-!G^YGDo1@)Q{ABJ`? zD3T5Rvr`YGRBcAU9}W~Ak5N50Bf&;3j`?6jAWBwqQcB z&@C>MhTcq;bu~#N?t*)rUge5Oct%v-b5r;v{b}OjC(QXXaoW_!iz|=fR#Ty7CP69t z9^{aSux)5~xOOV)#2FwMxU%7Vq!R+OTyHsXEXR(Vx(QzSJ6^SZ5b!dC1+a9)`w&0A ztSR<8dlgLxhLIlS-%O?ZI@%BzjNGfFtP#EHo2ZA{Pgr0UE9(!)Ss&A4(jfo#&b;gt znUk|NSA5ekL`_NfTieWqU)(Nz1+&``MUb9w%D@%#eIHB8TVUf*IL>J3Yz zzD_^4G9=a=A8U^zwe;P?cRat36ixgPg7-R>Dm z>Sp-r&pH2X(>ly&%}C?gTV3lFITgE z2t~q&`+AZ<{7e`USODwc*YXrabHj~hiLxXr!m4XnxC(3^*VDM1;<4Ti5s(5$ts5e# z`^2k%mo=HFU)3(E3F%YnIuTw2V13d?Ryb-19xE-VsGlOsSjwlCb=KFSughf)tcCF* z*~-20dk~dF>|Z2j`xObui3hpdjKtH3sS_m8F!m&PM~bbh`Rg5kP$U3__@dq2tXNc)wg=ZSwr#<$ziDEAe=1bmw$YLvu24>qSRo5Pe?|d4 znL~@e7uB5<-FxKk;k!3?#CNUT|JD*~A|bm+BGYiS_)D%#=15GMfmf2?U?aqp&+aSy z9_XZ9WJ9Ynh* z4M$T!ww4M`O|5{#C9Tg759(ra%NTlNSBHg7UHp44NBrWgWmICL)<~xo<@rJ!XhdvR zG0$t-r?EY>v3t8n47{~J5!5>wjrF0$qtMmx!FTZ*f6_I;)y!OKcG@a1kC&VJP7|=a z96U}m6tNfqxbHK=f3bA6;`eLo%?giA+GSf*sW^0sP?DTAEz zr*H{TsXr6e7hj_$0AeknX}S-HHqxlk8f0G2juY$c7`7@SNL~9e@dJH;zdi5zF8RlI zNAsQjxs98Tv~fCq1B0{PSD}q^_z;H%726p?PVnBL4w}DOM`|Kfqb}R|Uzbo_BLX$X zV>bnF+l6~@?|k7IN=w61X~){<`x_hKVXpmS(@9@?t1d_{9JX;SR zfWwh%sTwiX5imi*xjW+DHMMGRw=|cg;MzG&51*;*H&cL3w>V`;EHq+ah290eY!+DP z<|ISsK3;Z#PZupq%Es)Bz+^A~+9+kZ4c<-3##e%QB~(5OaH}J13e={*moyS91$RSE zN`M~|zP32Kjvk9{E1b|0Iy;Q~3%l@vsd)9lj%6`bhXD1~L>xSP8Sk166Nx$Vrb<;z zy`N;4S#GH7XxSP35kOB6QqUMQM^A6}P9o&vyxw6Iaw6;O3wHe1BCwMVB$oV}jZ7X6 ztO@|CfVfDu7>2hNgGr?a*1)Ua)Y&+7^{$j8!WN4YA=|-=*RJ-@D27k2kanL(!^Nky z?MfOAbht7+83+=eAq|bH8~f+?E>g-I7CAz_Y86|7_)8G$=R$Z?BJzxjcf7q^cdXN zWgzf~cb%)GbpgxK=u!Hi-cMS)D%+iYTZxX#^z>b9T|BlQTyaeH0cZp6gLtqz^w*G? ztJ3ng#;(`iQj({Os?HBFHUj0h&AocTR0^lu{So$GoHi<1&iiQVCrgsG@9S$_q!b>{ zHuQ=OucjVBSx3S2OM&#ts9)8zss?cz#%A2q{6{21?h6@YN3r~L&(9?_ZNo~PX+U57 zjAk}zBMXinz#qJIcdAps0^68@v*AS3F=V&L3LZMD(eOL_qtjffQSY&iH_CxZ_=#~y zThYLurhgO^-s=6ENF8vFo#f@Y*+~nHRd%DSv@Po$Uq_P2$IH3Xf&P*3);B*?Tim`X zCm(<6Tm{^05H!3WZ6z6Oagt83H27WCR`UL3f7Q()Jm2pcabp&QsK8BAnb|4`8vxWp zK9Di=tBp--kVB`*BOR4*LL+t`_Wv+*+k<6QL+Ndy>*{PDhUuHSyd5gfzHwLBU=e(@ znP@EQXD?iE$SO|PTi%DoGY!2?kCe^xRQ7H$X6api{Pl=J6}i=+frpUm2I$4gvL_RV zuZpCF!%)!%EZ1Qzbt+A^zK*nDn~S2nUP9BdJ%mwkne%xdmAf?eeVbb`8HYi1N`NaH zm^Hg=-3r&7eduK=BAr9_#lV!Yi)JdU16@C#crCM&KcUKs!p~5vGr05;)DW9AHwb^| zalYYd6Z1SYeR)6SIykq#@)oSPK?Q*pW*)4`yU}ph6Uxw<^{^c>s7&n+T{}v80(PZFZ^)AKZ6fd^0nP^LPO3Tw z0XKoINM*HV9jx$4&PIq-k97kR-L_wQRqxHBOB}2UU+?-R8vK)xd0>P$Uwv7_l&I*B zuMCxr3l>x-O5}jh$~9OQaZ#Lnw6viSK0q&Gd$d&8OAGx)^KUwlS}|ZTWMow^LS1ci>oXjomFy^Xn?)LzNrlQJK(j*4@VhI zS%{1EJncdyJ%rs zzIz;P$CYQx>twQ%u3kzs(m71`ES@rNZVLv^K>kLYfWEOZy#Xj~s- zLBt^bLE}3d&&pTwpNbmCR13YYQeQ{m3yzqGV5?hl0XC8TUE_}9W3WLA4K>5OskJFu zJD8r$v3O{V0qbhccUY`R`aNSku~R_H;2|Lw7{-_!`$3i=w@nKoG=lN1=L~t>1&R^B z!}1Z>Bw4zW)RI=}C7WmZ<8^AIRq-#;Hey~!3%Td)#i{HR!tR>KIjg>PK$Mp&jCs?q zUCrmhwIlso7yHLYCaF2Xvr!~`<0#%4%GXM zX;)*&jSGX4B!pMI^(AKDC8{DSnnJiT2KZ}KK3%hm;qBI8HNVuEZ^uAq6A=OLVbrtH zoyuYh{VLF(K2q$xNcBQv-XC2{pj&v^GyxB-4XuefZ$sr#K*r&bWq2L{{3BWfCOO4@)6Z*6l)x<%RRR7F=) z(}qpobhtxz-T@zc#m(4^pKLQJr79E1nFchWE9GEXT!qCt-YXCz?P^(HPy8*H+Oun8 zsxu8Hz2SF}WO&Z^N+)tkw=7EOe4agNVQmmnKB*%3TC$#atVfisM?Yofwd{1quqKJa z^BNSd-QzXRl|F4sqOw_G9x$kygYz(vkcg1pLV2o1=AYo+_uTBNZH@0Wlli!K=9}U} z1dr$9pjaULtNjNeW25Z;?1p<9qQ)PQliESzSn=Z^xq}1|gJ$Cn@xpa}>LhCa3V$jY zyOHhbD!N=aNW-F^ATt`6v{=8|gUq9Q-+wVx!)s)~Ye438tPyave_CCR?WS-xuzLs& z;eB65T%-(X%H9#-l}`*o6aHHcEim6AP%3-UK}6IV~oV?l$?Uf>EkQVeQBoo zVSS>t1$153m~rZTJxL#5#pbt)S*S4l?fs1^FV{HaLEKJfQ_h3ZXLT4~l@LDG#l>c( zSEEc$i%{+bnBNn%35u&WpCk9G@#RIay2$2R7|NhiBaO&$`ZWb(A&DUW>(iiec=|^! z)dee^V4!XoO!4$@n-7bX@KS8@+%l%QBnp42T9S zd(q^~S|QCqy@=k#?Za*pF6>NJnS5L13!}y3A9Om?JuKn#UD&xo?aokMrt>Auz}^n4 zNF=Hv=x+Lva-?UR9~D4@bWMIpCo(s>IsAL+{n)LfH4@?T(Cegi&j)$MA2}yi*AOT~ z!C|k#oV_e}B|APpXF3!*-Th5v!zRRUuQfNzu^m(l=9-(H8clR0EPsd)oCk%8?>$Xc zVHI%AaJ&^nx*sKG(z`_+^e}DXb{-aI0rgT<26(#OYyXU=c_obxxNC(HBpjj5|M}~T1yx8u)T_RFJTB@vqC?|H{pcycxSXd)!gv1 z<%fh1WXaT8p5UwUiVFHQX{<+Z;0hn$FptNy%COmf#@A_~n^Z{KYbW4`zI2Lb%U=xa zMV&xL8oCNn9_W?9OF^QHVF}aSUiZ)EUo#QrTBatE-=1FLavo3zF0(MP65BRTUbiew zYNMPy!of!p$IinGzr=W{DB#lnGNzoV$e{D7xDzto_JT7T&m=zGTO%XslI?6|7E8C&_6#f^<*2g_x_ zOf_OQY+yoFO*_+Otb6RCYg)8gqsV}$B=t`GA=nsAUQx*!KcgdOeyVb8F)Aknoj_lC z1=GBS^4of^{gR#CJw4J(5P4JMU@d-mhPxe;J5Xxvif|7?6{Y`#i>OI4LyeENJ1HH~S zahH-Y&nW_mna$s+{Ee#h1$9KI`9jXdDjRFf~GLz}R+frh-eyuB^sm?9M+XA^&gizLtLnzglm}7e-;kQJa zv6zloWmdIW?dgFuNF+MfNxiyL=oT9vIh0x_ehj{F$<8%m24r@Qz*RE;O#Jh(8l1ie z=lJ$VzNpSDK))dZ+-JVham8;vJ51&_wCJP>$TWkWSr$gx8aP3eSp35Ce=d+(Hx#*D zP|By`x}fYs>fRi3Zjkx~Hr7chr-3X<1+hrCIjFnW<&Ems0vXO7mpR~cX8RFl9DL}X zw2b@mKQ&ZBg8|6Hb5-OamSdjI`Z`8&TsKA66RRiFf>`XEj0QR@v38d!w1}k8hOxA@ z-Lq$T?=4|>rJY%W(sg#Ui4|~4`!4W|xUGGL`l;xOec@26g%7xlZqv6VcekVC2bbJy zQSB;P8*QrS!eu$zq+VthYXysfoyQQNobEPv!W)R3AAx=uy#)t>W)v_NU?)HBg7fS96Ivzb2t)k&9fojdfL5{M;|D@$44 zFDkyh0W*DH!UJi@Ta-0a$(6n|<5L{-3*M|bCqR{pXROD?IF~^G)%l!;-}w>D;Uh6@ z;mvXp@i(yN5w@i62o`D7z<+G==Z1B}t5FL0d(g9KM($h{|3NKGhC@qn+e5?P1x(_m zGs>WJ;N1Bi_okwo5`ez5jHzwJCQeA1A?t@YMccY2_OxU?{bql8F~fS-!(mAZbM;*- z9y#9306pC9Wr%its!6&2c$^D*y^bpf8`T8~`4r}RpX2M#ZMe`gyx+++^JnW(1Sw2h zRP(ZW;lmp;r>Lh!!V}=i*O0uzj}Z6EW?R7w?6l zM{HVL@yR!l8CTw8R>vb){vA9wx+u<|U}>jJchpq#q^f z+ykoooa~FwS+7Mme4j5_HD5t*VgMiLz={X&x=1J2L2C0v1wf!D^u)f;15jXB=h4Yc z{r=%dDC-ktGVM6tpLDx5!oP^!?9=S9_DOyRq|k+2UKKWVLV`%rnq(}co z%}PA5_BG5xU?&}9tivwpmY>I153QU^!mM^X-4{E;)5SoFbC`Pv#YKGl9?8$8!xk@~ zDp%*2(59usYx$!@?MbSrN{WQ}`O#LMh87)(W_AtgKQc`qUZ1G$^Rh%AO9f||Ujl6) zUO306w3#IC>^%Ca)Oxmb97|N8nt7u_a{LEN#W^e5K65UKNkqqTTl zMC|U;As)vDGISbzWP;(#Y-&C_h;rliQxpG1Ej_FxWsHTc9^6dM*Md5Kk}=S?-XMap zklRicGClP#&D^+Fy%!h(rdaN3a{aN)14}6;4zqX}S}`a#4yFF$ zmD;YoZGvGmecC`#x^brn+LdLrQ8@q^_TDY%X?X^f^ z2G~jzCu=a*EM)Vz?fYY!c-ZVXp4pVKJvu>o*;^h~5L!fRf7_a$OV(!ml_Em&$y*^u zs|tKfRionRf7iS6`MLO-mr#D@{*Us57J6_V|L=ID$kh~&LkgbK%+||1josAG9i_y8 z6f8N*gPPTGmjc)m{zOxqfoM!eKxHJd=V%(a$(L*-NS2WL0k>goG-@Xt>7$Hu+{)9P z{1%+rmZXQ8W!Fc%Brzjs=b4~e>x0EnZhbYW*z#%}`~mluo&$*C%*&F}$FS;;58q7t2g?CnN@0f7^$OQA(qf`0O%$q7G z1trvU5|Q44pfW?WJO`0!SGxfPBHAw3h6-A?s;s3Iw7E>@R6n%Ke2#5w_4@=qdh6Cp zzEcxTs8H;w0DcV9xgZ;z(%F>PF#Rj4rX)Et3%fOQ@j8)`vn?;{hm{}^OtXUff_ zJwy4)!fpfqQ4{inL#hVRd3qiC|KEXsjQ)pD7vxqaMY2Kif3DWe@_z(uG)@|hTUiH9Hfeog;&c#h44^+7iP;)|(iOT0pe6gK>`^Zn*wT*s5m-R0Hj^Y}a! z{*c}a7w~?2j_py3sS8q;Gcc3{=%`D*0M8_R^! zb9H>!$%C;gGr%{-%XzqH5XSa)d5zy&xY-G`8?pb4<8^wuriVo@^-iSe+Mw>54N821 zIq_l9_XT6MUXpIYdJAGK8LKu|beauyL64P!H`%~t>wI};8LL!jUEIQ;JWuOq7jYU~ zm`2kuPA|@u-{d@fJIeMv9nouD0({&oYaGQjAkc)1LwLewf9o^<#;*fb<6CQUtvhsy z<<*16=-)j*g-N89-1CE2aqe3N-sWqdc!X-(lbd^zL6~|Ca(qLW6xQ$Wrtofz(Gdsk z8`zidYPfP>s`5)M_P#UZ({1i-ZRShtaIruzD3Flh2_o4CsDeKkziRY8E)F|8-JBv- zzir4h81*&DH2Y$kk$FC-DeG}3-EQ<;Tbn%NE5k@DZ!uzpk$Zg)9DMv$N{F3M3FY)H zVz@djaZ?!jEu;_yu6dW}bKmJ1woWY`VdZgz%fBu8F75`vgkI zw9AhE0j_GQ*H6ERgiKWJ0Iz-E5a+~s!X&0!5YwlExuLqUU9`@Xc}gTTyNG4agmG?s zNS)u`4Pw_1tiK)>1oMogtb%po0wIO^3bejxNZ3?jN7fXr$sA4@PIfgo!6|JsHO8z1 z)7gI3(M+5<-M4rJwH|9sH52LFe&?S3q=}k630; z$qfAzY){zAbO;NH3-S_o-BcHu)QtmK@t_|djId%BIoH`x6h#0_D{ArY#EXq}Jf7LC zU9Nw~7MGzbRLNZigvaCTsNTH!g^mOf&u^o4TfU6-Q?GZ71Q1P)hO&Od3~&9Bo?rTW zSo*GbbScA-rTZ=#BNf^1Se&+=P0|p*7Icq|qqxK6IPw-TNeoxiwiirFD_H^Cx7( zKGre|YQMDp&d=0gmPAL=4KlwMtG9|*Bv6PVXd9I{RwUp=h%vUe+SV)6s9}3=Ls4{+ zm13F1Sc3KkR$-Y<{@PW>l%zRGL-Inx`uWyA+zn*MvQ>?x9Fw7J)~(!YolL{$r|I~~hrS0_6Ex3xRtT!9 zA+Stoe!NaxGu(|O!xp+z5>Ey} z@z~mO`_}N4Vc_JO(#^Bn=wU9-PcZQyH>qt_5A81KGCYN%bB%dvJ(%zYtA6n?RL{Ce zf?3vfv)bHxh;m1W%mn<4NweJ}F@xzc_Qv7AlFai=oi;Zp=H_vCW1%nK#7nulT7Fqk z5?DP(M~O&oNiPQ6%LL4yr4y9Dc#LE=s5v%2S_&^Wy=TA}4B%;~C)dFOmW~x+f_`X} zMBbg;R0r&t$gXMWIVsO|s zCSWthEIpgT&MB6Nan_doK)x5MZmik}?4psQ+(PZgZJaQ!kSmUYOp?#(VQEp)7i_*g zxICXsBI_`mEi+(7@)0nT(mqlj~PF z6|3%$N}@RACR6@EUmf3Or@j#Aa~yN>vwV*kbaEA9&cqFb^*(mCO7zS(a=7xCO2RZO z8)OXT$%3AkgZC}+6JRtr|Al^e`wXh!>wG`1dHja2HTK5(FukAX?EIb86k)W{+V%Tb zWrN{*n#f!b)#*OS@GlxChegH#|3ZwW7mV6N6N*4*^rwmhSH$23UXF6=jTSxn0Cyo8 zr;<(9sZ?a)U62SI-FkO?a);#moKf#*X*LCuYmg0%4zsm=cda6fi zV=JUe&gAO}W}nGWjh+4Jk$Gi|HM0XPJJ&qYJDT5d3U=~g*p@@IF{qC3yGXwy4oE<4 z@7HxHnwH1;U1TZI!nMz|{7GN9KpYchaDCQB74#@A4vw8%33vIc7IDK{NiCXISaEi) z5V=dM&M}uaqP{*iX@Ns|%Z~Lxl=>=V)C-j9(xM^?Fe;dm^l+rhTOH!{pWd}&zCy(t zuJvFDMH`n$S|5lPV(SEsSXVx#cWCAtCyq5a^i&qlblb)&`(>BDXvQa$NHp$iADotr z9>5FuFO(MDiH`^G)YVH&ZWNUU*A_^?2Y?BvMX)LyFH08<&wbtRVsS(4m9RPKuN#W{ zv8yyOm8MsEtt@>X6WsrfXs8q$sCJ0CnSkjVJGLSy-V(G>O5EF)zbCAqvuH!xH}IQ& zED02_CXuE3{{@g3oYVGXIqr80!ig`r+?@Fb_GG%F$=d&@$V~;9#9s#EH0Fu@a5xThOSKs;IU*xFk(H!7&RO(Oga+@&?0CI*V7?i&=4?{W|qg6 zVp`VtcE&xC%`AH51)r5`jJqsQXuKcN9gJ?-ISWN*kW4VJ#b++^~!QtxFs z4HzXrX&3}yNXZS&Z}wy1jQVwJced=Qq(UY*$aF=XhBrC6B&82P%4;)SVCHjQ%lgS^Z z_JT#smo1Fwl=6y>P07O_=%!~U5NAV9Lp5AhPWMu%rx<^QzScnJ=839<){M_pAMbd9 zl=?xmWdBG=eIaV+B8n=jpC8cEhvNSp1^h)#zbeHSN*YMYC7i^tO;hX27~rs! zoVV4D9{e86RnMy_&3Go6<^4N!@F@m61@#Ar378P8Z(~T{AyeAvboKxuEfCJvJKmxi3S zMJ5Bu#pcPzVa>SB33+IKX4x=#y^!~Qsw}8HfezAHTkIN7U+XYebDGf|F0@f9*K92) z^M}J5dxe<45sgZo0;afwJ|)*)!_9||(=9U>vNhrnyr!-I#|GRp zGXGN-oITEphg%`VgE~nLK*v-=j8k5?tvhJ5Mal7LUtGy?7VBp6=rRBI)OZEt-~?o_ zjUh2kbF(Z~A9UL}3^{|bpT{*pn|}HGc&c@8d(7XIWk0$t|9mzRr5JFOEKb(YfvK#& zjj=~?R?(glx(OE*-WV-}3CZml)g)4Hf zjd(D*U;z8sIg%!}fE~3f-!&}d>|?es7-fr$GK^|3eB)eNsEO~m$$qc}mlIBzwENvQ z+t8GZzmISYKPY<5|2~n!PB0BG<=+>+!&e8)-tx&rw z{a!r+YylQ@T^qGMRR(&!KyTZJc*Y~AtP9J!sW@KTX)#|r!#t+Jh(hFKcZTb;O7?}s-AIv zEF{Z}dkkNUU14wZ3{hPw4%T)t6Go7?dnuE(-X>u{li?gyXKQF_Pr$(RKjj7f$#(oV9~51z4e9<%P8kc+f9I63 zviv{clrelk+}Qu|@ZTwjv-DRL1p zawx(j5K!>Ty}U*QK}~iN01XX}tLHYCJS~sQg}4vwhlN}h@Q)k3TW_|7w5_o5CGoC% z-t@Sc(cba#^#|%o$(t-H<#U>+PZpIOWJaP$g08j~u?wD^mYKJ_MUoq}u1AN-1NB1r z85~Phg}3w5@K+}~F_Cp4y)5t_P8-3HS55`DITqWW&!2FW_!`A$Wy$Y4S2}2WTAoPZ z`$`I*TJF!Jr|fgXl$V=mgrjktO;1M)=T^IMSS{n#HYL~CY}xegeVAL4u*#N z1K}F{RQw3v`Bj~Nek7HQJn;7X;>lvq;`;F4MM;TXS)P)R-S#hRc>dI|9zd>Sh>?Bn zY@NWvoXK6dNNHi?;d0X{oGe%^6CX{>$nfsDLR`?uVkgi}vm*TALtsyK`t+<>9r%Nqf=el=Jj)ip`GIG9{4HQz zh0y31O=ZEVrlQ%sb3!)#Ve4YWCg1Uwv(bD71yOJO%9EfRY6oQC(D(I|E1rfCokwrD zd&jN4o&IvJQlggpbGw~$5E9=-F@6#HgXzTyXWcQksJ8<)gJXgAso5YXzCCG|Id=p< ze1=Gh?m!yO7Ul(cd-95<8dNnmFZX8x=Xf`&EV#6F7mB} zh{|Ygb^#t_6g`4}Sw2(Bk(dougjbeTD6e9HZkCtWl$Dif;fArOqeIe> z7GmXW;C|;v*elhQ)t-KP>*?9~^SgNd)7e806DKpRWw3Ehq-v23;PLi!TlAYs$ujvndQ32tP8uG;h35IswCLB_R-~mBGz3LH+Du;CiA)(yz4V;pS>ehF(ZCc#CqSG<3Zq8k$iRZ=d9whEzz?+ zVl0|0?)ZqR3!3pI&`74C<>8b*Ie9+0q??zpSs_=_-l0l~5*Kz`s}|Zfh z57Gk1AW{&%!uRc?vUl!>R;(oAv6}h?vI5CJ?qjH|w~>2Cz|!4}u~wViiF>iXf-*Yh zo+_RCj7=6P-_ygE6<9{@f>~-7cwVI~dhi)VVXi1fQZ~slYBaC91{Q`$(kEU)K?(`) zyD{T6-_Om~oX&0vGJl*Mr>u;U@+ga{02CcmwJ#?+%0@ErIED&|$59OZTkT*qVf&nL z3Z)Cav#6)}RbabFPFF!P z%HM`gz2}~GZBytY-_`9+^l+oHe8?mhnr!-1@=#NOM}TPex^9nJ(p1l6dlAP*Tb>^@ z@b#X)&mWkf&CR!AeUkEpj4X>hk=|NbTDGXgAAg_$GrWOx5!)sfoLV%tegUNb?YZ3V zw#rML3W=El_tOcj@{lH=z9~VX7ZkHK;i=;%fg$m{6do)_Ch5t%O5~=9yW1FhZ@m5~ zJ4^1;)*&n)`g=xhOo+%{q`FNVKCeoMUIq?9rxItbBuLX&h(toLXi3bQ8JM|(+2%Ei zmCc3X=i7K8zsFaKqqHC?_Xvjdgm~lI9Igvlx1N*Oqo?=wFogq}_II~7kB;v#YUdd$ zCSY6Gr{8(;>#f?2ZN8yk+{XY>?PE|0ULqRE%gY0!D|k>M4lyDSa;lnQ|F9FpHPcSK zJ|Q0Z0nPKXrcoTEpo9}mNwcF>D_|*Mpt+LI3Ts^|q2y?P@6x*+7Ox`@TYlPnbYvwb z$9PU#jjU7kkKrPr?VVl!OrdR=Fb-L+Nf%D%tHRMua`!iy#HwGzW!?K(Y^^<}8FH+$ zk(H~cg5I=-i=8Fp<9^kVX@_76M5vFI3fP5~UEav3MkQ@2r2Vp(zv%acINTtI^NoT^ zg&GBQ_!q|W8KLsZr0Y74Ke%?=U^yM64_fz|%5mo4!c=7AA4aDm_aWcjZyM#CWaPa; zmx8y$_1r+3@Shlixsr*kfq?Wo4+!Nbud!>W{*Gj|&4PiBdwE!itCuqN|MI}@FXABpzXuhYOC)U+t*K6wrE#264eWQNsWFRq17ayo(;-Emsz+=z$ zm8xtbFh6H5^(MEykl$V1PH$OZ<35`xkFY)*$kW^+XvSmlKfk*ZE1t|#AEC1N*Bcsw(Cky}u z|NTP{p1qOxIqM|+{qa$RrSMCv-&sjaDPK)^vgvAn7jY;}YMZ5Q7Be-A2HiJ3$Pqho zVbT)J=q2!z6E>1*l#ysl*O%LVX?O%RaTQ%OA12Zpp|Y`1Qc#fUGjU6{d{QO4+*kw8 zwB!4qt5uwE)QTUO1%Fk<>|x;mBPH)#yT>gA@%l)ktd9!=|A8OVN-9rPcv1iCSnu)C zh;IJdn{zh7N6k~GS35uecU!b>{ti2zr;=4N7J~MDATKfCz8~Q^ECiDw=qyLbK4|jn zqNK;j4Esrx_9e;N?aq%ZugeOOkw?SE;depC2q;PltrNyZrJD*pWWz6c@Z>Ga2RV_r zJP~cyKo?92#ODsC&T^H@RBu0Gm{GVa3(@eJVloMelDsiAw)JJ-@Eo8Ld^wSAplD;^ z70GY7ooU3~qFkkA4M|eJ7J)NlJX*v#==~<(G5ba6%~{e!CL;*t!U=|UP((fN^fkE);tjb&89YdlkhvGNFx9d=FawX#+rRL}Mpp1rFVRFhn7D!= zyBwwEJLPZr6fM33Bn0z?xac#GxmYGY(A^DvfI0Ot!zRX=v z5sw!<`K*eV$>Ubj)IRShwPw(RxZWlMq}?|XpmAdm>)Pwo{cqT5FDLT3aC19V@;<&i z42?W?rVUup1X+GcX#6?c59hV=txox8J!~q)rZvLl1=XOl9Y{r52 zzlDcTV?NWN*Gx%S+>A#L0&lYR6Ke8%rJx!eiyedC0t_B%xn4`}Hzsgp=e4O6h;I~5 zaiCaDQ*7<`a%IpY#EHkwmm`NX3_o=hVMtJm73=_HHBjmBXx_JYW$$65s<2zI5NM0*Q%q#Juo!PwIhaN`B$O3Gv7`e>C9 z0g@W?!eZGQo+e!nA0(X#J3J4pho;TV77|*z2O_V%p!c>7jbhH#ykul(wCShub-FHV z6xGY_5#6HQWR%bAQA8DNmgZmOf*}=ELRDo>jx*xNFYkOiq_p3cw1n7VU?xtgvn!m^ zH$(j-Roa6lg1&T`1(#sDQ_)^-UU~6sa6I>QrhbIy79to7CfEhHJL~I-l{puCSCn8r z@f#Uz8^`1$n_a?^viJWZh2uz|=cnh!z{ZdjM~rb)QPFoY9Q5^zW+2$L$R-S~UpKs& zs`})fx`EnSt#*i(0%;mn?2O^NIrchR4=CO&#<)*NH&7*6eLvONWPk|HvAy`nAlM6a zy0VHge}{UwEs&CFrN*I*U;`E5ol9ZX33q_oNlO_j5ZW{Cle#Eq(*H&1eeN+7;%ogj zq1Bt%jLbc->=bN5%}29c(D$#3c{95))^~)S%SCHC^&mac{{aWE2_hf{Om)3aUX<#E zKC|QJ75!-?HybE7uIukoCyii?y8to((=1KE5<6T?>LE_%pHkCqlB#%bB)_(kLY>N; zvFPiszL=wIyc|$)oMbODSctvumg$iiG6C%)J)`y6HZZ~2!ASRQAjwcQM zn=8JNIc5aOrPXL1z^$SEBF$my>b>77KhRq4p%+}sD)MGnW2Ad80dyG!spMzN$f50m zoda+r1HwKg7kqGpWxzPD>lUs>Fb;;?z>r2H8H9!(@H4M(kH&V1UH18ADb=}BZIi?#3E$);?DG>f?*o``Lk zwH*2#qn26l$)zyJU(=jhs8&1h_i`1rb<7HjMSZ`GTgI-YjSzBJnzy~KN@6LX+`?#W z&pgzIYYvr9AOs?R(5Wahb;}Rku=lno@g%~;tz6leHXj3kSMr1oe$KW$dLEqCrQ{%@ z73^E62q3o7ud<1Vem$!;Vat z_wzrwPN#i&BghgB<$*%hvu-1*isp2mD@3_PcF2xz)OutZo*XIw^+2{CLV0d#=SEu0 zdAcJBu|oi1N}9=y1zzG3wyAi%5sgWrMBm$+uVoez;>ERyr~7bX3kD)Y+;&9<;)_*S z^f-8KwlO?UZSs~0@p*$$kCSJ<53h2A*IdHtIoC7Us|ftRh>T_xci%`IP>O#S`enwuAv;(IiaVFWvPaC~6^ zu=SJQuH?>1BDXfXPZ@sE54$seGG&Fj!f@t>jR)xa508du#>_ge&Au&Y2@7Iay>()p zY+~x&MCJ>fMYn=2&Q-TD>826Pw_U?lmqYng@p9(N%fRg?`k6kF6L=&qou5gL1QE9I ze(9nLEPK#>XScrNy+93@A_bYk5T!(?--}$%v*GYyY;5zIzcs3WB=5O1Yw`IDI)ccF z)(pjeG`FdJI_}MdfTTJgU59rYYgAzU37EogwUADf>gB5;V&olv6FC%yn*!-36z=#> zPAeP5i%=G0IZqE7VT}Shf*TEkIAg>$xN)5KDSHoVL!oK_tiF^U>E|5nvV8KdK zABQvGy2<2*drJnCx1n1ef{7UsP!it9OIb29xE}XiogX@Cce?SG+xgQqFk)Bf-um1(937u?S_KwQ4&t~ZjrWr{_fYqQK1Br zIz9cRWWUtM%}VPS8JN5Uen=K-&9rWbQ7H=e@-)&^%ZOotYMQ%!1;6hJEGTN7^red~ z5kX8{552iAKZ^oeS9c3r!}M|nU7(W-cBR$saNa<1!>z*bGXH??HS2s6?9~=w&de^-@Ln%=v(~Bj5f4d zsu68R&UWKLX{8K{jQ#quwjJlBYFb|YonFG{TRIOH!OVz1z;Kod>pH+}dw5tbY#R66 z{urq2r*=dqO`wLL5q|?>dZ4<1-;$Ub=FN`z$5rIS%J^&_G0^7X_#{dqeS0Z`63hI-9D^Ev~gA~hKriE;MGWj!u6R6wicZ*ihPusMBdM%olk}?GYreHJkis-L@Fk&ZO(B8iDMYN^GNp)3~p4kWoI_1Y$(mw?b zo796uYa6S=VqkWc8fqI7D}=m#@~z2(T2eL9+sRdwfI9Ep)NkyJRd;SB?SPS$wTaL& z*_}anKgNShi(f|!DSMyP*yuX68N`a_#r+=HV^u(}VYVbZ z5_)d@-PpbP6!h!|zO=02Skz3{rp&bv$9>*HX(i?e$f;qWSRh##I&4)>DY1OQ5GiBD zJ7^dboEJkd%Bj0d;paPsVHK3i#|@@hL*RGIn7H2(Mqfn0%OE6WVq=GDu9>CzRBkrb zj6Aj%Y6B(g3-eF<{xz=+w+uTdi}P!eG2Lm3$C76sSLU9Kt9k(J;?hx}rWfVXwFyDm zXU*Ux)RoiiJy9^)tvzr40$icw89I2S6Xw9T8dQbo1GIMCqa^KG_lKs8BUNwXMtSAf z3Z(~0->Y-1<%?=Y`e1`}Z78rjJ0wb+y~&Kdy$>$Bk9ux5Uba(-V7j}2v2IfLDg(*N zhR00f2rF2+XVH5jG!wJwaPrCGEpLx|&FFvG&%FjEWCKMNNn^+5XB>yc*5y)?TDdSe zZ~DpF03eu2gs&Te8=@d?tFA3f9LZ)qc=#3ur<^gVkcVA&osqQs^a!Z*x{Cd)Ap>rUIVCQd?x9nD_0OgF0Ln`<6F_j&GWrL3)HeIU)K=%w}?E z20Oq^$%K7_k9i)LkMt~)!HFnzzF;RjuL6a+s`>f42Zvt=C$*TMz|!rK)%ZKV^CEcX zg0n?We42<7hLWP)=ok;ON4!*ZL_sfRzl{-j}N+ zneKi4@7#8rvIvnS>6AY8{+8RO(+VzEcMYl#fHG^qh2Ep%!Z$)&B+04_h7#4lN_Gll z-NHWmEw68XHgBKfv6{?Pjj=Jsh`+Dz3yvHSvuvv7aH@C&!p1Th)0bS`ojtwE?nQ1Q`Qk{=Ah`#j+0hBV9rO3vmfl*&kev3Ku5suSy zaHerUE!_k~GhXK6%c6LFoki-~wM9y(1W)r0>`S0zh&-22{nUC;9a0|yjef3y({zFic!si8N_)iKV#gUxb+(bO+0nD8~sXn7>ie3g(V{i6-RUJj=KRB6AQX zjQ*X_V=G}atun zsZJMWT0rwK5m`fROjVw6Ieq|i&rnIYg7A1Dmq@}taZ`!lzi~53+z~q&J`=#rAZAZ( zWoF-QL?&N~N+{7Hh#7$^`bi+N^QZG)=1PBSW8^J3LG3rr765_HgOGPQx1&ro$&2wA zr1-4Vsd0hng>K9M(cSd$*L?##D)%>pI?l)pQn)|!&SN4uBN-z)n}v(Pe@AQwqL?L4 z)i+K7{|C>*1yAQP(O)8D8A!Ji7Zr~r&3w_JMH#gt0UT}yZ)*D0q9qNzA=V4iF4Lzd zDBeAK=@5{CBXX2d4q)8mOn8sOu$~tb&zS|%aR{zNCbW-=$S}WZ*&lhENSxMg5}5X~ z={*P^RU0|VJ7N*>_uYM)GjzIOhvx$v8lbY~3(1f(&uAe!Z^J#cMRbfp&DRVjXG0$_ z@_6Q*YX!feksVY$c<$)j7FQqG7L$)U-(&>Wg=(lSzSIeQ*Bz^{3BSS?Q3VD)F$RgfbwpCX&gulf>rzg*cgWo*Lt@{^`vi-%Q2wTYb zFq$#Pb##g{yYM@iWL8*DS&7twz!O|!x2E3z3z)*oo>2c^!4!gXyAMi%^d75lrni35 zUuiq^Wft`|^`PW^$vb8jD-lQv;`^*kzfV*6lnV*f_cq!0aXQ7^dE8KuMJq&7ZTCEC zP`=XPX}m|U``)QOQ4l@>_hS&yU3eVMCSybWM*%clqc}I{{vXjaX5u%R{w$J5%N&gy zqO*bl(+TaM%&UMt6Z4VX8pdx?lS7>ic^oTIQo4-23&BO7kXW6+Sff2&$x_geUn!24&rrJ;v?!eJH8fhj9rLllH;R4za7kX`>Xdvc9!ev=?yb8 zBrWy++LgSCSpsq1&?p8rQ9CAzNMZ80T(u#PtbMQ*Q1K3}HO%{<6Zim5n2gB@_GG@`@`PrfecGjxO%0q?WRXcf!j6)N(j7pqK zdJ>osUlXbSVT2hIt8}WD;x0;LzQ3GE{HV2M?k^W@fVTPYSlD9E zu5N8v%ML9>66Yf+M8rX2G8U9>3h`C<~VLAC@2K8ztG(#0oUix#0!b{2OXVnSTL zxi&-@B(Z3%1ij|Lj0+O`7(3*4Zvdj87TQC))7iT--ORuk;Ah%<`|)baMveW4{L&u% z4y5I$pL4z37r??qB;U2MUaiuhiQ8^&CBF1iIw7C=fgxg*8jmGHijXcLtdnSJmb%ORyFPSXC<($5RoZ$T~?_1yu8P9yIY~vY;xv`osJ=#7Tbe z4>H{|2gp={j|KKOh!FFz>^P4D1K4Zfv~qE^pKccZ>z`a|_7|7lR@42vc!>vymsGsz z+XP5cxW^q{b+*;2Xf>#ckhu$ge7CMNO`6)I-0dSq!*kCY=k397K{9BoRM=t!571s= z(Q+~f?%yRmc$0-s=*_5#-5YVj$7JA;kp8zi<)~WOQmIgm@m*Ekc6<@)nlQm)uN<1L zjSs(Gz=#E^^d~jkGyWvJy9&ri3IU7!-rgfTi(FX&_J&>|W7F-IS(_ZgiZCPrg-vmD zN@TmJe!wHkmnF1alU`VC%V?v#p z_*wVP81&15)sjJ^Fc{>5%>1ju_I?M&0*^udV?(%57F?6a6M7aM zv`YZleN7hVQlPsE|1Vnfy>7b!*%Ulie$0_Nl(uo^J(#sTPRqzJ)-kBlSTL2ecgtN| z0|0U9{x3irt0yFQ^|#LW+r%yzdtJgW8cV4wpX1 zM^#KFDAiSj3MIs$?I-e^m^Vof?SMFApY+RI_Uw}xxB5Yhq zV$Wzw-TyX)*ilGb5ZCcTro4z~2D&rT?!U;3x9Ij}BgK^%==Oo7!YxE8w}eXdPl3^9 zbSRaOn=i6If3sg!62N|9=CH881;v-vhg&~g2dm_puD zpTn1cD}!}jxTAY7?Cgg7?I?I7@VL#1qnOG+`@C;}M)~t1SMGlci2v@E`rkC*V`sc% zk^hW-62Y06R}LQ8yE0$dz_W){VDHKiS8!@dC%PQ01Lo2n(xI7RVtsc=<_u7fpqGY? z1G^?+`&XCs_|x>m&nZ>|9q9a|FEiCzoHBFkzm$1!mj(rLoF_$1u&~9b1jVixCkqj& zhdgMg$;f%8XUAIJ*s)r6G#OlfSzMo!o+Oe(`5qf{%hBjiJ^Z*Hm32X*0TJxUt0B{` zCip`)M5je(`^{t6cBgAX-za3SaG%)rc{UkL9;;|r_VWnRN|Z=ixsESyJMdfbWw0A} z!$~Lpjmhdpr?;(JpS^Np=hYwcO5auG9|L7A3YDPmH_f$|Nh=a?xt^?5^clDW)(byNz2T41XIFa!!~Rc}fPV{a38KLEdO^1FVb(+VcP zmcYMVu**68=4k&a4(XSwxK+>S7js`9sI574j;*}euZ&9D^xU^hQy--XL|^gyD9Apz~Yr4*_hvf}qzB}Y434nHwnEtAjEAGAuBNQu{ zc->aJuvK+1<3>`W3^xXx zXvd3&2xZ)r(f>4?k&tKwpD5`s*<;^V$N7K!WX-|0Hu*C2iwy97RTulA&2@GPtDw{F zhu){|knp${0Dj_Isqt-&&nEwJf-#{bO_CLqjHdf+Yk)W)>&%v$GTB z(G16W==H^1-|A=DG}T8?vc9GIr~fQ0l>0R8xV+Zw$Dd;J4d{D%j)Ob0HVG2@;@{A? zv0U$MZLI(p(8AmHRpD4?zp?DT#cbmV4Od@R7wG`j=%%GvJdaN`2eBb2j1rOX0S{Hq z3Z^OuaC{PLyNn=Id1F$$)Utqo=0FCgsWu$;OY9X@Vpg}Xstl-gXdXE+MpGsm^~IJe z`&CaWz+%di1#IvUH6H^2wbAB?Nee|38H89!Q)kdP7RGOidH$aWcd!wT>`9=#KeQ{< ztXKF`S!o#-!?nH+NQ;s(qWpaEa(Thz2;UN#DufGud>60@EUmd>Fk_}=q*;9ra*QgbZxz{)ynN(8 z3lPga)ttuu?O3z8KvDP{dI9d@+J-7k^nFp6CiEN04ofCE=^R7h zaMpfauyZ0cfsw-}jnWibWy#OPHB$%|WAC_JcxsY?KK8V>am(!sE&@?++Di2onJdOn zJtcB-WJdA}!5PBdl~?n9dZ|s{At^4&-;a{QGU4r_5PUHPnIfuB?}pR}WMxobB|Bf` zPbl6_OzP*LDG@Uvfp>*Mm$Ch8WVD>XLoaFOy@__gasiwM(_0`2JT)cx$Gc^Y7-T-)(R%7J1 z+cK__h_YG(bdot5N-B8s01p-TuQoDqYeB1^RN;25k^;n{ESB3X!osHuynIenxKoqk zE6iQnM#H6}&CR%Y`DoG^)|~SXlZ7<&%gJMoV?^^IsLN#j@#M)584Q(q`U)7kuZg5fEUpgJb1lC$vF zS22WZxj<&i5%g!Ln!*S`p1k^KdVzp*<&=`)f9tBv?YK}ew#3fO-TAf2sVBbkLm~}N)kjKAkp(@URsUCWDMur9r#t7vdVH^bdDkO4@$w3ug`~8 z)GgwJa!SwlPoH$ z3V^K}!|(Cypn!@nTmh-0Q$xGUP5PykjeS@({X7rcg{*4I5B%`d!28*?IJgyl6DFu< zf7Jq-sO7CC3l_hn?+a-|h^vhLpsP0*yi?M8++oH^tN|YcC?~K{n?NAdG&`}}JjafS zre67k5+cHu!%OdON+oUdIuRAFBuHc-An%F@I`)ExvA5@Tpbiq6~ zNr1Si1I71aM->)&cAy1nccK=f1&QpXQ|Cz)XPwqD#so(K@$TN-`h;yeYTT=dI`sj@ zwH60LMifo%u==Dpz_0^025iT6;Na6B zgC`b%(usBZA8mi%+mJi@k}uPK>zvh6zjaPdgn!jJzqov|xJZ%xhtBDttL)5;59ULr zoy5UqVMvyb(;WJ+|4RnZPOCro5Ji8t_HGr6^$&>?xs7GZRo#U7x6X;y)|ZKt^x|Vi z`*UY|?Q`TtM9)oUh#ezz7#7@m{$S}Gy`IsFa3j`q?0T+-Zn#KnjB&C2&<2%IT0*@F zO>aVJ()D6fnTKyr7D-QxeiPQr2S>*vD(0cugdkK@^!fiIU81DmkiRF|>9TFx=b`ZvhQX}V+cGOyazy*kuCJ)e0nvrWGA z{h3H};1yt&Ut8x|3;X!&;3HrzXj&t0fsaurjm!d!Ujym|aeBA0@ZU6`gI@h*DL9glElyp&U~Q1^&R zks5p=(Ny$R6VC2&^Vfz?3Y3^Prh+T8KVueg5nl68n;Fh-re3~MsuJ?Ma@q1bI5_ar z4rc37)Gt~*+^wtitjpH9s29Fl-B+v)V?f&ofr%L#67( zXNxg;4Gc&jg z=*IqPnwv|81(zUab3q@Wvb!2{(%b2Stfx+nPstzXZFYpCJDMS!l>?bDI%s@VSV`AJ z(t0lDf{FAaV$netNRD+gT24hUHy~^r`vc+Xdn_`mIXE(E+2)O&$EgLOpk(+?NCJlZE9qzYw@KVE80g{p3zV z+at^_8s*+*5d5aif0N(W8P(szCD>&==@jI)+3~5l`Ch5mW&f&9>ND>7#{W%l{~vYv zUa2p|R=ZvU_v`zMi{$lW9={jNkVd4^J}UI=M}yJcFa{{c{Xl9KZp%C*@qFkEkpJ-m zN0Uppm_iWjyzRKXSWd=@L8!snvPq*f%FN)nG{|!7d%Bi4x!2~hQ`KI@x@9K^98^S) z=}z}B!LaF0_Qr)rMmB=Re4)(FC(xy%{JL<})Z?9>^ri@nq^B;maAUH#xg z-&eQOjOE2I9L|bxh}XfMWf#RTOpGbodScsTK&^`b*HOQW?7D=~7gQr+EHN>Ki*FRa zuzFTni(I54w$ES|yd7h^+&r)O;Vh5=OH`zC8mP?rdGbn|?aJjg(@2@f+#Gjd;O=yc z17rj!fzuA|ky6>AwEKR(S7y0WIT^0#uf5|N;{R08{3AWw(eVU-IO8fSA3bG$pE9gqSXsyJLs#ISGbSM;k*?jdw)I{1 zN@BF~g1>lr->;lED2j)REr+PH&4iBmuH5HX6UWJmPll`Kt3|K@9Cei%)7$UWd98b= z(?+d3iOL1dhKQ^g&s+IiB9@3fI;+n=v$j@_lm3uEH`!;f&+?)z01vLu^lp9sZfc$) zNGS>2$eZDWeDE0mim;8>K~-Daj0ZpF%#{r!ny>uJhW7jYydTF8wyU2pGj_8T4EPSB z*z;005#>oIMb&q-DcsfVTYjHoMye37R7EoDUO8v|amEeS4>Ga+5jzO@?uvvG%G2;Rf~@C72HnU)>mWkvN;9{N1K`8hR<>6xj)nWzkzs>ivrc zFHbnzqW#3!vQ*%0pN(Z4ilcVpGwTWRbmDKkmb9}Cx&q39?PWFR@AFfd2DWj&d<#SvXDCca?Uqyy* zHh8;XWA@9{LcVg+NRZafk!t$0h=f~Q#KgW@&BqX_<qbN;+>bpsOeM zBo1vy=+K!Zfe9HFCfVTcW9;H1QqA;x=lC1@FD2cHRExlGzq3-zRmvNemfe5J8})P6 z&*$S#!4GKG;9pYP)e|C8ar?lbe3`luH|@T79y&oAokc~C$^S!bXQ5s3;^LwJ49sAH zG}4k<^j~H@CqDYT*I9+-?31Qsr;If1%=?7ZKUa9Q&W`1d-ue)q)M^+h!oAjvsVXm? zU3Yw$$xD;SKt}h@;_4oV7_HGiLQW`wDMW^`I(;jEa|JH zfBeMgZ+AWj@4w1ET-K+UQZ2jD>H*_5NbT((%92_%u&XB#!cIF3*tAwW%*%0*1$R!( zU(=MCatwX0j^WP)yNKgq#Qd;R0j}G3=}_WG=g4Xaw+6H0=Wm;6=E@pGKN!Uh4~2>! z^Y)EJ$9R#Y512);@r{~fL~;1^bP`G~TX zm5SAU5r=MXZ?oVFvvM z*mINGPIE}X$$n-=0-ImK!;uanTL7yq(SybH6>Y2mR(E$hX|_G~D@bko_DR*0|7!V` z;=;Dq9`d6_W}LUb`^tjd5Ak|=VLu@B7I2}_Y`B`8_wXV=MTfi)5Pei8;mYIn$FE&{ zfij^iVVe1U{-uVfUCF!6vBNha7%J#_M-pDFMO4C_R@=)-8lMQPqHmKd+!eng4v28Z zHFcQpk31n+uj*2;H941P$v5 zY#Y0Qxpy%NTy-zdtI5Xs^**DiionJ4Xncw!?Yi>l@ZW5WC~=d+ASf3diB8ugs^C@4 zLGx0}1-~j}xXL(?XH!KgiTZg(ZgsF(%UR+Z$vcI8*fgWt@*{Vk3xO9hcfJxc|I;zO z$x}BwS8{xY2jeJTAuFs3oi4Wxq~V03aGCldwshDu0QFTqX%ADmMm5m${qf0F9a`^G zGl&0IxKY*#yjFtLX>H-$e%1T?Dht`j5)q7T$IF)+64PuutzN4#5(dF6RjySS1 z6hh!NoN3EpT3FMxmwG`%HRa`Xo6x)f&Op;ITyy0kNY{JNBn&2ffKReEa{DkPmMd*z zG4<2>r|O;4B4OOr&QqUYT5{UaZqrsMHiZ!H!2AeT!L5556)PW^P3te`xA4Gv6Ek;Z zYVs`Gbd0Y}6rgy zl3r2Wg#f1Tk7Rr=pOrBj2F_eGJ7a=-Sp+5AzB zstAntLSg-xKe0;5TYL7QphZaPvbhI45nON5T=~jR!|rGC6Yu!`OV!jzp3>bK+T~Cg zK^cvm2-->}Dr8-Jd6Ps0)q;KoeJ8_Y+KGn-zcZ|adEwOwh7@PqjrG)L7ToJ@%5JQ){WgerZz2;odT zgs29@m;*U*qPFP0)A&(`e82?kY3lJPAElbWJ_rewM4Zxzx)ln0(g7w9BHrOk z%}6*moh!?g(_Le@PGf6;A)$C-5Op}nmGb%>Y_e&7YfMtpg4*@&&o4i;`!_Mw{2Z78 zWRE=Ae<(Q0;gzL^FA|(?mic^kzcM4~Vkoh-v%WzAcGpRdiWuI^^pGELDSkpPm%@U zIz!9VKCGBUX4ul!45dEfv&D#izEI9ZTdn0G!;^%jsOs&~(qmy^VZUFUMFuI?3$b{K z=3ec5K7F?9=ee`+4Vp3oG_~ebrdo*>c<|diEz3Mm*7ccCf`+y3(~aE3 zJsNQV!Hgm{D6DG2@p7?F$?}bvdzbE`+QL`MnsRBp*1fyo}7>ZJ=W=T3bUaxOQ*wqa5-lKn%K_v{G z(rrPT<&*c)HjBK6YTStn@MfgzV!!*`Ig0IPn(jPz!`pO18o4{?Qqn(#pULB;C(k@j4HCmB08h-9O^`Zf=j5PO z5=dCR-EXU@Ve{T|Rx2aPR-pNR!9`Ng#zEfyiWs+^PQ^}MB*oE7c|7!%-iE=Gako)} z2oH}El!`CFS*=$s{eieH>d6~F`Y$_b%C)PDEu)U$0A+xg!JW9GEsw$dm`*65anD*L z#W2d%K2im(5xYjwftO$At_s|YPY2wj)i}QuR!5&?sjA4eH6!$Ds!IhGlku^uPo1r5 zKj!h&$p4EQKY0Ghjjc@`ZmV8zt*uMjCN{23?bS=;r+#&F5C#$mXV$KD@|1MJrF-6e zjXWCL?T{@zDHO3ERQIJ&qWcRV@#lpS+w{}VO%>$*{eRM%3#(L*3IiKUJA1EO7d%9N_@PXac3TPYD`8cu!(+IEq!!yGc_MpBUq*b&Qv*fcz9oD`Hk&cAa1LYr3g9V>*freUaA71M_eS{ucCVO zqz{5EWJE%Vi`Wu^d1g;`Bv1E{4=!4Q6pQ0l6U1F?;JGzmn|VGlIsPk7ZuOYNkb>X= zUQ(K%X2_`m-sK!j^jzlBAsP>r2gn&FFI4A#w)jHkB62Y-hS@OS=2oO;9enXH`c~zU zsUl*hNq}>vZ9V(6aN>w6oyQi90 zqjlB4Zt7X?F@+Gnqq!M>_rr(XVxT@RGWxSQOe`QF(d6%WP0xQ;V{yZ6kt+8i8bR!!6DC7<(fT)sBgW9 za$XrwsIZXMWWq_yOKUAYYo>P;H*RetHLQNL_;$M^CysUBz|`8~#)Ozj`y+|SX^7o? zM)>u@)1vFzb$caH`2pei80k;I9N`53b8PKzz*LEE$C%RXZIKDy^f_0J-JkO;A{w@6 zSpIq7stleXl@c%L*OwP6t4)@h>3g4N`pT09J^_?5Y4MhHU$m`KJRjU%&z~1##k_(< z2>(hg(Vxe1ok$Leby7c$p6z7Bk?6K)DI$jqlAh#j?9v*+M^R*?qtnL8nkGV^i`gq( zP;zk*cO9>{((Wlxs)PoF&a60wWpDo|rAF)LX zxmT8V@612ckT3JCV! zUaaKK7F({ia(g^?!>Wf-8CXDe>amZxH3Nw2i7LPeI3~wzy8&$`VGrNJ0?79(ny`<|?z&~VMyH}0UXbjL z-q$6qn5VpkUG*J&D>tcl!FwmMF>}=xfV)4IfH73{4CQd0$9LJjQ_K!QGt@xAi59Yk zTVf>7!Z88yz;+69*v6T2ax7rAG#f0G#<(kKOU0^BSGdOD<;_pMX+;0t*rQQ$O4o_b zQ#(wNgv*H-4qePjakd=8r%#CrW)#MfOPe%$BC`%?Rcs;@S+fQ2IEmnVAs}p7bL3Hx z#~kQ_6AkrJx1_B(h+uO=#frmkt$hK^DU)YZ=1wiLJqg#VABAont1xBYU4de6h20}b z3%Qg&FeXN17I!kAcskzwDEYfrDy@yy{{BMf`-kLQS|O>}<_S#tDzr-XQRTHYYE6H_ zs-XS2S_0!Xb`kjW;yfr(!4EU8fO@|OH3Plf=!hZV017#itY%PRCh|}hq3Ne_Cvpfr z9N4kTWz>C6+D*vqj-ixYbdUPdAPLu2$-KAiYTCOmmm2#lLU=E%rQCMJCO zIo$l*YOQI|q^?^{PH#n^tUt?J#?eG1gfkRwG5(@wFWZZa%Lt>q_ti7mdzfaC1-`2o zzE#3$MnO(F5^@J7S+-W-_}}P|3UL$fUN+svhHv%3+7V({t*nRRQ_)lxmzI4 zgNH17Drv-|3ZI3oQw?!|8JJ*)hx)S7g;2@$dLx_&@8BZZ<8Eb$mU~*;S zgI!TAdiJnxIQRMBT!Rc1eNGDXL1FN3L7Q>05DY&kr!2t=8q(=qlhV2PoivUFfZ$t? zXX#sC{=ITn@E8b!cVWzC8`TI=n0IOS$oI13k*vRdq%*ySzj#mGPG!~BKcTBYitIZ% zJtik5;Xcl$*#xQ!9mP>5KS?T^NgaF;a(~Fb2`>apc$d^O$SJp?!~6jaJ@h6UJhI)e zsL92OWD=A1V=iese{X$lGgy}nl;1k0y4z_ZHx&Fz#E4fKeOACG6DESv<-SCR$xE7(4&%mc1#KrZB=kkWYue3f4 zR-@1zV3>Z!bj`QByAbS^3;g=SV51ZMp=`Os9VhXB-yNttT)0h})eSgZ;c`YE)_f6M zS2lIdDmCTHNh*r@al6>m!j;cPL0+s6W+QpILmoC6;_QMo%rMPO!;T7(V!htMhKfH- zi0C0hG$_0|I)5Z(x1RQWmQveWS6#8SriQY>N>|1krw}GE0go7Z#%V7F_|_upc75kg zX|Z<@*7yK63vh~N;R2O88c3n}<;7~4{piuat%1!8FKtLiU_X-;;|^Er3XvZ*B&I$w zOQOnCa0nt95DM8Th3tO>L4O+3XY7Ao^l7ecce^w>#H6-@2ZAKX^Gn*y=qX!QY`GD{ zYS>`?b+!nA>+`C#-8Am)&IaD}^zXqesCuhNL@Yc|}^bx2t1yR0wX27zkyTj}lC*w|6wxI}3nayR-PIQ0L1s+~Qe z!u8y^_HB82XcE83Li%%Ei0uEIJbQIJd$XGd^=>09a0`(T!_4RQ-TC>}CuqJ76Pr-= z=)B(Qw4}S#vf=~tIlWIJkZ8c5_Evu%(WKT%?)tf1M((}vEMmb!D%i87FxG~1eC6w$ zo6FRscq*UbhwIs`tl?Ev_6o$j7~yw|(P;+FFSd=;RL!OUN1< zu_E~^FXw!yuGhUuGgi*^dK9Ghb44+B+e2mtCi=BG4<>NA<6pvdg3V_c$O!)lN*PF_ z{{W?Ng8u}im~DT7(s`oVTHJw-lGKIXH1zvtc|ypO?+Rmv-K||@=!yPipKKTco%#5* zg2o;r6LO05ha0Enbf9=e`50&aRI_5^mODEDs$18@2?ko2^UAYGWFRf2C+2_ILJ}ov zDQT$&0MRz$% z=*YRl<16)SKt5iw2?-42?DoId=ufeKXQS`?WY9Vti@?yu0dk&b+7k$NJbYrSrubgA z`eNhn`T>y@4pY*001}hiDTJjsyRoPzSb=I2K)7cM8xyc4P}eYdti^!%`UFpP^478Y zo}biwF?MS1(@bh$li=K4!cyQ-wFU(^Ad<=iW)f#JNnHJc@M^P?EoK8|s!q1p+-gNmnQy&8qaSw};IaqZHpJ1+{v zw%fphM}sN5;QjH&=g4G0ZmpWjM&6ux0z&u;t+%a%Rsecogq!mDvx}Tl(m_4QXxn86 z7Hu8YtM46*0Tg^GsjG@xqvERwmBbF|`N z#kV=>MqI!-s=*3`oL9Ei|44AsdH~~>ZtpD}Om?5;0gb}TNaTx}p6915?^cSWgMxRL znxTDSFf%8%>yKyx>r+;o@~U*$a6pm8B{tIdobu*KY}6xb1eJKM|<>J4rUdQl&Jx` zvt<62AN5r;b8EQ%)&IcrKr0|6($wt@yo=1jtS$3ofm#s&rXBHq-_9r?xb^*N#c8tX z&%;uN_?qc4J51hH`96g0Vya0SeE6cG_Y5B`Wp$b6H^GR-=K^5nMSB78RIIRU}YFQ!@+JY$hj1RU*o zlxWiYm`r&W_TfA9Fq>Z1SR4H$bF)vgi&T8OHY1|)y<^2CkO(YzhE#$6IGNSgv5E8Q)EpT1qBuVU&JzO@*Ns^4)K&6 zE_QDCGX^IWD{_hteR-)@c-~}T67z7b0VH0uGAG^5MG0@EvZW{Sau0JAd_evHP z70~??;GNz^+-z0*d=CuK;Wk9)QnGHF9`M9j_>hec)X2=@xoC#mTtvUS0u@}F)$}i5 z&_)6nalH8lnfxK2!ZCZD{|A>0NwR+430msW;0dKeJt<<&zm;b5YCd5wdN?NC?{L|_ zPox@_%W&k%gmd);jvEYYqW=jZ(KG)YL{j!uY9%n?ez6+wJlJYa$f+rCG%!%u!&JxH z3?*s^QKL|J>+c-Kmp#mEe~ed(iYWhsDWU`AT26h)4(I1+Agyn0Morakb!B5#Tiw@8 zP6=X=WzHepRjclmoQ^X}Ukdea0&b@Nc{owd;t55utx?9z&$T9%LWS5Kd}5cO%j8ElP(;ISZtNo$XxwKG2mM_fVih!I zg`|Xsn(8@|5VgdDl&egJe1aV`Md(oaoNDgHCBiUGIP}gv>kugCSu`3+2!zC9a%tH*HD?pzaq&)~jyv6{TMzqHg)_$R>SK56myWb`t68goK6pOxCr#Zw^caZ;MpPdvW=L_XyBCitH@eC@ z!1T!}tVl&9g}`L~$M4N7tcF2g(){<*47pS$;K-$o!pti8<%Tb zh8E|#fc>XlG*-8npQ(>|Xuz&^4dKW0^DHEbB4}iy6g>5;j=%ccT!#E{`c0?p5=-MF z{mY!ZOg{(_Z7%MwV%iQ^UFNVgkbxc<{63<#bP@xnY@_0HIpy4H1a>IZ={7 zpO=5P+XVPrI{hB$#Z1MrI_oeBOC{><7@dzN?9QxaFh5-7qKy)^YLbL31C3--+5SjI zlKG@y)PcC%V1V)y=N-foTsx!cYmP8F$-O_<9{%A3YsHYTPuE93sXmKJvbFNy)!nU@ zN?OqY`(1xOX|j7|B*mvyopASO-PXiLkss6_k_LqgCu_>4-nS0h(3glWvE}h7-&%ff zxJsX>@NiI@xE?!wgR(~Db%#v-UJc5yKJLmiR*!H9zR`c zxI&wgf;p}A(&vYYX=s4A$?D9RJr|HlNXfE|(d}w}ZL-=yX94-RdP`dG68osxd9Hl* zF=JhPlVAaZJ03Ka@oua)eh~+>%fyg4Eh;@1rtB2ji`i~X^vJ{Y)>+j;NcJB1Vf+x} z0gcSOUR79J#DjBiA*f7^lJ{x*rO`0~8`W8MijzOeHH~Te9YXIOOAo!y{qSlYp;w<*i98Q&_vv+ z#k`K8lmPd!F^A(;+nN?quWGdB{$#@QjK2J*ifB8+3n4=V9h(8Nd{}uswP-UrFH-0X zn7adGo+u8enfbZqOLRsYe}#M2X)84X+!vn+0do;7JO7-D6h+BxV20PaOHdUb_*im| zHTFFasx7Lr+(a{VB=rq1t_lB}`adaoT1fMpQl{=#XoRj!rzwneCZT@bpZf(e0UYnV zgexCC1$dK!qduEZ{aN8q3{UAp-^l15(g!bp*g&Z4m~@PsX;_-b z+9r9Htgo{2^H)n}`m~a-hes^{F@8v0$Dc7mtJwf3|4?g}a(V&_Af(lx2j z>Zqu0KHly#br2)$`ten8Da#P?r{v@UJ0cg+VG3dJa`IrEJg_hxS zk-+N?awP<}B`f+l2^{BQ@!uKEyc>-*HH?n8s=jgEsM*mrg|%9G8%aya_3i`}^~&fTr6{;rqbNxRq5DFZj|Cj5T`GS#+tFKwLPTD$T9D< zBH4U6>LWb3sxzMIxqj_Db^sU-ryE^(FE|xbtZwc5E!XE;3!d(uBcYwM#2}^2CMj04 z^1dYQ?xNG1xp8epbsSylbS|dnE$LEeT3kM)PqiBrZu)&*O4Vz-DBatW^tnyQa)Wkd zZzF6n_+?OO7UH3spemc2FlEP8eP2-%6xxQ3jqQ@fqnsqX@QdU*YKo>@8;`rwaw9Of z(MAYIb-o_Ua_fvWyf4HPES9-h#%1dmzj3>wCTf5&lmC~W*vF0IX{I(mAWyquorZUt zWAeHz5G^_8`L5WyaxlS$4QB35*xF|va1}ufYtra{6tr9=1Mu*Q8239ny5=_1YC}DC zDxf&FzSDiF?J6Y$ADXQV{(cOs11gXXvD_q3k{ac!uvC1c#(ZA&nS_H^;1=#sRc>Yd zK|YD8qScI*VP5X*-AU?0USo>Gb7p=ciEN{$zing1 z^~|~@&vNO4gMy+se$;q+wq|O@RTJ%=$D3^)pu6%Y^n0^cRk;*Y^CjWD3%^{^(Pw_e zBG`5nIoPf9_BukdvE%Vsle*RFCUGhr6}Y!_e4xe9ap#p6TqDKY&CSivJ761NYUbPUqN zfK=I@4zK~G6{?|8s|LtWt^7!EV_v*+I#jTLyFSe|x>Q*_y%a^ua}9GZtoIVa(M?#? zd~?nxWtvemYQFwqiX%Pep=Dw1y|Zc(gn#2Q_q?LJ<3iPb=auwzuBN$B(pS|+yvw=u zUEFDcodmJ`IDU!?-0V?lghrcpky7Y`KTCEwi9_ncyghG>F>^m2PiifZ*}Tdl81~)S zH978nDnRZUtR(B|bhdWQ`!%M42l=X?dul0j8(pVgX(SREQ7`^?cYc1j8hoI1?&ha+ zqO^yL?95E37q#1O%-wqv<3vzX2weAv@gLlV_htP2PPQWjar?BrzC5HRjMb(OOM-{~ zbrHW--MZqLy&d00x0nUck1Hg&1dgEy`MljNw<^x-V5Y%&LU!zG(4epiP^c8s^eaU+Zy zcymxAVR~w6>1rdx{xHjeJZg~CR0qPMXzaD}%Xz@tbY^yTauFxDJKt3g&yDkW3T}0& zURP37dNQ%n!o-cHJ3&sBrGxL2qJcTb3KI65#%2*6B(u0ey3{gO|1F4{fn1?9@N`Oi z&$=rGFJh{XlexvdGXT)bP_eMF`QNR{G*6nY)-pP}GDN2KIhN|m(pI!1v7c@KaIpU$ z{CUcL!j`f;1pJqsqBt4>G$De;W zfB$XS%^=G9N9V6U46sH2OKZcQ3U6y^%L73kUPRcMTiV(Tbq~*!tS#{0<^C19Og|RN%;& z^{&jL)F*Vkt$}5~{Q>HF6WdLwsIvcXj8<4T$<@2{ef7NQIXut3`0a5CJ6(Uo z7P}LN@vMSHC=lP+Gq8R0P z*Y3CJQ}}m3Z@BsS&Cag3=k-s1&mclELp~iQzH5GOuNQ}Yo<0EdC_f*cR&*tG{V~n~ z@5oZ3=K??9h>dt?0J3gQvlk2a?`OY{R@w$y&BPWKP6!HyMJk5HR94~G>MA4xHLT;g2PxpCH8QxmM7+(t!)I z83}Bqy#2D@`}~`sw^-={xA;woQIxJe(LSe9Xka)PoVxET$~b9SO!Hk=RE|CZI4dJ` z{zSg@!;Z{;s2aodEQNPKk|F6r0dYS^Yy#@0u<00nTMw5bGNBcznSu z^SNnqw$^a4J4`~-R6D$HM{xEr_uvSpNcN$p9~ws(O`E_(>6rNRI(VvNGNGM z$Q;mBzo$^kb@Zc*QSvBzKx+HDD3ARcW0THEO(SD9&(a%YbDv6`g+B_TA1r-jhcB^0 z*yC~tMB#VV_guC4&ak`NpSJgq{cbx9N(lu{tZ}8mE&9Lu1gGWGL8hkN{K{ZJTDmRU zU1WN52X9%A9yjzFyZsf~51u9REMNDuplm^1jhJ{e-cv? zl~J7ds!Z+#hY#lQ8MXcwVYu#n*LPjVz(sHQVSki|3<5?X($Vs{#M;&98(W{)U>{~m zH=}Ga7c!4smWZt{ZWap^;Z0`BTW-0(p%V9CQv;@3C8(I`vfsDP=!w5J`lvgjeIL{r zsWnA2c)Bis=m^DafoxqPQQPg~puLKz^xRGdInSvD`|gJB1QyTkScg6&H9Z-W6Eb#) zRTjx+?`#(I0kIN?Lh$(DF3{)BOguva$mP%OZHIq~9KQVk5tD-RRa3I%JVsTO0CiuPhXzF}7t*piXgA zi*9~b&?@ zG;zu#)gMUPCm0Q*4h_SI4Vw0dF*%4l-7P_Ax6c%FjkA0``)w6%_{U20ThmPz+QI&Y zVWV{jV(PoDh0l@f;=F2W{pmh&q5m1xgHt$l^D<$PzzX4TFibM!nnT+Jk2-T zNJoF)@#eadw;b$P{J|+8=uzJeB~*PCh%4%)Ax5TF4mv9^9U@jKkU|5BNcN8K#n$L< zxjat)9y8(F?5^}xtdI(Cg2dGBEZK7RY_2e&>+kXGOYef>-U58m$M#L%()S1C>~%#s zsyo~PPIZwm`zu0>qS#~&0{w=ACZ642#Zh-!Mu3QK!T~xT-nd=>j))vW%$>nH;=Zi~ z)ydTH<|o;t9qXIIrKKR;D*tlYvG{5122~YaHY3a=6I`R6=*2x~#`7s^Kcfe=PK~q5 zK;n3mEs(CfqRgOvKL6?PrW~`K4&}m5aQ(ue&vjunDu(3XvR#YP^{d+Zg(bd|&=Le( zbUXsRwnn_DeFm{|N)$q$(Dmo5Gx4~|ZJAB(jP?jMa*kC_bLW<7*RZJoHNF;7t0vT~Jv{iCIo~{0vv2mYklC6f&Rj>M=U~ zoRyO_v^#()J_9%(+NY;4!Ml6S1B>U4OSY3tvw3;f7CY#P)YFO!g0U3g#>Q!D0L%9L zu$`ftp>wHfUYnpB&vC_EcqNXo{-pEW`_zzjJ@Sj$Pfg8{XVPvxux2+i9uqAxOJr;W zdM88oAMDs5ip&(*Tju={KP_e~{Zbdg?t}D(jMgyC84RXxF0KNX>gxm_*r?qTe}x^s zY2n*0jRng%2G%Ds1&|J3E)Y}3p4JIeKbvA?P=8mUwn#U{!^5p%XN;V}s;8V??V&BZ zcaPuFWDp#lHky{SN* zp2In6&kRtgPDYoM*AyFoLPmaNZiHAqCyTK3$?QT%lPHlzlIA1ii`@aNvY9GWcC)ni zMw(3#jDT`xuo!cub)H8HSfB4;8O`42)JnSHKQW!cT)LfFPrxHB^KzGjvK;Z06uDjjH=Hd>!u( zA-6}Rjnw0Mm=4O6wFz)7HjZC3$6J!Yr5yEA-v*G;HS)-eiMNY+nu!jqYw;>;YOZ*g z=V$`D6B?B3cYmZ!3%bK*K2gFmN&2rNumDn**mG(Cp|^IV}*V8VB1?>frir z#dgbQ7+~Q_RCm%MtyGCBFZF$h0gMxF>Yulh7yVY-MOqvJo zR_TL|@-(Q|Z92UNBU&tbT@~{JKDRdPdD=1N>|-5iKo%x? z3oCu*u0l)PJWL1``jp<|G3Bc>uB*y2Gvs)$qdv-3yM#l*p^5sVJ{Po@@fPDdV339d z^f5r#Am#(@aOuiC4kyySYYTOXCKXPU`>n3D42+`c2Ig%!ho3E@x<#(nn)xe7qST4| zYcuR8L~a@`Ve*9x*0nL>vV_xHfz~+V zOy`N#CNb`^U9uh)Sol>TaCbh=Do2gNPO(eJUGrG_#`!5i4U`}gNUSl%n>j(KAA{)b zJsN~CVy+Z(%a@`R>D?;B?_T>VG4Y+E1Qr{u8WJ~T3=#lvttS@J1cKPnn#Ezah@4g# zyEe8DY1G&*+CIZ5teUEL{oZ>hj+u%kDGXBJPO)R+pEJhybN3kTn))o4D}PDjJ*6gD zUmufxO&zJ+CKT{wP^qCXJ)LwSkC)al)8Trg+#C!QFzwWQ+BnRvdsDJY7$_fAW2kqO zq8u4NlS`2yTUwj;G{Ri!Xyr8|5BKpKKo~e3U(Am;ow!K4voJLxc?Q(a>KmE8<-aSO z6SIVuVrpOySrg<^c^jwhGn^6O4iq?{+Akh|d(r@v|tIK?QBC*@AS-D97_GM{+V z{=#A2sJcQx_-KH`$OjJtK76$)^$pc2{d4xBk;#Wch7>{hkNHPLX+E?ExHcl)G>>7) zB$ntm9Yy!zs1KmG6nY5CI%#rNz!+jO3FW2b#4pPU1)}E36r;>#SEFc>PFUrcEE92dzL2u#OvJB+F*TFSR@~h#7`}}ql^~KB?pP%j-m=7qa6Oz; z?Aq=0CZOAH?K$GG@jt#zfbqe1K)sdMH!|np+Ncr7B1I8Zx666KH-L$hCX`XzGR$ zSi$1bo+4Gq2$*so0b1U5d4}k&LJ=GJV~MumWU_K~Hx9%bdp$qSvt!DOrmDBc8hJl| zLcg4yVEY92`!KmJp9n8lCm;IHAwSVcV&dg)F6+(KTH% z)6tVk%lEXMzj9Ey9-0g3(s{r}d*(=spyxP})(R(+3&~#nTNn9i$8Mh$>HGHb$5sT}&eNroJF-Bh@^U@cK0K2uzlLJEqXUcXSJJ|fy5Sg_AGRUMoU9#hjF_H2h(^vTb6yAAF74J-XP?zbNqRR8SM{a)9Be7W)a_Av(8&+FSL0kYp^*W32>_DKHQ@pUfu z2cye6r1sO>u;1H@)Z_YeH{bhyu^eGPK~+t@U+6pC&Ld}3?&v4zHyFEXUp6$nSAj<& zP-E6`LJCpR>0|xu>Hr-XGRw+#p?wnD^bFc=Vr6EbE zz6v9_eP!hw1Sh{mi0imtRI%rx%b>p}c-Rdd&6I{&)Kp8CtcHx^zo=|ug8Jf)HK%ih z@SF=q*R&;Mb2t8OlANC_1>+LgX z1X2~x`Pm}2n2isL&Bb0dWbrYW`#cWCRERhnuc;V4<&){B;a|Yvdg6QUhdO(`i*@1y zb&6;OEZ`K$0J~f*`_F2QP*;T}n zc^KHQz#$9L=2IphH|~cZ79fx}L$zm|Dql)|za(AY1davaaZzp_0pEjLaIpFwKP@p6-H6&bL>FHY8Rp?dVGF z;RpK#su@YM>0=C2F+a`MivA(N8C*lRObjw?`FO$^5fSmu!{Y=)k>nl)7MIjj4EI zjz|+ckXt}qSG7uxRC;A1e3U*}t*z^Yx$(R8XGOW~^e=;O{f!b4Hpt|!P`cbyNlpdn zyDsBAk+_LE%qwZjwOXQ2>FSIl&*J7SG6zLw zb(dItLAeI{@(GKX(u88mii)V37`>_gm^RdfzNSl7hMi$aq>pkTW0N|A9$|?*V}n3? zM79-0rO$#=C*zYn7s!^?x}M9@XnEmLDsc{kH62T7z^pQ}2qQTHsHqmbMW-ql0m){6 zQ!rFmFZ06EOi3vex?K+HFlpqMM*h8MF;^}X_&KRjUi~sO^ONI7 z2B)eXy^%rGalUAY+ zC%om82{!^9SkJ6+lWCQjG+3Vp)U#H79&&NURM7r0fi2nS=zjBW4xR=DEOw^VZhR0y zEJGcY5$LI`%i8K&eYArRefo{%DpI@*k6}>~Xeeq{L_84*+*dKYxxTD2V`#@vL)4iA z9j zZm|hi@^L~L%+Dz^S#>E-!slnLEW~Eo2$%|eW~}YOJBvFA?#r=LcZ2?7@pN^1o)s$` z?|bL_Q(SXXTv4>Iuts%u-!*8vf&%Z$JNl3^9l|`(G*2r9GL!AR zojm=j!MJ>@ogYEd47pfj{vC7oDwml*=Q54@_N*gg`B#P4;YkQhE+TVV(GVJ zjcLx8p5Xi39-jyK7FjQ&A*>X+y@J12m=iEUC71WCM0I7Ql#y#GrMprxJ=hy1#yMAx zjal5_B}p52tQ~%Cs6zvIoJ1bkSFu|%;#!*J+l97*nBb=Rauw#6Fk+Lo6Q{)akougA1RFE!bKyZNO_Ma8svf~8((WU;S z=L83-L1O}YxZd3z?(iGKr{oO=Bfe2RGgwB;^**q$!en_#M}Z`TwDu9-g*i7mu8eKU zbyQmEUNCshI3{DgIz*K>nI_1+iei|ZxgY6Y-NHkRe4YvPcN7U?WLi2@)smZ;&Nb`& zX-5qLwA}mh!$3>F-7%29dxa*pFWsJ#lvVBHPQ%BBf7Z-;@`DJ?SmEA=${^BI~V?#L~-D; zn_?P|`aEO_kJrdaEFc{y2K8%AMs#hGRl#ADUzdOx!j}oi|~O z@iX&@i+#@0r&H++0WCgd_Syp07}A`E-A_aU37Vc)9{lye3d@-cyFwl1i)SYtaq2zp zqaBgj%{zf47@wypF10C6OPGK}~ZaI&7VYOm5XzmutY zXxhG{FYkx3w+1JbD-|l+RdO0@Vl?rv~=$&dJ)1g?9aVPwezn?IcF!aUFq1aD7S=gJNxwJlCdJ@Me;DmqY5! zh3Gt3V$C#cdPCbJS1(ij?i07zI8ErD*q4+Dr{;bmR#cW0Z)AD)sxtW*D{yl|I~~yQ zy_GPvD2lP=upi?&W)y`p{hBY@LXtKS1T!N;dj#J&)dsHdZiLgx!ytNxH3X~qx92Xr z@xtFYNX(<0Q&R(KsPDyF7k8wKmKw2U5AfS5EAREFc6oJ-6>1i_&rm?A=@6>tRVTj0 z`z&`P$)H~Ok?37&{nue7>wgG`zPdP@+c{DiSsOSS(0iI2*qRajhj}VsA%UZbfirN4 zkKZ6NAQm7-AdVn*AWpzvQxIp6Di9(NHQ>A>h%s=E8H5pp355Ocl`QORg@N@Bl)_xh zjLb}o0A@~RMm82E4jM*I3Pwf>;9@d%#{Vx%0P7))U5rfrd%ORSu^-?+#n5twmP*bx z46;OQjEoGT7LHENM68^w0N|{(vxy^vs5S7Ig-wj?j7=D%O>E7a&51bJIR1<$ot%N! z!Uhq}J)=@br$T2~MK*$ZVW0s96JDFzRZsdjrsFZqkE2XdN~HW79`{mjqqX&k{jRc1 zWFk37luibFi)93Q2GOiQ2=%q1J8g{5v5<w$H(;)ndhcC0o6zU1-;7dkz&IVL(=S~t5p7#stH^J1ClyL>rCh@>Le<>-cW)Lg{Csr3e>}}^r|oz1{5D|xD93}E z*4sTa#xc_8VY{+}y2t_h&34tyb+rV(xnlldwdJ)Oz;wk8-wOTB9&7W8uzEH!4%{K= zCE9Z>6w1~eI7GFD{92;27{+Bq>$ci1g-JdwzC{#p@HiCQEX+Vud4E$Pa#C(1B0DkN z+};t;8){LcSdC-Zd#q#x8pYaA-bRa*P={P1@{u>0iZgh6suJbjDf6*ieH1NmYhiX`7L)S&V9jRNUY&@s1+Jf2(&d6+@Td;}9z zSJWa(keRyGaKv7%1-Q+XO@oSj_b$}IIAdKsZJB{_O#01b!y^I9{INbx>hBcJb)IT+ z+2#dn^A;-Pxq)NT?e8)3M=b$TJdxxr1nA?7gQTCH2(gq{TXO3MP6*Yll5!xLxbP0g zkEc$ajOI1a{j6KJ^|7rBvE~Pa>gZj~_S}`GN3t$iuAJ-ebH8Suu4F;8V=T3s%VhQ= zAaB&T)Jq_5IQHjna}{F%M=dVK^bDE8Nx`zpUg$ThLFI(z-m3)=;(b2@#~Abnbu&x8 z4PG%QzJ(*7$lAv=jrBWZJB0!|x2i(i28B#P@EwoxO<^*$2rYA6Vv6LiGCpoygKtFWp)OBn%L`|OIU=5?o zzRMmlQxLdMgI7E#Jjs*Ee$aA8;Kn`{YyG$C79yM#)?jScXMh^$6sX-0r)!&8@Pd2~ zD2X6()^zw@^U)eD^s|^AD`OJy+C=nec%|5AG6EmAE7U9Qg>`^u01THaS`yUG!La`39%XJ7d@*DZkDn*|m`8BsMm8heJj|fIb(UQzA0O9z{wE zMn9#*d{e-i0JJkU+v^dg#=HZ2Fybl@DF%J3kBjLI!Y7?;N2*9TYAZT?CMOKH2Z7^6 z^cBis6iUJQ=r0IM4WPh{5(kszfcijho$skz*-0g4nuie?>Z?N)N%gVEe7vf$j@pDA zNIQCmn`$-`$uh~}VFde}-fgC9Y^Fj)V&xHB2CdfiNv5aqQ#u&7hO3?Mrv?O1|0_?3 zbUtQ^9ge_k@JH$aF6c{Tn0lo6a^gA4=^uhyj+&%9LHxaWaI+(+{wa_=q2*V`hYot~ zb+&MP}x<7BhC=3tPls%mX;R7JZD5{bvf4r4g1tFn9p^wwOEsO5vX) zeQ88r$y)ti1BcH29k#gPb$Z)_B6+Ve``5SDd%cLn`b^~%aNpL9gmG!Ve-_1IWL;*e zvqdIUtBE1_75*@E7FK=)Ol+i%Z1MU+_ledON|QMm!(EMR2u-u!aMcF}7T<%q>)VhE z79egNZR9|1h>GUZaz+~JMPca$(4mM2YK6f?yh~~bgX6yjE~qJrbOpHt$}P*s#SL)! zHw=PK*UM00lM24!%Yzv|08ixzR8=e<%_lRKt90ZU=0{vA>{{N|c7fq0s6rr}PCz2e zwgNE{v&fB4FT1qUQ6yzRNnuZcG|w8GxyJ)>2&afcQx6G*seIhA*RoI8ECf3&g9?)v zd>BkvJT;N7e=2O;=oQd#3#RLFO3@c0x1>h+` zVJiePPJjnroTwaT$TS^dry=YarEb*g&Lv7a(E$~tr3&4QGL2vg^GP`;bG5OL0fF6GXU}2a*|<+pK{q1K4H@~?A>1GHd9Vvq!9gHCir}hS zWi4n=-NV8AGm(Y1M-D^BA~Cs@JM(S5U{SRAC`&}GJv;pgYy@a@0HdPH9W2y zO}O|*Y!qc{V7fhMU=uyL2*6g1fNnscB4kVIvz>tupQvuA2(+jFBwGi2&kLJ6(a|z? zEhY^GBEQ*#C_H77SYBp!+2FK*0j^ZX;+Zp>%wp7A4eQrkv4ww^j?Jbsl>#_T|HUEpV zuYiq&ht(`IGi{j}cFWu?Gi;fenVFfH8MoXiGcz+YYD#N0Gh;RviSqBoY4wC;;gmFAG49O~+H>dX(^ zoJ74#>C)=CTB}$st8jhS1fa}p7X#TADBa+ZacT~6y^c8OPDqmoq>WvUxGx7Tg2xV*s{)g3;2@7Je?lsKQWr_-{U z3xXZrw|Xi<&$pnsEAQK6@mHtYoBZRcVm$>J&!*(RQwNrPIG2>KOTs#x4e%Y zuV0R?p2VkJ2JBp|8o4A+x*P8IFwq!<&s2#mxkp18|N3Gx>Bw#0cy&wnrtX8Uszeic z-W#YAVG(h$r2B3RGRNp#r6dK zyy0?ADKWpdc6`ItV$ENnspXfenCgz^ZHKGFw9j_G9GIdsq;vG0EzdChj1X`D0HW1% zCPa%=aG9Z0|8o0j5k9Z&byHmaV<_X!F06*p=L(YupR{y%rG>%P4B4YH)j6euT8EFR|-szrTGrm+w&q zVr{&#G3mKqERvnf^w_<=GWk9heNxm##eD8@z|9*1uCK9*hf;m}jDoGkj#pnnI~Qhh z*0)};g|uXznA@H7P#ce?iD3bn7YGq3_XKLIlUZSFWBt=NVS_M#`=do?Ce-=8E+=JC z_3QcaQhAk`nopF8p0*h4TXaXaJqf++s7>3(x;5glvMxlza=WfS@_6n^jOFQM0O=#j z*{o5xZx?gt0vJ_87hO(AFD;N(EGE}8B^uU;7S)ES_|LZE`IExv9CtErlT$e(ZZ+fr zZ14bEHm39L&lM)3c311yrsTBMp@(eK(dqh=7*Gw(WS4a=(+&?WKIJ^e*P(~D_k3ao zIV%3wDR{lt!?GH0qm%J%EeIz$rTU6&j}Fqu&yzguHrESSUDprLd5U6L8rVAcHZB`H zlc|>OywC#|pG`)k+lr%w(XteIsytnOlPrrrM^5qbefSV|D4jw;sQ>Ip0RQ(-@-9uE za$p&RJZvr+FNM1l@E^iLU>T%5d@dF*gS#fMao6Hs!VF9sQGn)he6n8iuI@RjM{g{bIpRMu3A6WN- zH^mA<-}Fw;^Y=Q>^F7#spqt5J{ySQf!0uv_{tB=bn}{>k!=00>@v zp4;9FL(1uV{J09qTl1PYK_Wu2sDCyb3c(%FnfAG#AR5$hwd3_B*tyVzlrH!dcTej>xINI@8p3N@k_ zs88JE9J9|h=9FV4pu&w!iXM|3K7^Qo%|+*>a@PfR?t1jy1)f08z~^G~GW|=CjKDL4 zRm}@*`K@7g-~QXEC4p|Hi<(28eoDPUd+h|)Bv3|ug1pXKCL5%=CvDOysYKsPd@n-j zd_(P9t*a@qUFx$ZpO!KX@tf=UmU#|eJKDv3f-J-Fso{7pa@p5~&u(fU-`j8wQT6Q^ z^tR^%&xUxe&*3r$Q+I{mR>`9de`CcWuZ4`lZ#`>YcptD61VW$B3gm)r=d@`MPERwrG5GVZc9ck^~EB#D%=KlUy=9T z4#!9aau@or1y-C>y;@bAIz}wTcM%s@Gr7iOfV@b2IR-iHm_@!&EchPA$Jy6TNR+3@ z)8vow)_iupJv~we8t;Vt&lbAR4~}?=3+v8mL3O^a-1`t)3eK&ul0&=laL)9;`y7|u ziGBHTg-NyTO|eCKKBjD2Pw4*fcL-*&6cC?D(QEm0qn47Tfu9G`-ioi#+C2-xW&dmm zBGu)P=F9=`Qv&lZiQlkcY062Qh72f=lPQD7NA?iJQn|r{`$LGjWw&MSGa-gy>M3D?>cn zh1e@I9fPJYKR@=SL$b43GQ19!BNxY{QOky*ZMHOjgMx}AG{QR z+^U~WF`Ws1OC?DOqaPXqc8IGV2x3_P;-QvH?5{!HOQ6L^?4M<}7xvO2@ACrqbm}F( zgBC7@0n8HLi3@$nVB;0*SjM{+2(6buSzzNCe_V`UfF9!>c7sUA%uciQcZrncdF}DF z=<@EOJ`a3D4|ae@WYx>eBkdIqnpE2@gJGT_enh(b=6foPW>}%v?jiPkK_;K$evAF+ zQos0pi+3RyhsuwEkCttO+-`&RZF6t%JuSBP7~R?T)fntMv74Rt=k}3+&;Hv6`k4~? z!=21i^Vpp<;@S+`VNg;F=MSA);akWD8if_zuQUD;3JF{9^KM~A=X3j%<87IV0?3u> zyV1Pxu(S0BuwwE#{kkji2AitY-7q8m3;4oBh-+u2;s^$Hp6Q6eXB1(pS{@nS$Kh#gqIWY71tz^2yRZv1xerM2`>s!orp ze7vO(6l3}7F1X(wH+IV!AV*f8%Jv5$1Fvxxrfs(4eT}YHZ%*!vb@f$Dtx4XB<;phmWM27b@J#1){c-+ zh#LK0+b>4EN`q)|wR&K$)h{vbZ!$u0Ha(Oio-Uu5+XSHIsUUUTId%4=h3?>-c-FH#TpDHrFJOWnSp{J+Sr zUhN4tQeNlPNzAL=7uGA7?_4WDY*RtfpUpmQA2R%Iu4hVDP@hU1Lo^(H_HEK)vt`XF zU$|H|p<2AiaPJiC8%$f1<&;6i<1zusS;@&+7!-F{HHnT%|Iw7-C%u1kdh0FmX5ll1 z3YOj~uo5Ue0 zmhY?)Ij7_QF0tP7KzsO}MYBa zm^Zoz?)xS}>R;{A^6cN|8c!>0>y=v+Hz#Cq|SSr~5u>`r{QAW6yLozERpc9yYWs_aJ>WUyDE@%9g+3! zZtDBg-pr$&ilxX@vyN#aaz+rG^r+KfOQ)e^+8Kdfq)-X znsaPZ{Hp`7(@;<2G_y#R@}CcLeJjz0?uT1T=}S5YNgI9 zWJmV3ug4+l!vQM^x*2^Zl4_4CM4hR9Up!+V=^5{K!tW||o6JgbR|AP^R8JRn&jTBq z=i>Hn%%|KlH|@2d-VB)Ne90o+SC`>66E{N0OPoHvvocn-le>4tm0_07D@sW7B3$ip zNWSGbL$i2gj~*k33p=jm#R8(we~(!%Xj9a~!`bK!>jB+GZ9JQ*rl^)L{Uui*W6LZ@SCla4 zRFIxC7yq4#@|~gY!P|?(*Hqw(rSJbRQV>;-&-r)*F^d!~JMtpjtoh$q}1m}Uic&?b=yB)A{buU9=qZQrkVwZ8)Gr3(jRD{ zJ7U+F=TNL>3JjrNTnuWrMmv|96U{nCR5;P{GJ#Ui&#VU>wH#Gd6)6HxX=GJgWX7;G zEUpf{C(cpa+&Qj2{%HZ_Gffn`&-S(PZz>9G6CPKQi&aS7L z-lg;pA+>QfPaQY9KkZ+U)V>!KMphyl?xR-4D>*^Pkn{ITtYxXtD$XUmZ2V7|ij8(* zl-rUsiBqBfTCLVDc$|!jTjd`&PSF9(cB0}r|KoV@#rS7YxE|XQUw+lB79VJHnSv`A zz&Qd%9Q><-IA%IGdDpo*@w-^Qk`VTzv{>5UjN$&LPOfnNE8T89)vRl8@f}z|C~W|q z$3R|1im0&838|$4&J+aqUmvTM$%Hk2`GV3~rSb$bMH#(<*}1*6_bHijY6>`=o>5o! zWlbs%v>*4Di3yg86~B_iT$Csk7j$LUy&bM3S~h`q-!0GX$;s}?l`E-Y5POv5@l1$3 zu$1UIrc}{7n2VP~lwO*Bcdo4mo0{*k?LyDi$3~rmOO*&&MBXK`D|nHO%b(r< z9K(l*w;zS(mFbBrg(N176v!Mol+W!c4>41!q%OZHyL*;>vwDwQ2cuf4loIXe90lq6swf#Vf)jv{j z9Nce_1~Sxemv{0cWVxE?cyKd{8J>!x5{jdL)*EC06e}UHwm-N2sk@O__|nQkEac15 z(gK;7ba#Q(2S5AQwT0M_LDEs_nv~(mQHFvc*ypZ*fyYBaaj9@SU(@n;48m#Fd&8sz z!=ws~tmqn|WVRH;Bnu{X#A22l`-na-PE=Tl5{8!TZ*iSK>=Ep}H%v@0Osv325)0Gw*|!W1C|00K%`&Bn z(7{o96&7HLr>+2M>+l%PH`4;&+u>Aan~One62Vqq0=Set{6||Kj=Bq%ZQJ&+|Ew$( zb@Aru(=H{_3*Sg545jrW{Ht-W3Fu5nk$eskM}?(CN;Kh zv=5*6)i2kOGWLEo)O)PnVjW=O-8VgxkH+_q>RXh8FB+ftsKcc$hwS&400mJCP` z;d`4v$EVcme-;>ptLpi0!R{Yi?Eeee{cjNUe+K|_vHl+cU^Zs1{~8%wqBC)AGNQ;H z+#(XM4smE*!_g-Zd;GTpzY3;b1UAAq7n?PKilv#YIVoNLnWZ1k7!BC3A8ZudI}TQF zIHd=o^b-ZFfY@XJiCs(=xcZX>Vrby;{*vG6da{Ds=L&gG=KYH6*VZqc`(G|AT#uoK zZVQab4N>SHe(SjCK(p

>IoFHUA#K2A4M>RgcsCa^2n9u3ig#-+^97RI1;JPE}r- zjw9-4sZOrD-{w(pPs|pkukGfv%o7NDT8J#M=9ctjkU4cB(T7=%|<|IYMqB! zwG**E7<9+aH-m3XTs?r?WqT}$NsI!t$w7I0wqFs9{{BmaL5CPXSd2Q4eZKf?^j6;0 zs1Yi{?7ypBH!8N!}0=-$Ni5R41& zm1JyMZ>~Emz!_J`s5c){ERwmME+g+SC-1DJ;SLHbrY@njD6I94eINbp*XX6&jzSW@&45ds2k(i)_6 z04$Ov7nU}4t0zssE(+}QDT|{FVQx5N1TM$Q++Nt%!$1{RlDkxU30Z0+c!jVfSNLxnz{EH5}hWp+#wvGzJy9bSYN? z=rn+IHdL#53`FITpaD!ZfqoW53hO%<9taG90I1jRG-9p+dGvlZZ0QFOF!s`e)QGgY znjt}TVfTKs0>c&v(~$Coe(zgd}-SXXxdC9ywbz> z!R3SLOYt2_?y#zC;ZiWSKPzEtQc)Uu8D?hu-f_-Oe;LK3O9m3qxmO#|dr$S3l{SxQJ9dMD2Ac#;yFEOsM-Ny;xPvaC5 z`a`}tyb8;H*cEKIE&kSg-yNZHY(6`{oyi5{m**jqi$P3|UIpJ@aA4)aF{4Qca+S(3 zI`mBG#8uks$%k8}GQd(uyNY#(9IAv-2gez@AQ|J7*6Ur(#}Nr3h*d*vlwnQ>EyPkW z6x3H`bUzc)EhQLnaT-JzX>tbg1jCL{r$ZYc#(#Upt?}%46Q1qY!tt6c&pj}$>bN1` z7+}x0N4^8Yf^rgD4S-XBo{avJ5dc^#<5701xcMvGpMLYkvr?5#Mk7TN{o`0oFW*26 z!l;1kBybK)6*f;ustzY27a4AO`bQF}*DftN^e~GL%34ZW7A_lztdK!;FFia4F=Q0# z#IEpR)8P~*8K)Q{L6DNvQOGehE;HSTGv8OGTiny*W#iU8Tf5fEmnzGao!?0zs8v3COxt>@n{w^mc&Q`CsQUWIU)fkLVtIv^3 z@vc|K9HJojP%Fe0${{oOE}{nuT`xE%fd^l;5R+td`Q#tD=qnjNNr*3uRN`;uz#q=TR)@(mlE)3QX-VAPny@C3;iZVg%XlR0qTG?(WwdZ21La1 z`)vckSoD>)Q081tB?pVD)AZp`Rh>Uh%v=maf)yfkB>(g(Q#fWn7c~#+>Q{R1i6@5X z`m>K|twEPj8RojN*gA~;eN@jiL)I|(;z>>9eyiI9H%#T}qg_@wM^tJwCWfvgXytH&B|x-7_?$MWF!_SGB*94 z$cb0~n|wONDga0})D(Q=&sM)Iy}2>#hR(r}dILHGE-E0q`Akf4r7l>=8uf+%0HZ!& zn*_r!tRrr>IShq0!KNntK?kF-$f`(qQ^{ONsulvMYocb1c3-RwNWr7l=cc}@J<~=R z$ZrjdcE@loW`>Gn0iq!*xYxJB7o!YSJ=*+sG8m*vJqvM5__TNQ8Y znC=f|>$s$_IajD&3h_iZsw8k!%E@dY(~H9~q)Ea9S4lz5fQ)01(|34Tsw7^iW$pa z+lfXF;8A8yZIVNC2N`U3`Kkn~{=*+x~OB$R({lq_}5t zkEB0xYwa9Ic=I??mI9n$lBc(K!ddMe_v4Rm-{?tsV6+wSWV^m`f*cp>xB z1)0iy9CwQI+he@S*y|r@6UQ-meWud$KD{xk)%~o-CR%;}8|&0-DvTrWLkK&qOxL|F z7cr8y>UW-~?$vL+>m$)^?b?H#&d(M?b=|84-Q+Q+F_w)^uk-uQ&f5pFxXyb=4kg~Q z!L@Zs6yqOOcfl@pm-*&qDpoCRaGe&LYq!)Ji7%o!0%vC@rM_HYFOfz#Y!^6>pAO0t zGAGGPHfYhr=1Mk(4@fhIP7SgTPMD#{1B|E_|47N=y#kv zES)Xr=EmiOZbd&WARf-p*fjrToxkJN1T_BenyUJhO>v&u?3k)=!*yZqkZdFA1L|45 zu!Jo8?v8Z-qYOuOHEcC$hQ_Kn!hb|n_QN{*R~DyK=GaOUHj@4?DPR9fFz$l@_$L!rJLyQX?L_PN#xcA4*kYk`usMB;OiN9g z*#oz6tD{BN>o}&z_hKXyHc0^uY2w@}0Ydv$Lnmt1GCuz_^=}hUD&pJX)^q|LCC}Fc zy8SJLcF04TCE>;?Eo9&Ge;VR!T@o0dkz?2mG?-?=5aa&MQ8q8YNH)=Fiby2e=j<)z z9CtMyH`{4*(Q66tZ_uLriW(W@pUi8Yr6Sco3XM2CEso&5eL>wf2Bi+AaD5zCMJcuu zHWIm7o&C{_5{)=!M8{?*vQ>`ZV`YnDqM|hg)*U94W%uV!$ujJFH?6#Y??d&03o44W z`f(>Cm@m1Hj?w}fjXhSB?RBwn!gt-RW9EP6ZU6NWeIQ^lmBV7RskA#$blyFH*({LW zf2FQ!jk5ok>2yfQc1TDy)n$oN3Ty0ONQm(tt6&$5j(a-HPDedwPmi6Mab>EaQvbLs zV~<-zp`k0I^>{PiRsQt7DIkNO6*k35<=W61MbHo+9j(4%gzGcr+!tF* zUBm`y{j*Uxk7lSC3$wh)6ls;rd4b0UhFK6ykosfer{EEqb5IZ>=`(l`?M0`>MuC_bvXumR$q1mP zdmqoVGh-cfRBpoLru9o76Xn^_nh?c4PNn?wz74X;zFMqjH6N=K{r_x{36Sh)Pn`IN z6Z?CM_l2djA`8R-&0g1;%gUv)E?y#@%(|T}m-n_PWEXG-?2UtYQ)wn6p9aep`O8KY znwY%rkJk{=bnnf^OUXVL<|fHDLOx`IwZGVWEW@fKPj9L!YdJ&k?TV*YjZ)$F9W(&4 z5WLNvFK!I)JT@9?)`fpJ67jFl)ervFX#Prt&En$pL(+nwkL>%xE69KDRxA~~o#VVM zr&DaCN+PS&s7r?oKo?|{o9D|T!@C#7JJ0)I^^{A-3bNf}wd8*&`Ql#YTI=_XRH>e_ z-syPBbDbkR7%b#XU6n05U4FyLf*%irtW=cQ7Nr!+w@~?>>L33h)@kDHmU{yUfpC^# zZD}?`)3~1BRGBzmqp5>bvd|J4Ueh6xm1g%^l24w&>`Ur$q-OWFg8%7#H)HEtmnADW zXpjMThy0oCWf}O6zfWiOK~r_n6QnddxQ9+-weXL+!AQlr$ZZ%hF;WtpW#7ve8693D zlAFLtktWXA9sXg;+1OMRHe0c=|cc%{J~T?$)R!2r`7&;F-6?ZIIP1`ps`1 zW4hb*l!xhUiEM@N4;w18QPAi{R~rD?r2@;$4_&+_!+N_jP1CG(S3t66 z%=)^zq=iv+yBYWUU>&HXcq*Z+PS?@%;Y~{0->vf*zLyiV?w578t!%Ic#EI+`(cYBe zT4`HP+ON{of6X%1wITV2Tg-j&Otchs;I+1@?B*P`wyQ|iGhd`!*Jh_P*@Ch4ZLIJo zJV6)!va4F!R24VYe=Wo~?S?&-&wauyXk6bna@sH;^zj97VxYm z=#z18$7Z^^Xy*?UkJCRuTy0W(tZ<)Py-zkM*EvA`R$H7)d!3s5#dgA9f)3a1XxzY? zK72M?v|yvY1jWBArfu6_+2r{?ts@J2KJN&1XL%}KauL_?e+&Xv(wc0e-0NQOkvM%X z9>?M`_v zSeXiDcPN&2$nJ*JFY#;G%H<)y8sq<(3G->_2;KRpli@5YHjSeWpVKM)F@0-rU=85I zP@B!t39E@0%eYeIgEy)yGi|#cX-G(O`sGq2I;&m9IN&p|bX@OK^3n*IGFf_fzoHJiEp zs=c`_`d7TUtOwm!Uay_-bzpCd|Hwe$aZ4iv*O`M|GlP3osHhcIf|IbT)kt;A7D=ol z1K$&4bPZwiv1)=z8U1PIt(-IncVbigrS8VcZ+R^Ri#LeNdH9}pzY%1DJmteT>m*`v zKJkfaxhXlJxVAZJ4W98%-^*PK*B?AFjtuvi!5NihP;Ff$$z6%X%gK+CS_nO3F79=n za*B6Ckzb+`qn9~#7bz4vP2p^Ef}ZcywVUhaT+|VMwl}a3NK&b@ zJB!?o&Aj7H`JEu0FXuXKUE3)^i3e&aY6M0DS(4wpvK0{Qd??0X&8vD6k~i=rxh$pI z4HL>SW*xlA?8Mu!lCk|c&a|Fguab+f&aK9+ym~M%EEukin|!KY8q-by1u1t&c|HeI zfX8o!ap+PP)j0%I`d!sNr^8-zPy=9iB$8N1G~+DA;lWVBgkD@&r~~|-`UCZ zJ-<7TaW*y}<*0+gL|vj_%(MS4?#NX-sirzFkxIeltYkt0cnBKfR9ms+P$74xEGvmy z09V;x+EV79aA=I=yQJ^(u+gjJw-GA2k>#sDiFhP3jKhw+FeupC23t1cyKiCQpU{we z=c-!O8bdd6_wt)f*WA-o&;{8pG<$xqv1_B&@RfZoWpY_%dCC4O!0l@$z#%8PFGDj8 z*k&ve=so1*yu5Fg(bcww;7%<=Z#5i|x@)VnjIv^37g2sR*gY-UkqWGlN(GhS+#}qL ze%q&B(b-|X1zvYLUk2dUvWw7*08=v#lT2?{SGL=q7a>EvvPM}6Vxul%6hN7yJ*%|V zNn9=B7?PLGX{+Z{lEoHYA}4n1p;{30Jj-37FVA3D&7RV7;Vg2dwz2<|Is1%kR<7hq zwnqv#pB72V8x?<0-q|FbGL?O6SNmS1?dDx^NVK`&!^@~vt2Nkl`&jE;B(U`j^7|I? z)pHurs}edT$og{2W1)if!_afNj&tq9UwI3Lp?O_g+UhXn~g}RHtCT(7PNfFNhoUgKi@xgKDNCwnF};mi7%3Ryj<#($ z4KtnRF<#iNC4rySwc?Zp;6>MZnlq)1c1QHpd7A5V+$HypQeK4hjj2W!wO1ImoGP5kx?*bgs3wtR0Xm>Ddt}21rR2ZY7B+eY6n1YD6X&5hMMW{BHtBP%Il@| zr-|eN5TL;o_eCYX5MRbH4@sWaqD!XYT?rEBCOqWn_13|-0gad=&V|9)9Tsv_B5M+WUc zCA)WFwhjSNzCn7nJt6QhzQcR-L8;K&$pE&)-|={HVD|VuK)C5UeVura{bCh1-DTE= zl$CGl1DdEsOxpamA)REzL*ozIkm2odnI-^m_<17F=cVKX``fyN7X3RuejIOov?GIO zVMZ{ibyOAE3`-J-e^yV3qbAZq3Z{jgu*Q0pD+R~Sm=tKo{XGX8?5`D9Auu#+Y;xk> zGxz`iRR&G2*;^7=SDsVTm6!#SUdpluz0^s4@=Y1{3*DqC+Jip6@mBlw{b$?l5>t1X zG{zaG&VIs{Y%Tkl4zk~&8l#^3Q^d^Wy4I_7!^p~FdI*irK0xp3ZQrr+`kYRbhM<|+ zRK5W?1^wCqC!B1P5h!2*XV>L?8Uhelw^Oz2eEFj`&A(hm9=uj}@yv%%kXAV&{c1Qg zpSe)d#kJds!0r zD!}O`vF(1pXY~~z^w3N8>3P&Mv+aAASM#<}{dnuw^EQ1%ly2wwM8)LucNzMuVGm%6 zwde6ymaW|h$!sO}bKmWpoPSnaL+%h?>~w;fmqFJrtI;5<@xENZt6gtkd9p&lV;!cA zvs~cUy0M=O5RFTEDNo?r1FXPgi#?Kd&i?wHa{%D+CJGri5@V<5W5=<@>S%*!{<6(z zjoZZzlclC29P>P~)`%J7^R7hYNY(g5Lr1Y>O3kmf*#Z8Fc}B=Xj-hrm{t@#&%`Qxb z7Wt0h!9NX6Ggp4J>}3oHM&V?@#3**!T;7GJBoNf;aj2F8@a&>LvD@OEI-Z?-i+=eAtz=kw#>u${NVji;<3;ccv zW#IOKcD zcGO&Ic-hKm5usT%=r#iBxrT8HK4IdB$Yv3Dhj2`)Bb!9c4cRm;cVGXB#4PTP=8%=( z`5l@jlLLnAc+(qrkvp?9!*q5YSYp4eU&WcjUU0s{4bnpm38Xnj%Z=Y4j~*R)_PKp+ zpIzwuSXKFG9GeWM;l*wdT74@jP{PaVfmainoSkEK{*LesQAB*;e|AUKRvp+~vtx7| zFA|N?2s(^QKDj|kg?K8mi15%J;%rr=JQS@>kk1-r?Frl@!!7OpTzdKpYbZ+mC0VZM!3#nT)8Kfo*dsz>~pE{xjh$%e?BhwIlhI+ zoUkbK&&ddQzcGlODB659Sh46gf5@!qfZlxyZStJ`x3K5ebKCzH-17(9cb5Od!&gq0 zAI$$1_pH{@i`G?haHA=4IH0UvETvUis#OY^Pd2~iGn*E`5Jg#6$^@=$>lo5AIT)$) ze5Y)R?uyUkCei%)2Mp;QTrqf&L)ZOGq~y3H1qB#L{X1VtkwUYgVGtZ7A_itYJ?q#TG@8Yf!_&g>ppy3Mw&;vtSy%$zAw2tse ziYd&Jb{GP0m0wN{MR9jKP@3#v!^I|c+%z<)p7E9SzG~9yax#9>%7cEavr|ynV(ca3 zhPBqEN;@Mh#Wrx#YGG0(lQrL1*Kk_$_=v`X6-dSgD4CSbrO8NhkBgp^j`-^APij*2 zAhJnQun(ljKu+$ZM*(*C;Yvw;#on~8qb%vH^;J9TCz;SVc~Xffe>aa%qWSuYg;WJS zW=8sVIXj3cKqwDFDGP#`N>T1{=}nK0tIw$ZWL*XrB;deTMr4OTRH5A(B6JGg65e{` zlIh>Mi)SRd0GZUMZrMguHT>b}qLl(6tb48TcF`^-BS=yL($TsgIGjq8^HO9)?O}b7 zY2gosI9dBCSW=j^=vQ}5%t)Ocu(Z|JrlEO95VTREj>NTrb%qa2*d|>GTvU4_Nc)L@ zXvH4z>tB0gmEqDWZN2T?b6D5bVCHYGcv+gW}`S;+qv2 zkfBaHV0oi3z5(>DRuECAVKKwfjhmU_VZC6ZBOqP->hi?XA-^PKX$0;7=9TpU733<} zqU=Zt7Fge4hjvL-!4Bg3{Mm{G5oV(d8pG$tX56gJ{O5_iB#R^#&7-;|RJEpVhkc@Fn@tw0sigSFO$ea|2TO(^Y&aiR=XOlKMUu+L~A z&=5QLgIH&mcPmI?pe1x6)~q=7QTs*&u|*S8`u}ip`&Y$-F5t7ULqPcE3rpc*L23&n z661B&LrJgsq75c>J%FJE-sl3!_Cc9?i3!MspU43e4k*m%GZ+`_LI@gI-Na>{EO{3lL;?lSN<;wJu%_+t~h9zl*NCLwm)aWLz*0CTA$h|Q6VG*qA z=~OJ#RpVHy61h{V_!G7>#zWE2>WXQSFt%dp^(Sn>@k z8s;lBAc~caSSylJb&d>2;+jgYTEM>+gH6)s77D9_#lh}ERb*6U6G8n{twPQpCPq*! zkb_$SOePqpKanO$sFy;@u-NW{<`>fCOTwQxp`|gHy6xM6G03sc_fvCzkBEJufiggI zVL65KAoh>$rA21$@GXI6GNP=W#{VphhBTD_#83qky zHRG@h3<&o+Q#@$_I@=fd+n^?(jseSnixUmLA3#Xgm>y)nMpuAd$Y^zbcG2 zFpymD4=$A*Az`O)C?kbs-p8w|8jTo{LI?tvjUfo7&NaeOFY^)Rpg{9nuO#pt|U5$CI5K>^#ZS_AL6Q<#LdZL;~HFU^w}3IMzBGcSo*lqIMc?F z;cJDhy2+Cm3d6Be#%Lmk3`gbg;PufArBVgeY0=9WYv`E)t zgu83*DYyR6G`$f3$dp3p2ld#nRe0fUd9)Z}7-*Svg1urP$3YST0f~#W!{EI@5Y`zn zLL>=Jd4*mi5~VshQ7EpUVqwBwYsrVNMSMvZ73thq@iW2yS2kW{0QaOnt2-U%( zb^ZDFX}HcntVj1ijzDZU8S4@__a*?(<5H{RTn-@Ps3MS5NI+Y1f>JOYLoZXMzhB6E z7z!Wfn@T_3dD56=2EjdNSiDJpm~fMfyJ~srn0o&y#B2^&tV80fa<8?JuqlY%*hfHo zHnoHdBBzF0?0|Z|BoslIKLu)-{Ed`r7I$Z0FgEGdcgzp8I`YH|{I4$@(z@WeaY<^^ z`6xnv3Kru2cq%S6VToaQR}wT+UM*S*Yj9~Lni^<&$wXJQH%`ezQg=5}E-!HD#3Vkb zR24~PIq>X|aD-koxuAM>eOMy*U~tnY@&V>7;|yjS%7C8T(KcA^nH%+K+25FViY?6h zrP1L)r@?z+iJul~yP#$!I7Dt-r6f_izgTc7o_B-j&DtfXrDRa64@uHVG4CoXAm^o5%P|24iDq;Z-vLy6$w>DOzXy!VIrSqo z2?+iSeUIN}rs274*!To{>Tx{Pb{jtsTfZnr=K1TO#H>Y8N3<^J|m{$u)Fr#3L1)mvTHSH zL?;58nlo-K(As~*y518DAWHr^ZPZNe72snu5h8{2BfW|fXkD`|EQT1%Ix217uv-O- zOGs5iEV}JqiJO?y;=UZgiA7K-)0f$_^b4#IGl>=Qn(Rcpfta0cI+74A_&nq-N##Vf7N|x)Oz_?h&S=yt3WLtUus_17^V;Qf-W?13;U@7l5x1UQwnZ-e~tnKt) z*J;;pE?v3IDQUEn$2gdmku+9$gP0Q#Ln^n&#`)~HGI&2Gv5HJw+KqRbjel((dk$l% zIEASBhM+B$#(cN7vdJ)7j5VWvZInQ5Z(Ka4F16muTzc9tQZibnEXj@J0WxKQ?`(HE zqdV?eS&vYb*JrRBovX@ZiDt~U4*)~zmLP&-u z&q-3k?{$3%TQWCTVyH3ewmarKX(@{)azlF7If*T)-yOP|P^xqd8 zItqkt+OKv-mr>NtB5PHZDbh|p!%2-o$!XvYaa{>5$*B>{luGafp`mZZA`;0Goq8$| z@cUfI_%16-pHd>pElJp)1=v46IAOFk<6J4c=hatYlxthoHom#|S@2kwVlU6tN<=J- zM<#r!X!~Q)m0)ttSOGuCbiIZpPSwm}su5f5Xxw37velsZu?~}4`|?1C`!AkN=Sz@U z*_}tR?a7&A>z%o|>-21Bn7SVW86LC0!BO#Q+iq*Wp}Tv5nAObx!xem7qC4URYZAhqutSMTlz z6Eh#)Q!H*Z<|nO$pL$oOy>@@*`9ichP@5{X{&~ zl%#G-R2XiKC-j0|6YL6OIQ71U_H!}z{d_1vM;1J}1K6d8CbGA*RSiV{oG=_2XkI-5x;N zyO_S(M#f-Q8lDORc76=On_1arNY{RBo>j|!YdREQRJ*FC$>dY?TRDrjs7%S2|Eqi1 z#9_1Dm+EsMzLD4Zbj{P@=Wt@g!T;Da#WP)NvmNkRdo+_TJn}P&C)+&Rd({Bb((G}8 z=yP)=a%JlJ?X3;}lS@DeKCLgD1i;(o^Ug!%r+GI~yeNW&Kg`t3YKBulDl`6b`6GJ? zLHrxPY{iw{?^mmvg=F1`{NPM$t<#zG!dlvi!asahz{m;1CU_$ET#YVM29Ato!$OvK z#iIBEvlUwN0a&U5Be<3WABAVH#VFi9urMBDJD+VmX^|L1he%C`-xYXu950_ zVI&CdGq+*OcmP95s4YVy=56$)m!z}(m?jn%#@SSrqAaBlODeZY(X`D*bF0=521JqJ zhv|cH(g(s8DfkTVkos?b#Qz6p?*L`l)9eeDZQJg$ZFU)5?y_yWs=I94wr$&|Y}?k< z|GRhYy7$fZ-mICkek*olWMrP)XYbsZJ5OW;j=dKB>zi5b;;0iPb7SOcGOnWydv&b9 zu==>y%c?lt>oUmS*`k0y8l}GQFMI;rzG{sk&WEZSXOa3vJehm*IwI_vw9Mgun)|g& z46`xAgM-D}={YNG*$A^zH}h2!W*zHY1#^|DoLs^nv{#D!cN8R*HBJ^iqvRpsEILP8 z7^Uc{Wa)l0E@S<@;aV$2IoYz(BL0bIC>y6m zWLGP-g8|`9q|lCrVe$Z~e7DT+ZezHLx7ZAFlqXxbnV*E`c_A6#n{CGl1?n`2H(U6-s*lRMS^&zwnI=uH?&7jCDu*ctEJ#tUgkbV8numJ&d02U{EAL~|3_pnG}TEMzZ;2`@D^OVlF3);>bfn*&Wo99ma9@%;LR0^!ysmn;) zrGN;Qee$SipQqPmdas>33I3N_T;Kesxdfi2$Qq|KxRuq-v_T8LOujhz_QupvGnV)p z%_FF^eaOy`MLE3uOipngdzqPhp_zP5g{f6>y@tphGhF{!c98rHLh*J18I`G3eZ7YM z9u?`5M-9x&Leo`I^C}F%z)~3RGcHg2C*x5U;)U4o!aWAVjgy$EzYB zk4B)Hf0@wF5nHj z_skg+L~e|J7~&Fge=;Nr^0X6n4w;5kj;9YFn!X57ZZ$p0;~ak&na+H!R1mTi0Pt7^v`hUzj#El1Ed2PJ9Ffh{}mw2Bo`8xR1?$x2Us}8UYKYI53NFY>I?E> z{-(0BT3?r|cTdjrRbiU|G|y(k{)=ktl>mpzu6Fardz*(zRZDb0g#)0k z;Ww=eq6AGmLl)~nump24Bzm*iOnsrKNol!nnf;9VJwa1mLLClKo2C!#iA#e@;C^|; z2b1NE&yPctm`yxqZ?5&+M~m3SzEtb-nbpJ21sUw=rp4h(OYdqo^XSrl#`F>5bW30S z6^qH4rbNSb=NVPv<|<#c6hMn1f|lo<(%`<|Vxw!IM)C8UYT-q03Omqs=Nh5GIiJ-Z z1c#oBHC&>Kt_icX)3Ob2v+}sLqD*q-qpHpprUR2RoEOK4bc6ygmAv=M`w~a33u_IP zlb&SP`O`ZCiQKhUcH4(e)NYkWf~NhVjNC~9N1y|0$OBMy9nblp=;ZYBVmlF!^#<4@ z<`G~IhrI#L631e^9C##>2((?gMNgXtb9@Fn+9yT%Sn9}l^E-O$gprM8IK84J6IsW* zAn?RL*rf--OIyx9)_cJWcpEDlT}~fAmUP|E!_%|d3Mt*kXgGAgN7-)A!&(OROw>Wn zc7CVor@kk^mYwv{HCmFUuLZYDF{7nb4fL$m$)rp@MeWgpFQz8?di%?;CXbz0Vf zqm8f+rbV4u#sE-{jM;`|qsITgFw}AZpj|nb@@>sgnJQnMSJ28{**9yu;st~;L!yH& z69j~5Coduu!Jyw&j?cN(f1G|Y-8<|YnQ`YN5$E%O~Fm$ow+f$71YDY;>nmc$}pSZeLw3T>2>LUq;W{wc>1L zmpxuXDcSHz3lVrHpZnJzj58mGOPdwdy-BT?jl>g6uqJK|4l55F6<=NKG)XQQkhImy z(WqrySNobP5YWiQFtMSUB0)I@d3^I1HAl8OzQ(4mK1YiZ4UZ~^noAIs)&;)>9HVtY z5?U`Cgx(65GtU%o8;W9+)>uo9a5DaKf9BeySvuo1w8i>W@(~rb!z*~tu;?DPrT?w* zd}Nb@zn*fAS8iX6nbh_=9soW2!`uO%I&nn!c5iE|J3Cd#yadHIcJ1h`@R4fnk$L8i zV_-Bn{J38lSbe1OC;Qh#=@~9C?1Wl?$KxHB=!1EN+0Ml$_0Og0qlDJYGUBpZ()|8# zwFmHQdxQqsAZ#uhvUh=}^(mWtF@Y(>ByjsZu-5xq%5I0l!ujdRt99S}FcvODHTl~W z&K!x&ccH|47T$sbm$~Wd7L6920Wr@4KU zeI*3CJICg1}}y+?_)k2F7i!<--o>JAxP#KNG-5yD}3Fm?z(ge6XfrpSR7NaCrjUV z!r&Dp0y0SQMkM6{PB{d$@E%z24uY}edb92N-7zYS(i9tJz4*atl zZUt9V!{MDJETl-rAxaIJc~MREaX!|W_uyi4 zm}pX#Lj`Pxb7@TGlPL`*GMX$DmDursh<_)Z-#sb~hGgGjPBZwLW~X&Ic8bvIGS-1; z)z+OtO8PbE;N$3X^j=aoSy%zO%>NN7@Nqion;}qlWXEy}MYxYuB zZpW)$OZ|8*K=+!1;s5+}mX+ZiA5P*J)}G~wOCO|9kFp zNMhko$}F-5Mw?`Nz3EQ*aZC=&JIJyG4&3ey%&qtD^Xo2Te>>mAo^}y)z1+E{m_Cus znos8~=5Uv@z0KI%Z><}Y+vw$cw&1B$OTqsA*tNuDe9C9DB6n7#9&fpY-FJSETOQX^ zR7LT0Qb;UQo|JMSy-KL>K*uDKatfbRH^FrTlw`{9d<)%SP*sc_e-?z@*DwbE7;U~3 zIO^OBSBqYMTy6aHD`p1VqIQdi`++9`#ggK_jOpsZsW-hxwC0A9 zBJ8#}tX>hc9wn^c9vJ6C)GIE0K3L1ay0@35bYNw6M-HQ0Smp+dM4CV{le7LSiDHzz ztHVjd_I|_EzXygujJJAT6o=i$Trz|W{>F>{xk=zy-c!xN$jka41~Z9ED&nNGmN>Vp zx6fh$Fa7kVPmU~K5H;T#U~8rfeu??0499ukj;1Cb=g(9cdqFTUX*86@7w@&?$LPwh zqNWv@Y_qGw2Q|4%Jb}oe#Y#GFQ1YWAP%MEj^2%A+qlZ?^sm-IqT?jQaHuu_Ky0~O)&=(Gp#wQ&1C&nwIeb^ZTex{RZ z@cS=Bg=RFNa#>S4tjg^-WR95g#Lf$ZUEXILWjFvXp^7(< z<=ROzTqHOzqU=`jcN%#5%w2=#r|~)Ygt)6S8qp3L&<^j(PQU4Yp>G%1$&SC{xmXDy z+J=6fdDJOBW0*EMO1YV3fkg1wH_+kR*}tPltz4_NGf?+SCR;UL2mJQK@$}&ngV!E& za&VKQ_N|qGTukO~R#$7EG8htu4i_JISvj8e$l)WUnN7!%;p(BjD0z8Kx?S%7hPD`v z4FV1Z$d9e&s>Tm_!mT;rQ`cm!iNVjdhC;T+^I;uR)>rM+6n19SN^XM2)bm@SKz#5`@9lp`7PBCRQB?X zhVh_A-yZWXzj@cG-;SmwR~bB&9jz&l3ZKSTAy;1CYlj#et1s?$N-&t=luhr{iUqYq+eB|13hi z@db(^%eM6I4G7p7|9jM=|J}yvZv%q=)5d8|W){x>X+SXe`*(z~guM%%&v^}#Qh`+v z-2ge_h(^uf{nm+1LmeKfB;I*@JBuLzfWTwGQE%Bdq=9_}#JsZ12&Dz<778NDdkulO zL#~viP#{_xa_ff{0;O~tM-_&bO9fV-PDace|9YCi{bXwM#N~bYb4Q;JmY>@Nj{>%B7e8MczyQms)Q2KF>;Bu%vkqTSwn4bcw)*XlaF74Nt%(XJf zc|nyWlE<#>0Ea%xG0*9kobWdPBpKix^|Xc=LsvPT#!bN{uLM~!?Q<4}men3Wuw`zc zZ{buRg=9G+JkOAEh_L{0hlC;Fw2{ts>lYvm1x;H_^FjXcKA})Ql3x(zbfBKZIE#a_ zG=y|;qlKb`Yx1+A;nz$;X=vCx%N+K1pu@&W($}2Y_z{J;O3B#uB$YzLKTWEr;KmC8 z8JWSc1{(vF`8*05L4N7BrKIjVR73T*`%orir4>#lz^%fMG*YVKqEu%309e`LQrwdh z(~8$L2(!F{tCD7{TmdzCtApMZ_cXndQWt##=L1}F&EI>?tki%SFIHfH@QQO~sKLi9 zC17z|TdNLXaEmLC#8<-GjXf{z6^i$W)eIN?D`}!+_k~Ey34NLY`Vz<5jW72^3>Ib1 z96*m9$b#W0I)7m`pO?j1OjQ3QD%N1PkY{qiy^Ep|UjS9-Bl$BRK6S5IDE^}^5vtv;)$Vt9{> zAk7Uj!GZZqZa}A-lBvQ>OR+CVD|m?q3ai&&vNSNmo>VYIjQo2ek6wd>tWOrspG^8ENefPyHe!++Y_`j-HOd2w67zKl%d z`Lpx3+OTH%7E#XL+K$TRm#gD00K^E=Dcwq2!9OrEQGrxM7vaDcY=Jam_(KCWJa6~0 zaC36_k9~9eWYP7;`blYwdypYi%xw_X%W*~-BgR-Ot}7dfnBWr)$wdHTwKg~9Wi~0f zu+w;qjfvH**eT!unwO5UyxmQpmqO$mN@u1R+1k*We?`TDP(OHNI68VWGyE1_OadARqJ{pe$`& z_2zA_)N=S!T=xr@wpu)^v##z-R_^ptVnGiX6 zDs?7EMp#Zo)8P1Q722CrNx;h8VQLyoBk3 zkl5QkMp{@*3X9yL*3l=F$6_pcf5d7?;&9ZblVCiXXd59jR)8#F(VxY^Hi7IKkzo)S z)rx68b0Dx&?xAY4q+WxI@<2kdY;qrfoVjsRK}WaoSg{$=AlFIjc4s28g|+B=c3ucE z89jk*eo~E*nc_peo|hyTi^kv;=621Hfy38R%=r%p1c_tC*ccSY`CXy;_SiEpj_!=! zHsgt1x94!V2{y`hAk^%B`yziNf;VL9GDfVz^XuB$hxd&D1DyfU;AefomReK*Vf%dL$N582_p`C$6SBXVtC^D zN0uQc3L6m1u&z)XP!Kd6j6d!|isa*C&ko&n4Yndk4H+x`jjzO@k>KAyQixSjO?Y?2 zO4ue+c%-Hpz&1$E+la?%v3Ko2pkb3}1{fp~k3d18l0?MNv6A>`xC%z^Fwa-ZB|z%J zHBs4p4c}f^l*c;C#_C^VPHFtCh@^AS0$D_FQAtQS%DE`_dv~?Sd_^H*CLtwpupeV| z6gMNVp;_HUZ?$7e%?3;1Ps~8j2K*$qL?J%?JV;}9O%`x_A%+fb{EfXmSoh$tS_4%h z`4q0&LU{`8NZf0P^Ee>Vkz(6a(S0q2>Mml;Ei2vTpxGJ#yhI@2Br88j9CYUy^EaV< z(?iMPP(LJ-1j+QkLTQ0HS*85(LYb||RgWWolYlYyBZd^vM;M@(*DLbIqD#VChO4_^ zHA#^jiuR3;s8T?|9jgY*C@qQBz$XpfSdA zQj^^Udk$)c_!H>O~5Y zg&J~A#is@aQ35M87!wJHkf4+x*Y4-AhJX0A*(L5E;z_DY1-;@0&x9BU&-01|iSMro z()>&cX#k1{dHCyy?imL$iXb`B*q;XeDMl8@K{5+I91LY@cm9G*zniy*Skq9d#~2F~ zB#8w_uB-l913Jg5$P4*B<5kjR>3JooC5{^w?=ONHHzeiEp|a6nw%dLX9!M)atUJ>>^1bK_`gtOO>-u3lwhh=4+Dy%_cngV*^9QUN1}Xi|Hr!{t*{r z$JH=hNUwI+w1~-)P&9-dmJ+@{P60;HSMt;m5z`AbRS&gO2Kj9UIfaV@3Yny^tWR8O z=m3im$4yaSOd3M8qU2A$5NM83z^#{AjATibt}hMl2PUUW0z}421PcTmYl;elf_u@k zH3F834Nt|+0tOTs$q9tSj6MPjL=4X;YM^1UVg^ja8jXYkgi@<7C>)?MDGY*a2s+<0 zI?{ql8h;LFB%R=1*NuFsPy}aNH3A<37tz-sSjk#}B`9_X(q2}xp|EmTY<8Gt!X{}) zc|8=CTARu{t|Dp5W&qy{S$z)OYPN}=&+{PO%JYn3ffPELtDPlD%L?=*YOp9m2H1*( zgMqcvx@pc*JBUfPT0r7u)IAMw<#Q4%(RVv3j;+Iz(+*we2s+Bn<8W#GX~-4rdqQ{$ zp9^dRAJ-3~(F$A=P_XIec3jyPBDYca1bgfeQ_uc<47H~_rGEYoit zYBXx*0&SL>y2A%fP}Ex#VBkIq3oYfA!s-qo08uK~M^kg3^PX}*PRc&Sbtv7>$|fOt zZiGb}!>XG8H#bG{ekixnqKQ#maBzxCH=m9&4K;*HPqXo_wE{n+uqv?1@B?+;G1xFl_>x^|b2q{TU)tGP6P&d?k zzh#7w<|)E5?g*@qBZDbGo*Hpv&B|E(3(XY{^hy2DyaLD!8f+_QJVvP3483N6rH5J% znzB=LZrLn$hmum>Cc~zQvwZY$2rzUKc@h14V{O^vwbT+b+vh2qFqnv2UVFg(jn`f921kpiq0g29D6tnMTOZ8;_;j+CmwAy3Li{PpjZXYI1Dm?i%* zO?;|E>_2mX5{ig6O$KN_=Ts39eN}AnipxfPgHY*{iB?qER?7`pD;fqIF=&R0OOJuw zZ(4-X*K&xAA#qItb~|G_d9CJY)ACBC?SH(kN~y~nAKBKWcehPoOB}6_HcyVGyxm`C z09(GFYm*+9EtLx#_OFp~93xs{nK_+(=>rMTF z6}&_9>W*np^8IRu%q?ekxhEzmLC}&IOsG*X(M4D?WkDx|C%X700hbMb7e<8$n#+S<2h)5qRlhN!#}Tw%hm9@(q%1Iza&QI>>(W z{qyh)ifW3_#pP(TlaP?W^D{KMGv5DV_5|8b%lWN!c$GjoRPo!PCS|69lB5Eov`q#X zq3_|ssA@<;Ii?*dCk! zL(ujQxRp?Q8K(9aYv)8oeaCt_)`Fo@rb-{cgOUr3C~OfEIk6@BWENPVIO2JK6Wxr+ z2{b~#&GEE$to}r!^Q%5{?(Eftr*ttIF>46OX~MCg3bd>!eJ)K&!id6%hU|%^7-yIL zG#>6RR7k|39#Z-&Elaq=U_>8K`$a>W6fqHnYH%i?`~H^G_wXYa$64!_$D7cx2e0gSqiyWLlJvvJWPC$0{2x&%j2^97-vwafY3UpqPS5O7Up zj||cIw@1V*-`zohE$=;<3@yDmivp=^#OyB@(y5(VQ=Z8!ka<;7SM!Tv%^_WvSoSr-9|HZJRw|%tw zv7`cgt`Q>UEbQ9JNt38$|8#+v)Psl3Q5R6@QU1`PRm$Nl<#bn>Tq5lTBqk}mhxO7l5ir|U2EqMUrcgPmICEAy39G#@mx ztqRMVLk#uzPoa1rxxvdx&URhARQz&1WP=QQh6``GD-rFrk3mbGCxdR&A-=}AAKN~s zLwngNT|3?aVsM!k2|rk-urV4j0jXn^d$N+4{zEGt0fJ39lnR*5)-=#~6EeF^vT5&r zzc+~NnI$veP$&ZjM*oWy-6lfjlmv_FeDFG;oRCn`4*T`hwM;!OII`+ zJe@@DRS`Vc8BDjXMaI;&(zi=uo^V%Py=)&?%9Dp#K{E_D2IjI;{DL<|ZTa=R5GbXe z6td8t>I~8D5s~TPBT}srnJipVoq?2^$zQ#&Eo6XQ_j0(RfU3utVa%}r_V`ldlvUy8 zvA7zqma0AHn)oTIxOxP0$FJM*JE)zpWrK!}3}~tRofx*-Vpf=fkTB=Z1Tn0xLQMQT zs3_7>bikm}g^7 zy&M2PQr+9Af1D`=kkLMRwlB|=1eM5NHyg(PIPy1{l=O}Up39h(k4>ZZOPX}v)KM0; zuGPY>933P1v~zf~KxJoAd!HK5jnby9@v4@CI>VFnFQs`%cC|1b{<>X($SXf=h{x~0 zl>pf=c|?Fz>9AHJZr0Vj$3#O@;KdYzjk5|U{i0{|h7|F*R&x}D)zoDLp%uXf(}c6e zXm0{qcAErUKs`H06vjlc40i7{r%aM`k50f%y^PyxIzA8wtvkD5&;TXr5wwm*5CE#3D zKEn}g^DC@VZM$-5O!87am8S}+(+alxDB|F)&M1mObcRAShClJD=V*rZ4KhX4N4Fgr zt!9w*aR)K$%5S8trW?(@0R0m$q1xh=U4$c49v;LAYyKh-8{qL_AE%S56K_mi-^=l3 zSzhnD6=|!-H`9l48$$+kRLCbPh%}fm=dY%$1f-n_-8wbg0Q_ zx7qGEsgEoBt-rSSrZYO3Ixkw)G_$A~2qx+us52epY$2Z$_E~j+=3tFHG-5|x+LAAv z7}id7n&!Pnh@GoJU!8zXRvI6jDQ)Be7`?I-E>}8h-o&YUPSK1G+^0YT5%xq=FL@vK z1$-anwYZe17_||UBjfjm5Q`9hf2|&D^tZ2(+m2m8-X%2NSwvs8a_to={SO%0pd-CS zwM{vhLU3p?O?`L&`zyeSFPrH7iN;S&oqvJ<5M?OkH#I}V*gs>pivD`ZfT{t-d9cOv z#6a&PM#t%GsPxlSS1t9yC85G!*Sj~_hu4YEllWxzkr#niG8F%Q&n&*CXS$=nNCYdA zv}7n|U6y9(CHfs#ldtP2maEs!(Vfg<`K*tJqwY-yIngJSsYsB0s6g3)=YZCFmkgpf ztTj<2!m08`<8-Lq+*1K3f--=7AR6jFSU-kO#3X^56*g8#730jZ9~-(tux znyK*!@w@Bc0>ypIPA4w~jsEog&@~1=J;!l=tvY35(~L1Nc5pE;y>dp#UCNW2@V2X1?Ur7nEACLO26Yb$ebF54G;6HvVBr#mYYnC)Q12Ed-^ za@UzO<|AU0kK3Kx`o#tPBYl@m-4vGnC+?C|?yQ_E^)>E<>&Z!MengvhOoQ#nuO6a@ z9U?X0K(xF7ZE!dxA^27p3&!2EQnaZcnKQ2yNByR=-tTP_+Axf;qEO$1vfX7`#pjp zbX$TEZna!rX?-<5Zx7+P97?3Uo^OT{nx6lt=6_q*EeuLtKBcSiYQ4v>@!#Oc)w@9s zYkclBxw#2-b_+%PqosG3Zma1fZ-B3(+jjBiXyh;*XLE2#*W!nOe#QnvO%|7jn?SuU#DJ$ZYC1nM90q zgwW}^5Iqw_>i|~4Ex|sD;XfjaoBtI3XZk<$c~SpK)7X6DI+YaZV^sPwL;2bp(a|Y{ z|BF#VzMi!G$FlgUK+8?wk1bT?C~7Baq>%_zNh|guzXHFd)~{3_n;YjyX9$&OR1jlj zO}H7FqwD2K%XVL{o2hw9d0Cs!z8yX!dHT;mG&i(+r;qeIZ|kn_tr3{rZE9D9+N&wn z=tF2VX!k)@^#@4-Ngy_Fkf!DJhWPn;V`ruGwa9a`6G*Wp`@C1q6Zs)T7wu>+Y|Ix%X5SIrYCcYD9Zfurw+2@XWjR zmFZdcaU2|jdsTmdW*5hvO_b(Gi{aGoiJn*yJ2O`YtyHMwD-B=%T%O!qkOUv;ooMUt zk_soR=_ZF{4Zxd$a!6z!`L#-PgbB17*7 zp=wSHd{F~fY_M`A0jskP2u|=0e zB&@X`a@GXc-Cq3cyQu)Q_FxZ~Kb*|jee~dA;O7_sI*Qu4ABuDD?R?|`Il|DkymzIr zh}vC_cg~);9J+j8!R=a((OE@Pfk{q|pVllcr3>Xo4JH{__;bq%97#|+-)|jzkXm&u za`-Q_`f3|p*O(}6#Toz{O)PU9Z+>^|dXsH558rnQSNP!rqnOnjA45iBI^2 zUO4PSR#zbG!PgUCph8gif8(IfF+sMU>gr=?0)GtnI~L8hq|I2g=+Ak0q9cW_oZUJ4 zu>m?K@Wjv>qwbObT7H}ci1vO%%qW4k)yKKf*K>O7oU+E}oN1hM zleF?BQ;O8Tx@!o1%cb#sC%gUZmJ#Nv{JL8$5}F)Q6*7cPloIk;T{C7-!Irru7J}so~zPFc4SH3B@f7U*c z;ty{cD4A;6*wv%oHLX5*N=qs2hcod(eZEbLK<+?t@YHFAX1txRoIW0Y$!~PJPrqbm ztghs?_&#PML{HKk^;0onzVdiJP87$i(RQ$Q;#h_~yU1f#45g9iENwbm){fh9wL4zT z!4g^4bllv^M0&7&qLnK$N>&f$fcV^wiNgdMTqS{iK|5iwegWSnF$${_XCO5q>4dPt zT@!*&`-eoZ=0dP7hc@7@pO56BvjiBDoASTqHs6vLwWnqC`*^)AKTau2U!^3Bwye&n z6~l;iYzJaS?FruO;B%@iImo@Z`%~<>$u^xBj>QJUGCfH^hXuuu{-ii40q@wC3zyGJR%dz9s7%sRy2XzZ-8}6dht< zeYMKdch=TIR5NV8tKd$^(4?U6jqVLUAs*KBM>&QBb-Pyc6a=j4RozkvGMB+a5&R4Y zj@!;9bEAU(FSY^GJv4-FR;PzjnA38n;!i!sl;(dhIzMPjozzdqt@9&{K8a6A+ZI77h+AtX0jMMFUUXOLi8qpzXv zq26YPO<)J-1Yfs1(mT0`U~9QJFTwnB`Qh`442+!&lDf-tK^?=?S$uSYYwt*EV>2)r z2^50dTyM~(3N&z<0q^Q-K?e*@(J4s*2#lOg{hku~f6bnR7CtcmkoqFgK#p$gRoW8C z4#L6Xp6%nD{-)jzfFSR3BFk-jyf57Z_aQ|8cH15ce1j~O-=&<_-TYV~MZ`~lZr-i) z8T&W~s;=E-Q|%ZETT;Kl`JuBnV42|-8DG=>ZHQL;w%qWxPg*J{!m%0zW^)}hjUM)z zR+$pEIPSM8d1{1#0pl(K!NiGQamY7fM$12@FWR-4x-~XS7j8_7mDK3!5E_%E)OgYJUqUYnkC4l|4EQ3|L1CM zc-h;6ZG&$pOQ=CpunZ%n47|XiH%t=%(a5PocdZ8dz6j#$OfPm7MN^P7d7$~W8JN2} zyNO`abc>cN|KjKm^}va|Uzk>?Mmh$@O>DraBGlMJml>EXp-M`ubi=G~*grp^S9 zatgNIB7gHPY+&<$t%KR*zz_BSkm} z1bc!LyXZ;w>)?elDXU6d1dc-qog-~R^>#MJ;T|N*^NRmTs>-9&@uW12?Jwp~sDs<| zTsdkc)E8tG&+z-dHB9)9B+mA~_2|yd_MZ{G*_k>24}J~Um{|T7zXppL@)f_Aeg#V_ zke94F{f$XkM+Pf6&TRb3rYTb~D-$1LsLfV{aIwhB#9b@fGhLZh&Ce-=A|*iyAt4UK zVl+;pMukYk!h|MfGW6@KAR-2{AcHzve|t;HUewt&P5vq4ki5lbn(6rXTG{yY0_c)r zPh4#H$=>+OdfZf3<1(B{mD;*1Rn1-V(_o&axdW?-rjlMAhd@3p;2hAQJ;-2ePAj*OdvKs4ZEj3H9e!|>!Y*(AnSC*D{6%8jHR-d)#ei75 zt|^5(j-OELrbCe1bYL-l+)&5Wk7%AgtYcGWo7LVj&y>`SF5pH#-s)qQHFk@)qU!FB z)$GOik#MlqHs;PX`P0$z&Z@B5;RM&$Fwt@i@5tWF*gfy`=+V42`SkPkFyeFx%el2Y zP0f8OeQ&HxCY|zjjY_&qq=cM%+U7MA^X&yxoE7#54Gqk z{LPMP~glTsU?i!`jGvSrC?^iX0FLLt9$#0+Amxpjn z->cp1tL}y`^7TVXhqvRHM9TKelhixY?z@#YLPte;@!uB{% z^V8c_67HOl^{xVa8ZXdr>fU|n&%M18Z>Ce(osW0YFL!Boh=g8WV+>w~Uf13>ReT@u zKDW}CzAazFzD|dUn09UXP8mZdy}n(K(^p@MACN8Uikxz6A$Rj7HrU)7GOLQTa)oRb z>Z?rV{9P>H$5fCDWy|F{1C>8HRb;0>^ZtvJVX0Jz4*qnLyHj2ufFF*coOoQOk$kD0 z_9W9g`n2?Z>&$-0b9@;)VCbqHPPzJdIlr#xUB?qv%6;*3cb<3id+6l#@qPmEO+O&J?;gvqblhyemH^Gk3!A>Gm}Bj8 zuW0g_7o#@UyNKO4luv}TIBOWE<7x<9t~Z^IONfVvQ{tr~?I`cH45HshiWXjPkJ6C@ ze;MrmN&KnNQiT1fPt0isT+m#2)!p9<9qFUJH}k9Mr&-!~09VEKO&yr)zSp-5S#Ph+ zUk+a@wqF~6vfnOrdq1k21SUKG9=jI4nnPIeuE=)01q!@Re46?^Z3(=*mnUbfbvvE4 ztL1?l{Fd?!Tceqe-vGQK+I)U|-c^63+Z3Ls<;d^c9t5@%X1zVnnr-^l6nK!it|YEU zdt=A7pZ~nPJ-K3r{h>%7*ZT*K-pGzP@CUZ`==M+Rl7+vo-5o4m9&*VWrqR8vJUXho z2b30yXc--AmWfMh2v>MtoWq81*BsCc*7I@*8!o#Nc*$>`;Cyl+u2YN2c zN;b;}*7AWVvFyk-v)2Xt-@b(0Hd#*D9^+2=qmo{QgX!JA7}$};xOgm_6a?C~4dNxT zxjJxN7Vm#{YWelC#QS4R=aJrERD7j8@*4;EDCvZ}frr%S;C{2-{Yon7bh!OBFIGOZ z0?$=}A81zw=2pFe`hTy{5y7WZnsrMO|Q10qJoU*~kuYP(={_1c$dkFqg zr`b%*x4poxs3y4b_V#{$eVqd6O!fMl048yp0gy|G$y(Z<*NIw}JJ-)cvvePCQ#X+u z2ph}qXN&nfTOAHg_miE~1iw3>jUAGxJfuJ|oXQx4sXjk^Sis zOLFf!+lP@$OO#O?I>U(VE=SkjMK@YpuBJ4n+kCGk+cCW*P5yX_1agpe_4cNd?3{E& zO0UH23|43zcBfqAt|YUrX0Z{ZrR(^iFim(!X>M|9L7hE)>7efR+19IKc?VrHmG}0@DM9R6P zt(pmbfw{ds+tf7Q_uPbH$^*8aMz)ak{is6-I7~T7l554~KIA*-2k>W)kDx#dVGrUu z$TKOaf$Rvg9VQ`=5RII84b+LU-@|i`Zm|1EIK2R9Fo_Ev=!(U|onY{5VPy zIxVcaiSUVl)K_Sz;;a0eZ`^16{d66f)K`UEoT{kQKb8G|B`IHt|E)~u0SBx>8ri+1 zx)&8<-7S&ym&WV#oNv-+{e3ni#)3%pE$N4;VJ@BToG*K)B5l2D(sBJj7WpG>t!XHq z^t#6GROp?PVkpnQSQOW!l=^`T@8OjofZZ1ta58D3lsT;_aE|`>apaqZxa144I0F6 zDck3-J>CBxm%j#Eze^2u*A*pwx?@(*)cxAi`K98{Qi1bTW?wz$yV#f4CL-%TqY|8Us-Vo9wmbW+bE>55!>Z$kmR;0g7ACL! z+u~njEc!o^I;?}m)P!jirBxl<2VFl1-5RgPf~%y8e-O6maJSv&{a|Rj&9y{cOho*B z_fw7kzT%9Up>1~_J-X^8?^|bg_B+G5^alfXf|UJ9n6w&i+im_2g5Nhl>Q0fqOC2-r zYbtncw*{76$KRRS|L8MZM^|=D?AUD=>Z+Payj*!Qel&Frh`{ z_7dW}=Z<<%QU9el%Pqi4D+q@0HLD}|7D^dVQJX}5RTKd6PvU%O3|au5r)gB{hkR9Q z(-P6@cNu>m{6nNn1`XwM6n{%df$pTSzzHAykgMNi{Sj(HK3mZ;i9J9g@Uu$8J_CKY z6^O$rW0&Jc=^@NRjP9U4z=-8Xlq2X)fP|A5=+0R6F87bB`Zz1qxXG})ihY#W8~My) zvUKz-jZt<)H@Ksdwis(!)p{pJQ0HyVVwtL~KODUhT+X0DnVuAA92S2=3bzTc zm{cNWR7sP7Q5nHhXc`uOV+zg*un_;zHh)5OxC8+FyWjt!ruSOPH>bLcq4V`))1L*^ z$poZd#x4aKiRFPa+%uq8Mlb~$hQ(i>;u&^(<-4?Ak(mvUJ_Qxr2H|{G<6sB^!~miq zge6?da|}I%99$L_5tAgz2&1}wPj613KX~95_%rMrW(fn9Zcj&!oBu_?5_k>IZ1B$M zF{$3~nYJFM-V=}o@KT=H&R)bCdb8i#ZK#p>?}Dcwi{Rxvvv<9St59;7g7hKUM6G%b zzy|?C;8Cyyn1WG&4Dd8qc1$}29Mf&iz+r5`DIy1mIF^(Q;61qi6cJ4k*^5`t=s7?n zu#{vJ_RJ%;I^7R&{?&xgV%bg;nup6Up?34FMWsfdV0lgf9)Ke;Az}>l$DSF_(Sf*R zZb<@ef~zymp$oLewj0mUg4kq!P6BR$>oX>z546XQ8PCy%IArEb25y6!GtQw8bjGe3 zS85HlMG4J<3YeTl4{egX7t3Qp z$&59NWW?{Eg^Mw{UxH6CVPpo4Yem+zryC>dnIJNOV0I+MVaE&1>NT;k!|<3o#x5{n zWaDt7zlSqn;Y`PM6Q9oE2<&Y2H@%08VsXp(7Ifxtaa;#_G$-yi~INwntc;mliz>zps z3;$v}sP@5o7Kn;$wu5DW^Kj6d@7lSr*NIb=MiPXJRG7h+EfiEi>)V7J6T$pDaE=$@ zj2VYr$mS1^>f=skmY!00g$wb9n^wXg-B|~* zaXR+ST48gl=G^taa=6^!n(e(9Ku)Vjq(Ey#%ikBY5xc}%!J4Cmsu6p}I>rXn8Mk5$ z{+&p%rWyA+7e%CJV;cdPj&VI_+h!Xwl${KQm;MI{;tQk?*N|h3c^SH zc?Y3%Qo)ns8t?6OhQ)AF6jP-nr8#X?wrhQPY_5d*$ z3U~iXoXk-B-U#^e812|r!58!mcYO=!3*v=irn~nO{`m^RH8^DZ!)AaUrz`A(qZXLb zWt(^1A+UehNrdh6#;yeD(H0-wNktI1CvtfpP$WR!vIiaydu6EXi`2f|0;Fyuq8mYCKhXfUZ}85JYF&p=Jx3RWZr zR0sh~3Uu%|r^TNzK}va0-0E2@4>WYnjES4hre+lGVX7qgG91^6RV0R0Ct@mm)`Q7| zZpgH*&U?Nt0cCdT60RG19cT zYqp*#ja__cXnEB3-ZlavYPOe2laqb;a$q?N>kZW~(BND_G|}-~F=DH7*k)ik3hNEo zP{iQ;|KjT$gL4VKb)Svcwr!g`wr$&XvSZuU8z*mU+qP}nx%-?tAI`m1|NCWXRd-L% zRIi$@ny&Ty9`PvJ@LF<4Hqtui_#@eZ)_pMFm$KiNIl}GavsV%gUP%0!;txJZKDol% zhF1do%MDr_>4DRs%df@+rxgI1~+~G2Z;XVidHi77n22Z4_9N`M` z*)s`ecO={#;ZX9~U5Sq(lK-pW)$fI0>&4=$<*nrAeByh2JIrU->HF7ZVk*ObIC5nD z-$#z37S_%tj`X6|2F@nJCPsF~CiK!Kwr0-e1k4=&k4>ac;&e;^1H#ZXk4S7gxKL!% z;y@flb$IA!qRaCS1kqGu%A%d#=4~c?heGg7kk?teu5^oHhoy0;&N+Tte9bB{3n75<-&s z7h#}*Tr$DG3xJ)#9qU1VDUX)I%iVJ9>`yTb7h7hg60=)q@kN^bIOP#E8TB7=JLFT z5fFN?S1PS@OJA+@8bk>%K2eIRcGhH-#ZSE1eJz@HC5uT-M!+zBd)z6Onkq+mTA%EGM;72W2Za0__9M<#m_|N>IaBYBp zdVZ({^5B5qvkQuR5h#}`?)m;Y9)C_|FZkUFnA;k zI)Tm%S$^cHbML^*_p=ZyB`_&9dro=5m%_mKrip5Xf4n~Nc)1zXsrk00*sg6gEA4i) z2?jObO{(WxW9sk`V+aHL+a)>YH{SF`i;q`5E^7X4xsnTms9Pt}EzWtoP^p6M7h{bi ze6uu-zbQDEyAWO3@-aFgXVN|x`$r*y0_A6vkpjYQeVtP(e=AM=<&jy0U{w6V3Z4LY z-0w?KmZ*h1X%-OfY<;~@BvF{e2ww3Zk^;N14h9o%3c$9A7zKuKnMFhaMus7uC}uq{ zf53+a)E`jg%B^w5gk13F1LLrcm`7^uWS$6hm6C~pDhV+kELY4AHBIw@iU%9G{>1!X z>74#$Z15_Ym-~I^`x48}zU*?W=ki&5aiGV4yr|E@o)hVd!@4zrLxh~sa{3seFb2E) zPUz^f>iz~>)Vp_4^wC6aId28jYAYhA`}C16ujqV-o79h`^SU1Bro`D3>!*D@{N}(P~y3P#}r&R7X9l-_XzyBrd@a{U&o~% z3J1iLo#40yGWWL#kGM%Uxqk}(P5c`I;lJnk55dm&Pumy2R_Oolp#OT0|8T!Pp{dfnV6OYz^Gy`~hF?Pfkq6Pii+v z#GD;rCN(u+4U`Iw05y(7wZSPvz9U zv9OZLZtO}FP9hPpFbnqW`akF(m|ode;d>>&I>GQ(aC5i4P%#C}jF-Jzp>s+%g(y4x zx*lOaj<&@wzddHym!rk+kH`mq1zg>?#d>#rx%z2YN!{O>$Vg#hpPgG;l~+(vkEOnh zNlHbaqodMMjZBYEh(8y#Bp_u&W)0>omL@xcjXP zueml^XeEy0UzFn%hb+a2SD0i)6&6{-@B|v{yu@lIWsaAM$kp;RxeKdnUs zCZz`O%C_W@VnP1p+QCfmP!3;PiWdoBqqyKt`@5L}t!AMm)vZAx35fZmLlkr z6DKI8efmY79_43f#=4LR_gQ1MXqU8`nEx3WEl@-=%6HC@VvdQuWBrt%p!^K(d!5xB z66dV3#LNHvqnqRf{PGFp^6W~7U3@O*OTo;rH;$wk83@TnwMR8k z#1?%;g|wa<>*bO}q7Ddp7-ACPtj2gUE=XCr1qB9JJ&_{wTJRZ1ulD-w)!pB?ceHlo zUc?DjxG@whSY7ilhwj~kuhsnExDSkjsGZNnDJD-~j1QxkY+xVX=+qRq-K@M!Uz zSuQ?>Q%g^V*m9au@4oB0bxClnJ0VSX&hQvHcMjxyOFUQo!bvA5Dt7Xq2ZDJQ>YF*$j3}7xS3=sLdAj<-RR~Y89@vSz_YZ_;I79m{Uvb z8L0w8`+_;}=|thGo8>kA@8#(CwsaJsOror2iR@86TCnD*#Hk6Z{2OrQNaNlJXaiZ0 z=U~L=2_JhNeIe+iV6HvW3h5R?QhKE^KJniA0nt+OXgnyn>p!On-T8t-(|ur5J4)wN zi3ym{xef)D=seN!?jn11jYE$So^py&)1^>2u*sDAGXu>qasqEQLhI!s7fxWNZg>M= z@uMdlyD@SPeV-buHoCt^0^d*Hv0MB+t`)Axuf1BnpL~BjUpd3L`Fh52vw!kDPdyOI z@tPzqGiY-=4GA&bRB( z@y~ho_&v|Ua=9J1uJ@iNLG5V}RLqg%;W`*SI3!O6k-pg!! zx0|kPw3=|&hO7%iKDD?*Kec3G-$OMfHh&7+lxke#^E7Vp%g-NQ^DiFjsm-5Xmz_Sn zx80s)sC-Q+Rd_#sCC@mB$YgH&l}~PK&R^JZE?(G~R)qj_T1Hek&L>SW#QJ z=}1b35v6=DU7zMI26yIfvJlG(EZw=%IZ9_kh9)GUQHthM*u^MIeCg%!f(x6gc@7?_s@v(@b}opfU# zVTd&MSPmO(K)iO|cC&}65)yN9z8|mN?I1I6mn52l`hq`sqqsI8KRH4^M!=XCjxfKI zXED5&iLjalPS)$Aw_jAnZ+e>KV4BQE};%c}{6V`k^%O z(;F}hN-$hb7@e9{G*w6SQrrhZ<7;!MfyJt-sfYcuCEMu}Nf@74&<^T`FRrhvUCKYi z4~#&Hgso&I3>=f1ntb+jk}T`cPG$Zha_iFi3JPdoC(kK>jn7bwpwDfe6Kd9dMRw8J zOL)?bAEi(l6_$>gjq4;4S>MXkPBB5BH$geDUWqymu9w zCL((>bM+R`OwXYH(sTBp21Yn=A!&PP?gaf}vmm($FFD)Emh|9nDr!Ewgm$TjFkDwmy;Q%2jG@%gIv#39d7`6t z$+QlixE0n4@sslr)v}5IqdLPTjoDEZdD&ZeaF@({?9+J&`G-+$4)V!!|H3Rv(D)au z_!FjK{JV=v{2^+nmEiW6^npnykvAA zcpn5rCa4I+b01!CtmiHVxBk0#zXqVWxl6XpgnWZKnW~4DTeB-4i*nsbie0tUR(*lM zq@=L3K(!L(!&QU(_sTWC@5LRoPVw(pnfxVcWzj|wR`SLx>TA4Co3m=ok%%O+J6ss! z{tJ-R6NFGhAF9uD3RA^@b&ag+WWt0BI}?%DItQ)rmC<`$?m3qeF)4}N9*!wy4M$~u z@1paU!Nl9`&y!``U*}s$XS?Lz%k|WPG&+w9!0x8U&}W+VkEsNsCJa5EqTF67vUT-SZ$~dN1$v{b*0>w(E@+2?-hdPC-pe#_|tXd$Z#O(=b6XJm^ zu;J10vxo_9a5$X&!IPRhe#ZK-unwXu-K;U#0MHpxJt7e;FUyXE73lcEEC`+}7f@I_ zuc=HUuhX;KHH~bHLB+`)ofh?_WolkkYQwxK|Cz|V4A>ualYnWJt;z)&xeS+ zEZPg#B9Tm8bvKKFjk@6Btdmnq9Bx~sZ9q6%;_WoS#)vy7dzpkrwpy>bi|w`PuJN3C z>i5TbhT^H1DsM{}N2yMp^ikbZ_M{Cr^dj^8)ljrBQ*?dzuc~8tT+7?mRB5s!k|PRh zAhAg2ylU31w+EBYSLwVzdG?gdi~#^EwaYnB-ZRRoeh(Xq8{^@ny3T;rkPB=sS; z+efzD5!(~udWCJPXHZjnw|aQ$oQ+OXLb;{bf$G)?jE0;QcWibx6qu!QlaF?5ZKJuF z+g@r?mRkLWoe(gj)Fy|g$yO2Q&FF)N)fj7B4MgZb4F_wRnAIx=C(|kkQpaL0TtK$S zAa%;YVRDnL#u~%i*{nKer!qi|ve$BmbZ8a&Oes<=>G&|Y0S?($dg3ca1JWPhJ@SnoCUWZb{TB@Z= zcIrWvFRCFi3RPSqmi2=)R*3_eXp4~KnhB3aUD5eUY42BE({}ZtxhUxpGH<89Is88# z0Eo2UZ75HpEZ7;!B#kTTI?&jJ^iIV$zit8{z>iUJ+O=O_c|1H5M=vI)>1U=9G4Yug zE!o^-(-MX;q}i&1JcyeJQX)oUvkORfmeu!AlQ6&oiy_)?zKeXTmPRoI&Fo9a`|Dp;GTURzXc#rCjk^6ZYm3N>HG5w7YHPS;T1& zISYilJ-`CT?s<-s^y^1^?w);_F7qJAb*eXh=FHwkXjbN)f_gFFZ^WGsQ))O@1JKRD-NsZ6bIC zeN=1bP9A2bIL+_4cuW!Bv=#T9OJ>YHc$5sB7j{-Zzf9$%QsbOjFwSvB?HC939#Y+E-;u|T-=Se!4*OI^U2)3Z2 z+oin(VNJgDkm@klIvk5~*OpEi9^4q&FMyAzYJIdqulk)u zoeX|52Cra3@FALep%f?Hv&a@>oL3xADxYQ})$|jR8*iVPFYwd!7(UqSCb{Tzw%+r< z_AfdAvYF;-e06t2Lv=g2G*TfHUBdHlaeEKnt)r$tu*Lcn)4QgOumtz6F|TM}|FB~w zgUD|sxthu|SpBW_L6e5l;BW**|3qzHWPYQtx}(_PM(6kYUd@-Th2A<$9IbAk9V*8d z70g~M+1j4GVg?x!+>~Ac|3{~6jj?FFE0-!=bG~|}xnu<^v(gja{f?jz`X`lG3ASV3JbXasw6;Uhquxq zy*QWuk^QblkvK6@0tzn9*S3p4Qjinz6&Nm=)+pQ%?U;W|$Y4U5$~5t#4Sh*7$kCf| z%MJNpp6s~&^ptG1eI#ivmtcA5$?CXL)?jrbKYKL1fQ)m@e`@m&VJ0%y2u8oc6)Ghy zSD*|zI_NqP%Y8Gv!y2A(vL+H5l?IgI;Euru#I3cvS||oVMCR*Y<2qFFUTz%JR!Q7Q zPvK=+I;sRf5oKwx*}x2KPvNX2UVYUr&2UM~E9t@oNAk=DK{sZNQEWBaur+NeI{b&p z+wn-BTAM(b;0E%c{}+v*ls8-~Bkw9xcHTr1poIKjtXM(tpQuwpcDVIz4~*4-42hiS zK=7=`?RSc17_o+W%S<4Q)(!m~fsCjEoV`LJ>#y+upD0dMfLd7D4#Xf;FY2$@{`@Ld zZo>zp3p4xX31cUWapxzGL-z;CRAE_dvA0p`^8yul+k*!+Ux`c_xWa|8V3z|Ldq+me zTTGlbr&{SHPL#}TdO7AqVnJZ+QcTv3hiSOQ-|?;F3zi$YQC4iiXDcw?Y2P>Nj_NT> zHSq0+$_IUaaf^i@wz;B4a}^|<#9Fq%JuPL?s-+?X+P%u!T4mMw{mJm?=;(0f?XWHI zaA1J-c(Yn@V{>ymB`!5MJ0=fjO?-cSE)(2P-~)oe-)NRBvD;&lCCW#CC&`9gENslj z&Or8fg`+Hoq^sAfsd#i(8mi6rO&zV=bro-l+SjK>t7~%y&P==OtFA)U_y}J2tFPiU zBRjl~N3r2d%b0&k?6=x%)WvpuD?KkqHIK`!!~xS^p+0$H4)%co(|d*`jkm|~Y#x#% ziX<|a?5K0RLRu9 z_q)+KpUZT8KtbAY1Zrz^XYx4vxv+H2kirI1u_L$qsR*Cr`1sU6F7MjLef6L|$L3nu zVB}xRGF^Y!K0dS z1?p55DP^w4IJD8)T=b6;Hi?`AE68$7PgyhieUf#-4;jOiWlR$|emlkXC zE1hfjB#M|UCdmL0xhuDikFQ%U@Hlx*ViRu@fr0(7)kPt@tP4}E7087oJ7d3Rl6!`^ zO>1sV(^olY*@qu9g?HCqMQ`DfdGHm4!FeJr!pTJKYAlSMZ)6ckBN;O*sZ#nTQK}0D zEh~D><7bKZHu5!EgSrqL2LTt!h;QZtsNid3{!P&WndpmeNXXN}MbgLWot%s}p~~}U zpabwwsZ#M<*NP{tzCI5!wv!L0nk?SG2drp2#5bggAe2Y~#L@QUA>#G?3yFyDz2$>W zSrtVQ&329Q^R)RQG0N5~S%#@FDCwZPhye=@rkx_R27GGN{J|Kbf@|gyH`&U`vQyia zFF~^y8$BUHL?7562BjinVDMTrFCYr2s?|!rkqx>@G|LYQNs-oNs8Jc`!_io(cHU?! zt8;NXT36^KkzShZ=dHr_5qU`S583Kx!BW7qC@P5^88QqHcDi}6Hc%C`cqFS}M4Sck zP`<%|6uauS_D^mI`Z9NDb;khY$Q%t}lic*rPI|fGN|{;uIVC2asGNjSTKSX=r(p$0 zrdIt(S*z3{-t3(y?C}w=IpeWXdQ2r66RgpE>iz60{yROFY1dmgijx#C8MV}Q>hRbH z?dlF5*Dom`JH59^uocD^Pnb~1(81&=eIBl4p{$ic3QtX?sg;uEX;Wh7FzqX~WMsP) zv&lhPovNOdo9c4D2_&)HqHVcLwU$afaEu@^QrJ<$&%;Jh#ZIE%-bYbMLCk>%15>nG z1*2*yh(pJ7y{kCY$gzArv+WFPH2mt9uYFG}&%$*Dj`(`AD@in-_*$|vNqCBtHP#v7 zYrP|sw=E|s^d>3AYXem--gr}tgT`u?b$OK5kix1q+pz@B{IXY00^Q;D(To`07d8BJ z3agGizAK{k`(!4phKB2(k3oefj^d(PUZ=^=&aJvh_y$0;@}U-hNRnC!@WwR`w|!oY zd4me9mQF=J^it1P8#Pkgdo+31-S8NGc0;!`LavgG*2OfFbtaeXYX((8>N(;MbEzDsxYUIAjT!*(h~qFJO>?P&lP)9D(CTVpnL0e=EVfT>NX2Qh`!QU7 z1SB1|UNEVAm257gAl8k64{H>yP&Hc=PdeLy{7?Zbkfema+L55JB4@ozyN4GbMPxFM zd3H)R{y{WzCE+e;t!mSxLz2*LZ1>jELL*M0I#BZsvP%rOmaSE+l?KB3a+|AJ^&ug3 zQeX*!&uHq=VXf9g;Q?vYi|eAiq&miT>;`r;T|A2hTOBLEmfpGs8s%)X&Kjf2B+m?o z=TcRpB+5N#Y3_9=Afdx!zddemwu4#i{A0mpi7;|GmlQ>f(trcEj3VIyklde;)xpQl z#fM^5EN47b+~;RaY{lA0CWYzPDl6SUI6eb1`$$FLixNzk2CTFFr zMM*x{%E}YU@O`KZrZKKaTSagEKkNa6EwIM>g2CnkB^2U}Y4ZEkS;U;mTo`lcGUk*; zeov^_vvWE*#CTL9MnQ1rMl}oOtcr@!Dnb$mO??h3wi&^H(n}siVk|uj>Y^0@(Hdt? z!^%=3gzcX3@B<@$)XeC2Y^c&yE6VI2nUMnpmsDAa9@mCfLAOklAQ8!6jYFj<%X}NF z+-*#xCC@KwDMp7xDknWrEE}8Zi&|J#lxNj4m6bYYjB(gmrSH4NF+=_I54L`<_AWZG zhhgSl(n@A-uf;}-uzHx)48{wGVpl2cJt=Jpbm}Rj?RBxnO6|-y;R|MpW#CFVviU`_ z6^RLssxb*LVQ%4+om;z{(Hkq-<5{i;9y!KoD-(=ryylJp&NOJ!l-kt0c|TX;?*E{V z1`_J@XU@@WO}6JR{o&-yJq}3g8V6)@?wW6`D=evr*&@i}uV~q>*Vy$VXF{Xf`5IsL z+|oVsc|OF9J+jheAd#=F#XKHlSd-a*EEoc`$?7#>P2Rhjz22YURF!T0N@aXMAnn%e z8M9QLFG$Z+Yl;U;CsHpOrBE8lqQO4qX@rT_-BY+=OOi=bRo2ioGBzpnUL!Q6 z33V8*9BEu@7J%ndK+sK>=_$(&t?nuFTicw7! z?E{%l+I85(K0Y6L1(BV51|feOiA8(AP&pyRWWTa&iaj>-$T&}lL0w+qHF`b!CK>}e zv1-0jr@#Y*wgdg$@C9JleQZYLwtp|9xnqfn#f*w?6E6*APTq3Ws*5RBsiP0l+y#?m zXe6JHNn6NLGj{aQ>S$vv9~3Hs(K<~{oRTJdPfn%!54vPQE_ng7QHrMSunWk>($QD7az|SE8c)_=ie1)you|k zPML>}_3yEZRu19zzmNEW6^)d&s+fXtR;-wzHg>xuTJHI72C+gzsJ71~R4>ZXezU27 zu(T&$W0y(0+M4^?X%F9L*N6YwB)-)NcdwkA&pL?`dlM-JJi=8DN)eq4A0MElgG4KX zF82>hF6Q6+BQccR1M1n+}0%!Fy<;@wKT9<7dGtY3Wl+={*3h(7XL^GeN z?egRvqYuiC;+qn?qnqmkPTbLMGt6jh#g(QKAC(Ge08z5Up(8+Z3UV&4^T*uF?>GI1 z_rB=Zi_LY^(scu{iVH-rPNrF#9 zie>S$$)v3Jv|P+vo}v4+4flIt)U?WXBu=`rtfKU4M$sO^g%h|~m6Wq?3^4OQ^;8Of z%j``3C4o6ypuOEXC+EslsizYvF&C&82 zp~+TGfx{%mi#_5u643vG_$QkrY3the~H(V~^j7VQ;US(_H65CgFP zEmWI1HFw?@Jcexq&2cD{^YS-PGJ&kcm@8yhhcW z$sc?s@5W+YWnigGt3Y10g*_z+c73SlCV*Q}6;xZ6hJ>nzMjr<7L7Wi@d+g^YnEl49 zYg5+=e5$mw%6$XhxWf7R8+Pky=ImQ9K2u)Lu!}2CdG`;)<&kiAzo(O7X03e0-VA2_du|f&^rLi)K zK+;QoTC;f9l+h*r-udeV3E7T3^%GNfCi=d2TxYVKUG2PY{oRn1`>1Wx;;1HhHoR-+ ztJ7_&Qa3@N3;qhndC?kf$t6_UCKT@k-R1V@%|E|3;Xv)ivW#S{{x5r>G%JRoC~Ho8 z+2n!iF4R-xBIuD-@TZ^G`aJLpJBdGuXHSGrR~4V+Z%+-M;?5f)vum;&Yg3~p3c*AzTg>$j zv5tOl7RK>X7@6P@v+MQK3!>>LrEns(>0X<8wE6u}#eLo=mWtWyZsxY=;oWxLb5auH zcd6{U9XOW7`COO{c}5?Uy8cpUwYl!Rs9PaI$dvq&quGhcX>zdpDs1wLsMI- zlYc?i_Nx6_%IOnc&Ze)TxNP1n)&C@p>Sc{VwiAlXrMP6)Y_>ReY)bf%*>H!x;l7!mfMf(GcqLhMAmOTN4#z!qv5R zzqnMcBcZLbsg-Q5?7LJ0bZCpmWr8p(LVodg2CBqi&oo=_M`e6yTJzNhw_G95U9gwC zbpz>nIykLW3>B3RFS#=--ZD2#aM#^zuPN>yCt;JF*-|u&aX1NSpBEm3`ZraY>SX%4 zL)rhUVoqE{#I#l(dnrkkL$Ev}jCW zb*EaRl9UXf)dI!4U4Pv_L44>sIVuK5#gcFrCwAqX=0Hni3%PX|d3W>|&8Ks<{Pmjc z;dO8`q+4QfWLbJ%wNU}#CeFRZzuZg@gVmlP#kmDX?)x&NUEN@Wh$LI^4D8$f-3cH1 z*I>xBZSo!p@7LS925{|QW6&U#d8&@Au>NUZ^>+E?GD^6diUtsK1KL*Mlus~+3-u@r zH5Osq+S1un8SpvG1yw$2YIS&%?(XfGN0T~SJZF_GS#?rRyMB1Osi5z0fS`20CRmNX ziW4`Q)%kY{Su53=*2KdG28!k@q*LootrYY!jE(XU%STRpwfsWK5z8b$;Zc>$M!ayj z1}mBnLzpXYea3dhFm41k8PcvpKCx!d>bKv=laza0>{V+x0AmZeRmL?&2+-QJyM*+^ z%WcS{OBmGNBD~&ert<7Uaj0sy7|D|qc>nS_bU7PggNxe;PCVNC)2|L~F$Kij6&5cl zHb#>8t9PK<-KfAUub`X2Rz|!X6gs*P4#$qcpp9AJF}a%TuZtEIDMY45MbNU9ok|4H zo@S>`Xgd!ssi8eWH8G*UlIRbe#AGuE6BjhcWu{D$fmZekwN*t8(iE+!{XvllrK`-2 z%tvN9f637m#V061@q3p68amzU)uR0nL6?AP2R$&I^B%K}KHN9s(o%{dDaXhBm=?Yy z^QzcPWWX<|w#XMG3}`axrEUipu@sf66u15!DK;OjJ4Ilk1lxTsp6_raf_V}T zCiD6p14$zmpywYmrHn;0TC)@D9wU9^dI8@tR!akA=rVM6)cpNxb?V@x^Y1}%tBj}F zoL{crd9i2r;u&zeAz4gJ^g6xG>@1AwR^YkwcGcaihckl%>00&z3xaeFY_2^mX|eHv zgOmXi-kb^A1c(n2@$CAZ+3Mo3iIqW`|G*STlYx5U^*HV(ZqQ(sEi{Av>IflU?DW2b zgg^R;N6(vNdsDjY8|#v+P&3sVPrE(w_OlUB5xf>}x$H5nBfb`oJQmh=OdY-qMs!Kx zA;)~6(?ROa{8Hg^me(uBl5<(#Q3+NurLBn^4({Qfm}hxFh)_<+1$n&zv=s^9Akjy} zLD08DRN>_86%COs&MlpCywy6fWRRLR<${?LrN1(%Dzw&6kqV)OQ?=34uK(EvgKhuL z{L%pNtP;k$UibshYoQu5)r>C% zm(Ip~BI~Oqby@RK^dDv@D=3MGU3}+t2L!0ov=&o1+7EwW)Jat3_T~FR0mr*KK?E0A zPGC#-OS8}1uVL3P%^@fq+&XG-C`r5iJwe44#8{~esG(wT@K~O-94FhTHdr3u034G~ z+tNmwa=ohE=N$c^8DRS26zm~T*Iy>c57O5W8F_vfAHRcUDcG@~x zG2wf+7c!S8aXGM02H|i@A%88jUa*K9QxBKYdZfSr6^zEIBay3g+Mow*#h+)=$aSns zPVLsV4+o&EzDTtG?i_`}wWZ1wVtISo zt3$LsYvhHtEkV5NNdn*f#e;aZJ4KVN(yLD>Jhqgu~#)j{n`vLr#eTMR@Zb>>_!FDjz&X^oC!7sWDYXUEn`Q+RfGWGq zLGQd+=dp?SU1-+P$w^e8Kh1)|kXE+t9?czQt@HmC4^} z@|>{cv3OEmR)xj0h|b+yT;Ki`Jx+>f_o$-$qSs?uV!lI_(GJ~RZpwKv07%dV=u7{6Frce2372LPYh6(Y zWqTx4GLh@FGqR~wq?-q&swlt2Z{54*TbOON6Y32zw$H0YnJlf&X^ F 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∾w&sa>A&o~m5MY@i@7c!OAv#f^_! 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

l0lj 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

8StwI&1V{rJg$fplkf^P*3RvC6=6RBCWie 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