diff --git a/src/inference/src/os/win/win_system_conf.cpp b/src/inference/src/os/win/win_system_conf.cpp index 828af9916c6..e89666edf7a 100644 --- a/src/inference/src/os/win/win_system_conf.cpp +++ b/src/inference/src/os/win/win_system_conf.cpp @@ -161,7 +161,7 @@ void parse_processor_info_win(const char* base_ptr, _proc_type_table[0] = line_value_0; for (int m = 1; m <= _sockets; m++) { - for (int n = 0; n <= EFFICIENT_CORE_PROC; n++) { + for (int n = 0; n < PROC_TYPE_TABLE_SIZE; n++) { _proc_type_table[0][n] += _proc_type_table[m][n]; } } diff --git a/src/inference/tests/unit/cpu_map_parser.cpp b/src/inference/tests/unit/cpu_map_parser.cpp index dafabdf900e..1d3d38ae3df 100644 --- a/src/inference/tests/unit/cpu_map_parser.cpp +++ b/src/inference/tests/unit/cpu_map_parser.cpp @@ -586,4 +586,1790 @@ INSTANTIATE_TEST_SUITE_P(CPUMap, _1sockets_6cores_hyperthreading)); #endif +#if (defined(_WIN32) || defined(_WIN64)) + +int Hex2Int(char c) { + return (c >= '0' && c <= '9') + ? (c) - '0' + : (c >= 'A' && c <= 'F') ? (c) - 'A' + 10 : (c >= 'a' && c <= 'f') ? (c) - 'a' + 10 : 0; +} + +void Hex2Bin(const char* hex, std::size_t sz, char* out) { + for (int i = 0; i < sz; i += 2) { + out[i / 2] = (Hex2Int(hex[i]) << 4) | Hex2Int(hex[i + 1]); + } +} + +struct WinCpuMapTestCase { + int _processors; + int _sockets; + int _cores; + std::vector> _proc_type_table; + std::vector> _cpu_mapping_table; + std::string system_info; +}; + +class WinCpuMapParserTests : public CommonTestUtils::TestsCommon, + public testing::WithParamInterface> { +public: + void SetUp() override { + const auto& test_data = std::get<0>(GetParam()); + + const char* test_ptr = (char*)test_data.system_info.c_str(); + std::size_t test_len = test_data.system_info.length(); + + std::shared_ptr test_info(new char[test_len / 2]); + char* test_info_ptr = test_info.get(); + + Hex2Bin(test_ptr, test_len, test_info_ptr); + + int test_sockets = 0; + int test_cores = 0; + unsigned long len = unsigned long(test_len / 2); + std::vector> test_proc_type_table; + std::vector> test_cpu_mapping_table; + + parse_processor_info_win(test_info_ptr, + len, + test_data._processors, + test_sockets, + test_cores, + test_proc_type_table, + test_cpu_mapping_table); + + ASSERT_EQ(test_data._sockets, test_sockets); + ASSERT_EQ(test_data._cores, test_cores); + ASSERT_EQ(test_data._proc_type_table, test_proc_type_table); + ASSERT_EQ(test_data._cpu_mapping_table, test_cpu_mapping_table); + } +}; + +WinCpuMapTestCase _2sockets_104cores_hyperthreading = { + 208, + 2, + 104, + {{208, 104, 0, 104}, {104, 52, 0, 52}, {104, 52, 0, 52}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, + {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, + {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 0, 8, MAIN_CORE_PROC, 8, -1}, + {18, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 0, 9, MAIN_CORE_PROC, 9, -1}, + {20, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 0, 10, MAIN_CORE_PROC, 10, -1}, + {22, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 0, 11, MAIN_CORE_PROC, 11, -1}, + {24, 0, 12, HYPER_THREADING_PROC, 12, -1}, {25, 0, 12, MAIN_CORE_PROC, 12, -1}, + {26, 0, 13, HYPER_THREADING_PROC, 13, -1}, {27, 0, 13, MAIN_CORE_PROC, 13, -1}, + {28, 0, 14, HYPER_THREADING_PROC, 14, -1}, {29, 0, 14, MAIN_CORE_PROC, 14, -1}, + {30, 0, 15, HYPER_THREADING_PROC, 15, -1}, {31, 0, 15, MAIN_CORE_PROC, 15, -1}, + {32, 0, 16, HYPER_THREADING_PROC, 16, -1}, {33, 0, 16, MAIN_CORE_PROC, 16, -1}, + {34, 0, 17, HYPER_THREADING_PROC, 17, -1}, {35, 0, 17, MAIN_CORE_PROC, 17, -1}, + {36, 0, 18, HYPER_THREADING_PROC, 18, -1}, {37, 0, 18, MAIN_CORE_PROC, 18, -1}, + {38, 0, 19, HYPER_THREADING_PROC, 19, -1}, {39, 0, 19, MAIN_CORE_PROC, 19, -1}, + {40, 0, 20, HYPER_THREADING_PROC, 20, -1}, {41, 0, 20, MAIN_CORE_PROC, 20, -1}, + {42, 0, 21, HYPER_THREADING_PROC, 21, -1}, {43, 0, 21, MAIN_CORE_PROC, 21, -1}, + {44, 0, 22, HYPER_THREADING_PROC, 22, -1}, {45, 0, 22, MAIN_CORE_PROC, 22, -1}, + {46, 0, 23, HYPER_THREADING_PROC, 23, -1}, {47, 0, 23, MAIN_CORE_PROC, 23, -1}, + {48, 0, 24, HYPER_THREADING_PROC, 24, -1}, {49, 0, 24, MAIN_CORE_PROC, 24, -1}, + {50, 0, 25, HYPER_THREADING_PROC, 25, -1}, {51, 0, 25, MAIN_CORE_PROC, 25, -1}, + {52, 0, 26, HYPER_THREADING_PROC, 26, -1}, {53, 0, 26, MAIN_CORE_PROC, 26, -1}, + {54, 0, 27, HYPER_THREADING_PROC, 27, -1}, {55, 0, 27, MAIN_CORE_PROC, 27, -1}, + {56, 0, 28, HYPER_THREADING_PROC, 28, -1}, {57, 0, 28, MAIN_CORE_PROC, 28, -1}, + {58, 0, 29, HYPER_THREADING_PROC, 29, -1}, {59, 0, 29, MAIN_CORE_PROC, 29, -1}, + {60, 0, 30, HYPER_THREADING_PROC, 30, -1}, {61, 0, 30, MAIN_CORE_PROC, 30, -1}, + {62, 0, 31, HYPER_THREADING_PROC, 31, -1}, {63, 0, 31, MAIN_CORE_PROC, 31, -1}, + {64, 0, 32, HYPER_THREADING_PROC, 32, -1}, {65, 0, 32, MAIN_CORE_PROC, 32, -1}, + {66, 0, 33, HYPER_THREADING_PROC, 33, -1}, {67, 0, 33, MAIN_CORE_PROC, 33, -1}, + {68, 0, 34, HYPER_THREADING_PROC, 34, -1}, {69, 0, 34, MAIN_CORE_PROC, 34, -1}, + {70, 0, 35, HYPER_THREADING_PROC, 35, -1}, {71, 0, 35, MAIN_CORE_PROC, 35, -1}, + {72, 0, 36, HYPER_THREADING_PROC, 36, -1}, {73, 0, 36, MAIN_CORE_PROC, 36, -1}, + {74, 0, 37, HYPER_THREADING_PROC, 37, -1}, {75, 0, 37, MAIN_CORE_PROC, 37, -1}, + {76, 0, 38, HYPER_THREADING_PROC, 38, -1}, {77, 0, 38, MAIN_CORE_PROC, 38, -1}, + {78, 0, 39, HYPER_THREADING_PROC, 39, -1}, {79, 0, 39, MAIN_CORE_PROC, 39, -1}, + {80, 0, 40, HYPER_THREADING_PROC, 40, -1}, {81, 0, 40, MAIN_CORE_PROC, 40, -1}, + {82, 0, 41, HYPER_THREADING_PROC, 41, -1}, {83, 0, 41, MAIN_CORE_PROC, 41, -1}, + {84, 0, 42, HYPER_THREADING_PROC, 42, -1}, {85, 0, 42, MAIN_CORE_PROC, 42, -1}, + {86, 0, 43, HYPER_THREADING_PROC, 43, -1}, {87, 0, 43, MAIN_CORE_PROC, 43, -1}, + {88, 0, 44, HYPER_THREADING_PROC, 44, -1}, {89, 0, 44, MAIN_CORE_PROC, 44, -1}, + {90, 0, 45, HYPER_THREADING_PROC, 45, -1}, {91, 0, 45, MAIN_CORE_PROC, 45, -1}, + {92, 0, 46, HYPER_THREADING_PROC, 46, -1}, {93, 0, 46, MAIN_CORE_PROC, 46, -1}, + {94, 0, 47, HYPER_THREADING_PROC, 47, -1}, {95, 0, 47, MAIN_CORE_PROC, 47, -1}, + {96, 0, 48, HYPER_THREADING_PROC, 48, -1}, {97, 0, 48, MAIN_CORE_PROC, 48, -1}, + {98, 0, 49, HYPER_THREADING_PROC, 49, -1}, {99, 0, 49, MAIN_CORE_PROC, 49, -1}, + {100, 0, 50, HYPER_THREADING_PROC, 50, -1}, {101, 0, 50, MAIN_CORE_PROC, 50, -1}, + {102, 0, 51, HYPER_THREADING_PROC, 51, -1}, {103, 0, 51, MAIN_CORE_PROC, 51, -1}, + {104, 1, 52, HYPER_THREADING_PROC, 52, -1}, {105, 1, 52, MAIN_CORE_PROC, 52, -1}, + {106, 1, 53, HYPER_THREADING_PROC, 53, -1}, {107, 1, 53, MAIN_CORE_PROC, 53, -1}, + {108, 1, 54, HYPER_THREADING_PROC, 54, -1}, {109, 1, 54, MAIN_CORE_PROC, 54, -1}, + {110, 1, 55, HYPER_THREADING_PROC, 55, -1}, {111, 1, 55, MAIN_CORE_PROC, 55, -1}, + {112, 1, 56, HYPER_THREADING_PROC, 56, -1}, {113, 1, 56, MAIN_CORE_PROC, 56, -1}, + {114, 1, 57, HYPER_THREADING_PROC, 57, -1}, {115, 1, 57, MAIN_CORE_PROC, 57, -1}, + {116, 1, 58, HYPER_THREADING_PROC, 58, -1}, {117, 1, 58, MAIN_CORE_PROC, 58, -1}, + {118, 1, 59, HYPER_THREADING_PROC, 59, -1}, {119, 1, 59, MAIN_CORE_PROC, 59, -1}, + {120, 1, 60, HYPER_THREADING_PROC, 60, -1}, {121, 1, 60, MAIN_CORE_PROC, 60, -1}, + {122, 1, 61, HYPER_THREADING_PROC, 61, -1}, {123, 1, 61, MAIN_CORE_PROC, 61, -1}, + {124, 1, 62, HYPER_THREADING_PROC, 62, -1}, {125, 1, 62, MAIN_CORE_PROC, 62, -1}, + {126, 1, 63, HYPER_THREADING_PROC, 63, -1}, {127, 1, 63, MAIN_CORE_PROC, 63, -1}, + {128, 1, 64, HYPER_THREADING_PROC, 64, -1}, {129, 1, 64, MAIN_CORE_PROC, 64, -1}, + {130, 1, 65, HYPER_THREADING_PROC, 65, -1}, {131, 1, 65, MAIN_CORE_PROC, 65, -1}, + {132, 1, 66, HYPER_THREADING_PROC, 66, -1}, {133, 1, 66, MAIN_CORE_PROC, 66, -1}, + {134, 1, 67, HYPER_THREADING_PROC, 67, -1}, {135, 1, 67, MAIN_CORE_PROC, 67, -1}, + {136, 1, 68, HYPER_THREADING_PROC, 68, -1}, {137, 1, 68, MAIN_CORE_PROC, 68, -1}, + {138, 1, 69, HYPER_THREADING_PROC, 69, -1}, {139, 1, 69, MAIN_CORE_PROC, 69, -1}, + {140, 1, 70, HYPER_THREADING_PROC, 70, -1}, {141, 1, 70, MAIN_CORE_PROC, 70, -1}, + {142, 1, 71, HYPER_THREADING_PROC, 71, -1}, {143, 1, 71, MAIN_CORE_PROC, 71, -1}, + {144, 1, 72, HYPER_THREADING_PROC, 72, -1}, {145, 1, 72, MAIN_CORE_PROC, 72, -1}, + {146, 1, 73, HYPER_THREADING_PROC, 73, -1}, {147, 1, 73, MAIN_CORE_PROC, 73, -1}, + {148, 1, 74, HYPER_THREADING_PROC, 74, -1}, {149, 1, 74, MAIN_CORE_PROC, 74, -1}, + {150, 1, 75, HYPER_THREADING_PROC, 75, -1}, {151, 1, 75, MAIN_CORE_PROC, 75, -1}, + {152, 1, 76, HYPER_THREADING_PROC, 76, -1}, {153, 1, 76, MAIN_CORE_PROC, 76, -1}, + {154, 1, 77, HYPER_THREADING_PROC, 77, -1}, {155, 1, 77, MAIN_CORE_PROC, 77, -1}, + {156, 1, 78, HYPER_THREADING_PROC, 78, -1}, {157, 1, 78, MAIN_CORE_PROC, 78, -1}, + {158, 1, 79, HYPER_THREADING_PROC, 79, -1}, {159, 1, 79, MAIN_CORE_PROC, 79, -1}, + {160, 1, 80, HYPER_THREADING_PROC, 80, -1}, {161, 1, 80, MAIN_CORE_PROC, 80, -1}, + {162, 1, 81, HYPER_THREADING_PROC, 81, -1}, {163, 1, 81, MAIN_CORE_PROC, 81, -1}, + {164, 1, 82, HYPER_THREADING_PROC, 82, -1}, {165, 1, 82, MAIN_CORE_PROC, 82, -1}, + {166, 1, 83, HYPER_THREADING_PROC, 83, -1}, {167, 1, 83, MAIN_CORE_PROC, 83, -1}, + {168, 1, 84, HYPER_THREADING_PROC, 84, -1}, {169, 1, 84, MAIN_CORE_PROC, 84, -1}, + {170, 1, 85, HYPER_THREADING_PROC, 85, -1}, {171, 1, 85, MAIN_CORE_PROC, 85, -1}, + {172, 1, 86, HYPER_THREADING_PROC, 86, -1}, {173, 1, 86, MAIN_CORE_PROC, 86, -1}, + {174, 1, 87, HYPER_THREADING_PROC, 87, -1}, {175, 1, 87, MAIN_CORE_PROC, 87, -1}, + {176, 1, 88, HYPER_THREADING_PROC, 88, -1}, {177, 1, 88, MAIN_CORE_PROC, 88, -1}, + {178, 1, 89, HYPER_THREADING_PROC, 89, -1}, {179, 1, 89, MAIN_CORE_PROC, 89, -1}, + {180, 1, 90, HYPER_THREADING_PROC, 90, -1}, {181, 1, 90, MAIN_CORE_PROC, 90, -1}, + {182, 1, 91, HYPER_THREADING_PROC, 91, -1}, {183, 1, 91, MAIN_CORE_PROC, 91, -1}, + {184, 1, 92, HYPER_THREADING_PROC, 92, -1}, {185, 1, 92, MAIN_CORE_PROC, 92, -1}, + {186, 1, 93, HYPER_THREADING_PROC, 93, -1}, {187, 1, 93, MAIN_CORE_PROC, 93, -1}, + {188, 1, 94, HYPER_THREADING_PROC, 94, -1}, {189, 1, 94, MAIN_CORE_PROC, 94, -1}, + {190, 1, 95, HYPER_THREADING_PROC, 95, -1}, {191, 1, 95, MAIN_CORE_PROC, 95, -1}, + {192, 1, 96, HYPER_THREADING_PROC, 96, -1}, {193, 1, 96, MAIN_CORE_PROC, 96, -1}, + {194, 1, 97, HYPER_THREADING_PROC, 97, -1}, {195, 1, 97, MAIN_CORE_PROC, 97, -1}, + {196, 1, 98, HYPER_THREADING_PROC, 98, -1}, {197, 1, 98, MAIN_CORE_PROC, 98, -1}, + {198, 1, 99, HYPER_THREADING_PROC, 99, -1}, {199, 1, 99, MAIN_CORE_PROC, 99, -1}, + {200, 1, 100, HYPER_THREADING_PROC, 100, -1}, {201, 1, 100, MAIN_CORE_PROC, 100, -1}, + {202, 1, 101, HYPER_THREADING_PROC, 101, -1}, {203, 1, 101, MAIN_CORE_PROC, 101, -1}, + {204, 1, 102, HYPER_THREADING_PROC, 102, -1}, {205, 1, 102, MAIN_CORE_PROC, 102, -1}, + {206, 1, 103, HYPER_THREADING_PROC, 103, -1}, {207, 1, 103, MAIN_CORE_PROC, 103, -1}, + }, + {"0300000040000000000000000000000000000000000000000000000000000200ffffffffffffffff0000000000000000ffffffffff0000000" + "10000000000000000000000300000000100000000000000000000000000000000000000000001000300000000000000000000000000000007" + "00000030000000000000000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010" + "c400000c000000200000000000000000000000000000000000000000001000300000000000000000000000000000002000000380000000108" + "40000080000001000000000000000000000000000000000000000000010003000000000000000000000000000000020000003800000002104" + "00000002000000000000000000000000000000000000000000000000100030000000000000000000000000000000200000048000000030f40" + "0000009006000000000000000000000000000000000000000000000200ffffffffffffffff0000000000000000ffffffffff0000000100000" + "00000000000000000300000000100000000000000000000000000000000000000000001000c00000000000000000000000000000007000000" + "300000000000000000000000000000000000000000000000000001000c0000000000000000000000000000000200000038000000010c40000" + "0c000000200000000000000000000000000000000000000000001000c00000000000000000000000000000002000000380000000108400000" + "8000000100000000000000000000000000000000000000000001000c000000000000000000000000000000020000003800000002104000000" + "020000000000000000000000000000000000000000000000001000c0000000000000000000000000000000000000030000000010000000000" + "00000000000000000000000000000000010030000000000000000000000000000000070000003000000000000000000000000000000000000" + "0000000000000000100300000000000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000" + "00000000000000010030000000000000000000000000000000020000003800000001084000008000000100000000000000000000000000000" + "00000000000000100300000000000000000000000000000000200000038000000021040000000200000000000000000000000000000000000" + "0000000000000100300000000000000000000000000000000000000030000000010000000000000000000000000000000000000000000100c" + "00000000000000000000000000000000700000030000000000000000000000000000000000000000000000000000100c00000000000000000" + "000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100c000000000000000000" + "000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100c0000000000000000000" + "00000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100c00000000000000000000" + "00000000000000000003000000001000000000000000000000000000000000000000000010000030000000000000000000000000000070000" + "0030000000000000000000000000000000000000000000000000000100000300000000000000000000000000000200000038000000010c400" + "000c0000002000000000000000000000000000000000000000000010000030000000000000000000000000000020000003800000001084000" + "00800000010000000000000000000000000000000000000000000100000300000000000000000000000000000200000038000000021040000" + "00020000000000000000000000000000000000000000000000001000003000000000000000000000000000000000000300000000100000000" + "00000000000000000000000000000000000100000c00000000000000000000000000000700000030000000000000000000000000000000000" + "000000000000000000100000c00000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000" + "00000000000000000100000c00000000000000000000000000000200000038000000010840000080000001000000000000000000000000000" + "0000000000000000100000c000000000000000000000000000002000000380000000210400000002000000000000000000000000000000000" + "000000000000000100000c0000000000000000000000000000000000003000000001000000000000000000000000000000000000000000010" + "00030000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001000030000000000000" + "00000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000300000000000000" + "00000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100003000000000000000" + "00000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000030000000000000000" + "0000000000000000000003000000001000000000000000000000000000000000000000000010000c000000000000000000000000000000700" + "00003000000000000000000000000000000000000000000000000000010000c000000000000000000000000000000200000038000000010c4" + "00000c0000002000000000000000000000000000000000000000000010000c000000000000000000000000000000200000038000000010840" + "000080000001000000000000000000000000000000000000000000010000c0000000000000000000000000000002000000380000000210400" + "00000200000000000000000000000000000000000000000000000010000c00000000000000000000000000000000000003000000001000000" + "00000000000000000000000000000000000001000000030000000000000000000000000007000000300000000000000000000000000000000" + "00000000000000000000100000003000000000000000000000000000200000038000000010c400000c0000002000000000000000000000000" + "00000000000000000001000000030000000000000000000000000002000000380000000108400000800000010000000000000000000000000" + "00000000000000000010000000300000000000000000000000000020000003800000002104000000020000000000000000000000000000000" + "00000000000000000100000003000000000000000000000000000000000030000000010000000000000000000000000000000000000000000" + "10000000c00000000000000000000000000070000003000000000000000000000000000000000000000000000000000010000000c00000000" + "0000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000c000000000" + "000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000000c0000000000" + "00000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000000c00000000000" + "00000000000000000000000300000000100000000000000000000000000000000000000000001000000300000000000000000000000000007" + "00000030000000000000000000000000000000000000000000000000000100000030000000000000000000000000000200000038000000010" + "c400000c000000200000000000000000000000000000000000000000001000000300000000000000000000000000002000000380000000108" + "40000080000001000000000000000000000000000000000000000000010000003000000000000000000000000000020000003800000002104" + "00000002000000000000000000000000000000000000000000000000100000030000000000000000000000000000000000030000000010000" + "0000000000000000000000000000000000000001000000c000000000000000000000000000070000003000000000000000000000000000000" + "00000000000000000000001000000c0000000000000000000000000000200000038000000010c400000c00000020000000000000000000000" + "0000000000000000000001000000c000000000000000000000000000020000003800000001084000008000000100000000000000000000000" + "000000000000000000001000000c0000000000000000000000000000200000038000000021040000000200000000000000000000000000000" + "00000000000000000001000000c00000000000000000000000000000000000300000000100000000000000000000000000000000000000000" + "00100000000030000000000000000000000000700000030000000000000000000000000000000000000000000000000000100000000030000" + "000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000000000300000" + "00000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000000003000000" + "00000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000000030000000" + "0000000000000000000000000300000000100000000000000000000000000000000000000000001000000000c000000000000000000000000" + "07000000300000000000000000000000000000000000000000000000000001000000000c00000000000000000000000002000000380000000" + "10c400000c000000200000000000000000000000000000000000000000001000000000c000000000000000000000000020000003800000001" + "084000008000000100000000000000000000000000000000000000000001000000000c0000000000000000000000000200000038000000021" + "04000000020000000000000000000000000000000000000000000000001000000000c00000000000000000000000000000000300000000100" + "00000000000000000000000000000000000000000100000000300000000000000000000000000700000030000000000000000000000000000" + "000000000000000000000000100000000300000000000000000000000000200000038000000010c400000c000000200000000000000000000" + "00000000000000000000000100000000300000000000000000000000000200000038000000010840000080000001000000000000000000000" + "00000000000000000000001000000003000000000000000000000000002000000380000000210400000002000000000000000000000000000" + "00000000000000000000010000000030000000000000000000000000000000003000000001000000000000000000000000000000000000000" + "0000100000000c00000000000000000000000000700000030000000000000000000000000000000000000000000000000000100000000c000" + "00000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000000c0000" + "00000000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100000000c00000" + "0000000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000000c000000" + "00000000000000000000000000030000000010000000000000000000000000000000000000000000100000000000300000000000000000000" + "00070000003000000000000000000000000000000000000000000000000000010000000000030000000000000000000000020000003800000" + "0010c400000c00000020000000000000000000000000000000000000000000100000000000300000000000000000000000200000038000000" + "01084000008000000100000000000000000000000000000000000000000001000000000003000000000000000000000002000000380000000" + "21040000000200000000000000000000000000000000000000000000000010000000000030000000000000000000000000000003000000001" + "0000000000000000000000000000000000000000000100000000000c000000000000000000000007000000300000000000000000000000000" + "00000000000000000000000000100000000000c00000000000000000000000200000038000000010c400000c0000002000000000000000000" + "0000000000000000000000000100000000000c000000000000000000000002000000380000000108400000800000010000000000000000000" + "000000000000000000000000100000000000c0000000000000000000000020000003800000002104000000020000000000000000000000000" + "00000000000000000000000100000000000c00000000000000000000000000000030000000010000000000000000000000000000000000000" + "00000010000000000300000000000000000000000070000003000000000000000000000000000000000000000000000000000010000000000" + "3000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000000003" + "00000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000000030" + "00000000000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000000000300" + "000000000000000000000000000003000000001000000000000000000000000000000000000000000010000000000c0000000000000000000" + "0000070000003000000000000000000000000000000000000000000000000000010000000000c000000000000000000000000200000038000" + "000010c400000c0000002000000000000000000000000000000000000000000010000000000c0000000000000000000000002000000380000" + "00010840000080000001000000000000000000000000000000000000000000010000000000c00000000000000000000000020000003800000" + "0021040000000200000000000000000000000000000000000000000000000010000000000c000000000000000000000000000000030000000" + "01000000000000000000000000000000000000000000010000000000000300000000000000000000070000003000000000000000000000000" + "0000000000000000000000000000100000000000003000000000000000000000200000038000000010c400000c00000020000000000000000" + "00000000000000000000000000010000000000000300000000000000000000020000003800000001084000008000000100000000000000000" + "00000000000000000000000000100000000000003000000000000000000000200000038000000021040000000200000000000000000000000" + "00000000000000000000000001000000000000030000000000000000000000000000300000000100000000000000000000000000000000000" + "0000000010000000000000c000000000000000000000700000030000000000000000000000000000000000000000000000000000100000000" + "00000c000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000000000" + "0000c000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000000000" + "000c0000000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000000000" + "00c00000000000000000000000000003000000001000000000000000000000000000000000000000000010000000000003000000000000000" + "00000007000000300000000000000000000000000000000000000000000000000001000000000000300000000000000000000002000000380" + "00000010c400000c0000002000000000000000000000000000000000000000000010000000000003000000000000000000000020000003800" + "00000108400000800000010000000000000000000000000000000000000000000100000000000030000000000000000000000200000038000" + "00002104000000020000000000000000000000000000000000000000000000001000000000000300000000000000000000000000000300000" + "000100000000000000000000000000000000000000000001000000000000c0000000000000000000000700000030000000000000000000000" + "0000000000000000000000000000001000000000000c0000000000000000000000200000038000000010c400000c000000200000000000000" + "000000000000000000000000000001000000000000c0000000000000000000000200000038000000010840000080000001000000000000000" + "00000000000000000000000000001000000000000c00000000000000000000002000000380000000210400000002000000000000000000000" + "0000000000000000000000000001000000000000c000000000000000000000000000003000000001000000000000000000000000000000000" + "00000000001000000000000000300000000000000000007000000300000000000000000000000000000000000000000000000000001000000" + "00000000030000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000" + "00000000300000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100000000" + "00000003000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000000000" + "000000300000000000000000000000000300000000100000000000000000000000000000000000000000001000000000000000c0000000000" + "0000000007000000300000000000000000000000000000000000000000000000000001000000000000000c000000000000000000020000003" + "8000000010c400000c000000200000000000000000000000000000000000000000001000000000000000c0000000000000000000200000038" + "00000001084000008000000100000000000000000000000000000000000000000001000000000000000c00000000000000000002000000380" + "0000002104000000020000000000000000000000000000000000000000000000001000000000000000c000000000000000000000000003000" + "00000100000000000000000000000000000000000000000001000000000000003000000000000000000007000000300000000000000000000" + "00000000000000000000000000000000100000000000000300000000000000000000200000038000000010c400000c0000002000000000000" + "00000000000000000000000000000001000000000000003000000000000000000002000000380000000108400000800000010000000000000" + "00000000000000000000000000000010000000000000030000000000000000000020000003800000002104000000020000000000000000000" + "00000000000000000000000000000100000000000000300000000000000000000000000030000000010000000000000000000000000000000" + "000000000000100000000000000c0000000000000000000070000003000000000000000000000000000000000000000000000000000010000" + "0000000000c00000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000" + "000000000c0000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000" + "00000000c00000000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000000" + "0000000c000000000000000000000000000300000000100000000000000000000000000000000000000000001000000000000000003000000" + "00000000000700000030000000000000000000000000000000000000000000000000000100000000000000000300000000000000000200000" + "038000000010c400000c000000200000000000000000000000000000000000000000001000000000000000003000000000000000002000000" + "38000000010840000080000001000000000000000000000000000000000000000000010000000000000000030000000000000000020000003" + "80000000210400000002000000000000000000000000000000000000000000000000100000000000000000300000000000000000000000030" + "000000010000000000000000000000000000000000000000000100000000000000000c0000000000000000070000003000000000000000000" + "0000000000000000000000000000000000100000000000000000c00000000000000000200000038000000010c400000c00000020000000000" + "000000000000000000000000000000000100000000000000000c0000000000000000020000003800000001084000008000000100000000000" + "00000000000000000000000000000000100000000000000000c00000000000000000200000038000000021040000000200000000000000000" + "0000000000000000000000000000000100000000000000000c000000000000000000000000300000000100000000000000000000000000000" + "00000000000000100000000000000003000000000000000000700000030000000000000000000000000000000000000000000000000000100" + "000000000000003000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000" + "00000000000003000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000" + "00000000000030000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000" + "00000000000300000000000000000000000003000000001000000000000000000000000000000000000000000010000000000000000c00000" + "000000000000070000003000000000000000000000000000000000000000000000000000010000000000000000c0000000000000000002000" + "00038000000010c400000c0000002000000000000000000000000000000000000000000010000000000000000c00000000000000000020000" + "0038000000010840000080000001000000000000000000000000000000000000000000010000000000000000c000000000000000000200000" + "038000000021040000000200000000000000000000000000000000000000000000000010000000000000000c0000000000000000000000000" + "30000000010000000000000000000000000000000000000000000100030000000000000001000000000000000700000030000000000000000" + "000000000000000000000000000000000000100030000000000000001000000000000000200000038000000010c400000c000000200000000" + "00000000000000000000000000000000000100030000000000000001000000000000000200000038000000010840000080000001000000000" + "00000000000000000000000000000000001000300000000000000010000000000000002000000380000000210400000002000000000000000" + "00000000000000000000000000000000010003000000000000000100000000000000000000003000000001000000000000000000000000000" + "00000000000000001000c00000000000000010000000000000007000000300000000000000000000000000000000000000000000000000001" + "000c0000000000000001000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010" + "00c00000000000000010000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100" + "0c000000000000000100000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000" + "c0000000000000001000000000000000000000030000000010000000000000000000000000000000000000000000100300000000000000001" + "00000000000000070000003000000000000000000000000000000000000000000000000000010030000000000000000100000000000000020" + "0000038000000010c400000c00000020000000000000000000000000000000000000000000100300000000000000001000000000000000200" + "00003800000001084000008000000100000000000000000000000000000000000000000001003000000000000000010000000000000002000" + "00038000000021040000000200000000000000000000000000000000000000000000000010030000000000000000100000000000000000000" + "0030000000010000000000000000000000000000000000000000000100c000000000000000010000000000000007000000300000000000000" + "00000000000000000000000000000000000000100c00000000000000001000000000000000200000038000000010c400000c0000002000000" + "0000000000000000000000000000000000000100c000000000000000010000000000000002000000380000000108400000800000010000000" + "000000000000000000000000000000000000100c0000000000000000100000000000000020000003800000002104000000020000000000000" + "00000000000000000000000000000000000100c00000000000000001000000000000000000000030000000010000000000000000000000000" + "00000000000000000010000030000000000000100000000000000070000003000000000000000000000000000000000000000000000000000" + "0100000300000000000001000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000" + "10000030000000000000100000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001" + "00000300000000000001000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010" + "0000300000000000001000000000000000000000030000000010000000000000000000000000000000000000000000100000c000000000000" + "01000000000000000700000030000000000000000000000000000000000000000000000000000100000c00000000000001000000000000000" + "200000038000000010c400000c00000020000000000000000000000000000000000000000000100000c000000000000010000000000000002" + "000000380000000108400000800000010000000000000000000000000000000000000000000100000c0000000000000100000000000000020" + "00000380000000210400000002000000000000000000000000000000000000000000000000100000c00000000000001000000000000000000" + "00003000000001000000000000000000000000000000000000000000010000300000000000000100000000000000070000003000000000000" + "0000000000000000000000000000000000000000100003000000000000001000000000000000200000038000000010c400000c00000020000" + "00000000000000000000000000000000000000010000300000000000000100000000000000020000003800000001084000008000000100000" + "00000000000000000000000000000000000000100003000000000000001000000000000000200000038000000021040000000200000000000" + "00000000000000000000000000000000000001000030000000000000010000000000000000000000300000000100000000000000000000000" + "0000000000000000000010000c000000000000001000000000000000700000030000000000000000000000000000000000000000000000000" + "00010000c000000000000001000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000" + "0010000c000000000000001000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000" + "010000c0000000000000010000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000" + "10000c00000000000000100000000000000000000003000000001000000000000000000000000000000000000000000010000000300000000" + "00010000000000000007000000300000000000000000000000000000000000000000000000000001000000030000000000010000000000000" + "00200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000300000000000100000000000000" + "02000000380000000108400000800000010000000000000000000000000000000000000000000100000003000000000001000000000000000" + "20000003800000002104000000020000000000000000000000000000000000000000000000001000000030000000000010000000000000000" + "0000003000000001000000000000000000000000000000000000000000010000000c000000000001000000000000000700000030000000000" + "00000000000000000000000000000000000000000010000000c000000000001000000000000000200000038000000010c400000c000000200" + "0000000000000000000000000000000000000000010000000c000000000001000000000000000200000038000000010840000080000001000" + "000000000000000000000000000000000000000010000000c0000000000010000000000000002000000380000000210400000002000000000" + "00000000000000000000000000000000000000010000000c00000000000100000000000000000000003000000001000000000000000000000" + "00000000000000000000001000000300000000000010000000000000007000000300000000000000000000000000000000000000000000000" + "00000100000030000000000001000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000" + "00001000000300000000000010000000000000002000000380000000108400000800000010000000000000000000000000000000000000000" + "00010000003000000000000100000000000000020000003800000002104000000020000000000000000000000000000000000000000000000" + "001000000300000000000010000000000000000000000300000000100000000000000000000000000000000000000000001000000c0000000" + "0000010000000000000007000000300000000000000000000000000000000000000000000000000001000000c000000000000100000000000" + "0000200000038000000010c400000c000000200000000000000000000000000000000000000000001000000c0000000000001000000000000" + "00020000003800000001084000008000000100000000000000000000000000000000000000000001000000c00000000000010000000000000" + "0020000003800000002104000000020000000000000000000000000000000000000000000000001000000c000000000000100000000000000" + "00000000300000000100000000000000000000000000000000000000000001000000000300000000010000000000000007000000300000000" + "00000000000000000000000000000000000000000000100000000030000000001000000000000000200000038000000010c400000c0000002" + "00000000000000000000000000000000000000000001000000000300000000010000000000000002000000380000000108400000800000010" + "00000000000000000000000000000000000000000010000000003000000000100000000000000020000003800000002104000000020000000" + "00000000000000000000000000000000000000000100000000030000000001000000000000000000000030000000010000000000000000000" + "0000000000000000000000001000000000c000000000100000000000000070000003000000000000000000000000000000000000000000000" + "00000001000000000c0000000001000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000" + "0000001000000000c000000000100000000000000020000003800000001084000008000000100000000000000000000000000000000000000" + "000001000000000c0000000001000000000000000200000038000000021040000000200000000000000000000000000000000000000000000" + "00001000000000c00000000010000000000000000000000300000000100000000000000000000000000000000000000000001000000003000" + "00000001000000000000000700000030000000000000000000000000000000000000000000000000000100000000300000000001000000000" + "000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000000003000000000010000000000" + "00000200000038000000010840000080000001000000000000000000000000000000000000000000010000000030000000000100000000000" + "00002000000380000000210400000002000000000000000000000000000000000000000000000000100000000300000000001000000000000" + "000000000030000000010000000000000000000000000000000000000000000100000000c0000000000100000000000000070000003000000" + "0000000000000000000000000000000000000000000000100000000c00000000001000000000000000200000038000000010c400000c00000" + "020000000000000000000000000000000000000000000100000000c0000000000100000000000000020000003800000001084000008000000" + "10000000000000000000000000000000000000000000100000000c00000000001000000000000000200000038000000021040000000200000" + "0000000000000000000000000000000000000000000100000000c000000000010000000000000000000000300000000100000000000000000" + "00000000000000000000000000100000000000300000001000000000000000700000030000000000000000000000000000000000000000000" + "000000000100000000000300000001000000000000000200000038000000010c400000c000000200000000000000000000000000000000000" + "00000000100000000000300000001000000000000000200000038000000010840000080000001000000000000000000000000000000000000" + "00000001000000000003000000010000000000000002000000380000000210400000002000000000000000000000000000000000000000000" + "00000010000000000030000000100000000000000000000003000000001000000000000000000000000000000000000000000010000000000" + "0c00000001000000000000000700000030000000000000000000000000000000000000000000000000000100000000000c000000010000000" + "00000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000000000c0000000100000000" + "00000002000000380000000108400000800000010000000000000000000000000000000000000000000100000000000c00000001000000000" + "0000002000000380000000210400000002000000000000000000000000000000000000000000000000100000000000c000000010000000000" + "00000000000030000000010000000000000000000000000000000000000000000100000000003000000001000000000000000700000030000" + "000000000000000000000000000000000000000000000000100000000003000000001000000000000000200000038000000010c400000c000" + "00020000000000000000000000000000000000000000000100000000003000000001000000000000000200000038000000010840000080000" + "00100000000000000000000000000000000000000000001000000000030000000010000000000000002000000380000000210400000002000" + "00000000000000000000000000000000000000000000010000000000300000000100000000000000000000003000000001000000000000000" + "000000000000000000000000000010000000000c0000000010000000000000007000000300000000000000000000000000000000000000000" + "0000000000010000000000c000000001000000000000000200000038000000010c400000c0000002000000000000000000000000000000000" + "000000000010000000000c0000000010000000000000002000000380000000108400000800000010000000000000000000000000000000000" + "00000000010000000000c00000000100000000000000020000003800000002104000000020000000000000000000000000000000000000000" + "0000000010000000000c000000001000000000000000300000040000000000000000000000000000000000000000000000000000200ffffff" + "ffffffffff0200000000000000ffffffffff00000003000000000000000000000030000000010000000000000000000000000000000000000" + "00000010003000000000000000200000000000000070000003000000000000000000000000000000000000000000000000000010003000000" + "0000000002000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100030000000" + "00000000200000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000300000000" + "00000002000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010003000000000" + "0000002000000000000000200000048000000030f400000009006000000000000000000000000000000000000000000000200ffffffffffff" + "ffff0200000000000000ffffffffff00000003000000000000000000000030000000010000000000000000000000000000000000000000000" + "1000c00000000000000020000000000000007000000300000000000000000000000000000000000000000000000000001000c000000000000" + "0002000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000c0000000000000" + "00200000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000c00000000000000" + "0200000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000c000000000000000" + "20000000000000000000000300000000100000000000000000000000000000000000000000001003000000000000000020000000000000007" + "00000030000000000000000000000000000000000000000000000000000100300000000000000002000000000000000200000038000000010" + "c400000c000000200000000000000000000000000000000000000000001003000000000000000020000000000000002000000380000000108" + "40000080000001000000000000000000000000000000000000000000010030000000000000000200000000000000020000003800000002104" + "00000002000000000000000000000000000000000000000000000000100300000000000000002000000000000000000000030000000010000" + "000000000000000000000000000000000000000100c0000000000000000200000000000000070000003000000000000000000000000000000" + "0000000000000000000000100c00000000000000002000000000000000200000038000000010c400000c00000020000000000000000000000" + "000000000000000000000100c0000000000000000200000000000000020000003800000001084000008000000100000000000000000000000" + "00000000000000000000100c00000000000000002000000000000000200000038000000021040000000200000000000000000000000000000" + "0000000000000000000100c000000000000000020000000000000000000000300000000100000000000000000000000000000000000000000" + "00100000300000000000002000000000000000700000030000000000000000000000000000000000000000000000000000100000300000000" + "000002000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000003000000000" + "00002000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000030000000000" + "00020000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000300000000000" + "002000000000000000000000030000000010000000000000000000000000000000000000000000100000c0000000000000200000000000000" + "0700000030000000000000000000000000000000000000000000000000000100000c000000000000020000000000000002000000380000000" + "10c400000c00000020000000000000000000000000000000000000000000100000c0000000000000200000000000000020000003800000001" + "08400000800000010000000000000000000000000000000000000000000100000c00000000000002000000000000000200000038000000021" + "0400000002000000000000000000000000000000000000000000000000100000c000000000000020000000000000000000000300000000100" + "00000000000000000000000000000000000000000100003000000000000002000000000000000700000030000000000000000000000000000" + "000000000000000000000000100003000000000000002000000000000000200000038000000010c400000c000000200000000000000000000" + "00000000000000000000000100003000000000000002000000000000000200000038000000010840000080000001000000000000000000000" + "00000000000000000000001000030000000000000020000000000000002000000380000000210400000002000000000000000000000000000" + "00000000000000000000010000300000000000000200000000000000000000003000000001000000000000000000000000000000000000000" + "000010000c00000000000000200000000000000070000003000000000000000000000000000000000000000000000000000010000c0000000" + "00000002000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000c00000000" + "0000002000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000c000000000" + "000002000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000c0000000000" + "00002000000000000000000000030000000010000000000000000000000000000000000000000000100000003000000000002000000000000" + "00070000003000000000000000000000000000000000000000000000000000010000000300000000000200000000000000020000003800000" + "0010c400000c00000020000000000000000000000000000000000000000000100000003000000000002000000000000000200000038000000" + "01084000008000000100000000000000000000000000000000000000000001000000030000000000020000000000000002000000380000000" + "21040000000200000000000000000000000000000000000000000000000010000000300000000000200000000000000000000003000000001" + "000000000000000000000000000000000000000000010000000c0000000000020000000000000007000000300000000000000000000000000" + "0000000000000000000000000010000000c000000000002000000000000000200000038000000010c400000c0000002000000000000000000" + "000000000000000000000000010000000c0000000000020000000000000002000000380000000108400000800000010000000000000000000" + "00000000000000000000000010000000c00000000000200000000000000020000003800000002104000000020000000000000000000000000" + "0000000000000000000000010000000c000000000002000000000000000000000030000000010000000000000000000000000000000000000" + "00000010000003000000000000200000000000000070000003000000000000000000000000000000000000000000000000000010000003000" + "0000000002000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000030000" + "00000000200000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000300000" + "00000002000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000003000000" + "00000020000000000000000000000300000000100000000000000000000000000000000000000000001000000c00000000000020000000000" + "000007000000300000000000000000000000000000000000000000000000000001000000c0000000000002000000000000000200000038000" + "000010c400000c000000200000000000000000000000000000000000000000001000000c00000000000020000000000000002000000380000" + "0001084000008000000100000000000000000000000000000000000000000001000000c000000000000200000000000000020000003800000" + "002104000000020000000000000000000000000000000000000000000000001000000c0000000000002000000000000000000000030000000" + "01000000000000000000000000000000000000000000010000000003000000000200000000000000070000003000000000000000000000000" + "0000000000000000000000000000100000000030000000002000000000000000200000038000000010c400000c00000020000000000000000" + "00000000000000000000000000010000000003000000000200000000000000020000003800000001084000008000000100000000000000000" + "00000000000000000000000000100000000030000000002000000000000000200000038000000021040000000200000000000000000000000" + "00000000000000000000000001000000000300000000020000000000000000000000300000000100000000000000000000000000000000000" + "000000001000000000c0000000002000000000000000700000030000000000000000000000000000000000000000000000000000100000000" + "0c0000000002000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000000000" + "c000000000200000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000000c" + "000000000200000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000000000c0" + "00000000200000000000000000000003000000001000000000000000000000000000000000000000000010000000030000000000200000000" + "00000007000000300000000000000000000000000000000000000000000000000001000000003000000000020000000000000002000000380" + "00000010c400000c0000002000000000000000000000000000000000000000000010000000030000000000200000000000000020000003800" + "00000108400000800000010000000000000000000000000000000000000000000100000000300000000002000000000000000200000038000" + "00002104000000020000000000000000000000000000000000000000000000001000000003000000000020000000000000000000000300000" + "00010000000000000000000000000000000000000000000100000000c00000000002000000000000000700000030000000000000000000000" + "000000000000000000000000000000100000000c00000000002000000000000000200000038000000010c400000c000000200000000000000" + "00000000000000000000000000000100000000c00000000002000000000000000200000038000000010840000080000001000000000000000" + "0000000000000000000000000000100000000c000000000020000000000000002000000380000000210400000002000000000000000000000" + "000000000000000000000000000100000000c0000000000200000000000000000000003000000001000000000000000000000000000000000" + "00000000001000000000003000000020000000000000007000000300000000000000000000000000000000000000000000000000001000000" + "00000300000002000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000" + "00003000000020000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100000000" + "00030000000200000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000000000" + "00300000002000000000000000000000030000000010000000000000000000000000000000000000000000100000000000c00000002000000" + "000000000700000030000000000000000000000000000000000000000000000000000100000000000c0000000200000000000000020000003" + "8000000010c400000c00000020000000000000000000000000000000000000000000100000000000c00000002000000000000000200000038" + "0000000108400000800000010000000000000000000000000000000000000000000100000000000c000000020000000000000002000000380" + "000000210400000002000000000000000000000000000000000000000000000000100000000000c0000000200000000000000000000003000" + "00000100000000000000000000000000000000000000000001000000000030000000020000000000000007000000300000000000000000000" + "00000000000000000000000000000000100000000003000000002000000000000000200000038000000010c400000c0000002000000000000" + "00000000000000000000000000000001000000000030000000020000000000000002000000380000000108400000800000010000000000000" + "00000000000000000000000000000010000000000300000000200000000000000020000003800000002104000000020000000000000000000" + "00000000000000000000000000000100000000003000000002000000000000000000000030000000010000000000000000000000000000000" + "00000000000010000000000c00000000200000000000000070000003000000000000000000000000000000000000000000000000000010000" + "000000c000000002000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000" + "00000c00000000200000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000" + "0000c000000002000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000000" + "000c0000000020000000000000000000000300000000100000000000000000000000000000000000000000001000000000000030000020000" + "00000000000700000030000000000000000000000000000000000000000000000000000100000000000003000002000000000000000200000" + "038000000010c400000c000000200000000000000000000000000000000000000000001000000000000030000020000000000000002000000" + "38000000010840000080000001000000000000000000000000000000000000000000010000000000000300000200000000000000020000003" + "80000000210400000002000000000000000000000000000000000000000000000000100000000000003000002000000000000000000000030" + "00000001000000000000000000000000000000000000000000010000000000000c00000200000000000000070000003000000000000000000" + "000000000000000000000000000000000010000000000000c000002000000000000000200000038000000010c400000c00000020000000000" + "00000000000000000000000000000000010000000000000c00000200000000000000020000003800000001084000008000000100000000000" + "0000000000000000000000000000000010000000000000c000002000000000000000200000038000000021040000000200000000000000000" + "000000000000000000000000000000010000000000000c0000020000000000000000000000300000000100000000000000000000000000000" + "00000000000000100000000000030000002000000000000000700000030000000000000000000000000000000000000000000000000000100" + "000000000030000002000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000" + "00000000030000002000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000" + "00000000300000020000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000" + "0000000300000020000000000000000000000300000000100000000000000000000000000000000000000000001000000000000c000000200" + "00000000000007000000300000000000000000000000000000000000000000000000000001000000000000c00000020000000000000002000" + "00038000000010c400000c000000200000000000000000000000000000000000000000001000000000000c000000200000000000000020000" + "003800000001084000008000000100000000000000000000000000000000000000000001000000000000c0000002000000000000000200000" + "03800000002104000000020000000000000000000000000000000000000000000000001000000000000c00000020000000000000000000000" + "30000000010000000000000000000000000000000000000000000100000000000000030002000000000000000700000030000000000000000" + "000000000000000000000000000000000000100000000000000030002000000000000000200000038000000010c400000c000000200000000" + "00000000000000000000000000000000000100000000000000030002000000000000000200000038000000010840000080000001000000000" + "00000000000000000000000000000000001000000000000000300020000000000000002000000380000000210400000002000000000000000" + "00000000000000000000000000000000010000000000000003000200000000000000000000003000000001000000000000000000000000000" + "00000000000000001000000000000000c00020000000000000007000000300000000000000000000000000000000000000000000000000001" + "000000000000000c0002000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010" + "00000000000000c00020000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100" + "0000000000000c000200000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000" + "000000000000c0002000000000000000000000030000000010000000000000000000000000000000000000000000100000000000000300002" + "00000000000000070000003000000000000000000000000000000000000000000000000000010000000000000030000200000000000000020" + "0000038000000010c400000c00000020000000000000000000000000000000000000000000100000000000000300002000000000000000200" + "00003800000001084000008000000100000000000000000000000000000000000000000001000000000000003000020000000000000002000" + "00038000000021040000000200000000000000000000000000000000000000000000000010000000000000030000200000000000000000000" + "0030000000010000000000000000000000000000000000000000000100000000000000c000020000000000000007000000300000000000000" + "00000000000000000000000000000000000000100000000000000c00002000000000000000200000038000000010c400000c0000002000000" + "0000000000000000000000000000000000000100000000000000c000020000000000000002000000380000000108400000800000010000000" + "000000000000000000000000000000000000100000000000000c0000200000000000000020000003800000002104000000020000000000000" + "00000000000000000000000000000000000100000000000000c00002000000000000000000000030000000010000000000000000000000000" + "00000000000000000010000000000000000030200000000000000070000003000000000000000000000000000000000000000000000000000" + "0100000000000000000302000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000" + "10000000000000000030200000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001" + "00000000000000000302000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010" + "0000000000000000302000000000000000000000030000000010000000000000000000000000000000000000000000100000000000000000c" + "02000000000000000700000030000000000000000000000000000000000000000000000000000100000000000000000c02000000000000000" + "200000038000000010c400000c00000020000000000000000000000000000000000000000000100000000000000000c020000000000000002" + "000000380000000108400000800000010000000000000000000000000000000000000000000100000000000000000c0200000000000000020" + "00000380000000210400000002000000000000000000000000000000000000000000000000100000000000000000c02000000000000000000" + "00003000000001000000000000000000000000000000000000000000010000000000000000300200000000000000070000003000000000000" + "0000000000000000000000000000000000000000100000000000000003002000000000000000200000038000000010c400000c00000020000" + "00000000000000000000000000000000000000010000000000000000300200000000000000020000003800000001084000008000000100000" + "00000000000000000000000000000000000000100000000000000003002000000000000000200000038000000021040000000200000000000" + "00000000000000000000000000000000000001000000000000000030020000000000000000000000300000000100000000000000000000000" + "0000000000000000000010000000000000000c002000000000000000700000030000000000000000000000000000000000000000000000000" + "00010000000000000000c002000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000" + "0010000000000000000c002000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000" + "010000000000000000c0020000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000" + "10000000000000000c00200000000000000000000003000000001000000000000000000000000000000000000000000010003000000000000" + "00030000000000000007000000300000000000000000000000000000000000000000000000000001000300000000000000030000000000000" + "00200000038000000010c400000c0000002000000000000000000000000000000000000000000010003000000000000000300000000000000" + "02000000380000000108400000800000010000000000000000000000000000000000000000000100030000000000000003000000000000000" + "20000003800000002104000000020000000000000000000000000000000000000000000000001000300000000000000030000000000000000" + "000000300000000100000000000000000000000000000000000000000001000c0000000000000003000000000000000700000030000000000" + "0000000000000000000000000000000000000000001000c0000000000000003000000000000000200000038000000010c400000c000000200" + "000000000000000000000000000000000000000001000c0000000000000003000000000000000200000038000000010840000080000001000" + "00000000000000000000000000000000000000001000c00000000000000030000000000000002000000380000000210400000002000000000" + "0000000000000000000000000000000000000001000c000000000000000300000000000000000000003000000001000000000000000000000" + "00000000000000000000001003000000000000000030000000000000007000000300000000000000000000000000000000000000000000000" + "00000100300000000000000003000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000" + "00001003000000000000000030000000000000002000000380000000108400000800000010000000000000000000000000000000000000000" + "00010030000000000000000300000000000000020000003800000002104000000020000000000000000000000000000000000000000000000" + "00100300000000000000003000000000000000000000030000000010000000000000000000000000000000000000000000100c00000000000" + "000003000000000000000700000030000000000000000000000000000000000000000000000000000100c0000000000000000300000000000" + "0000200000038000000010c400000c00000020000000000000000000000000000000000000000000100c00000000000000003000000000000" + "0002000000380000000108400000800000010000000000000000000000000000000000000000000100c000000000000000030000000000000" + "002000000380000000210400000002000000000000000000000000000000000000000000000000100c0000000000000000300000000000000" + "00000000300000000100000000000000000000000000000000000000000001000003000000000000030000000000000007000000300000000" + "00000000000000000000000000000000000000000000100000300000000000003000000000000000200000038000000010c400000c0000002" + "00000000000000000000000000000000000000000001000003000000000000030000000000000002000000380000000108400000800000010" + "00000000000000000000000000000000000000000010000030000000000000300000000000000020000003800000002104000000020000000" + "00000000000000000000000000000000000000000100000300000000000003000000000000000000000030000000010000000000000000000" + "000000000000000000000000100000c0000000000000300000000000000070000003000000000000000000000000000000000000000000000" + "0000000100000c00000000000003000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000" + "000000100000c0000000000000300000000000000020000003800000001084000008000000100000000000000000000000000000000000000" + "00000100000c00000000000003000000000000000200000038000000021040000000200000000000000000000000000000000000000000000" + "0000100000c000000000000030000000000000000000000300000000100000000000000000000000000000000000000000001000030000000" + "00000003000000000000000700000030000000000000000000000000000000000000000000000000000100003000000000000003000000000" + "000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000030000000000000030000000000" + "00000200000038000000010840000080000001000000000000000000000000000000000000000000010000300000000000000300000000000" + "00002000000380000000210400000002000000000000000000000000000000000000000000000000100003000000000000003000000000000" + "00000000003000000001000000000000000000000000000000000000000000010000c00000000000000300000000000000070000003000000" + "000000000000000000000000000000000000000000000010000c000000000000003000000000000000200000038000000010c400000c00000" + "02000000000000000000000000000000000000000000010000c00000000000000300000000000000020000003800000001084000008000000" + "1000000000000000000000000000000000000000000010000c000000000000003000000000000000200000038000000021040000000200000" + "000000000000000000000000000000000000000000010000c0000000000000030000000000000000000000300000000100000000000000000" + "00000000000000000000000000100000003000000000003000000000000000700000030000000000000000000000000000000000000000000" + "000000000100000003000000000003000000000000000200000038000000010c400000c000000200000000000000000000000000000000000" + "00000000100000003000000000003000000000000000200000038000000010840000080000001000000000000000000000000000000000000" + "00000001000000030000000000030000000000000002000000380000000210400000002000000000000000000000000000000000000000000" + "00000010000000300000000000300000000000000000000003000000001000000000000000000000000000000000000000000010000000c00" + "000000000300000000000000070000003000000000000000000000000000000000000000000000000000010000000c0000000000030000000" + "00000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000c00000000000300000000" + "0000000200000038000000010840000080000001000000000000000000000000000000000000000000010000000c000000000003000000000" + "000000200000038000000021040000000200000000000000000000000000000000000000000000000010000000c0000000000030000000000" + "00000000000030000000010000000000000000000000000000000000000000000100000030000000000003000000000000000700000030000" + "000000000000000000000000000000000000000000000000100000030000000000003000000000000000200000038000000010c400000c000" + "00020000000000000000000000000000000000000000000100000030000000000003000000000000000200000038000000010840000080000" + "00100000000000000000000000000000000000000000001000000300000000000030000000000000002000000380000000210400000002000" + "00000000000000000000000000000000000000000000010000003000000000000300000000000000000000003000000001000000000000000" + "00000000000000000000000000001000000c00000000000030000000000000007000000300000000000000000000000000000000000000000" + "000000000001000000c0000000000003000000000000000200000038000000010c400000c0000002000000000000000000000000000000000" + "00000000001000000c00000000000030000000000000002000000380000000108400000800000010000000000000000000000000000000000" + "0000000001000000c000000000000300000000000000020000003800000002104000000020000000000000000000000000000000000000000" + "000000001000000c0000000000003000000000000000000000030000000010000000000000000000000000000000000000000000100000000" + "03000000000300000000000000070000003000000000000000000000000000000000000000000000000000010000000003000000000300000" + "0000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000000030000000003000000" + "00000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000000300000000030000000" + "00000000200000038000000021040000000200000000000000000000000000000000000000000000000010000000003000000000300000000" + "00000000000000300000000100000000000000000000000000000000000000000001000000000c00000000030000000000000007000000300" + "000000000000000000000000000000000000000000000000001000000000c0000000003000000000000000200000038000000010c400000c0" + "00000200000000000000000000000000000000000000000001000000000c00000000030000000000000002000000380000000108400000800" + "0000100000000000000000000000000000000000000000001000000000c000000000300000000000000020000003800000002104000000020" + "000000000000000000000000000000000000000000000001000000000c0000000003000000000000000000000030000000010000000000000" + "00000000000000000000000000000010000000030000000000300000000000000070000003000000000000000000000000000000000000000" + "0000000000000100000000300000000003000000000000000200000038000000010c400000c00000020000000000000000000000000000000" + "00000000000010000000030000000000300000000000000020000003800000001084000008000000100000000000000000000000000000000" + "00000000000100000000300000000003000000000000000200000038000000021040000000200000000000000000000000000000000000000" + "00000000001000000003000000000030000000000000000000000300000000100000000000000000000000000000000000000000001000000" + "00c00000000003000000000000000700000030000000000000000000000000000000000000000000000000000100000000c00000000003000" + "000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000000c000000000030000" + "000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100000000c0000000000300000" + "00000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000000c00000000003000000" + "00000000000000003000000001000000000000000000000000000000000000000000010000000000030000000300000000000000070000003" + "0000000000000000000000000000000000000000000000000000100000000000300000003000000000000000200000038000000010c400000" + "c0000002000000000000000000000000000000000000000000010000000000030000000300000000000000020000003800000001084000008" + "00000010000000000000000000000000000000000000000000100000000000300000003000000000000000200000038000000021040000000" + "20000000000000000000000000000000000000000000000001000000000003000000030000000000000000000000300000000100000000000" + "00000000000000000000000000000000100000000000c00000003000000000000000700000030000000000000000000000000000000000000" + "000000000000000100000000000c00000003000000000000000200000038000000010c400000c000000200000000000000000000000000000" + "00000000000000100000000000c00000003000000000000000200000038000000010840000080000001000000000000000000000000000000" + "0000000000000100000000000c000000030000000000000002000000380000000210400000002000000000000000000000000000000000000" + "000000000000100000000000c0000000300000000000000000000003000000001000000000000000000000000000000000000000000010000" + "00000030000000030000000000000007000000300000000000000000000000000000000000000000000000000001000000000030000000030" + "00000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000000300000000300" + "00000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100000000003000000003000" + "00000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000000000030000000030000" + "0000000000000000003000000001000000000000000000000000000000000000000000010000000000c000000003000000000000000700000" + "03000000000000000000000000000000000000000000000000000010000000000c000000003000000000000000200000038000000010c4000" + "00c0000002000000000000000000000000000000000000000000010000000000c000000003000000000000000200000038000000010840000" + "080000001000000000000000000000000000000000000000000010000000000c0000000030000000000000002000000380000000210400000" + "00200000000000000000000000000000000000000000000000010000000000c00000000300000000000000010000004000000000000000000" + "0000000000000000000000000000000000200ffffffffffffffff0000000000000000ffffffffff0000000100000000000000010000004000" + "0000010000000000000000000000000000000000000000000200ffffffffffffffff0200000000000000ffffffffff0000000300000000000" + "00004000000e00000000400040000000000000000000000000000000000000000004040000000000000000000000000000000000000000000" + "0000000000000000000000000000000000ffffffffffffffff282800000000000000000000000000000000000000000000000000000000000" + "00000000000000000ffffffffff00000040400000000000000000000000000000000000000000000000000000000000000000000000000000" + "ffffffffffffffff28280000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffff00000" + "0"}, +}; + +WinCpuMapTestCase _2sockets_48cores_hyperthreading = { + 96, + 2, + 48, + {{96, 48, 0, 48}, {48, 24, 0, 24}, {48, 24, 0, 24}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, + {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, + {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 8, HYPER_THREADING_PROC, 8, -1}, {17, 0, 8, MAIN_CORE_PROC, 8, -1}, + {18, 0, 9, HYPER_THREADING_PROC, 9, -1}, {19, 0, 9, MAIN_CORE_PROC, 9, -1}, + {20, 0, 10, HYPER_THREADING_PROC, 10, -1}, {21, 0, 10, MAIN_CORE_PROC, 10, -1}, + {22, 0, 11, HYPER_THREADING_PROC, 11, -1}, {23, 0, 11, MAIN_CORE_PROC, 11, -1}, + {24, 0, 12, HYPER_THREADING_PROC, 12, -1}, {25, 0, 12, MAIN_CORE_PROC, 12, -1}, + {26, 0, 13, HYPER_THREADING_PROC, 13, -1}, {27, 0, 13, MAIN_CORE_PROC, 13, -1}, + {28, 0, 14, HYPER_THREADING_PROC, 14, -1}, {29, 0, 14, MAIN_CORE_PROC, 14, -1}, + {30, 0, 15, HYPER_THREADING_PROC, 15, -1}, {31, 0, 15, MAIN_CORE_PROC, 15, -1}, + {32, 0, 16, HYPER_THREADING_PROC, 16, -1}, {33, 0, 16, MAIN_CORE_PROC, 16, -1}, + {34, 0, 17, HYPER_THREADING_PROC, 17, -1}, {35, 0, 17, MAIN_CORE_PROC, 17, -1}, + {36, 0, 18, HYPER_THREADING_PROC, 18, -1}, {37, 0, 18, MAIN_CORE_PROC, 18, -1}, + {38, 0, 19, HYPER_THREADING_PROC, 19, -1}, {39, 0, 19, MAIN_CORE_PROC, 19, -1}, + {40, 0, 20, HYPER_THREADING_PROC, 20, -1}, {41, 0, 20, MAIN_CORE_PROC, 20, -1}, + {42, 0, 21, HYPER_THREADING_PROC, 21, -1}, {43, 0, 21, MAIN_CORE_PROC, 21, -1}, + {44, 0, 22, HYPER_THREADING_PROC, 22, -1}, {45, 0, 22, MAIN_CORE_PROC, 22, -1}, + {46, 0, 23, HYPER_THREADING_PROC, 23, -1}, {47, 0, 23, MAIN_CORE_PROC, 23, -1}, + {48, 1, 24, HYPER_THREADING_PROC, 24, -1}, {49, 1, 24, MAIN_CORE_PROC, 24, -1}, + {50, 1, 25, HYPER_THREADING_PROC, 25, -1}, {51, 1, 25, MAIN_CORE_PROC, 25, -1}, + {52, 1, 26, HYPER_THREADING_PROC, 26, -1}, {53, 1, 26, MAIN_CORE_PROC, 26, -1}, + {54, 1, 27, HYPER_THREADING_PROC, 27, -1}, {55, 1, 27, MAIN_CORE_PROC, 27, -1}, + {56, 1, 28, HYPER_THREADING_PROC, 28, -1}, {57, 1, 28, MAIN_CORE_PROC, 28, -1}, + {58, 1, 29, HYPER_THREADING_PROC, 29, -1}, {59, 1, 29, MAIN_CORE_PROC, 29, -1}, + {60, 1, 30, HYPER_THREADING_PROC, 30, -1}, {61, 1, 30, MAIN_CORE_PROC, 30, -1}, + {62, 1, 31, HYPER_THREADING_PROC, 31, -1}, {63, 1, 31, MAIN_CORE_PROC, 31, -1}, + {64, 1, 32, HYPER_THREADING_PROC, 32, -1}, {65, 1, 32, MAIN_CORE_PROC, 32, -1}, + {66, 1, 33, HYPER_THREADING_PROC, 33, -1}, {67, 1, 33, MAIN_CORE_PROC, 33, -1}, + {68, 1, 34, HYPER_THREADING_PROC, 34, -1}, {69, 1, 34, MAIN_CORE_PROC, 34, -1}, + {70, 1, 35, HYPER_THREADING_PROC, 35, -1}, {71, 1, 35, MAIN_CORE_PROC, 35, -1}, + {72, 1, 36, HYPER_THREADING_PROC, 36, -1}, {73, 1, 36, MAIN_CORE_PROC, 36, -1}, + {74, 1, 37, HYPER_THREADING_PROC, 37, -1}, {75, 1, 37, MAIN_CORE_PROC, 37, -1}, + {76, 1, 38, HYPER_THREADING_PROC, 38, -1}, {77, 1, 38, MAIN_CORE_PROC, 38, -1}, + {78, 1, 39, HYPER_THREADING_PROC, 39, -1}, {79, 1, 39, MAIN_CORE_PROC, 39, -1}, + {80, 1, 40, HYPER_THREADING_PROC, 40, -1}, {81, 1, 40, MAIN_CORE_PROC, 40, -1}, + {82, 1, 41, HYPER_THREADING_PROC, 41, -1}, {83, 1, 41, MAIN_CORE_PROC, 41, -1}, + {84, 1, 42, HYPER_THREADING_PROC, 42, -1}, {85, 1, 42, MAIN_CORE_PROC, 42, -1}, + {86, 1, 43, HYPER_THREADING_PROC, 43, -1}, {87, 1, 43, MAIN_CORE_PROC, 43, -1}, + {88, 1, 44, HYPER_THREADING_PROC, 44, -1}, {89, 1, 44, MAIN_CORE_PROC, 44, -1}, + {90, 1, 45, HYPER_THREADING_PROC, 45, -1}, {91, 1, 45, MAIN_CORE_PROC, 45, -1}, + {92, 1, 46, HYPER_THREADING_PROC, 46, -1}, {93, 1, 46, MAIN_CORE_PROC, 46, -1}, + {94, 1, 47, HYPER_THREADING_PROC, 47, -1}, {95, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ffffffffffff0000000000000000000000000000300000000" + "10000000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" + "000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c000000200000000000000000" + "00000000000000000000000000100030000000000000000000000000000000200000038000000010840000080000001000000000000000000" + "00000000000000000000000001000300000000000000000000000000000002000000380000000214400000001400000000000000000000000" + "000000000000000000000000100030000000000000000000000000000000200000038000000030c4000000040020000000000000000000000" + "00000000000000000000000100ffffffffffff000000000000000000000000000030000000010000000000000000000000000000000000000" + "0000001000c00000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001000c000000" + "0000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000c0000000" + "00000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000c00000000" + "0000000000000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000c000000000" + "00000000000000000000000000000300000000100000000000000000000000000000000000000000001003000000000000000000000000000" + "00000700000030000000000000000000000000000000000000000000000000000100300000000000000000000000000000000200000038000" + "000010c400000c000000200000000000000000000000000000000000000000001003000000000000000000000000000000002000000380000" + "00010840000080000001000000000000000000000000000000000000000000010030000000000000000000000000000000020000003800000" + "00214400000001400000000000000000000000000000000000000000000000100300000000000000000000000000000000000000030000000" + "010000000000000000000000000000000000000000000100c0000000000000000000000000000000070000003000000000000000000000000" + "0000000000000000000000000000100c00000000000000000000000000000000200000038000000010c400000c00000020000000000000000" + "000000000000000000000000000100c0000000000000000000000000000000020000003800000001084000008000000100000000000000000" + "00000000000000000000000000100c00000000000000000000000000000000200000038000000021440000000140000000000000000000000" + "0000000000000000000000000100c000000000000000000000000000000000000000300000000100000000000000000000000000000000000" + "00000000100000300000000000000000000000000000700000030000000000000000000000000000000000000000000000000000100000300" + "000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000003000" + "00000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000030000" + "00000000000000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000100000300000" + "000000000000000000000000000000030000000010000000000000000000000000000000000000000000100000c0000000000000000000000" + "0000000700000030000000000000000000000000000000000000000000000000000100000c000000000000000000000000000002000000380" + "00000010c400000c00000020000000000000000000000000000000000000000000100000c0000000000000000000000000000020000003800" + "00000108400000800000010000000000000000000000000000000000000000000100000c00000000000000000000000000000200000038000" + "0000214400000001400000000000000000000000000000000000000000000000100000c000000000000000000000000000000000000300000" + "00010000000000000000000000000000000000000000000100003000000000000000000000000000000700000030000000000000000000000" + "000000000000000000000000000000100003000000000000000000000000000000200000038000000010c400000c000000200000000000000" + "00000000000000000000000000000100003000000000000000000000000000000200000038000000010840000080000001000000000000000" + "00000000000000000000000000001000030000000000000000000000000000002000000380000000214400000001400000000000000000000" + "00000000000000000000000000010000300000000000000000000000000000000000003000000001000000000000000000000000000000000" + "000000000010000c00000000000000000000000000000070000003000000000000000000000000000000000000000000000000000010000c0" + "00000000000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000c00" + "0000000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000c000" + "000000000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010000c0000" + "00000000000000000000000000000000030000000010000000000000000000000000000000000000000000100000003000000000000000000" + "00000000070000003000000000000000000000000000000000000000000000000000010000000300000000000000000000000000020000003" + "8000000010c400000c00000020000000000000000000000000000000000000000000100000003000000000000000000000000000200000038" + "00000001084000008000000100000000000000000000000000000000000000000001000000030000000000000000000000000002000000380" + "00000021440000000140000000000000000000000000000000000000000000000010000000300000000000000000000000000000000003000" + "000001000000000000000000000000000000000000000000010000000c0000000000000000000000000007000000300000000000000000000" + "0000000000000000000000000000000010000000c000000000000000000000000000200000038000000010c400000c0000002000000000000" + "000000000000000000000000000000010000000c0000000000000000000000000002000000380000000108400000800000010000000000000" + "00000000000000000000000000000010000000c00000000000000000000000000020000003800000002144000000014000000000000000000" + "0000000000000000000000000000010000000c000000000000000000000000000000000030000000010000000000000000000000000000000" + "00000000000010000003000000000000000000000000000070000003000000000000000000000000000000000000000000000000000010000" + "0030000000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000" + "03000000000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000" + "30000000000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010000003" + "00000000000000000000000000000000000300000000100000000000000000000000000000000000000000001000000c00000000000000000" + "000000000007000000300000000000000000000000000000000000000000000000000001000000c0000000000000000000000000000200000" + "038000000010c400000c000000200000000000000000000000000000000000000000001000000c00000000000000000000000000002000000" + "3800000001084000008000000100000000000000000000000000000000000000000001000000c000000000000000000000000000020000003" + "800000002144000000014000000000000000000000000000000000000000000000001000000c0000000000000000000000000000000000030" + "00000001000000000000000000000000000000000000000000010000000003000000000000000000000000070000003000000000000000000" + "0000000000000000000000000000000000100000000030000000000000000000000000200000038000000010c400000c00000020000000000" + "00000000000000000000000000000000010000000003000000000000000000000000020000003800000001084000008000000100000000000" + "00000000000000000000000000000000100000000030000000000000000000000000200000038000000021440000000140000000000000000" + "00000000000000000000000000000001000000000300000000000000000000000000000000300000000100000000000000000000000000000" + "000000000000001000000000c0000000000000000000000000700000030000000000000000000000000000000000000000000000000000100" + "0000000c0000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000" + "000000c0000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000" + "00000c00000000000000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000100000" + "0000c000000000000000000000000000000003000000001000000000000000000000000000000000000000000010000000030000000000000" + "00000000000007000000300000000000000000000000000000000000000000000000000001000000003000000000000000000000000002000" + "00038000000010c400000c0000002000000000000000000000000000000000000000000010000000030000000000000000000000000020000" + "00380000000108400000800000010000000000000000000000000000000000000000000100000000300000000000000000000000000200000" + "03800000002144000000014000000000000000000000000000000000000000000000001000000003000000000000000000000000000000000" + "30000000010000000000000000000000000000000000000000000100000000c00000000000000000000000000700000030000000000000000" + "000000000000000000000000000000000000100000000c00000000000000000000000000200000038000000010c400000c000000200000000" + "00000000000000000000000000000000000100000000c00000000000000000000000000200000038000000010840000080000001000000000" + "0000000000000000000000000000000000100000000c000000000000000000000000002000000380000000214400000001400000000000000" + "000000000000000000000000000000000100000000c0000000000000000000000000000000003000000001000000000000000000000000000" + "00000000000000001000000000003000000000000000000000007000000300000000000000000000000000000000000000000000000000001" + "00000000000300000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010" + "00000000003000000000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100" + "00000000030000000000000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000" + "00000000300000000000000000000000000000030000000010000000000000000000000000000000000000000000100000000000c00000000" + "000000000000000700000030000000000000000000000000000000000000000000000000000100000000000c0000000000000000000000020" + "0000038000000010c400000c00000020000000000000000000000000000000000000000000100000000000c00000000000000000000000200" + "0000380000000108400000800000010000000000000000000000000000000000000000000100000000000c000000000000000000000002000" + "000380000000214400000001400000000000000000000000000000000000000000000000100000000000c0000000000000000000000000000" + "00300000000100000000000000000000000000000000000000000001000000000030000000000000000000000007000000300000000000000" + "00000000000000000000000000000000000000100000000003000000000000000000000000200000038000000010c400000c0000002000000" + "00000000000000000000000000000000000001000000000030000000000000000000000002000000380000000108400000800000010000000" + "00000000000000000000000000000000000010000000000300000000000000000000000020000003800000002144000000014000000000000" + "00000000000000000000000000000000000100000000003000000000000000000000000000000030000000010000000000000000000000000" + "00000000000000000010000000000c00000000000000000000000070000003000000000000000000000000000000000000000000000000000" + "010000000000c000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000" + "10000000000c00000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001" + "0000000000c000000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010" + "000000000c0000000000000000000000000000000300000000100000000000000000000000000000000000000000001000000000000030000" + "00000000000000000700000030000000000000000000000000000000000000000000000000000100000000000003000000000000000000000" + "200000038000000010c400000c000000200000000000000000000000000000000000000000001000000000000030000000000000000000002" + "00000038000000010840000080000001000000000000000000000000000000000000000000010000000000000300000000000000000000020" + "00000380000000214400000001400000000000000000000000000000000000000000000000100000000000003000000000000000000000000" + "00003000000001000000000000000000000000000000000000000000010000000000000c00000000000000000000070000003000000000000" + "000000000000000000000000000000000000000010000000000000c000000000000000000000200000038000000010c400000c00000020000" + "00000000000000000000000000000000000000010000000000000c00000000000000000000020000003800000001084000008000000100000" + "0000000000000000000000000000000000000010000000000000c000000000000000000000200000038000000021440000000140000000000" + "000000000000000000000000000000000000010000000000000c0000000000000000000000000000300000000100000000000000000000000" + "00000000000000000000100000000000030000000000000000000000700000030000000000000000000000000000000000000000000000000" + "000100000000000030000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000" + "00100000000000030000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000" + "01000000000000300000000000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000" + "1000000000000300000000000000000000000000000300000000100000000000000000000000000000000000000000001000000000000c000" + "00000000000000000007000000300000000000000000000000000000000000000000000000000001000000000000c00000000000000000000" + "00200000038000000010c400000c000000200000000000000000000000000000000000000000001000000000000c000000000000000000000" + "020000003800000001084000008000000100000000000000000000000000000000000000000001000000000000c0000000000000000000000" + "20000003800000002144000000014000000000000000000000000000000000000000000000001000000000000c00000000000000000000003" + "00000030000000000000000000000000000000000000000000000000000100ffffffffffff000001000000000000000000000030000000010" + "00000000000000000000000000000000000000000010003000000000000000100000000000000070000003000000000000000000000000000" + "0000000000000000000000000100030000000000000001000000000000000200000038000000010c400000c00000020000000000000000000" + "00000000000000000000000010003000000000000000100000000000000020000003800000001084000008000000100000000000000000000" + "00000000000000000000000100030000000000000001000000000000000200000038000000021440000000140000000000000000000000000" + "0000000000000000000000100030000000000000001000000000000000200000038000000030c400000004002000000000000000000000000" + "000000000000000000000100ffffffffffff00000100000000000000000000003000000001000000000000000000000000000000000000000" + "00001000c00000000000000010000000000000007000000300000000000000000000000000000000000000000000000000001000c00000000" + "00000001000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000c000000000" + "000000100000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000c0000000000" + "00000100000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000c00000000000" + "00001000000000000000000000030000000010000000000000000000000000000000000000000000100300000000000000001000000000000" + "00070000003000000000000000000000000000000000000000000000000000010030000000000000000100000000000000020000003800000" + "0010c400000c00000020000000000000000000000000000000000000000000100300000000000000001000000000000000200000038000000" + "01084000008000000100000000000000000000000000000000000000000001003000000000000000010000000000000002000000380000000" + "21440000000140000000000000000000000000000000000000000000000010030000000000000000100000000000000000000003000000001" + "0000000000000000000000000000000000000000000100c000000000000000010000000000000007000000300000000000000000000000000" + "00000000000000000000000000100c00000000000000001000000000000000200000038000000010c400000c0000002000000000000000000" + "0000000000000000000000000100c000000000000000010000000000000002000000380000000108400000800000010000000000000000000" + "000000000000000000000000100c0000000000000000100000000000000020000003800000002144000000014000000000000000000000000" + "00000000000000000000000100c00000000000000001000000000000000000000030000000010000000000000000000000000000000000000" + "00000010000030000000000000100000000000000070000003000000000000000000000000000000000000000000000000000010000030000" + "0000000001000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000300000" + "00000000100000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000003000000" + "00000001000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010000030000000" + "0000001000000000000000000000030000000010000000000000000000000000000000000000000000100000c000000000000010000000000" + "00000700000030000000000000000000000000000000000000000000000000000100000c00000000000001000000000000000200000038000" + "000010c400000c00000020000000000000000000000000000000000000000000100000c000000000000010000000000000002000000380000" + "000108400000800000010000000000000000000000000000000000000000000100000c0000000000000100000000000000020000003800000" + "00214400000001400000000000000000000000000000000000000000000000100000c00000000000001000000000000000000000030000000" + "01000000000000000000000000000000000000000000010000300000000000000100000000000000070000003000000000000000000000000" + "0000000000000000000000000000100003000000000000001000000000000000200000038000000010c400000c00000020000000000000000" + "00000000000000000000000000010000300000000000000100000000000000020000003800000001084000008000000100000000000000000" + "00000000000000000000000000100003000000000000001000000000000000200000038000000021440000000140000000000000000000000" + "00000000000000000000000001000030000000000000010000000000000000000000300000000100000000000000000000000000000000000" + "0000000010000c00000000000000100000000000000070000003000000000000000000000000000000000000000000000000000010000c000" + "000000000001000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000c0000" + "00000000001000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000c00000" + "0000000001000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010000c000000" + "00000000100000000000000000000003000000001000000000000000000000000000000000000000000010000000300000000000100000000" + "00000007000000300000000000000000000000000000000000000000000000000001000000030000000000010000000000000002000000380" + "00000010c400000c0000002000000000000000000000000000000000000000000010000000300000000000100000000000000020000003800" + "00000108400000800000010000000000000000000000000000000000000000000100000003000000000001000000000000000200000038000" + "00002144000000014000000000000000000000000000000000000000000000001000000030000000000010000000000000000000000300000" + "0001000000000000000000000000000000000000000000010000000c000000000001000000000000000700000030000000000000000000000" + "00000000000000000000000000000010000000c000000000001000000000000000200000038000000010c400000c000000200000000000000" + "0000000000000000000000000000010000000c000000000001000000000000000200000038000000010840000080000001000000000000000" + "000000000000000000000000000010000000c0000000000010000000000000002000000380000000214400000001400000000000000000000" + "00000000000000000000000000010000000c00000000000100000000000000000000003000000001000000000000000000000000000000000" + "00000000001000000300000000000010000000000000007000000300000000000000000000000000000000000000000000000000001000000" + "30000000000001000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000003" + "00000000000010000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100000030" + "00000000000100000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000000300" + "000000000010000000000000000000000300000000100000000000000000000000000000000000000000001000000c0000000000001000000" + "0000000007000000300000000000000000000000000000000000000000000000000001000000c000000000000100000000000000020000003" + "8000000010c400000c000000200000000000000000000000000000000000000000001000000c0000000000001000000000000000200000038" + "00000001084000008000000100000000000000000000000000000000000000000001000000c00000000000010000000000000002000000380" + "0000002144000000014000000000000000000000000000000000000000000000001000000c000000000000100000000000000000000003000" + "00000100000000000000000000000000000000000000000001000000000300000000010000000000000007000000300000000000000000000" + "00000000000000000000000000000000100000000030000000001000000000000000200000038000000010c400000c0000002000000000000" + "00000000000000000000000000000001000000000300000000010000000000000002000000380000000108400000800000010000000000000" + "00000000000000000000000000000010000000003000000000100000000000000020000003800000002144000000014000000000000000000" + "00000000000000000000000000000100000000030000000001000000000000000000000030000000010000000000000000000000000000000" + "0000000000001000000000c000000000100000000000000070000003000000000000000000000000000000000000000000000000000010000" + "00000c0000000001000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000" + "0000c000000000100000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000" + "000c0000000001000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010000000" + "00c00000000010000000000000000000000300000000100000000000000000000000000000000000000000001000000003000000000010000" + "00000000000700000030000000000000000000000000000000000000000000000000000100000000300000000001000000000000000200000" + "038000000010c400000c000000200000000000000000000000000000000000000000001000000003000000000010000000000000002000000" + "38000000010840000080000001000000000000000000000000000000000000000000010000000030000000000100000000000000020000003" + "80000000214400000001400000000000000000000000000000000000000000000000100000000300000000001000000000000000000000030" + "000000010000000000000000000000000000000000000000000100000000c0000000000100000000000000070000003000000000000000000" + "0000000000000000000000000000000000100000000c00000000001000000000000000200000038000000010c400000c00000020000000000" + "000000000000000000000000000000000100000000c0000000000100000000000000020000003800000001084000008000000100000000000" + "00000000000000000000000000000000100000000c00000000001000000000000000200000038000000021440000000140000000000000000" + "0000000000000000000000000000000100000000c000000000010000000000000000000000300000000100000000000000000000000000000" + "00000000000000100000000000300000001000000000000000700000030000000000000000000000000000000000000000000000000000100" + "000000000300000001000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000" + "00000000300000001000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000" + "00000003000000010000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000100000" + "000000300000001000000000000000000000030000000010000000000000000000000000000000000000000000100000000000c0000000100" + "0000000000000700000030000000000000000000000000000000000000000000000000000100000000000c000000010000000000000002000" + "00038000000010c400000c00000020000000000000000000000000000000000000000000100000000000c0000000100000000000000020000" + "00380000000108400000800000010000000000000000000000000000000000000000000100000000000c00000001000000000000000200000" + "0380000000214400000001400000000000000000000000000000000000000000000000100000000000c000000010000000000000000000000" + "30000000010000000000000000000000000000000000000000000100000000003000000001000000000000000700000030000000000000000" + "000000000000000000000000000000000000100000000003000000001000000000000000200000038000000010c400000c000000200000000" + "00000000000000000000000000000000000100000000003000000001000000000000000200000038000000010840000080000001000000000" + "00000000000000000000000000000000001000000000030000000010000000000000002000000380000000214400000001400000000000000" + "00000000000000000000000000000000010000000000300000000100000000000000000000003000000001000000000000000000000000000" + "000000000000000010000000000c0000000010000000000000007000000300000000000000000000000000000000000000000000000000001" + "0000000000c000000001000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010" + "000000000c0000000010000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100" + "00000000c00000000100000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000" + "0000000c000000001000000000000000000000030000000010000000000000000000000000000000000000000000100000000000003000001" + "00000000000000070000003000000000000000000000000000000000000000000000000000010000000000000300000100000000000000020" + "0000038000000010c400000c00000020000000000000000000000000000000000000000000100000000000003000001000000000000000200" + "00003800000001084000008000000100000000000000000000000000000000000000000001000000000000030000010000000000000002000" + "00038000000021440000000140000000000000000000000000000000000000000000000010000000000000300000100000000000000000000" + "003000000001000000000000000000000000000000000000000000010000000000000c0000010000000000000007000000300000000000000" + "0000000000000000000000000000000000000010000000000000c000001000000000000000200000038000000010c400000c0000002000000" + "000000000000000000000000000000000000010000000000000c0000010000000000000002000000380000000108400000800000010000000" + "00000000000000000000000000000000000010000000000000c00000100000000000000020000003800000002144000000014000000000000" + "0000000000000000000000000000000000010000000000000c000001000000000000000000000030000000010000000000000000000000000" + "00000000000000000010000000000003000000100000000000000070000003000000000000000000000000000000000000000000000000000" + "0100000000000030000001000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000" + "10000000000003000000100000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001" + "00000000000030000001000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010" + "00000000000300000010000000000000000000000300000000100000000000000000000000000000000000000000001000000000000c00000" + "010000000000000007000000300000000000000000000000000000000000000000000000000001000000000000c0000001000000000000000" + "200000038000000010c400000c000000200000000000000000000000000000000000000000001000000000000c00000010000000000000002" + "0000003800000001084000008000000100000000000000000000000000000000000000000001000000000000c000000100000000000000020" + "000003800000002144000000014000000000000000000000000000000000000000000000001000000000000c0000001000000000000000100" + "000030000000000000000000000000000000000000000000000000000100ffffffffffff00000000000000000000010000003000000001000" + "0000000000000000000000000000000000000000100ffffffffffff0000010000000000000004000000800000000200020000000000000000" + "0000000000000000000000000030300000000000000000000000000000000000000000000000000000000000000000000000000000fffffff" + "fffff000030300000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffff0000"}, +}; + +WinCpuMapTestCase _2sockets_48cores = { + 48, + 2, + 48, + {{48, 48, 0, 0}, {24, 24, 0, 0}, {24, 24, 0, 0}}, + { + {0, 0, 0, MAIN_CORE_PROC, 0, -1}, {1, 0, 1, MAIN_CORE_PROC, 1, -1}, {2, 0, 2, MAIN_CORE_PROC, 2, -1}, + {3, 0, 3, MAIN_CORE_PROC, 3, -1}, {4, 0, 4, MAIN_CORE_PROC, 4, -1}, {5, 0, 5, MAIN_CORE_PROC, 5, -1}, + {6, 0, 6, MAIN_CORE_PROC, 6, -1}, {7, 0, 7, MAIN_CORE_PROC, 7, -1}, {8, 0, 8, MAIN_CORE_PROC, 8, -1}, + {9, 0, 9, MAIN_CORE_PROC, 9, -1}, {10, 0, 10, MAIN_CORE_PROC, 10, -1}, {11, 0, 11, MAIN_CORE_PROC, 11, -1}, + {12, 0, 12, MAIN_CORE_PROC, 12, -1}, {13, 0, 13, MAIN_CORE_PROC, 13, -1}, {14, 0, 14, MAIN_CORE_PROC, 14, -1}, + {15, 0, 15, MAIN_CORE_PROC, 15, -1}, {16, 0, 16, MAIN_CORE_PROC, 16, -1}, {17, 0, 17, MAIN_CORE_PROC, 17, -1}, + {18, 0, 18, MAIN_CORE_PROC, 18, -1}, {19, 0, 19, MAIN_CORE_PROC, 19, -1}, {20, 0, 20, MAIN_CORE_PROC, 20, -1}, + {21, 0, 21, MAIN_CORE_PROC, 21, -1}, {22, 0, 22, MAIN_CORE_PROC, 22, -1}, {23, 0, 23, MAIN_CORE_PROC, 23, -1}, + {24, 1, 24, MAIN_CORE_PROC, 24, -1}, {25, 1, 25, MAIN_CORE_PROC, 25, -1}, {26, 1, 26, MAIN_CORE_PROC, 26, -1}, + {27, 1, 27, MAIN_CORE_PROC, 27, -1}, {28, 1, 28, MAIN_CORE_PROC, 28, -1}, {29, 1, 29, MAIN_CORE_PROC, 29, -1}, + {30, 1, 30, MAIN_CORE_PROC, 30, -1}, {31, 1, 31, MAIN_CORE_PROC, 31, -1}, {32, 1, 32, MAIN_CORE_PROC, 32, -1}, + {33, 1, 33, MAIN_CORE_PROC, 33, -1}, {34, 1, 34, MAIN_CORE_PROC, 34, -1}, {35, 1, 35, MAIN_CORE_PROC, 35, -1}, + {36, 1, 36, MAIN_CORE_PROC, 36, -1}, {37, 1, 37, MAIN_CORE_PROC, 37, -1}, {38, 1, 38, MAIN_CORE_PROC, 38, -1}, + {39, 1, 39, MAIN_CORE_PROC, 39, -1}, {40, 1, 40, MAIN_CORE_PROC, 40, -1}, {41, 1, 41, MAIN_CORE_PROC, 41, -1}, + {42, 1, 42, MAIN_CORE_PROC, 42, -1}, {43, 1, 43, MAIN_CORE_PROC, 43, -1}, {44, 1, 44, MAIN_CORE_PROC, 44, -1}, + {45, 1, 45, MAIN_CORE_PROC, 45, -1}, {46, 1, 46, MAIN_CORE_PROC, 46, -1}, {47, 1, 47, MAIN_CORE_PROC, 47, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ffffff0000000000000000000000000000000000300000000" + "00000000000000000000000000000000000000000000100010000000000000000000000000000000700000030000000000000000000000000" + "000000000000000000000000000100010000000000000000000000000000000200000038000000010c400000c000000200000000000000000" + "00000000000000000000000000100010000000000000000000000000000000200000038000000010840000080000001000000000000000000" + "00000000000000000000000001000100000000000000000000000000000002000000380000000214400000001400000000000000000000000" + "000000000000000000000000100010000000000000000000000000000000200000038000000030c4000000040020000000000000000000000" + "00000000000000000000000100ffffff000000000000000000000000000000000030000000000000000000000000000000000000000000000" + "00000010002000000000000000000000000000000070000003000000000000000000000000000000000000000000000000000010002000000" + "0000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100020000000" + "00000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000200000000" + "00000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010002000000000" + "00000000000000000000000000000300000000000000000000000000000000000000000000000000001000400000000000000000000000000" + "00000700000030000000000000000000000000000000000000000000000000000100040000000000000000000000000000000200000038000" + "000010c400000c000000200000000000000000000000000000000000000000001000400000000000000000000000000000002000000380000" + "00010840000080000001000000000000000000000000000000000000000000010004000000000000000000000000000000020000003800000" + "00214400000001400000000000000000000000000000000000000000000000100040000000000000000000000000000000000000030000000" + "00000000000000000000000000000000000000000000010008000000000000000000000000000000070000003000000000000000000000000" + "0000000000000000000000000000100080000000000000000000000000000000200000038000000010c400000c00000020000000000000000" + "00000000000000000000000000010008000000000000000000000000000000020000003800000001084000008000000100000000000000000" + "00000000000000000000000000100080000000000000000000000000000000200000038000000021440000000140000000000000000000000" + "00000000000000000000000001000800000000000000000000000000000000000000300000000000000000000000000000000000000000000" + "00000000100100000000000000000000000000000000700000030000000000000000000000000000000000000000000000000000100100000" + "000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001001000000" + "00000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010010000000" + "00000000000000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000100100000000" + "00000000000000000000000000000003000000000000000000000000000000000000000000000000000010020000000000000000000000000" + "00000007000000300000000000000000000000000000000000000000000000000001002000000000000000000000000000000002000000380" + "00000010c400000c0000002000000000000000000000000000000000000000000010020000000000000000000000000000000020000003800" + "00000108400000800000010000000000000000000000000000000000000000000100200000000000000000000000000000000200000038000" + "00002144000000014000000000000000000000000000000000000000000000001002000000000000000000000000000000000000000300000" + "00000000000000000000000000000000000000000000000100400000000000000000000000000000000700000030000000000000000000000" + "000000000000000000000000000000100400000000000000000000000000000000200000038000000010c400000c000000200000000000000" + "00000000000000000000000000000100400000000000000000000000000000000200000038000000010840000080000001000000000000000" + "00000000000000000000000000001004000000000000000000000000000000002000000380000000214400000001400000000000000000000" + "00000000000000000000000000010040000000000000000000000000000000000000003000000000000000000000000000000000000000000" + "00000000001008000000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001008000" + "00000000000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010080000" + "00000000000000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100800000" + "00000000000000000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001008000000" + "00000000000000000000000000000000030000000000000000000000000000000000000000000000000000100000100000000000000000000" + "00000000070000003000000000000000000000000000000000000000000000000000010000010000000000000000000000000000020000003" + "8000000010c400000c00000020000000000000000000000000000000000000000000100000100000000000000000000000000000200000038" + "00000001084000008000000100000000000000000000000000000000000000000001000001000000000000000000000000000002000000380" + "00000021440000000140000000000000000000000000000000000000000000000010000010000000000000000000000000000000000003000" + "00000000000000000000000000000000000000000000000001000002000000000000000000000000000007000000300000000000000000000" + "00000000000000000000000000000000100000200000000000000000000000000000200000038000000010c400000c0000002000000000000" + "00000000000000000000000000000001000002000000000000000000000000000002000000380000000108400000800000010000000000000" + "00000000000000000000000000000010000020000000000000000000000000000020000003800000002144000000014000000000000000000" + "00000000000000000000000000000100000200000000000000000000000000000000000030000000000000000000000000000000000000000" + "00000000000010000040000000000000000000000000000070000003000000000000000000000000000000000000000000000000000010000" + "0400000000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000" + "40000000000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000004" + "00000000000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010000040" + "00000000000000000000000000000000000300000000000000000000000000000000000000000000000000001000008000000000000000000" + "00000000000700000030000000000000000000000000000000000000000000000000000100000800000000000000000000000000000200000" + "038000000010c400000c000000200000000000000000000000000000000000000000001000008000000000000000000000000000002000000" + "38000000010840000080000001000000000000000000000000000000000000000000010000080000000000000000000000000000020000003" + "80000000214400000001400000000000000000000000000000000000000000000000100000800000000000000000000000000000000000030" + "00000000000000000000000000000000000000000000000000010000100000000000000000000000000000070000003000000000000000000" + "0000000000000000000000000000000000100001000000000000000000000000000000200000038000000010c400000c00000020000000000" + "00000000000000000000000000000000010000100000000000000000000000000000020000003800000001084000008000000100000000000" + "00000000000000000000000000000000100001000000000000000000000000000000200000038000000021440000000140000000000000000" + "00000000000000000000000000000001000010000000000000000000000000000000000000300000000000000000000000000000000000000" + "00000000000000100002000000000000000000000000000000700000030000000000000000000000000000000000000000000000000000100" + "002000000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000" + "02000000000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000" + "20000000000000000000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000100002" + "00000000000000000000000000000000000003000000000000000000000000000000000000000000000000000010000400000000000000000" + "00000000000007000000300000000000000000000000000000000000000000000000000001000040000000000000000000000000000002000" + "00038000000010c400000c0000002000000000000000000000000000000000000000000010000400000000000000000000000000000020000" + "00380000000108400000800000010000000000000000000000000000000000000000000100004000000000000000000000000000000200000" + "03800000002144000000014000000000000000000000000000000000000000000000001000040000000000000000000000000000000000000" + "30000000000000000000000000000000000000000000000000000100008000000000000000000000000000000700000030000000000000000" + "000000000000000000000000000000000000100008000000000000000000000000000000200000038000000010c400000c000000200000000" + "00000000000000000000000000000000000100008000000000000000000000000000000200000038000000010840000080000001000000000" + "00000000000000000000000000000000001000080000000000000000000000000000002000000380000000214400000001400000000000000" + "00000000000000000000000000000000010000800000000000000000000000000000000000003000000000000000000000000000000000000" + "00000000000000001000000010000000000000000000000000007000000300000000000000000000000000000000000000000000000000001" + "00000001000000000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010" + "00000010000000000000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100" + "00000100000000000000000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000" + "00001000000000000000000000000000000000030000000000000000000000000000000000000000000000000000100000002000000000000" + "00000000000000070000003000000000000000000000000000000000000000000000000000010000000200000000000000000000000000020" + "0000038000000010c400000c00000020000000000000000000000000000000000000000000100000002000000000000000000000000000200" + "00003800000001084000008000000100000000000000000000000000000000000000000001000000020000000000000000000000000002000" + "00038000000021440000000140000000000000000000000000000000000000000000000010000000200000000000000000000000000000000" + "00300000000000000000000000000000000000000000000000000001000000040000000000000000000000000007000000300000000000000" + "00000000000000000000000000000000000000100000004000000000000000000000000000200000038000000010c400000c0000002000000" + "00000000000000000000000000000000000001000000040000000000000000000000000002000000380000000108400000800000010000000" + "00000000000000000000000000000000000010000000400000000000000000000000000020000003800000002144000000014000000000000" + "00000000000000000000000000000000000100000004000000000000000000000000000000000030000000000000000000000000000000000" + "00000000000000000010000000800000000000000000000000000070000003000000000000000000000000000000000000000000000000000" + "0100000008000000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000" + "10000000800000000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001" + "00000008000000000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010" + "00000080000000000000000000000000000000000300000000000000000000000000000000000000000000000000001000000100000000000" + "00000000000000000700000030000000000000000000000000000000000000000000000000000100000010000000000000000000000000000" + "200000038000000010c400000c000000200000000000000000000000000000000000000000001000000100000000000000000000000000002" + "00000038000000010840000080000001000000000000000000000000000000000000000000010000001000000000000000000000000000020" + "00000380000000214400000001400000000000000000000000000000000000000000000000100000010000000000000000000000000000000" + "00003000000000000000000000000000000000000000000000000000010000002000000000000000000000000000070000003000000000000" + "0000000000000000000000000000000000000000100000020000000000000000000000000000200000038000000010c400000c00000020000" + "00000000000000000000000000000000000000010000002000000000000000000000000000020000003800000001084000008000000100000" + "00000000000000000000000000000000000000100000020000000000000000000000000000200000038000000021440000000140000000000" + "00000000000000000000000000000000000001000000200000000000000000000000000000000000300000000000000000000000000000000" + "00000000000000000000100000040000000000000000000000000000700000030000000000000000000000000000000000000000000000000" + "000100000040000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000" + "00100000040000000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000" + "01000000400000000000000000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000" + "10000004000000000000000000000000000000000003000000000000000000000000000000000000000000000000000010000008000000000" + "00000000000000000007000000300000000000000000000000000000000000000000000000000001000000800000000000000000000000000" + "00200000038000000010c400000c0000002000000000000000000000000000000000000000000010000008000000000000000000000000000" + "02000000380000000108400000800000010000000000000000000000000000000000000000000100000080000000000000000000000000000" + "20000003800000002144000000014000000000000000000000000000000000000000000000001000000800000000000000000000000000003" + "00000030000000000000000000000000000000000000000000000000000100000000ffffff000000000000000000000000000030000000000" + "00000000000000000000000000000000000000000010000000001000000000000000000000000070000003000000000000000000000000000" + "0000000000000000000000000100000000010000000000000000000000000200000038000000010c400000c00000020000000000000000000" + "00000000000000000000000010000000001000000000000000000000000020000003800000001084000008000000100000000000000000000" + "00000000000000000000000100000000010000000000000000000000000200000038000000021440000000140000000000000000000000000" + "0000000000000000000000100000000010000000000000000000000000200000038000000030c400000004002000000000000000000000000" + "000000000000000000000100000000ffffff00000000000000000000000000003000000000000000000000000000000000000000000000000" + "00001000000000200000000000000000000000007000000300000000000000000000000000000000000000000000000000001000000000200" + "00000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000002000" + "00000000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100000000020000" + "00000000000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000000000200000" + "00000000000000000000000000030000000000000000000000000000000000000000000000000000100000000040000000000000000000000" + "00070000003000000000000000000000000000000000000000000000000000010000000004000000000000000000000000020000003800000" + "0010c400000c00000020000000000000000000000000000000000000000000100000000040000000000000000000000000200000038000000" + "01084000008000000100000000000000000000000000000000000000000001000000000400000000000000000000000002000000380000000" + "21440000000140000000000000000000000000000000000000000000000010000000004000000000000000000000000000000003000000000" + "00000000000000000000000000000000000000000001000000000800000000000000000000000007000000300000000000000000000000000" + "00000000000000000000000000100000000080000000000000000000000000200000038000000010c400000c0000002000000000000000000" + "00000000000000000000000001000000000800000000000000000000000002000000380000000108400000800000010000000000000000000" + "00000000000000000000000010000000008000000000000000000000000020000003800000002144000000014000000000000000000000000" + "00000000000000000000000100000000080000000000000000000000000000000030000000000000000000000000000000000000000000000" + "00000010000000010000000000000000000000000070000003000000000000000000000000000000000000000000000000000010000000010" + "0000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000000100" + "00000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000001000" + "00000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010000000010000" + "00000000000000000000000000000300000000000000000000000000000000000000000000000000001000000002000000000000000000000" + "00000700000030000000000000000000000000000000000000000000000000000100000000200000000000000000000000000200000038000" + "000010c400000c000000200000000000000000000000000000000000000000001000000002000000000000000000000000002000000380000" + "00010840000080000001000000000000000000000000000000000000000000010000000020000000000000000000000000020000003800000" + "00214400000001400000000000000000000000000000000000000000000000100000000200000000000000000000000000000000030000000" + "00000000000000000000000000000000000000000000010000000040000000000000000000000000070000003000000000000000000000000" + "0000000000000000000000000000100000000400000000000000000000000000200000038000000010c400000c00000020000000000000000" + "00000000000000000000000000010000000040000000000000000000000000020000003800000001084000008000000100000000000000000" + "00000000000000000000000000100000000400000000000000000000000000200000038000000021440000000140000000000000000000000" + "00000000000000000000000001000000004000000000000000000000000000000000300000000000000000000000000000000000000000000" + "00000000100000000800000000000000000000000000700000030000000000000000000000000000000000000000000000000000100000000" + "800000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000000008" + "00000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000000080" + "00000000000000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000100000000800" + "00000000000000000000000000000003000000000000000000000000000000000000000000000000000010000000000010000000000000000" + "00000007000000300000000000000000000000000000000000000000000000000001000000000001000000000000000000000002000000380" + "00000010c400000c0000002000000000000000000000000000000000000000000010000000000010000000000000000000000020000003800" + "00000108400000800000010000000000000000000000000000000000000000000100000000000100000000000000000000000200000038000" + "00002144000000014000000000000000000000000000000000000000000000001000000000001000000000000000000000000000000300000" + "00000000000000000000000000000000000000000000000100000000000200000000000000000000000700000030000000000000000000000" + "000000000000000000000000000000100000000000200000000000000000000000200000038000000010c400000c000000200000000000000" + "00000000000000000000000000000100000000000200000000000000000000000200000038000000010840000080000001000000000000000" + "00000000000000000000000000001000000000002000000000000000000000002000000380000000214400000001400000000000000000000" + "00000000000000000000000000010000000000020000000000000000000000000000003000000000000000000000000000000000000000000" + "00000000001000000000004000000000000000000000007000000300000000000000000000000000000000000000000000000000001000000" + "00000400000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000" + "00004000000000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100000000" + "00040000000000000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000000000" + "00400000000000000000000000000000030000000000000000000000000000000000000000000000000000100000000000800000000000000" + "00000000070000003000000000000000000000000000000000000000000000000000010000000000080000000000000000000000020000003" + "8000000010c400000c00000020000000000000000000000000000000000000000000100000000000800000000000000000000000200000038" + "00000001084000008000000100000000000000000000000000000000000000000001000000000008000000000000000000000002000000380" + "00000021440000000140000000000000000000000000000000000000000000000010000000000080000000000000000000000000000003000" + "00000000000000000000000000000000000000000000000001000000000010000000000000000000000007000000300000000000000000000" + "00000000000000000000000000000000100000000001000000000000000000000000200000038000000010c400000c0000002000000000000" + "00000000000000000000000000000001000000000010000000000000000000000002000000380000000108400000800000010000000000000" + "00000000000000000000000000000010000000000100000000000000000000000020000003800000002144000000014000000000000000000" + "00000000000000000000000000000100000000001000000000000000000000000000000030000000000000000000000000000000000000000" + "00000000000010000000000200000000000000000000000070000003000000000000000000000000000000000000000000000000000010000" + "0000002000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000100000" + "00000200000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000000" + "00002000000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010000000" + "00020000000000000000000000000000000300000000000000000000000000000000000000000000000000001000000000040000000000000" + "00000000000700000030000000000000000000000000000000000000000000000000000100000000004000000000000000000000000200000" + "038000000010c400000c000000200000000000000000000000000000000000000000001000000000040000000000000000000000002000000" + "38000000010840000080000001000000000000000000000000000000000000000000010000000000400000000000000000000000020000003" + "80000000214400000001400000000000000000000000000000000000000000000000100000000004000000000000000000000000000000030" + "00000000000000000000000000000000000000000000000000010000000000800000000000000000000000070000003000000000000000000" + "0000000000000000000000000000000000100000000008000000000000000000000000200000038000000010c400000c00000020000000000" + "00000000000000000000000000000000010000000000800000000000000000000000020000003800000001084000008000000100000000000" + "00000000000000000000000000000000100000000008000000000000000000000000200000038000000021440000000140000000000000000" + "00000000000000000000000000000001000000000080000000000000000000000000000000300000000000000000000000000000000000000" + "00000000000000100000000000001000000000000000000000700000030000000000000000000000000000000000000000000000000000100" + "000000000001000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000" + "00000000001000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000" + "00000000010000000000000000000002000000380000000214400000001400000000000000000000000000000000000000000000000100000" + "00000000100000000000000000000000000003000000000000000000000000000000000000000000000000000010000000000000200000000" + "00000000000007000000300000000000000000000000000000000000000000000000000001000000000000020000000000000000000002000" + "00038000000010c400000c0000002000000000000000000000000000000000000000000010000000000000200000000000000000000020000" + "00380000000108400000800000010000000000000000000000000000000000000000000100000000000002000000000000000000000200000" + "03800000002144000000014000000000000000000000000000000000000000000000001000000000000020000000000000000000000000000" + "30000000000000000000000000000000000000000000000000000100000000000004000000000000000000000700000030000000000000000" + "000000000000000000000000000000000000100000000000004000000000000000000000200000038000000010c400000c000000200000000" + "00000000000000000000000000000000000100000000000004000000000000000000000200000038000000010840000080000001000000000" + "00000000000000000000000000000000001000000000000040000000000000000000002000000380000000214400000001400000000000000" + "00000000000000000000000000000000010000000000000400000000000000000000000000003000000000000000000000000000000000000" + "00000000000000001000000000000080000000000000000000007000000300000000000000000000000000000000000000000000000000001" + "00000000000008000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010" + "00000000000080000000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000100" + "00000000000800000000000000000000020000003800000002144000000014000000000000000000000000000000000000000000000001000" + "00000000008000000000000000000000000000030000000000000000000000000000000000000000000000000000100000000000010000000" + "00000000000000070000003000000000000000000000000000000000000000000000000000010000000000001000000000000000000000020" + "0000038000000010c400000c00000020000000000000000000000000000000000000000000100000000000010000000000000000000000200" + "00003800000001084000008000000100000000000000000000000000000000000000000001000000000000100000000000000000000002000" + "00038000000021440000000140000000000000000000000000000000000000000000000010000000000001000000000000000000000000000" + "00300000000000000000000000000000000000000000000000000001000000000000200000000000000000000007000000300000000000000" + "00000000000000000000000000000000000000100000000000020000000000000000000000200000038000000010c400000c0000002000000" + "00000000000000000000000000000000000001000000000000200000000000000000000002000000380000000108400000800000010000000" + "00000000000000000000000000000000000010000000000002000000000000000000000020000003800000002144000000014000000000000" + "00000000000000000000000000000000000100000000000020000000000000000000000000000030000000000000000000000000000000000" + "00000000000000000010000000000004000000000000000000000070000003000000000000000000000000000000000000000000000000000" + "0100000000000040000000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000" + "10000000000004000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001" + "00000000000040000000000000000000000200000038000000021440000000140000000000000000000000000000000000000000000000010" + "00000000000400000000000000000000000000000300000000000000000000000000000000000000000000000000001000000000000800000" + "00000000000000000700000030000000000000000000000000000000000000000000000000000100000000000080000000000000000000000" + "200000038000000010c400000c000000200000000000000000000000000000000000000000001000000000000800000000000000000000002" + "00000038000000010840000080000001000000000000000000000000000000000000000000010000000000008000000000000000000000020" + "00000380000000214400000001400000000000000000000000000000000000000000000000100000000000080000000000000000000000100" + "000030000000000000000000000000000000000000000000000000000100ffffff00000000000000000000000000010000003000000001000" + "0000000000000000000000000000000000000000100000000ffffff0000000000000000000004000000500000000100010000000000000000" + "0000000000000000000000000030300000000000000000000000000000000000000000000000000000000000000000000000000000fffffff" + "fffff0000"}, +}; + +WinCpuMapTestCase _1sockets_24cores_hyperthreading_set1 = { + 32, + 1, + 24, + {{32, 8, 16, 8}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, + {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, + {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {17, 0, 9, EFFICIENT_CORE_PROC, 8, -1}, + {18, 0, 10, EFFICIENT_CORE_PROC, 8, -1}, {19, 0, 11, EFFICIENT_CORE_PROC, 8, -1}, + {20, 0, 12, EFFICIENT_CORE_PROC, 9, -1}, {21, 0, 13, EFFICIENT_CORE_PROC, 9, -1}, + {22, 0, 14, EFFICIENT_CORE_PROC, 9, -1}, {23, 0, 15, EFFICIENT_CORE_PROC, 9, -1}, + {24, 0, 16, EFFICIENT_CORE_PROC, 10, -1}, {25, 0, 17, EFFICIENT_CORE_PROC, 10, -1}, + {26, 0, 18, EFFICIENT_CORE_PROC, 10, -1}, {27, 0, 19, EFFICIENT_CORE_PROC, 10, -1}, + {28, 0, 20, EFFICIENT_CORE_PROC, 11, -1}, {29, 0, 21, EFFICIENT_CORE_PROC, 11, -1}, + {30, 0, 22, EFFICIENT_CORE_PROC, 11, -1}, {31, 0, 23, EFFICIENT_CORE_PROC, 11, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ffffffff00000000000000000000000000000000300000000" + "10100000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c0000002" + "00000000000000000000000000000000000000000000000300000000000000000000000000000002000000380000000108400000800000010" + "00000000000000000000000000000000000000000000003000000000000000000000000000000020000003800000002104000000020000000" + "00000000000000000000000000000000000000000000030000000000000000000000000000000200000038000000030c40000000400200000" + "0000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000300000000101000000000000000000" + "000000000000000000000001000c0000000000000000000000000000000200000038000000010c400000c0000002000000000000000000000" + "00000000000000000000000000c00000000000000000000000000000002000000380000000108400000800000010000000000000000000000" + "0000000000000000000000000c000000000000000000000000000000020000003800000002104000000020000000000000000000000000000" + "000000000000000000000000c0000000000000000000000000000000000000030000000010100000000000000000000000000000000000000" + "000100300000000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000" + "00000300000000000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000" + "00003000000000000000000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000" + "000300000000000000000000000000000000000000030000000010100000000000000000000000000000000000000000100c0000000000000" + "0000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000000c00000000000000" + "0000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000000c000000000000000" + "000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000000c0000000000000000" + "00000000000000000000000300000000101000000000000000000000000000000000000000001000003000000000000000000000000000002" + "00000038000000010c400000c0000002000000000000000000000000000000000000000000000000030000000000000000000000000000020" + "00000380000000108400000800000010000000000000000000000000000000000000000000000000300000000000000000000000000000200" + "00003800000002104000000020000000000000000000000000000000000000000000000000000003000000000000000000000000000000000" + "00030000000010100000000000000000000000000000000000000000100000c00000000000000000000000000000200000038000000010c40" + "0000c00000020000000000000000000000000000000000000000000000000c000000000000000000000000000002000000380000000108400" + "000800000010000000000000000000000000000000000000000000000000c0000000000000000000000000000020000003800000002104000" + "00002000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000030000000010100000" + "000000000000000000000000000000000000100003000000000000000000000000000000200000038000000010c400000c000000200000000" + "00000000000000000000000000000000000000003000000000000000000000000000000200000038000000010840000080000001000000000" + "00000000000000000000000000000000000000030000000000000000000000000000002000000380000000210400000002000000000000000" + "00000000000000000000000000000000000000300000000000000000000000000000000000003000000001010000000000000000000000000" + "000000000000000010000c000000000000000000000000000000200000038000000010c400000c00000020000000000000000000000000000" + "00000000000000000000c00000000000000000000000000000020000003800000001084000008000000100000000000000000000000000000" + "0000000000000000000c000000000000000000000000000000200000038000000021040000000200000000000000000000000000000000000" + "000000000000000000c0000000000000000000000000000000000000300000000000000000000000000000000000000000000000000001000" + "00001000000000000000000000000000200000038000000010840000080000002000000000000000000000000000000000000000000000000" + "00010000000000000000000000000002000000380000000108400000000100010000000000000000000000000000000000000000000000000" + "00100000000000000000000000000020000003800000002104000000040000000000000000000000000000000000000000000000000000000" + "0f000000000000000000000000000000000030000000000000000000000000000000000000000000000000000100000002000000000000000" + "00000000000020000003800000001084000008000000200000000000000000000000000000000000000000000000000020000000000000000" + "00000000000200000038000000010840000000010001000000000000000000000000000000000000000000000000000200000000000000000" + "00000000000000000300000000000000000000000000000000000000000000000000001000000040000000000000000000000000002000000" + "38000000010840000080000002000000000000000000000000000000000000000000000000000400000000000000000000000000020000003" + "80000000108400000000100010000000000000000000000000000000000000000000000000004000000000000000000000000000000000030" + "00000000000000000000000000000000000000000000000000010000000800000000000000000000000000020000003800000001084000008" + "00000020000000000000000000000000000000000000000000000000008000000000000000000000000000200000038000000010840000000" + "01000100000000000000000000000000000000000000000000000000080000000000000000000000000000000000300000000000000000000" + "00000000000000000000000000000000100000010000000000000000000000000000200000038000000010840000080000002000000000000" + "00000000000000000000000000000000000000100000000000000000000000000002000000380000000108400000000100010000000000000" + "00000000000000000000000000000000000001000000000000000000000000000020000003800000002104000000040000000000000000000" + "000000000000000000000000000000000000f0000000000000000000000000000000000030000000000000000000000000000000000000000" + "00000000000010000002000000000000000000000000000020000003800000001084000008000000200000000000000000000000000000000" + "00000000000000000020000000000000000000000000000200000038000000010840000000010001000000000000000000000000000000000" + "00000000000000000200000000000000000000000000000000000300000000000000000000000000000000000000000000000000001000000" + "40000000000000000000000000000200000038000000010840000080000002000000000000000000000000000000000000000000000000004" + "00000000000000000000000000002000000380000000108400000000100010000000000000000000000000000000000000000000000000040" + "00000000000000000000000000000000003000000000000000000000000000000000000000000000000000010000008000000000000000000" + "00000000002000000380000000108400000800000020000000000000000000000000000000000000000000000000080000000000000000000" + "00000000020000003800000001084000000001000100000000000000000000000000000000000000000000000000800000000000000000000" + "00000000000000030000000000000000000000000000000000000000000000000000100000000010000000000000000000000000200000038" + "00000001084000008000000200000000000000000000000000000000000000000000000000000100000000000000000000000002000000380" + "00000010840000000010001000000000000000000000000000000000000000000000000000001000000000000000000000000020000003800" + "000002104000000040000000000000000000000000000000000000000000000000000000000f0000000000000000000000000000000030000" + "00000000000000000000000000000000000000000000000010000000002000000000000000000000000020000003800000001084000008000" + "00020000000000000000000000000000000000000000000000000000020000000000000000000000000200000038000000010840000000010" + "00100000000000000000000000000000000000000000000000000000200000000000000000000000000000000300000000000000000000000" + "00000000000000000000000000000100000000040000000000000000000000000200000038000000010840000080000002000000000000000" + "00000000000000000000000000000000000000400000000000000000000000002000000380000000108400000000100010000000000000000" + "00000000000000000000000000000000000004000000000000000000000000000000003000000000000000000000000000000000000000000" + "00000000001000000000800000000000000000000000002000000380000000108400000800000020000000000000000000000000000000000" + "00000000000000000008000000000000000000000000020000003800000001084000000001000100000000000000000000000000000000000" + "00000000000000000080000000000000000000000000000000030000000000000000000000000000000000000000000000000000100000000" + "10000000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000000000000001" + "00000000000000000000000000200000038000000010840000000010001000000000000000000000000000000000000000000000000000010" + "00000000000000000000000002000000380000000210400000004000000000000000000000000000000000000000000000000000000000f00" + "00000000000000000000000000000003000000000000000000000000000000000000000000000000000010000000020000000000000000000" + "00000002000000380000000108400000800000020000000000000000000000000000000000000000000000000000200000000000000000000" + "00000020000003800000001084000000001000100000000000000000000000000000000000000000000000000002000000000000000000000" + "00000000000030000000000000000000000000000000000000000000000000000100000000400000000000000000000000000200000038000" + "00001084000008000000200000000000000000000000000000000000000000000000000004000000000000000000000000002000000380000" + "00010840000000010001000000000000000000000000000000000000000000000000000040000000000000000000000000000000003000000" + "00000000000000000000000000000000000000000000001000000008000000000000000000000000002000000380000000108400000800000" + "02000000000000000000000000000000000000000000000000000080000000000000000000000000020000003800000001084000000001000" + "10000000000000000000000000000000000000000000000000000800000000000000000000000000100000030000000000000000000000000" + "000000000000000000000000000000ffffffff000000000000000000000000040000005000000001000100000000000000000000000000000" + "000000000000020200000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000"}, +}; + +WinCpuMapTestCase _1sockets_24cores_hyperthreading_set2 = { + 32, + 1, + 24, + {{32, 8, 16, 8}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, + {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, + {12, 0, 6, HYPER_THREADING_PROC, 6, -1}, {13, 0, 6, MAIN_CORE_PROC, 6, -1}, + {14, 0, 7, HYPER_THREADING_PROC, 7, -1}, {15, 0, 7, MAIN_CORE_PROC, 7, -1}, + {16, 0, 8, EFFICIENT_CORE_PROC, 8, -1}, {17, 0, 9, EFFICIENT_CORE_PROC, 8, -1}, + {18, 0, 10, EFFICIENT_CORE_PROC, 8, -1}, {19, 0, 11, EFFICIENT_CORE_PROC, 8, -1}, + {20, 0, 12, EFFICIENT_CORE_PROC, 9, -1}, {21, 0, 13, EFFICIENT_CORE_PROC, 9, -1}, + {22, 0, 14, EFFICIENT_CORE_PROC, 9, -1}, {23, 0, 15, EFFICIENT_CORE_PROC, 9, -1}, + {24, 0, 16, EFFICIENT_CORE_PROC, 10, -1}, {25, 0, 17, EFFICIENT_CORE_PROC, 10, -1}, + {26, 0, 18, EFFICIENT_CORE_PROC, 10, -1}, {27, 0, 19, EFFICIENT_CORE_PROC, 10, -1}, + {28, 0, 20, EFFICIENT_CORE_PROC, 11, -1}, {29, 0, 21, EFFICIENT_CORE_PROC, 11, -1}, + {30, 0, 22, EFFICIENT_CORE_PROC, 11, -1}, {31, 0, 23, EFFICIENT_CORE_PROC, 11, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ffffffff00000000000000000000000000000000300000000" + "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" + "000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c000000200000000000000000" + "00000000000000000000000000100030000000000000000000000000000000200000038000000010840000080000001000000000000000000" + "00000000000000000000000001000300000000000000000000000000000002000000380000000210400000002000000000000000000000000" + "000000000000000000000000100030000000000000000000000000000000200000038000000030c4000000040020000000000000000000000" + "00000000000000000000000100ffffffff0000000000000000000000000000000030000000010100000000000000000000000000000000000" + "0000001000c00000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001000c000000" + "0000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000c0000000" + "00000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000c00000000" + "0000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000c000000000" + "00000000000000000000000000000300000000101000000000000000000000000000000000000000001003000000000000000000000000000" + "00000700000030000000000000000000000000000000000000000000000000000100300000000000000000000000000000000200000038000" + "000010c400000c000000200000000000000000000000000000000000000000001003000000000000000000000000000000002000000380000" + "00010840000080000001000000000000000000000000000000000000000000010030000000000000000000000000000000020000003800000" + "00210400000002000000000000000000000000000000000000000000000000100300000000000000000000000000000000000000030000000" + "010100000000000000000000000000000000000000000100c0000000000000000000000000000000070000003000000000000000000000000" + "0000000000000000000000000000100c00000000000000000000000000000000200000038000000010c400000c00000020000000000000000" + "000000000000000000000000000100c0000000000000000000000000000000020000003800000001084000008000000100000000000000000" + "00000000000000000000000000100c00000000000000000000000000000000200000038000000021040000000200000000000000000000000" + "0000000000000000000000000100c000000000000000000000000000000000000000300000000101000000000000000000000000000000000" + "00000000100000300000000000000000000000000000700000030000000000000000000000000000000000000000000000000000100000300" + "000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000003000" + "00000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000030000" + "00000000000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000300000" + "000000000000000000000000000000030000000010100000000000000000000000000000000000000000100000c0000000000000000000000" + "0000000700000030000000000000000000000000000000000000000000000000000100000c000000000000000000000000000002000000380" + "00000010c400000c00000020000000000000000000000000000000000000000000100000c0000000000000000000000000000020000003800" + "00000108400000800000010000000000000000000000000000000000000000000100000c00000000000000000000000000000200000038000" + "0000210400000002000000000000000000000000000000000000000000000000100000c000000000000000000000000000000000000300000" + "00010100000000000000000000000000000000000000000100003000000000000000000000000000000700000030000000000000000000000" + "000000000000000000000000000000100003000000000000000000000000000000200000038000000010c400000c000000200000000000000" + "00000000000000000000000000000100003000000000000000000000000000000200000038000000010840000080000001000000000000000" + "00000000000000000000000000001000030000000000000000000000000000002000000380000000210400000002000000000000000000000" + "00000000000000000000000000010000300000000000000000000000000000000000003000000001010000000000000000000000000000000" + "000000000010000c00000000000000000000000000000070000003000000000000000000000000000000000000000000000000000010000c0" + "00000000000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000c00" + "0000000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000c000" + "000000000000000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000c0000" + "00000000000000000000000000000000030000000000000000000000000000000000000000000000000000100000001000000000000000000" + "00000000070000003000000000000000000000000000000000000000000000000000010000000f00000000000000000000000000020000003" + "80000000108400000800000020000000000000000000000000000000000000000000100000001000000000000000000000000000200000038" + "00000001084000000001000100000000000000000000000000000000000000000001000000010000000000000000000000000002000000380" + "00000021040000000400000000000000000000000000000000000000000000000010000000f00000000000000000000000000000000003000" + "00000000000000000000000000000000000000000000000001000000020000000000000000000000000002000000380000000108400000800" + "00002000000000000000000000000000000000000000000010000000200000000000000000000000000020000003800000001084000000001" + "00010000000000000000000000000000000000000000000100000002000000000000000000000000000000000030000000000000000000000" + "00000000000000000000000000000010000000400000000000000000000000000020000003800000001084000008000000200000000000000" + "00000000000000000000000000000100000004000000000000000000000000000200000038000000010840000000010001000000000000000" + "00000000000000000000000000001000000040000000000000000000000000000000000300000000000000000000000000000000000000000" + "00000000000100000008000000000000000000000000000200000038000000010840000080000002000000000000000000000000000000000" + "00000000001000000080000000000000000000000000002000000380000000108400000000100010000000000000000000000000000000000" + "00000000010000000800000000000000000000000000000000003000000000000000000000000000000000000000000000000000010000001" + "00000000000000000000000000007000000300000000000000000000000000000000000000000000000000001000000f00000000000000000" + "00000000000200000038000000010840000080000002000000000000000000000000000000000000000000010000001000000000000000000" + "00000000002000000380000000108400000000100010000000000000000000000000000000000000000000100000010000000000000000000" + "00000000020000003800000002104000000040000000000000000000000000000000000000000000000001000000f00000000000000000000" + "00000000000000030000000000000000000000000000000000000000000000000000100000020000000000000000000000000000200000038" + "00000001084000008000000200000000000000000000000000000000000000000001000000200000000000000000000000000002000000380" + "00000010840000000010001000000000000000000000000000000000000000000010000002000000000000000000000000000000000003000" + "00000000000000000000000000000000000000000000000001000000400000000000000000000000000002000000380000000108400000800" + "00002000000000000000000000000000000000000000000010000004000000000000000000000000000020000003800000001084000000001" + "00010000000000000000000000000000000000000000000100000040000000000000000000000000000000000030000000000000000000000" + "00000000000000000000000000000010000008000000000000000000000000000020000003800000001084000008000000200000000000000" + "00000000000000000000000000000100000080000000000000000000000000000200000038000000010840000000010001000000000000000" + "00000000000000000000000000001000000800000000000000000000000000000000000300000000000000000000000000000000000000000" + "00000000000100000000010000000000000000000000000700000030000000000000000000000000000000000000000000000000000100000" + "0000f000000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000001000000" + "00010000000000000000000000000200000038000000010840000000010001000000000000000000000000000000000000000000010000000" + "00100000000000000000000000002000000380000000210400000004000000000000000000000000000000000000000000000000100000000" + "0f000000000000000000000000000000003000000000000000000000000000000000000000000000000000010000000002000000000000000" + "00000000002000000380000000108400000800000020000000000000000000000000000000000000000000100000000020000000000000000" + "00000000020000003800000001084000000001000100000000000000000000000000000000000000000001000000000200000000000000000" + "00000000000000030000000000000000000000000000000000000000000000000000100000000040000000000000000000000000200000038" + "00000001084000008000000200000000000000000000000000000000000000000001000000000400000000000000000000000002000000380" + "00000010840000000010001000000000000000000000000000000000000000000010000000004000000000000000000000000000000003000" + "00000000000000000000000000000000000000000000000001000000000800000000000000000000000002000000380000000108400000800" + "00002000000000000000000000000000000000000000000010000000008000000000000000000000000020000003800000001084000000001" + "00010000000000000000000000000000000000000000000100000000080000000000000000000000000000000030000000000000000000000" + "00000000000000000000000000000010000000010000000000000000000000000070000003000000000000000000000000000000000000000" + "0000000000000100000000f000000000000000000000000002000000380000000108400000800000020000000000000000000000000000000" + "00000000000010000000010000000000000000000000000020000003800000001084000000001000100000000000000000000000000000000" + "00000000000100000000100000000000000000000000000200000038000000021040000000400000000000000000000000000000000000000" + "0000000000100000000f000000000000000000000000000000000300000000000000000000000000000000000000000000000000001000000" + "00200000000000000000000000000200000038000000010840000080000002000000000000000000000000000000000000000000010000000" + "02000000000000000000000000002000000380000000108400000000100010000000000000000000000000000000000000000000100000000" + "20000000000000000000000000000000003000000000000000000000000000000000000000000000000000010000000040000000000000000" + "00000000002000000380000000108400000800000020000000000000000000000000000000000000000000100000000400000000000000000" + "00000000020000003800000001084000000001000100000000000000000000000000000000000000000001000000004000000000000000000" + "00000000000000030000000000000000000000000000000000000000000000000000100000000800000000000000000000000000200000038" + "00000001084000008000000200000000000000000000000000000000000000000001000000008000000000000000000000000002000000380" + "00000010840000000010001000000000000000000000000000000000000000000010000000080000000000000000000000000010000003000" + "0000000000000000000000000000000000000000000000000100ffffffff00000000000000000000000004000000500000000100010000000" + "00000000000000000000000000000000000202000000000000000000000000000000000000000000000000000000000000000000000000000" + "00ffffffff00000000"}, +}; + +WinCpuMapTestCase _1sockets_14cores_hyperthreading_set1 = { + 20, + 1, + 14, + {{20, 6, 8, 6}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, + {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, + {12, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, {13, 0, 7, EFFICIENT_CORE_PROC, 6, -1}, + {14, 0, 8, EFFICIENT_CORE_PROC, 6, -1}, {15, 0, 9, EFFICIENT_CORE_PROC, 6, -1}, + {16, 0, 10, EFFICIENT_CORE_PROC, 7, -1}, {17, 0, 11, EFFICIENT_CORE_PROC, 7, -1}, + {18, 0, 12, EFFICIENT_CORE_PROC, 7, -1}, {19, 0, 13, EFFICIENT_CORE_PROC, 7, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ffff0f0000000000000000000000000000000000300000000" + "10100000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c0000002" + "00000000000000000000000000000000000000000000000300000000000000000000000000000002000000380000000108400000800000010" + "00000000000000000000000000000000000000000000003000000000000000000000000000000020000003800000002104000000020000000" + "00000000000000000000000000000000000000000000030000000000000000000000000000000200000038000000030c40000000800100000" + "0000000000000000000000000000000000000000000ffff0f0000000000000000000000000000000000300000000101000000000000000000" + "000000000000000000000001000c0000000000000000000000000000000200000038000000010c400000c0000002000000000000000000000" + "00000000000000000000000000c00000000000000000000000000000002000000380000000108400000800000010000000000000000000000" + "0000000000000000000000000c000000000000000000000000000000020000003800000002104000000020000000000000000000000000000" + "000000000000000000000000c0000000000000000000000000000000000000030000000010100000000000000000000000000000000000000" + "000100300000000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000" + "00000300000000000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000" + "00003000000000000000000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000" + "000300000000000000000000000000000000000000030000000010100000000000000000000000000000000000000000100c0000000000000" + "0000000000000000000200000038000000010c400000c00000020000000000000000000000000000000000000000000000c00000000000000" + "0000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000000c000000000000000" + "000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000000c0000000000000000" + "00000000000000000000000300000000101000000000000000000000000000000000000000001000003000000000000000000000000000002" + "00000038000000010c400000c0000002000000000000000000000000000000000000000000000000030000000000000000000000000000020" + "00000380000000108400000800000010000000000000000000000000000000000000000000000000300000000000000000000000000000200" + "00003800000002104000000020000000000000000000000000000000000000000000000000000003000000000000000000000000000000000" + "00030000000010100000000000000000000000000000000000000000100000c00000000000000000000000000000200000038000000010c40" + "0000c00000020000000000000000000000000000000000000000000000000c000000000000000000000000000002000000380000000108400" + "000800000010000000000000000000000000000000000000000000000000c0000000000000000000000000000020000003800000002104000" + "00002000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000030000000000000000" + "00000000000000000000000000000000000010000100000000000000000000000000000020000003800000001084000008000000200000000" + "00000000000000000000000000000000000000001000000000000000000000000000000200000038000000010840000000010001000000000" + "00000000000000000000000000000000000000010000000000000000000000000000002000000380000000210400000004000000000000000" + "00000000000000000000000000000000000000f00000000000000000000000000000000000003000000000000000000000000000000000000" + "00000000000000001000020000000000000000000000000000002000000380000000108400000800000020000000000000000000000000000" + "00000000000000000000200000000000000000000000000000020000003800000001084000000001000100000000000000000000000000000" + "00000000000000000002000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000100" + "00400000000000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000000000" + "04000000000000000000000000000000200000038000000010840000000010001000000000000000000000000000000000000000000000000" + "40000000000000000000000000000000000000300000000000000000000000000000000000000000000000000001000080000000000000000" + "00000000000000200000038000000010840000080000002000000000000000000000000000000000000000000000000800000000000000000" + "00000000000002000000380000000108400000000100010000000000000000000000000000000000000000000000008000000000000000000" + "00000000000000000003000000000000000000000000000000000000000000000000000010000000100000000000000000000000000020000" + "00380000000108400000800000020000000000000000000000000000000000000000000000000001000000000000000000000000000200000" + "03800000001084000000001000100000000000000000000000000000000000000000000000000010000000000000000000000000002000000" + "38000000021040000000400000000000000000000000000000000000000000000000000000000f00000000000000000000000000000000003" + "00000000000000000000000000000000000000000000000000001000000020000000000000000000000000002000000380000000108400000" + "80000002000000000000000000000000000000000000000000000000000200000000000000000000000000020000003800000001084000000" + "00100010000000000000000000000000000000000000000000000000002000000000000000000000000000000000030000000000000000000" + "00000000000000000000000000000000010000000400000000000000000000000000020000003800000001084000008000000200000000000" + "00000000000000000000000000000000000000004000000000000000000000000000200000038000000010840000000010001000000000000" + "00000000000000000000000000000000000000040000000000000000000000000000000000300000000000000000000000000000000000000" + "00000000000000100000008000000000000000000000000000200000038000000010840000080000002000000000000000000000000000000" + "00000000000000000000080000000000000000000000000002000000380000000108400000000100010000000000000000000000000000000" + "000000000000000000008000000000000000000000000000100000030000000000000000000000000000000000000000000000000000000ff" + "ff0f0000000000000000000000000004000000500000000100010000000000000000000000000000000000000000001414000000000000000" + "0000000000000000000000000000000000000000000000000000000000000ffff0f0000000000"}, +}; + +WinCpuMapTestCase _1sockets_14cores_hyperthreading_set2 = { + 20, + 1, + 14, + {{20, 6, 8, 6}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, {3, 0, 2, EFFICIENT_CORE_PROC, 1, -1}, + {4, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, {5, 0, 4, EFFICIENT_CORE_PROC, 1, -1}, + {6, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, {7, 0, 6, EFFICIENT_CORE_PROC, 2, -1}, + {8, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, {9, 0, 8, EFFICIENT_CORE_PROC, 2, -1}, + {10, 0, 9, HYPER_THREADING_PROC, 3, -1}, {11, 0, 9, MAIN_CORE_PROC, 3, -1}, + {12, 0, 10, HYPER_THREADING_PROC, 4, -1}, {13, 0, 10, MAIN_CORE_PROC, 4, -1}, + {14, 0, 11, HYPER_THREADING_PROC, 5, -1}, {15, 0, 11, MAIN_CORE_PROC, 5, -1}, + {16, 0, 12, HYPER_THREADING_PROC, 6, -1}, {17, 0, 12, MAIN_CORE_PROC, 6, -1}, + {18, 0, 13, HYPER_THREADING_PROC, 7, -1}, {19, 0, 13, MAIN_CORE_PROC, 7, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ffff0f0000000000000000000000000000000000300000000" + "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" + "000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c000000200000000000000000" + "00000000000000000000000000100030000000000000000000000000000000200000038000000011040000000010001000000000000000000" + "00000000000000000000000001000300000000000000000000000000000002000000380000000210400000002000000000000000000000000" + "000000000000000000000000100030000000000000000000000000000000200000038000000030c4000000080010000000000000000000000" + "00000000000000000000000100ffff0f000000000000000000000000000000000030000000000000000000000000000000000000000000000" + "0000001000400000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001003c000000" + "00000000000000000000000002000000380000000108400000800000020000000000000000000000000000000000000000000100040000000" + "00000000000000000000000020000003800000001084000000001000100000000000000000000000000000000000000000001000400000000" + "0000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001003c000000000" + "00000000000000000000000000000300000000000000000000000000000000000000000000000000001000800000000000000000000000000" + "00000200000038000000010840000080000002000000000000000000000000000000000000000000010008000000000000000000000000000" + "00002000000380000000108400000000100010000000000000000000000000000000000000000000100080000000000000000000000000000" + "00000000003000000000000000000000000000000000000000000000000000010010000000000000000000000000000000020000003800000" + "00108400000800000020000000000000000000000000000000000000000000100100000000000000000000000000000000200000038000000" + "01084000000001000100000000000000000000000000000000000000000001001000000000000000000000000000000000000000300000000" + "00000000000000000000000000000000000000000000100200000000000000000000000000000000200000038000000010840000080000002" + "00000000000000000000000000000000000000000001002000000000000000000000000000000002000000380000000108400000000100010" + "00000000000000000000000000000000000000000010020000000000000000000000000000000000000003000000000000000000000000000" + "00000000000000000000000001004000000000000000000000000000000007000000300000000000000000000000000000000000000000000" + "00000000100c00300000000000000000000000000000200000038000000010840000080000002000000000000000000000000000000000000" + "00000001004000000000000000000000000000000002000000380000000108400000000100010000000000000000000000000000000000000" + "00000010040000000000000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000" + "00000100c00300000000000000000000000000000000000030000000000000000000000000000000000000000000000000000100800000000" + "00000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000001008000000000" + "00000000000000000000000200000038000000010840000000010001000000000000000000000000000000000000000000010080000000000" + "00000000000000000000000000000300000000000000000000000000000000000000000000000000001000001000000000000000000000000" + "00000200000038000000010840000080000002000000000000000000000000000000000000000000010000010000000000000000000000000" + "00002000000380000000108400000000100010000000000000000000000000000000000000000000100000100000000000000000000000000" + "00000000003000000000000000000000000000000000000000000000000000010000020000000000000000000000000000020000003800000" + "00108400000800000020000000000000000000000000000000000000000000100000200000000000000000000000000000200000038000000" + "01084000000001000100000000000000000000000000000000000000000001000002000000000000000000000000000000000000300000000" + "10100000000000000000000000000000000000000000100000c00000000000000000000000000000700000030000000000000000000000000" + "000000000000000000000000000100000c00000000000000000000000000000200000038000000010c400000c000000200000000000000000" + "00000000000000000000000000100000c00000000000000000000000000000200000038000000011040000000010001000000000000000000" + "0000000000000000000000000100000c000000000000000000000000000002000000380000000210400000002000000000000000000000000" + "000000000000000000000000100000c0000000000000000000000000000000000003000000001010000000000000000000000000000000000" + "00000001000030000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001000030000" + "00000000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000300000" + "00000000000000000000000002000000380000000110400000000100010000000000000000000000000000000000000000000100003000000" + "00000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000030000000" + "0000000000000000000000000000003000000001010000000000000000000000000000000000000000010000c000000000000000000000000" + "00000070000003000000000000000000000000000000000000000000000000000010000c00000000000000000000000000000020000003800" + "0000010c400000c0000002000000000000000000000000000000000000000000010000c000000000000000000000000000000200000038000" + "000011040000000010001000000000000000000000000000000000000000000010000c0000000000000000000000000000002000000380000" + "00021040000000200000000000000000000000000000000000000000000000010000c00000000000000000000000000000000000003000000" + "00101000000000000000000000000000000000000000001000000030000000000000000000000000007000000300000000000000000000000" + "00000000000000000000000000000100000003000000000000000000000000000200000038000000010c400000c0000002000000000000000" + "00000000000000000000000000001000000030000000000000000000000000002000000380000000110400000000100010000000000000000" + "00000000000000000000000000010000000300000000000000000000000000020000003800000002104000000020000000000000000000000" + "00000000000000000000000000100000003000000000000000000000000000000000030000000010100000000000000000000000000000000" + "00000000010000000c00000000000000000000000000070000003000000000000000000000000000000000000000000000000000010000000" + "c000000000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000c" + "000000000000000000000000000200000038000000011040000000010001000000000000000000000000000000000000000000010000000c0" + "00000000000000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000000c00" + "0000000000000000000000000100000030000000000000000000000000000000000000000000000000000100ffff0f0000000000000000000" + "00000000400000050000000010001000000000000000000000000000000000000000000141400000000000000000000000000000000000000" + "00000000000000000000000000000000000000ffff0f0000000000"}, +}; + +WinCpuMapTestCase _1sockets_14cores_hyperthreading_set3 = { + 20, + 1, + 14, + {{20, 6, 8, 6}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, {3, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, {5, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, {7, 0, 3, MAIN_CORE_PROC, 3, -1}, + {8, 0, 4, HYPER_THREADING_PROC, 4, -1}, {9, 0, 4, MAIN_CORE_PROC, 4, -1}, + {10, 0, 5, HYPER_THREADING_PROC, 5, -1}, {11, 0, 5, MAIN_CORE_PROC, 5, -1}, + {12, 0, 6, EFFICIENT_CORE_PROC, 6, -1}, {13, 0, 7, EFFICIENT_CORE_PROC, 6, -1}, + {14, 0, 8, EFFICIENT_CORE_PROC, 6, -1}, {15, 0, 9, EFFICIENT_CORE_PROC, 6, -1}, + {16, 0, 10, EFFICIENT_CORE_PROC, 7, -1}, {17, 0, 11, EFFICIENT_CORE_PROC, 7, -1}, + {18, 0, 12, EFFICIENT_CORE_PROC, 7, -1}, {19, 0, 13, EFFICIENT_CORE_PROC, 7, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ffff0f0000000000000000000000000000000000300000000" + "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" + "000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c000000200000000000000000" + "00000000000000000000000000100030000000000000000000000000000000200000038000000010840000080000001000000000000000000" + "00000000000000000000000001000300000000000000000000000000000002000000380000000210400000002000000000000000000000000" + "000000000000000000000000100030000000000000000000000000000000200000038000000030c4000000080010000000000000000000000" + "00000000000000000000000100ffff0f000000000000000000000000000000000030000000010100000000000000000000000000000000000" + "0000001000c00000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001000c000000" + "0000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000c0000000" + "00000000000000000000000020000003800000001084000008000000100000000000000000000000000000000000000000001000c00000000" + "0000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000c000000000" + "00000000000000000000000000000300000000101000000000000000000000000000000000000000001003000000000000000000000000000" + "00000700000030000000000000000000000000000000000000000000000000000100300000000000000000000000000000000200000038000" + "000010c400000c000000200000000000000000000000000000000000000000001003000000000000000000000000000000002000000380000" + "00010840000080000001000000000000000000000000000000000000000000010030000000000000000000000000000000020000003800000" + "00210400000002000000000000000000000000000000000000000000000000100300000000000000000000000000000000000000030000000" + "010100000000000000000000000000000000000000000100c0000000000000000000000000000000070000003000000000000000000000000" + "0000000000000000000000000000100c00000000000000000000000000000000200000038000000010c400000c00000020000000000000000" + "000000000000000000000000000100c0000000000000000000000000000000020000003800000001084000008000000100000000000000000" + "00000000000000000000000000100c00000000000000000000000000000000200000038000000021040000000200000000000000000000000" + "0000000000000000000000000100c000000000000000000000000000000000000000300000000101000000000000000000000000000000000" + "00000000100000300000000000000000000000000000700000030000000000000000000000000000000000000000000000000000100000300" + "000000000000000000000000000200000038000000010c400000c000000200000000000000000000000000000000000000000001000003000" + "00000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000010000030000" + "00000000000000000000000002000000380000000210400000002000000000000000000000000000000000000000000000000100000300000" + "000000000000000000000000000000030000000010100000000000000000000000000000000000000000100000c0000000000000000000000" + "0000000700000030000000000000000000000000000000000000000000000000000100000c000000000000000000000000000002000000380" + "00000010c400000c00000020000000000000000000000000000000000000000000100000c0000000000000000000000000000020000003800" + "00000108400000800000010000000000000000000000000000000000000000000100000c00000000000000000000000000000200000038000" + "0000210400000002000000000000000000000000000000000000000000000000100000c000000000000000000000000000000000000300000" + "00000000000000000000000000000000000000000000000100001000000000000000000000000000000700000030000000000000000000000" + "00000000000000000000000000000010000f00000000000000000000000000000020000003800000001084000008000000200000000000000" + "00000000000000000000000000000100001000000000000000000000000000000200000038000000010840000000010001000000000000000" + "00000000000000000000000000001000010000000000000000000000000000002000000380000000210400000004000000000000000000000" + "00000000000000000000000000010000f00000000000000000000000000000000000003000000000000000000000000000000000000000000" + "00000000001000020000000000000000000000000000002000000380000000108400000800000020000000000000000000000000000000000" + "00000000010000200000000000000000000000000000020000003800000001084000000001000100000000000000000000000000000000000" + "00000000100002000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000100004000" + "00000000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000001000040000" + "00000000000000000000000000200000038000000010840000000010001000000000000000000000000000000000000000000010000400000" + "00000000000000000000000000000000300000000000000000000000000000000000000000000000000001000080000000000000000000000" + "00000000200000038000000010840000080000002000000000000000000000000000000000000000000010000800000000000000000000000" + "00000002000000380000000108400000000100010000000000000000000000000000000000000000000100008000000000000000000000000" + "00000000000003000000000000000000000000000000000000000000000000000010000000100000000000000000000000000070000003000" + "000000000000000000000000000000000000000000000000010000000f0000000000000000000000000002000000380000000108400000800" + "00002000000000000000000000000000000000000000000010000000100000000000000000000000000020000003800000001084000000001" + "00010000000000000000000000000000000000000000000100000001000000000000000000000000000200000038000000021040000000400" + "000000000000000000000000000000000000000000000010000000f0000000000000000000000000000000000300000000000000000000000" + "00000000000000000000000000000100000002000000000000000000000000000200000038000000010840000080000002000000000000000" + "00000000000000000000000000001000000020000000000000000000000000002000000380000000108400000000100010000000000000000" + "00000000000000000000000000010000000200000000000000000000000000000000003000000000000000000000000000000000000000000" + "00000000001000000040000000000000000000000000002000000380000000108400000800000020000000000000000000000000000000000" + "00000000010000000400000000000000000000000000020000003800000001084000000001000100000000000000000000000000000000000" + "00000000100000004000000000000000000000000000000000030000000000000000000000000000000000000000000000000000100000008" + "00000000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000001000000080" + "00000000000000000000000000200000038000000010840000000010001000000000000000000000000000000000000000000010000000800" + "0000000000000000000000000100000030000000000000000000000000000000000000000000000000000100ffff0f0000000000000000000" + "00000000400000050000000010001000000000000000000000000000000000000000000141400000000000000000000000000000000000000" + "00000000000000000000000000000000000000ffff0f0000000000"}, +}; + +WinCpuMapTestCase _1sockets_10cores_hyperthreading = { + 12, + 1, + 10, + {{12, 2, 8, 2}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, + {3, 0, 2, EFFICIENT_CORE_PROC, 1, -1}, + {4, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, + {5, 0, 4, EFFICIENT_CORE_PROC, 1, -1}, + {6, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, + {7, 0, 6, EFFICIENT_CORE_PROC, 2, -1}, + {8, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, + {9, 0, 8, EFFICIENT_CORE_PROC, 2, -1}, + {10, 0, 9, HYPER_THREADING_PROC, 3, -1}, + {11, 0, 9, MAIN_CORE_PROC, 3, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ff0f000000000000000000000000000000000000300000000" + "10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000" + "000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c000000200000000000000000" + "00000000000000000000000000100030000000000000000000000000000000200000038000000011040000000010001000000000000000000" + "00000000000000000000000001000300000000000000000000000000000002000000380000000210400000002000000000000000000000000" + "000000000000000000000000100030000000000000000000000000000000200000038000000030c40000000c0000000000000000000000000" + "00000000000000000000000100ff0f00000000000000000000000000000000000030000000000000000000000000000000000000000000000" + "0000001000400000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001003c000000" + "00000000000000000000000002000000380000000108400000800000020000000000000000000000000000000000000000000100040000000" + "00000000000000000000000020000003800000001084000000001000100000000000000000000000000000000000000000001000400000000" + "0000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001003c000000000" + "00000000000000000000000000000300000000000000000000000000000000000000000000000000001000800000000000000000000000000" + "00000200000038000000010840000080000002000000000000000000000000000000000000000000010008000000000000000000000000000" + "00002000000380000000108400000000100010000000000000000000000000000000000000000000100080000000000000000000000000000" + "00000000003000000000000000000000000000000000000000000000000000010010000000000000000000000000000000020000003800000" + "00108400000800000020000000000000000000000000000000000000000000100100000000000000000000000000000000200000038000000" + "01084000000001000100000000000000000000000000000000000000000001001000000000000000000000000000000000000000300000000" + "00000000000000000000000000000000000000000000100200000000000000000000000000000000200000038000000010840000080000002" + "00000000000000000000000000000000000000000001002000000000000000000000000000000002000000380000000108400000000100010" + "00000000000000000000000000000000000000000010020000000000000000000000000000000000000003000000000000000000000000000" + "00000000000000000000000001004000000000000000000000000000000007000000300000000000000000000000000000000000000000000" + "00000000100c00300000000000000000000000000000200000038000000010840000080000002000000000000000000000000000000000000" + "00000001004000000000000000000000000000000002000000380000000108400000000100010000000000000000000000000000000000000" + "00000010040000000000000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000" + "00000100c00300000000000000000000000000000000000030000000000000000000000000000000000000000000000000000100800000000" + "00000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000001008000000000" + "00000000000000000000000200000038000000010840000000010001000000000000000000000000000000000000000000010080000000000" + "00000000000000000000000000000300000000000000000000000000000000000000000000000000001000001000000000000000000000000" + "00000200000038000000010840000080000002000000000000000000000000000000000000000000010000010000000000000000000000000" + "00002000000380000000108400000000100010000000000000000000000000000000000000000000100000100000000000000000000000000" + "00000000003000000000000000000000000000000000000000000000000000010000020000000000000000000000000000020000003800000" + "00108400000800000020000000000000000000000000000000000000000000100000200000000000000000000000000000200000038000000" + "01084000000001000100000000000000000000000000000000000000000001000002000000000000000000000000000000000000300000000" + "10100000000000000000000000000000000000000000100000c00000000000000000000000000000700000030000000000000000000000000" + "000000000000000000000000000100000c00000000000000000000000000000200000038000000010c400000c000000200000000000000000" + "00000000000000000000000000100000c00000000000000000000000000000200000038000000011040000000010001000000000000000000" + "0000000000000000000000000100000c000000000000000000000000000002000000380000000210400000002000000000000000000000000" + "000000000000000000000000100000c0000000000000000000000000000010000003000000000000000000000000000000000000000000000" + "0000000100ff0f000000000000000000000000000004000000500000000100010000000000000000000000000000000000000000000c0c000" + "0000000000000000000000000000000000000000000000000000000000000000000000000ff0f000000000000"}, +}; + +WinCpuMapTestCase _1sockets_4cores_hyperthreading = { + 8, + 1, + 4, + {{8, 4, 0, 4}}, + { + {0, 0, 0, HYPER_THREADING_PROC, 0, -1}, + {1, 0, 0, MAIN_CORE_PROC, 0, -1}, + {2, 0, 1, HYPER_THREADING_PROC, 1, -1}, + {3, 0, 1, MAIN_CORE_PROC, 1, -1}, + {4, 0, 2, HYPER_THREADING_PROC, 2, -1}, + {5, 0, 2, MAIN_CORE_PROC, 2, -1}, + {6, 0, 3, HYPER_THREADING_PROC, 3, -1}, + {7, 0, 3, MAIN_CORE_PROC, 3, -1}, + }, + {"0300000030000000000000000000000000000000000000000000000000000100ff00000000000000000000000000000000000000300000000" + "10000000000000000000000000000000000000000000100030000000000000000000000000000000200000038000000010840000080000002" + "00000000000000000000000000000000000000000000000300000000000000000000000000000002000000380000000108400000800000010" + "00000000000000000000000000000000000000000000003000000000000000000000000000000020000003800000002044000000004000000" + "00000000000000000000000000000000000000000000030000000000000000000000000000000200000038000000031040000000800000000" + "0000000000000000000000000000000000000000000ff00000000000000000000000000000000000000300000000100000000000000000000" + "000000000000000000000001000c0000000000000000000000000000000200000038000000010840000080000002000000000000000000000" + "00000000000000000000000000c00000000000000000000000000000002000000380000000108400000800000010000000000000000000000" + "0000000000000000000000000c000000000000000000000000000000020000003800000002044000000004000000000000000000000000000" + "000000000000000000000000c0000000000000000000000000000000000000030000000010000000000000000000000000000000000000000" + "00010030000000000000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000" + "00000300000000000000000000000000000000200000038000000010840000080000001000000000000000000000000000000000000000000" + "00003000000000000000000000000000000002000000380000000204400000000400000000000000000000000000000000000000000000000" + "000300000000000000000000000000000000000000030000000010000000000000000000000000000000000000000000100c0000000000000" + "00000000000000000002000000380000000108400000800000020000000000000000000000000000000000000000000000c00000000000000" + "0000000000000000002000000380000000108400000800000010000000000000000000000000000000000000000000000c000000000000000" + "000000000000000002000000380000000204400000000400000000000000000000000000000000000000000000000000c0000000000000000" + "0000000000000000100000030000000000000000000000000000000000000000000000000000000ff00000000000000000000000000000004" + "00000050000000010001000000000000000000000000000000000000000000080800000000000000000000000000000000000000000000000" + "00000000000000000000000000000ff00000000000000"}, +}; + +TEST_P(WinCpuMapParserTests, WinCpuMap) {} + +INSTANTIATE_TEST_SUITE_P(CPUMap, + WinCpuMapParserTests, + testing::Values(_2sockets_104cores_hyperthreading, + _2sockets_48cores_hyperthreading, + _2sockets_48cores, + _1sockets_24cores_hyperthreading_set1, + _1sockets_24cores_hyperthreading_set2, + _1sockets_14cores_hyperthreading_set1, + _1sockets_14cores_hyperthreading_set2, + _1sockets_14cores_hyperthreading_set3, + _1sockets_10cores_hyperthreading, + _1sockets_4cores_hyperthreading)); + +#endif + } // namespace