mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2026-10-27 07:52:03 +00:00
1 line
393 KiB
JSON
1 line
393 KiB
JSON
{"meta": {"format": 3, "version": "7.10.1", "timestamp": "2026-02-23T15:07:05.469990", "branch_coverage": false, "show_contexts": false}, "files": {"src/constants.py": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 62], "summary": {"covered_lines": 17, "num_statements": 22, "percent_covered": 77.27272727272727, "percent_covered_display": "77", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": [], "functions": {"initialize_app": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": []}, "": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 62], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 4, 7, 15, 16, 17, 22, 23, 28, 33, 45, 46, 47, 50, 53, 56, 62], "summary": {"covered_lines": 17, "num_statements": 22, "percent_covered": 77.27272727272727, "percent_covered_display": "77", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38, 39], "excluded_lines": []}}}, "src/local_bip85/__init__.py": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": [], "functions": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 8, 15], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [9, 10, 11], "excluded_lines": []}}}, "src/local_bip85/bip85.py": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 125, 149], "summary": {"covered_lines": 19, "num_statements": 75, "percent_covered": 25.333333333333332, "percent_covered_display": "25", "missing_lines": 56, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 103, 105, 107, 108, 111, 114, 118, 119, 120, 121, 122, 123, 126, 127, 128, 129, 130, 132, 138, 139, 142, 143, 144, 145, 146, 147, 151, 152, 153, 154, 155, 156, 157, 158], "excluded_lines": [], "functions": {"BIP85.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59], "excluded_lines": []}, "BIP85.derive_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 103, 105, 107, 108, 111, 114, 118, 119, 120, 121, 122, 123], "excluded_lines": []}, "BIP85.derive_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 129, 130, 132, 138, 139, 142, 143, 144, 145, 146, 147], "excluded_lines": []}, "BIP85.derive_symmetric_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [151, 152, 153, 154, 155, 156, 157, 158], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 125, 149], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Bip85Error": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BIP85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 56, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 56, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 56, 57, 58, 59, 86, 87, 88, 89, 90, 91, 94, 96, 97, 98, 99, 101, 102, 103, 105, 107, 108, 111, 114, 118, 119, 120, 121, 122, 123, 126, 127, 128, 129, 130, 132, 138, 139, 142, 143, 144, 145, 146, 147, 151, 152, 153, 154, 155, 156, 157, 158], "excluded_lines": []}, "": {"executed_lines": [3, 16, 17, 18, 19, 20, 21, 23, 25, 27, 28, 29, 32, 35, 36, 38, 41, 42, 61, 125, 149], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/main.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1067, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1067, "excluded_lines": 5}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 33, 40, 41, 42, 47, 49, 51, 58, 60, 61, 62, 63, 64, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 87, 88, 90, 91, 92, 93, 95, 96, 98, 101, 102, 104, 105, 106, 107, 108, 110, 112, 113, 116, 117, 124, 125, 126, 127, 128, 129, 131, 134, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 149, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 165, 166, 172, 173, 174, 175, 181, 183, 184, 185, 186, 188, 189, 190, 191, 193, 194, 195, 200, 201, 202, 204, 205, 206, 207, 210, 216, 217, 218, 219, 220, 223, 225, 226, 227, 228, 229, 231, 232, 233, 234, 236, 237, 238, 239, 241, 242, 245, 247, 248, 249, 250, 251, 252, 254, 257, 260, 261, 268, 270, 271, 272, 273, 276, 282, 283, 284, 285, 286, 288, 289, 290, 291, 292, 293, 294, 295, 298, 302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, 316, 324, 325, 326, 327, 328, 330, 331, 332, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 363, 365, 366, 372, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 403, 404, 405, 408, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 435, 437, 438, 439, 440, 446, 447, 449, 450, 453, 454, 455, 456, 457, 458, 459, 465, 466, 467, 468, 470, 473, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 490, 492, 493, 494, 495, 496, 497, 498, 501, 503, 504, 505, 506, 507, 508, 509, 510, 511, 514, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 542, 545, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 570, 571, 572, 573, 574, 575, 576, 577, 579, 582, 584, 585, 586, 587, 588, 590, 591, 592, 593, 594, 595, 596, 598, 601, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 635, 637, 638, 640, 641, 642, 643, 644, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 684, 686, 687, 688, 689, 690, 691, 692, 693, 695, 696, 697, 698, 699, 701, 704, 705, 706, 707, 708, 709, 710, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 723, 724, 725, 726, 727, 728, 729, 730, 733, 735, 736, 737, 738, 739, 740, 741, 743, 744, 745, 746, 747, 749, 752, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 840, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 880, 881, 886, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 914, 917, 919, 920, 921, 922, 923, 924, 925, 926, 927, 929, 930, 935, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 968, 971, 973, 974, 979, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1070, 1073, 1081, 1092, 1093, 1094, 1095, 1096, 1097, 1102, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1117, 1118, 1119, 1123, 1124, 1126, 1129, 1130, 1131, 1132, 1133, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1165, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1234, 1237, 1247, 1248, 1249, 1250, 1251, 1253, 1254, 1255, 1256, 1260, 1265, 1270, 1276, 1278, 1279, 1280, 1286, 1287, 1289, 1290, 1292, 1293, 1295, 1296, 1298, 1300, 1301, 1302, 1303, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1350, 1351, 1352, 1353, 1355, 1356, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1416, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1430, 1431, 1433, 1434, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1473, 1474], "excluded_lines": [333, 334, 367, 368, 369], "functions": {"_warn_missing_optional_dependencies": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64], "excluded_lines": []}, "load_global_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [73, 74, 75, 76, 77, 78, 79, 80, 81], "excluded_lines": []}, "configure_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [87, 88, 90, 91, 92, 93, 95, 96, 98, 101, 102, 104, 105, 106, 107, 108, 110, 112, 113], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [124, 125, 126, 127, 128, 129, 131], "excluded_lines": []}, "drain_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146], "excluded_lines": []}, "get_notification_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162], "excluded_lines": []}, "handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [172, 173, 174, 175, 181, 183, 184, 185, 186, 188, 189, 190, 191, 193, 194, 195, 200, 201, 202, 204, 205, 206, 207], "excluded_lines": []}, "handle_add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219, 220], "excluded_lines": []}, "handle_remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [225, 226, 227, 228, 229, 231, 232, 233, 234, 236, 237, 238, 239, 241, 242, 245, 247, 254, 257, 260, 261, 268, 270, 271, 272, 273], "excluded_lines": []}, "handle_remove_fingerprint._cleanup_and_exit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [248, 249, 250, 251, 252], "excluded_lines": []}, "handle_list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [282, 283, 284, 285, 286, 288, 289, 290, 291, 292, 293, 294, 295], "excluded_lines": []}, "handle_display_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313], "excluded_lines": []}, "_display_live_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 2}, "missing_lines": [324, 325, 326, 327, 328, 330, 331, 332, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360], "excluded_lines": [333, 334]}, "handle_display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [365, 366], "excluded_lines": [367, 368, 369]}, "print_matches": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 403, 404, 405], "excluded_lines": []}, "handle_post_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432], "excluded_lines": []}, "handle_retrieve_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [437, 438, 439, 440, 446, 447, 449, 450, 453, 454, 455, 456, 457, 458, 459, 465, 466, 467, 468, 470], "excluded_lines": []}, "handle_view_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487], "excluded_lines": []}, "_safe_close_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [492, 493, 494, 495, 496, 497, 498], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [503, 504, 505, 506, 507, 508, 509, 510, 511], "excluded_lines": []}, "handle_add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 542], "excluded_lines": []}, "handle_remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 570, 571, 572, 573, 574, 575, 576, 577, 579], "excluded_lines": []}, "handle_reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [584, 585, 586, 587, 588, 590, 591, 592, 593, 594, 595, 596, 598], "excluded_lines": []}, "handle_set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632], "excluded_lines": []}, "handle_set_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 38, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 38, "excluded_lines": 0}, "missing_lines": [637, 638, 640, 641, 642, 643, 644, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681], "excluded_lines": []}, "handle_set_additional_backup_location": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [686, 687, 688, 689, 690, 691, 692, 693, 695, 696, 697, 698, 699, 701, 704, 705, 706, 707, 708, 709, 710, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 723, 724, 725, 726, 727, 728, 729, 730], "excluded_lines": []}, "handle_set_profile_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [735, 736, 737, 738, 739, 740, 741, 743, 744, 745, 746, 747, 749], "excluded_lines": []}, "handle_toggle_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 0}, "missing_lines": [754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800], "excluded_lines": []}, "handle_toggle_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837], "excluded_lines": []}, "handle_toggle_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875], "excluded_lines": []}, "handle_profiles_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [880, 881, 886, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 914], "excluded_lines": []}, "handle_nostr_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [919, 920, 921, 922, 923, 924, 925, 926, 927, 929, 930, 935, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 968], "excluded_lines": []}, "handle_settings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 88, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 88, "excluded_lines": 0}, "missing_lines": [973, 974, 979, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1070], "excluded_lines": []}, "display_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 107, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 107, "excluded_lines": 0}, "missing_lines": [1081, 1092, 1093, 1094, 1095, 1096, 1097, 1102, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1117, 1118, 1119, 1123, 1124, 1126, 1129, 1130, 1131, 1132, 1133, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1165, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1234], "excluded_lines": []}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 159, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 159, "excluded_lines": 0}, "missing_lines": [1247, 1248, 1249, 1250, 1251, 1253, 1254, 1255, 1256, 1260, 1265, 1270, 1276, 1278, 1279, 1280, 1286, 1287, 1289, 1290, 1292, 1293, 1295, 1296, 1298, 1300, 1301, 1302, 1303, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1350, 1351, 1352, 1353, 1355, 1356, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1416, 1418, 1430, 1431, 1433, 1434, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470], "excluded_lines": []}, "main.signal_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 68, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 68, "excluded_lines": 0}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 33, 40, 41, 42, 47, 49, 51, 58, 71, 84, 116, 117, 134, 149, 165, 166, 210, 223, 276, 298, 316, 363, 372, 408, 435, 473, 490, 501, 514, 545, 582, 601, 635, 684, 733, 752, 803, 840, 878, 917, 971, 1073, 1237, 1473, 1474], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1067, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1067, "excluded_lines": 5}, "missing_lines": [2, 3, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 33, 40, 41, 42, 47, 49, 51, 58, 60, 61, 62, 63, 64, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 84, 87, 88, 90, 91, 92, 93, 95, 96, 98, 101, 102, 104, 105, 106, 107, 108, 110, 112, 113, 116, 117, 124, 125, 126, 127, 128, 129, 131, 134, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 149, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 165, 166, 172, 173, 174, 175, 181, 183, 184, 185, 186, 188, 189, 190, 191, 193, 194, 195, 200, 201, 202, 204, 205, 206, 207, 210, 216, 217, 218, 219, 220, 223, 225, 226, 227, 228, 229, 231, 232, 233, 234, 236, 237, 238, 239, 241, 242, 245, 247, 248, 249, 250, 251, 252, 254, 257, 260, 261, 268, 270, 271, 272, 273, 276, 282, 283, 284, 285, 286, 288, 289, 290, 291, 292, 293, 294, 295, 298, 302, 303, 304, 305, 306, 308, 309, 310, 311, 312, 313, 316, 324, 325, 326, 327, 328, 330, 331, 332, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 363, 365, 366, 372, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 402, 403, 404, 405, 408, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 426, 427, 428, 429, 430, 432, 435, 437, 438, 439, 440, 446, 447, 449, 450, 453, 454, 455, 456, 457, 458, 459, 465, 466, 467, 468, 470, 473, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 490, 492, 493, 494, 495, 496, 497, 498, 501, 503, 504, 505, 506, 507, 508, 509, 510, 511, 514, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 542, 545, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 570, 571, 572, 573, 574, 575, 576, 577, 579, 582, 584, 585, 586, 587, 588, 590, 591, 592, 593, 594, 595, 596, 598, 601, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 635, 637, 638, 640, 641, 642, 643, 644, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 684, 686, 687, 688, 689, 690, 691, 692, 693, 695, 696, 697, 698, 699, 701, 704, 705, 706, 707, 708, 709, 710, 711, 713, 714, 715, 716, 717, 718, 719, 720, 721, 723, 724, 725, 726, 727, 728, 729, 730, 733, 735, 736, 737, 738, 739, 740, 741, 743, 744, 745, 746, 747, 749, 752, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 803, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 840, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 878, 880, 881, 886, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 914, 917, 919, 920, 921, 922, 923, 924, 925, 926, 927, 929, 930, 935, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 968, 971, 973, 974, 979, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1070, 1073, 1081, 1092, 1093, 1094, 1095, 1096, 1097, 1102, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1117, 1118, 1119, 1123, 1124, 1126, 1129, 1130, 1131, 1132, 1133, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1165, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1234, 1237, 1247, 1248, 1249, 1250, 1251, 1253, 1254, 1255, 1256, 1260, 1265, 1270, 1276, 1278, 1279, 1280, 1286, 1287, 1289, 1290, 1292, 1293, 1295, 1296, 1298, 1300, 1301, 1302, 1303, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1335, 1336, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1350, 1351, 1352, 1353, 1355, 1356, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1416, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1430, 1431, 1433, 1434, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1473, 1474], "excluded_lines": [333, 334, 367, 368, 369]}}}, "src/nostr/__init__.py": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [30, 32, 34], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}, "": {"executed_lines": [3, 5, 6, 8, 16, 18, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 6, 8, 16, 18, 29, 30, 32, 34], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 33], "excluded_lines": []}}}, "src/nostr/backup_models.py": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ChunkMeta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "Manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 7, 10, 11, 12, 14, 15, 16, 17, 20, 21, 22, 24, 25, 26, 27, 28], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/client.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 58, "percent_covered": 41.37931034482759, "percent_covered_display": "41", "missing_lines": 34, "excluded_lines": 2}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": [38, 39], "functions": {"NostrClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}, "classes": {"NostrClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 69, 70, 73, 76, 77, 78, 79, 80, 81, 82, 84, 85, 86, 88, 90, 91, 92, 93, 94, 97, 99, 100, 101, 102, 103, 104, 107, 108, 110], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 22, 24, 25, 27, 34, 35, 36, 38, 42, 43, 45, 46, 49, 50, 52, 113], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [38, 39]}}}, "src/nostr/coincurve_keys.py": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 33, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 31, 32, 36, 37, 38, 39, 40, 43, 46], "excluded_lines": [], "functions": {"Keys.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26], "excluded_lines": []}, "Keys.hex_to_bech32": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [31, 32], "excluded_lines": []}, "Keys.bech32_to_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 39, 40], "excluded_lines": []}, "Keys.private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "Keys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [46], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14, 15, 17, 18, 20, 21, 22, 23, 24, 26, 31, 32, 36, 37, 38, 39, 40, 43, 46], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 10, 28, 29, 34, 35, 42, 45], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/connection.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 155, "percent_covered": 16.774193548387096, "percent_covered_display": "17", "missing_lines": 129, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 34, 35, 36, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 98, 101, 105, 106, 107, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 150, 151, 152, 153, 157, 158, 159, 160, 161, 162, 168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 227, 228, 229, 230, 231, 232], "excluded_lines": [], "functions": {"ConnectionHandler.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30], "excluded_lines": []}, "ConnectionHandler.initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [34, 35, 36], "excluded_lines": []}, "ConnectionHandler._connect_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [40, 41, 42, 43], "excluded_lines": []}, "ConnectionHandler._initialize_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67], "excluded_lines": []}, "ConnectionHandler._ping_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91], "excluded_lines": []}, "ConnectionHandler._check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [94, 95, 96, 97, 98, 101], "excluded_lines": []}, "ConnectionHandler.check_relay_health": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [105, 106, 107], "excluded_lines": []}, "ConnectionHandler.publish_json_to_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146], "excluded_lines": []}, "ConnectionHandler.publish_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153], "excluded_lines": []}, "ConnectionHandler.update_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [157, 158, 159, 160, 161, 162], "excluded_lines": []}, "ConnectionHandler.retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "excluded_lines": []}, "ConnectionHandler._retrieve_json_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223], "excluded_lines": []}, "ConnectionHandler.close_client_pool": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [227, 228, 229, 230, 231, 232], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ConnectionHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 129, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 129, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 34, 35, 36, 40, 41, 42, 43, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 59, 60, 62, 63, 65, 66, 67, 71, 72, 73, 80, 81, 84, 85, 86, 87, 88, 89, 90, 91, 94, 95, 96, 97, 98, 101, 105, 106, 107, 116, 117, 118, 119, 120, 121, 123, 124, 125, 129, 130, 131, 132, 133, 135, 140, 141, 143, 144, 145, 146, 150, 151, 152, 153, 157, 158, 159, 160, 161, 162, 168, 169, 171, 172, 173, 174, 176, 181, 182, 183, 184, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 227, 228, 229, 230, 231, 232], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 15, 22, 23, 25, 32, 38, 45, 69, 93, 103, 109, 148, 155, 164, 201, 225], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/key_manager.py": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 84, "percent_covered": 22.61904761904762, "percent_covered_display": "23", "missing_lines": 65, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 85, 89, 90, 91, 92, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 129, 138, 147, 148, 149, 150, 151, 152, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": [], "functions": {"KeyManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62], "excluded_lines": []}, "KeyManager.initialize_bip85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78], "excluded_lines": []}, "KeyManager.generate_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [82, 83, 85, 89, 90, 91, 92, 93, 94, 95], "excluded_lines": []}, "KeyManager.generate_v1_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [99, 100, 103, 106, 107, 108, 109], "excluded_lines": []}, "KeyManager.generate_legacy_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 117, 118, 119, 120], "excluded_lines": []}, "KeyManager.get_public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [129], "excluded_lines": []}, "KeyManager.get_private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [138], "excluded_lines": []}, "KeyManager.get_npub": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [147, 148, 149, 150, 151, 152, 153, 154, 155], "excluded_lines": []}, "KeyManager.get_nsec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"KeyManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 0}, "missing_lines": [36, 37, 38, 41, 42, 46, 47, 48, 49, 54, 57, 58, 60, 61, 62, 71, 72, 73, 74, 75, 76, 77, 78, 82, 83, 85, 89, 90, 91, 92, 93, 94, 95, 99, 100, 103, 106, 107, 108, 109, 113, 114, 117, 118, 119, 120, 129, 138, 147, 148, 149, 150, 151, 152, 153, 154, 155, 159, 160, 161, 162, 163, 164, 165, 166], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 7, 8, 9, 12, 13, 15, 18, 19, 21, 64, 80, 97, 111, 122, 131, 140, 157], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/nostr/snapshot.py": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 264, "percent_covered": 10.984848484848484, "percent_covered_display": "11", "missing_lines": 235, "excluded_lines": 11}, "missing_lines": [33, 34, 35, 36, 37, 45, 46, 57, 58, 59, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277, 281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272], "functions": {"prepare_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36, 37, 45, 46], "excluded_lines": []}, "new_manifest_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [57, 58, 59], "excluded_lines": []}, "SnapshotHandler.publish_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135], "excluded_lines": []}, "SnapshotHandler._fetch_chunks_with_retry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 57, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 57, "excluded_lines": 0}, "missing_lines": [140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219], "excluded_lines": []}, "SnapshotHandler._fetch_manifest_with_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 11}, "missing_lines": [225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "SnapshotHandler.fetch_latest_snapshot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310], "excluded_lines": []}, "SnapshotHandler.ensure_manifest_is_current": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346], "excluded_lines": []}, "SnapshotHandler.publish_delta": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392], "excluded_lines": []}, "SnapshotHandler.fetch_deltas_since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431], "excluded_lines": []}, "SnapshotHandler.get_current_manifest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [434, 435], "excluded_lines": []}, "SnapshotHandler.get_current_manifest_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [438, 439], "excluded_lines": []}, "SnapshotHandler.get_delta_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [442, 443], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SnapshotHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 225, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 225, "excluded_lines": 11}, "missing_lines": [68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 90, 91, 92, 93, 96, 97, 99, 104, 105, 107, 108, 110, 120, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 140, 141, 142, 143, 144, 155, 156, 158, 159, 160, 162, 167, 168, 169, 170, 172, 173, 174, 175, 176, 181, 182, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 225, 226, 227, 229, 230, 231, 232, 233, 234, 235, 245, 246, 252, 253, 262, 263, 265, 266, 267, 268, 269, 277, 281, 282, 283, 284, 285, 286, 287, 290, 291, 292, 293, 294, 295, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 314, 315, 316, 317, 318, 319, 320, 321, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 349, 350, 351, 352, 353, 354, 355, 358, 359, 360, 361, 364, 365, 366, 367, 368, 369, 370, 381, 389, 390, 391, 392, 395, 396, 397, 398, 399, 405, 406, 407, 410, 411, 412, 413, 414, 415, 416, 420, 421, 422, 423, 424, 427, 430, 431, 434, 435, 438, 439, 442, 443], "excluded_lines": [236, 237, 238, 243, 254, 255, 256, 261, 270, 271, 272]}, "": {"executed_lines": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 25, 26, 29, 49, 62, 63, 65, 137, 221, 279, 312, 348, 394, 433, 437, 441], "summary": {"covered_lines": 29, "num_statements": 39, "percent_covered": 74.35897435897436, "percent_covered_display": "74", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [33, 34, 35, 36, 37, 45, 46, 57, 58, 59], "excluded_lines": []}}}, "src/seedpass/__init__.py": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/api.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 27, 28, 29, 31, 32, 33, 35, 36, 38, 41, 47, 56, 70, 104, 110, 123, 124, 143, 144, 159, 160, 279, 280, 310, 311, 321, 322, 332, 333, 345, 346, 379, 380, 400, 401, 409, 410, 420, 421, 431, 432, 446, 447, 460, 461, 486, 487, 496, 497, 513, 514, 520, 521, 529, 530, 551, 552, 571, 572, 586, 587, 597, 598, 608, 609, 625, 626, 668, 669, 694, 695, 706, 707, 732, 733, 743, 744], "summary": {"covered_lines": 95, "num_statements": 378, "percent_covered": 25.132275132275133, "percent_covered_display": "25", "missing_lines": 283, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 48, 49, 50, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 94, 95, 101, 105, 106, 107, 116, 117, 118, 119, 120, 127, 128, 129, 130, 150, 151, 152, 153, 154, 155, 156, 171, 172, 174, 176, 177, 187, 189, 197, 199, 200, 202, 214, 216, 217, 225, 227, 228, 238, 240, 241, 249, 251, 252, 259, 261, 262, 267, 274, 276, 291, 292, 293, 294, 305, 306, 307, 315, 316, 317, 318, 326, 327, 328, 329, 336, 337, 338, 340, 341, 342, 353, 354, 355, 356, 367, 369, 370, 372, 373, 375, 376, 384, 385, 386, 388, 390, 391, 392, 393, 394, 395, 396, 397, 404, 405, 406, 414, 415, 416, 417, 425, 426, 427, 428, 436, 437, 438, 440, 441, 442, 443, 453, 454, 455, 456, 457, 467, 468, 469, 470, 473, 474, 475, 476, 478, 480, 483, 491, 492, 493, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 515, 516, 517, 523, 524, 525, 526, 534, 535, 536, 538, 539, 540, 541, 543, 544, 545, 546, 547, 548, 556, 557, 558, 559, 561, 562, 563, 564, 565, 566, 567, 568, 576, 577, 578, 580, 581, 582, 583, 591, 592, 593, 594, 602, 603, 604, 605, 615, 616, 617, 618, 619, 620, 621, 622, 630, 631, 633, 635, 636, 637, 639, 640, 641, 642, 643, 644, 645, 646, 648, 650, 651, 653, 654, 656, 657, 658, 663, 664, 665, 676, 677, 678, 680, 682, 684, 686, 687, 688, 689, 690, 691, 699, 700, 701, 703, 711, 712, 713, 715, 725, 727, 728, 729, 737, 738, 739, 740, 747, 748, 750], "excluded_lines": [], "functions": {"_get_pm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [42, 43, 44], "excluded_lines": []}, "_check_token": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [48, 49, 50, 51, 52, 53], "excluded_lines": []}, "_reload_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": []}, "start_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 94, 95, 101], "excluded_lines": []}, "_require_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [105, 106, 107], "excluded_lines": []}, "_validate_encryption_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [116, 117, 118, 119, 120], "excluded_lines": []}, "search_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [127, 128, 129, 130], "excluded_lines": []}, "get_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154, 155, 156], "excluded_lines": []}, "create_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [171, 172, 174, 176, 177, 187, 189, 197, 199, 200, 202, 214, 216, 217, 225, 227, 228, 238, 240, 241, 249, 251, 252, 259, 261, 262, 267, 274, 276], "excluded_lines": []}, "update_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [291, 292, 293, 294, 305, 306, 307], "excluded_lines": []}, "archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [315, 316, 317, 318], "excluded_lines": []}, "unarchive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [326, 327, 328, 329], "excluded_lines": []}, "get_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [336, 337, 338, 340, 341, 342], "excluded_lines": []}, "update_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [353, 354, 355, 356, 367, 369, 370, 372, 373, 375, 376], "excluded_lines": []}, "set_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [384, 385, 386, 388, 390, 391, 392, 393, 394, 395, 396, 397], "excluded_lines": []}, "list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [404, 405, 406], "excluded_lines": []}, "add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [414, 415, 416, 417], "excluded_lines": []}, "remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [425, 426, 427, 428], "excluded_lines": []}, "select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [436, 437, 438, 440, 441, 442, 443], "excluded_lines": []}, "export_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [453, 454, 455, 456, 457], "excluded_lines": []}, "get_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [467, 468, 469, 470, 473, 474, 475, 476, 478, 480, 483], "excluded_lines": []}, "get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [491, 492, 493], "excluded_lines": []}, "get_notifications": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [501, 502, 503, 504, 505, 506, 507, 508, 509, 510], "excluded_lines": []}, "get_nostr_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [515, 516, 517], "excluded_lines": []}, "list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [523, 524, 525, 526], "excluded_lines": []}, "add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [534, 535, 536, 538, 539, 540, 541, 543, 544, 545, 546, 547, 548], "excluded_lines": []}, "remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [556, 557, 558, 559, 561, 562, 563, 564, 565, 566, 567, 568], "excluded_lines": []}, "reset_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [576, 577, 578, 580, 581, 582, 583], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [591, 592, 593, 594], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [602, 603, 604, 605], "excluded_lines": []}, "export_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [615, 616, 617, 618, 619, 620, 621, 622], "excluded_lines": []}, "import_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [630, 631, 633, 635, 636, 637, 639, 640, 641, 642, 643, 644, 645, 646, 648, 650, 651, 653, 654, 656, 657, 658, 663, 664, 665], "excluded_lines": []}, "backup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [676, 677, 678, 680, 682, 684, 686, 687, 688, 689, 690, 691], "excluded_lines": []}, "change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [699, 700, 701, 703], "excluded_lines": []}, "generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [711, 712, 713, 715, 725, 727, 728, 729], "excluded_lines": []}, "lock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [737, 738, 739, 740], "excluded_lines": []}, "shutdown_server": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [747, 748, 750], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 27, 28, 29, 31, 32, 33, 35, 36, 38, 41, 47, 56, 70, 104, 110, 123, 124, 143, 144, 159, 160, 279, 280, 310, 311, 321, 322, 332, 333, 345, 346, 379, 380, 400, 401, 409, 410, 420, 421, 431, 432, 446, 447, 460, 461, 486, 487, 496, 497, 513, 514, 520, 521, 529, 530, 551, 552, 571, 572, 586, 587, 597, 598, 608, 609, 625, 626, 668, 669, 694, 695, 706, 707, 732, 733, 743, 744], "summary": {"covered_lines": 95, "num_statements": 95, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 27, 28, 29, 31, 32, 33, 35, 36, 38, 41, 47, 56, 70, 104, 110, 123, 124, 143, 144, 159, 160, 279, 280, 310, 311, 321, 322, 332, 333, 345, 346, 379, 380, 400, 401, 409, 410, 420, 421, 431, 432, 446, 447, 460, 461, 486, 487, 496, 497, 513, 514, 520, 521, 529, 530, 551, 552, 571, 572, 586, 587, 597, 598, 608, 609, 625, 626, 668, 669, 694, 695, 706, 707, 732, 733, 743, 744], "summary": {"covered_lines": 95, "num_statements": 378, "percent_covered": 25.132275132275133, "percent_covered_display": "25", "missing_lines": 283, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 48, 49, 50, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 94, 95, 101, 105, 106, 107, 116, 117, 118, 119, 120, 127, 128, 129, 130, 150, 151, 152, 153, 154, 155, 156, 171, 172, 174, 176, 177, 187, 189, 197, 199, 200, 202, 214, 216, 217, 225, 227, 228, 238, 240, 241, 249, 251, 252, 259, 261, 262, 267, 274, 276, 291, 292, 293, 294, 305, 306, 307, 315, 316, 317, 318, 326, 327, 328, 329, 336, 337, 338, 340, 341, 342, 353, 354, 355, 356, 367, 369, 370, 372, 373, 375, 376, 384, 385, 386, 388, 390, 391, 392, 393, 394, 395, 396, 397, 404, 405, 406, 414, 415, 416, 417, 425, 426, 427, 428, 436, 437, 438, 440, 441, 442, 443, 453, 454, 455, 456, 457, 467, 468, 469, 470, 473, 474, 475, 476, 478, 480, 483, 491, 492, 493, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 515, 516, 517, 523, 524, 525, 526, 534, 535, 536, 538, 539, 540, 541, 543, 544, 545, 546, 547, 548, 556, 557, 558, 559, 561, 562, 563, 564, 565, 566, 567, 568, 576, 577, 578, 580, 581, 582, 583, 591, 592, 593, 594, 602, 603, 604, 605, 615, 616, 617, 618, 619, 620, 621, 622, 630, 631, 633, 635, 636, 637, 639, 640, 641, 642, 643, 644, 645, 646, 648, 650, 651, 653, 654, 656, 657, 658, 663, 664, 665, 676, 677, 678, 680, 682, 684, 686, 687, 688, 689, 690, 691, 699, 700, 701, 703, 711, 712, 713, 715, 725, 727, 728, 729, 737, 738, 739, 740, 747, 748, 750], "excluded_lines": []}}}, "src/seedpass/cli/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 78, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 78, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 20, 27, 33, 40, 42, 43, 44, 45, 46, 47, 48, 51, 53, 54, 55, 56, 57, 60, 62, 63, 64, 65, 68, 69, 79, 84, 85, 86, 89, 90, 92, 93, 94, 97, 98, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 129, 131, 132, 137, 139, 142, 143, 145, 150, 151, 162, 163, 164, 169, 171, 172, 176, 178, 180], "excluded_lines": [183, 184], "functions": {"run": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57], "excluded_lines": []}, "_gui_backend_available": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65], "excluded_lines": []}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [79, 84, 85, 86], "excluded_lines": []}, "root_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [92, 93, 94], "excluded_lines": []}, "gui": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 129, 131, 132, 137, 139, 142, 143, 145, 150, 151, 162, 163, 164, 169, 171, 172, 176, 178, 180], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 20, 27, 33, 40, 42, 43, 44, 45, 46, 47, 48, 51, 60, 68, 69, 89, 90, 97, 98], "excluded_lines": [183, 184]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 78, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 78, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 20, 27, 33, 40, 42, 43, 44, 45, 46, 47, 48, 51, 53, 54, 55, 56, 57, 60, 62, 63, 64, 65, 68, 69, 79, 84, 85, 86, 89, 90, 92, 93, 94, 97, 98, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 125, 129, 131, 132, 137, 139, 142, 143, 145, 150, 151, 162, 163, 164, 169, 171, 172, 176, 178, 180], "excluded_lines": [183, 184]}}}, "src/seedpass/cli/api.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 6, 8, 11, 12, 14, 15, 18, 21, 22, 28, 30, 31], "excluded_lines": [36, 37], "functions": {"api_start": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [14, 15, 18], "excluded_lines": []}, "api_stop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 2}, "missing_lines": [28, 30, 31], "excluded_lines": [36, 37]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 6, 8, 11, 12, 21, 22], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 6, 8, 11, 12, 14, 15, 18, 21, 22, 28, 30, 31], "excluded_lines": [36, 37]}}}, "src/seedpass/cli/common.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "excluded_lines": [], "functions": {"_get_pm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [25, 26, 27, 29, 30, 31, 32, 33, 34], "excluded_lines": []}, "_get_services": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [42, 43], "excluded_lines": []}, "_get_entry_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [47, 48], "excluded_lines": []}, "_get_config_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [52, 53], "excluded_lines": []}, "_get_util_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [57, 58], "excluded_lines": []}, "_get_nostr_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [62, 63], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 37, 46, 51, 56, 61], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 6, 7, 23, 25, 26, 27, 29, 30, 31, 32, 33, 34, 37, 42, 43, 46, 47, 48, 51, 52, 53, 56, 57, 58, 61, 62, 63], "excluded_lines": []}}}, "src/seedpass/cli/config.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 15}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121], "functions": {"config_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 14, 15, 16, 18], "excluded_lines": []}, "config_set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [24, 26, 27, 32, 33, 34, 35, 40], "excluded_lines": [36, 37, 38]}, "config_toggle_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 6}, "missing_lines": [50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91], "excluded_lines": [54, 55, 56, 86, 87, 88]}, "config_toggle_offline": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 6}, "missing_lines": [97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [100, 101, 102, 119, 120, 121]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 21, 22, 43, 44, 94, 95], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 15}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 16, 18, 21, 22, 24, 26, 27, 32, 33, 34, 35, 40, 43, 44, 50, 51, 52, 53, 58, 59, 66, 67, 68, 69, 71, 74, 75, 76, 77, 78, 79, 80, 81, 82, 84, 85, 90, 91, 94, 95, 97, 98, 99, 104, 105, 112, 113, 114, 115, 117, 118, 123, 124], "excluded_lines": [36, 37, 38, 54, 55, 56, 86, 87, 88, 100, 101, 102, 119, 120, 121]}}}, "src/seedpass/cli/entry.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 156, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 156, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 18, 19, 33, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 115, 118, 119, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 167, 170, 171, 183, 184, 192, 195, 196, 203, 204, 209, 212, 213, 222, 223, 230, 233, 234, 241, 242, 247, 250, 251, 259, 260, 266, 269, 270, 278, 279, 280, 283, 284, 291, 292, 297, 300, 301, 316, 317, 318, 329, 330, 331, 332, 335, 336, 338, 339, 340, 343, 344, 346, 347, 348, 351, 352, 354, 355, 358, 359, 363, 364, 365, 366], "excluded_lines": [], "functions": {"entry_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [33, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47], "excluded_lines": []}, "entry_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75], "excluded_lines": []}, "entry_get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 115], "excluded_lines": []}, "entry_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 167], "excluded_lines": []}, "entry_add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [183, 184, 192], "excluded_lines": []}, "entry_add_ssh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [203, 204, 209], "excluded_lines": []}, "entry_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [222, 223, 230], "excluded_lines": []}, "entry_add_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [241, 242, 247], "excluded_lines": []}, "entry_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [259, 260, 266], "excluded_lines": []}, "entry_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [278, 279, 280], "excluded_lines": []}, "entry_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [291, 292, 297], "excluded_lines": []}, "entry_modify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [316, 317, 318, 329, 330, 331, 332], "excluded_lines": []}, "entry_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [338, 339, 340], "excluded_lines": []}, "entry_unarchive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [346, 347, 348], "excluded_lines": []}, "entry_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [354, 355], "excluded_lines": []}, "entry_export_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [363, 364, 365, 366], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 43, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 43, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 18, 19, 50, 51, 78, 79, 118, 119, 170, 171, 195, 196, 212, 213, 233, 234, 250, 251, 269, 270, 283, 284, 300, 301, 335, 336, 343, 344, 351, 352, 358, 359], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 156, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 156, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 15, 18, 19, 33, 34, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50, 51, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 115, 118, 119, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 166, 167, 170, 171, 183, 184, 192, 195, 196, 203, 204, 209, 212, 213, 222, 223, 230, 233, 234, 241, 242, 247, 250, 251, 259, 260, 266, 269, 270, 278, 279, 280, 283, 284, 291, 292, 297, 300, 301, 316, 317, 318, 329, 330, 331, 332, 335, 336, 338, 339, 340, 343, 344, 346, 347, 348, 351, 352, 354, 355, 358, 359, 363, 364, 365, 366], "excluded_lines": []}}}, "src/seedpass/cli/fingerprint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "excluded_lines": [], "functions": {"fingerprint_list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [13, 14, 15], "excluded_lines": []}, "fingerprint_add": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 22], "excluded_lines": []}, "fingerprint_remove": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [28, 29], "excluded_lines": []}, "fingerprint_switch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [35, 36, 37], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 18, 19, 25, 26, 32, 33], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 10, 11, 13, 14, 15, 18, 19, 21, 22, 25, 26, 28, 29, 32, 33, 35, 36, 37], "excluded_lines": []}}}, "src/seedpass/cli/nostr.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 6}, "missing_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "excluded_lines": [51, 52, 53, 63, 64, 65], "functions": {"nostr_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 23, 25], "excluded_lines": []}, "nostr_get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [31, 32, 33], "excluded_lines": []}, "nostr_list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [39, 40, 41, 42], "excluded_lines": []}, "nostr_add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [48, 49, 50, 54], "excluded_lines": [51, 52, 53]}, "nostr_remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [60, 61, 62, 66], "excluded_lines": [63, 64, 65]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 12, 13, 28, 29, 36, 37, 45, 46, 57, 58], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 6}, "missing_lines": [1, 3, 5, 7, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 28, 29, 31, 32, 33, 36, 37, 39, 40, 41, 42, 45, 46, 48, 49, 50, 54, 57, 58, 60, 61, 62, 66], "excluded_lines": [51, 52, 53, 63, 64, 65]}}}, "src/seedpass/cli/util.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "excluded_lines": [], "functions": {"generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [64, 65], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [71, 72], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 61, 62, 68, 69], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [1, 3, 5, 7, 9, 12, 13, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57, 58, 61, 62, 64, 65, 68, 69, 71, 72], "excluded_lines": []}}}, "src/seedpass/cli/vault.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 6}, "missing_lines": [1, 3, 4, 5, 7, 9, 16, 19, 20, 24, 25, 26, 27, 30, 31, 35, 36, 37, 38, 41, 42, 44, 45, 46, 47, 48, 54, 57, 58, 60, 61, 62, 63, 67, 70, 71, 73, 74, 75, 78, 79, 81, 82, 83, 86, 87, 94, 95, 96], "excluded_lines": [51, 52, 53, 64, 65, 66], "functions": {"vault_export": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [24, 25, 26, 27], "excluded_lines": []}, "vault_import": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [35, 36, 37, 38], "excluded_lines": []}, "vault_change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 3}, "missing_lines": [44, 45, 46, 47, 48, 54], "excluded_lines": [51, 52, 53]}, "vault_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 3}, "missing_lines": [60, 61, 62, 63, 67], "excluded_lines": [64, 65, 66]}, "vault_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [73, 74, 75], "excluded_lines": []}, "vault_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [81, 82, 83], "excluded_lines": []}, "vault_reveal_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [94, 95, 96], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [1, 3, 4, 5, 7, 9, 16, 19, 20, 30, 31, 41, 42, 57, 58, 70, 71, 78, 79, 86, 87], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 6}, "missing_lines": [1, 3, 4, 5, 7, 9, 16, 19, 20, 24, 25, 26, 27, 30, 31, 35, 36, 37, 38, 41, 42, 44, 45, 46, 47, 48, 54, 57, 58, 60, 61, 62, 63, 67, 70, 71, 73, 74, 75, 78, 79, 81, 82, 83, 86, 87, 94, 95, 96], "excluded_lines": [51, 52, 53, 64, 65, 66]}}}, "src/seedpass/core/__init__.py": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": [], "functions": {"__getattr__": {"executed_lines": [18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 7, "num_statements": 13, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}, "": {"executed_lines": [3, 5, 7, 17], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 5, 7, 17, 18, 20, 22, 24, 26, 28, 30], "summary": {"covered_lines": 10, "num_statements": 16, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [19, 21, 23, 25, 27, 29], "excluded_lines": []}}}, "src/seedpass/core/api.py": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 23, 24, 26, 29, 30, 32, 35, 36, 38, 41, 42, 44, 45, 48, 49, 51, 54, 55, 57, 60, 61, 63, 64, 67, 68, 70, 71, 74, 75, 77, 80, 81, 83, 84, 85, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 108, 109, 112, 113, 116, 117, 119, 123, 130, 137, 147, 158, 164, 171, 177, 185, 192, 193, 195, 199, 205, 214, 220, 227, 228, 230, 234, 245, 251, 258, 259, 261, 265, 278, 294, 298, 306, 313, 358, 382, 399, 420, 437, 456, 466, 483, 510, 515, 520, 527, 532, 533, 535, 539, 543, 597, 601, 605, 613, 617, 624, 625, 627, 631, 676, 680, 685, 686, 688, 692, 696, 700, 707], "summary": {"covered_lines": 116, "num_statements": 325, "percent_covered": 35.69230769230769, "percent_covered_display": "36", "missing_lines": 209, "excluded_lines": 0}, "missing_lines": [120, 121, 126, 127, 128, 133, 134, 135, 140, 141, 142, 145, 150, 151, 154, 155, 156, 161, 162, 167, 168, 169, 174, 175, 180, 181, 188, 189, 196, 197, 202, 203, 208, 209, 210, 217, 218, 223, 224, 231, 232, 237, 238, 239, 240, 241, 242, 243, 248, 249, 254, 255, 262, 263, 271, 272, 291, 292, 295, 296, 299, 300, 301, 302, 303, 304, 307, 308, 311, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 348, 355, 356, 368, 369, 370, 379, 380, 389, 390, 396, 397, 408, 409, 417, 418, 427, 428, 434, 435, 445, 446, 453, 454, 459, 460, 463, 464, 473, 474, 480, 481, 496, 497, 508, 511, 512, 513, 516, 517, 518, 521, 522, 525, 528, 529, 536, 537, 540, 541, 544, 545, 581, 582, 583, 584, 585, 586, 587, 592, 593, 595, 598, 599, 602, 603, 606, 607, 608, 609, 610, 611, 614, 615, 618, 619, 620, 621, 628, 629, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 665, 666, 670, 671, 673, 674, 677, 678, 681, 682, 689, 690, 693, 694, 697, 698, 701, 702, 703, 708, 709, 710], "excluded_lines": [], "functions": {"VaultService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [120, 121], "excluded_lines": []}, "VaultService.export_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [126, 127, 128], "excluded_lines": []}, "VaultService.import_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [133, 134, 135], "excluded_lines": []}, "VaultService.export_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [140, 141, 142, 145], "excluded_lines": []}, "VaultService.import_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [150, 151, 154, 155, 156], "excluded_lines": []}, "VaultService.change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [161, 162], "excluded_lines": []}, "VaultService.unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [167, 168, 169], "excluded_lines": []}, "VaultService.lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [174, 175], "excluded_lines": []}, "VaultService.backup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [180, 181], "excluded_lines": []}, "VaultService.stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [188, 189], "excluded_lines": []}, "ProfileService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [196, 197], "excluded_lines": []}, "ProfileService.list_profiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [202, 203], "excluded_lines": []}, "ProfileService.add_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [208, 209, 210], "excluded_lines": []}, "ProfileService.remove_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [217, 218], "excluded_lines": []}, "ProfileService.switch_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [223, 224], "excluded_lines": []}, "SyncService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [231, 232], "excluded_lines": []}, "SyncService.sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [237, 238, 239, 240, 241, 242, 243], "excluded_lines": []}, "SyncService.start_background_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [248, 249], "excluded_lines": []}, "SyncService.start_background_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [254, 255], "excluded_lines": []}, "EntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [262, 263], "excluded_lines": []}, "EntryService.list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [271, 272], "excluded_lines": []}, "EntryService.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [291, 292], "excluded_lines": []}, "EntryService.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [295, 296], "excluded_lines": []}, "EntryService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [299, 300, 301, 302, 303, 304], "excluded_lines": []}, "EntryService.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [307, 308, 311], "excluded_lines": []}, "EntryService.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 348, 355, 356], "excluded_lines": []}, "EntryService.add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [368, 369, 370, 379, 380], "excluded_lines": []}, "EntryService.add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [389, 390, 396, 397], "excluded_lines": []}, "EntryService.add_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [408, 409, 417, 418], "excluded_lines": []}, "EntryService.add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [427, 428, 434, 435], "excluded_lines": []}, "EntryService.add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [445, 446, 453, 454], "excluded_lines": []}, "EntryService.add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [459, 460, 463, 464], "excluded_lines": []}, "EntryService.add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [473, 474, 480, 481], "excluded_lines": []}, "EntryService.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [496, 497, 508], "excluded_lines": []}, "EntryService.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [511, 512, 513], "excluded_lines": []}, "EntryService.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [516, 517, 518], "excluded_lines": []}, "EntryService.export_totp_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [521, 522, 525], "excluded_lines": []}, "EntryService.display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [528, 529], "excluded_lines": []}, "ConfigService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [536, 537], "excluded_lines": []}, "ConfigService.get": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [540, 541], "excluded_lines": []}, "ConfigService.set": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [544, 545, 581, 582, 583, 584, 585, 586, 587, 592, 593, 595], "excluded_lines": []}, "ConfigService.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [598, 599], "excluded_lines": []}, "ConfigService.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [602, 603], "excluded_lines": []}, "ConfigService.set_secret_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [606, 607, 608, 609, 610, 611], "excluded_lines": []}, "ConfigService.get_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [614, 615], "excluded_lines": []}, "ConfigService.set_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [618, 619, 620, 621], "excluded_lines": []}, "UtilityService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [628, 629], "excluded_lines": []}, "UtilityService.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 665, 666, 670, 671, 673, 674], "excluded_lines": []}, "UtilityService.verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [677, 678], "excluded_lines": []}, "UtilityService.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [681, 682], "excluded_lines": []}, "NostrService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [689, 690], "excluded_lines": []}, "NostrService.get_pubkey": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [693, 694], "excluded_lines": []}, "NostrService.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [697, 698], "excluded_lines": []}, "NostrService.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [701, 702, 703], "excluded_lines": []}, "NostrService.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [708, 709, 710], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 23, 24, 26, 29, 30, 32, 35, 36, 38, 41, 42, 44, 45, 48, 49, 51, 54, 55, 57, 60, 61, 63, 64, 67, 68, 70, 71, 74, 75, 77, 80, 81, 83, 84, 85, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 108, 109, 112, 113, 116, 117, 119, 123, 130, 137, 147, 158, 164, 171, 177, 185, 192, 193, 195, 199, 205, 214, 220, 227, 228, 230, 234, 245, 251, 258, 259, 261, 265, 278, 294, 298, 306, 313, 358, 382, 399, 420, 437, 456, 466, 483, 510, 515, 520, 527, 532, 533, 535, 539, 543, 597, 601, 605, 613, 617, 624, 625, 627, 631, 676, 680, 685, 686, 688, 692, 696, 700, 707], "summary": {"covered_lines": 116, "num_statements": 116, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultExportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultExportResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultImportRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ChangePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "UnlockResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "BackupParentSeedRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileSwitchRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "ProfileRemoveRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "SyncResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordPolicyOptions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AddPasswordEntryRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordRequest": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "GeneratePasswordResponse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "VaultService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [120, 121, 126, 127, 128, 133, 134, 135, 140, 141, 142, 145, 150, 151, 154, 155, 156, 161, 162, 167, 168, 169, 174, 175, 180, 181, 188, 189], "excluded_lines": []}, "ProfileService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [196, 197, 202, 203, 208, 209, 210, 217, 218, 223, 224], "excluded_lines": []}, "SyncService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [231, 232, 237, 238, 239, 240, 241, 242, 243, 248, 249, 254, 255], "excluded_lines": []}, "EntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 81, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 81, "excluded_lines": 0}, "missing_lines": [262, 263, 271, 272, 291, 292, 295, 296, 299, 300, 301, 302, 303, 304, 307, 308, 311, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 348, 355, 356, 368, 369, 370, 379, 380, 389, 390, 396, 397, 408, 409, 417, 418, 427, 428, 434, 435, 445, 446, 453, 454, 459, 460, 463, 464, 473, 474, 480, 481, 496, 497, 508, 511, 512, 513, 516, 517, 518, 521, 522, 525, 528, 529], "excluded_lines": []}, "ConfigService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [536, 537, 540, 541, 544, 545, 581, 582, 583, 584, 585, 586, 587, 592, 593, 595, 598, 599, 602, 603, 606, 607, 608, 609, 610, 611, 614, 615, 618, 619, 620, 621], "excluded_lines": []}, "UtilityService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0}, "missing_lines": [628, 629, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 665, 666, 670, 671, 673, 674, 677, 678, 681, 682], "excluded_lines": []}, "NostrService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [689, 690, 693, 694, 697, 698, 701, 702, 703, 708, 709, 710], "excluded_lines": []}, "": {"executed_lines": [1, 3, 10, 11, 12, 13, 14, 16, 18, 19, 20, 23, 24, 26, 29, 30, 32, 35, 36, 38, 41, 42, 44, 45, 48, 49, 51, 54, 55, 57, 60, 61, 63, 64, 67, 68, 70, 71, 74, 75, 77, 80, 81, 83, 84, 85, 88, 89, 91, 92, 93, 94, 95, 96, 97, 98, 101, 102, 103, 104, 105, 108, 109, 112, 113, 116, 117, 119, 123, 130, 137, 147, 158, 164, 171, 177, 185, 192, 193, 195, 199, 205, 214, 220, 227, 228, 230, 234, 245, 251, 258, 259, 261, 265, 278, 294, 298, 306, 313, 358, 382, 399, 420, 437, 456, 466, 483, 510, 515, 520, 527, 532, 533, 535, 539, 543, 597, 601, 605, 613, 617, 624, 625, 627, 631, 676, 680, 685, 686, 688, 692, 696, 700, 707], "summary": {"covered_lines": 116, "num_statements": 116, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/backup.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 116, "percent_covered": 16.379310344827587, "percent_covered_display": "16", "missing_lines": 97, "excluded_lines": 2}, "missing_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": [108, 109], "functions": {"BackupManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [51, 52, 53, 54, 55, 56, 57], "excluded_lines": []}, "BackupManager.create_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93], "excluded_lines": []}, "BackupManager._create_additional_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 2}, "missing_lines": [97, 98, 99, 101, 102, 103, 104, 105, 106, 107], "excluded_lines": [108, 109]}, "BackupManager.restore_latest_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141], "excluded_lines": []}, "BackupManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164], "excluded_lines": []}, "BackupManager.list_backups": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191], "excluded_lines": []}, "BackupManager.restore_backup_by_timestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"BackupManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 97, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 97, "excluded_lines": 2}, "missing_lines": [51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 89, 90, 91, 92, 93, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 115, 116, 122, 123, 124, 125, 127, 128, 129, 130, 131, 132, 137, 138, 141, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 164, 171, 172, 178, 179, 180, 181, 183, 184, 185, 188, 189, 190, 191, 194, 195, 197, 198, 199, 200, 202, 203, 206, 207, 208, 209, 210, 215, 216, 219], "excluded_lines": [108, 109]}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 23, 24, 27, 30, 31, 39, 41, 61, 95, 114, 148, 170, 193], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/config_manager.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 16, 18, 21, 24, 25, 27, 29, 34, 120, 129, 137, 144, 152, 159, 165, 173, 178, 186, 191, 199, 204, 212, 217, 223, 229, 235, 241, 246, 251, 259, 264, 272, 278, 294, 299, 304, 309, 314, 320, 326, 332, 338, 344, 349, 357, 362, 370, 375, 380], "summary": {"covered_lines": 55, "num_statements": 241, "percent_covered": 22.821576763485478, "percent_covered_display": "23", "missing_lines": 186, "excluded_lines": 2}, "missing_lines": [30, 31, 32, 43, 44, 45, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 122, 123, 124, 125, 126, 127, 131, 132, 133, 134, 135, 139, 140, 141, 142, 146, 147, 148, 149, 150, 154, 155, 156, 157, 161, 162, 163, 167, 168, 169, 170, 171, 175, 176, 180, 181, 182, 183, 184, 188, 189, 193, 194, 195, 196, 197, 201, 202, 206, 207, 208, 209, 210, 214, 215, 219, 220, 221, 225, 226, 227, 231, 232, 233, 237, 238, 239, 243, 244, 248, 249, 253, 254, 255, 256, 257, 261, 262, 266, 267, 268, 269, 270, 274, 275, 280, 282, 283, 295, 296, 297, 300, 301, 302, 305, 306, 307, 310, 311, 312, 316, 317, 318, 322, 323, 324, 328, 329, 330, 334, 335, 336, 340, 341, 342, 346, 347, 351, 352, 353, 354, 355, 359, 360, 364, 365, 366, 367, 368, 372, 373, 376, 377, 378, 381, 382], "excluded_lines": [18, 19], "functions": {"ConfigManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [30, 31, 32], "excluded_lines": []}, "ConfigManager.load_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [43, 44, 45, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118], "excluded_lines": []}, "ConfigManager.save_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [122, 123, 124, 125, 126, 127], "excluded_lines": []}, "ConfigManager.set_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [131, 132, 133, 134, 135], "excluded_lines": []}, "ConfigManager.set_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [139, 140, 141, 142], "excluded_lines": []}, "ConfigManager.verify_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [146, 147, 148, 149, 150], "excluded_lines": []}, "ConfigManager.change_pin": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157], "excluded_lines": []}, "ConfigManager.set_password_hash": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [161, 162, 163], "excluded_lines": []}, "ConfigManager.set_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171], "excluded_lines": []}, "ConfigManager.get_inactivity_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [175, 176], "excluded_lines": []}, "ConfigManager.set_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [180, 181, 182, 183, 184], "excluded_lines": []}, "ConfigManager.get_kdf_iterations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [188, 189], "excluded_lines": []}, "ConfigManager.set_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [193, 194, 195, 196, 197], "excluded_lines": []}, "ConfigManager.get_kdf_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [201, 202], "excluded_lines": []}, "ConfigManager.set_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [206, 207, 208, 209, 210], "excluded_lines": []}, "ConfigManager.get_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [214, 215], "excluded_lines": []}, "ConfigManager.set_additional_backup_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [219, 220, 221], "excluded_lines": []}, "ConfigManager.get_additional_backup_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [225, 226, 227], "excluded_lines": []}, "ConfigManager.set_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [231, 232, 233], "excluded_lines": []}, "ConfigManager.set_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [237, 238, 239], "excluded_lines": []}, "ConfigManager.get_secret_mode_enabled": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [243, 244], "excluded_lines": []}, "ConfigManager.get_offline_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [248, 249], "excluded_lines": []}, "ConfigManager.set_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [253, 254, 255, 256, 257], "excluded_lines": []}, "ConfigManager.get_clipboard_clear_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [261, 262], "excluded_lines": []}, "ConfigManager.set_backup_interval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269, 270], "excluded_lines": []}, "ConfigManager.get_backup_interval": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [274, 275], "excluded_lines": []}, "ConfigManager.get_password_policy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [280, 282, 283], "excluded_lines": []}, "ConfigManager.set_min_uppercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [295, 296, 297], "excluded_lines": []}, "ConfigManager.set_min_lowercase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [300, 301, 302], "excluded_lines": []}, "ConfigManager.set_min_digits": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [305, 306, 307], "excluded_lines": []}, "ConfigManager.set_min_special": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [310, 311, 312], "excluded_lines": []}, "ConfigManager.set_include_special_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [316, 317, 318], "excluded_lines": []}, "ConfigManager.set_allowed_special_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [322, 323, 324], "excluded_lines": []}, "ConfigManager.set_special_mode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [328, 329, 330], "excluded_lines": []}, "ConfigManager.set_exclude_ambiguous": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [334, 335, 336], "excluded_lines": []}, "ConfigManager.set_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [340, 341, 342], "excluded_lines": []}, "ConfigManager.get_quick_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [346, 347], "excluded_lines": []}, "ConfigManager.set_nostr_max_retries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [351, 352, 353, 354, 355], "excluded_lines": []}, "ConfigManager.get_nostr_max_retries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [359, 360], "excluded_lines": []}, "ConfigManager.set_nostr_retry_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [364, 365, 366, 367, 368], "excluded_lines": []}, "ConfigManager.get_nostr_retry_delay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [372, 373], "excluded_lines": []}, "ConfigManager.set_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [376, 377, 378], "excluded_lines": []}, "ConfigManager.get_verbose_timing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [381, 382], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 16, 18, 21, 24, 25, 27, 29, 34, 120, 129, 137, 144, 152, 159, 165, 173, 178, 186, 191, 199, 204, 212, 217, 223, 229, 235, 241, 246, 251, 259, 264, 272, 278, 294, 299, 304, 309, 314, 320, 326, 332, 338, 344, 349, 357, 362, 370, 375, 380], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [18, 19]}}, "classes": {"ConfigManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 186, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 186, "excluded_lines": 0}, "missing_lines": [30, 31, 32, 43, 44, 45, 71, 72, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 114, 115, 116, 117, 118, 122, 123, 124, 125, 126, 127, 131, 132, 133, 134, 135, 139, 140, 141, 142, 146, 147, 148, 149, 150, 154, 155, 156, 157, 161, 162, 163, 167, 168, 169, 170, 171, 175, 176, 180, 181, 182, 183, 184, 188, 189, 193, 194, 195, 196, 197, 201, 202, 206, 207, 208, 209, 210, 214, 215, 219, 220, 221, 225, 226, 227, 231, 232, 233, 237, 238, 239, 243, 244, 248, 249, 253, 254, 255, 256, 257, 261, 262, 266, 267, 268, 269, 270, 274, 275, 280, 282, 283, 295, 296, 297, 300, 301, 302, 305, 306, 307, 310, 311, 312, 316, 317, 318, 322, 323, 324, 328, 329, 330, 334, 335, 336, 340, 341, 342, 346, 347, 351, 352, 353, 354, 355, 359, 360, 364, 365, 366, 367, 368, 372, 373, 376, 377, 378, 381, 382], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 11, 13, 14, 16, 18, 21, 24, 25, 27, 29, 34, 120, 129, 137, 144, 152, 159, 165, 173, 178, 186, 191, 199, 204, 212, 217, 223, 229, 235, 241, 246, 251, 259, 264, 272, 278, 294, 299, 304, 309, 314, 320, 326, 332, 338, 344, 349, 357, 362, 370, 375, 380], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [18, 19]}}}, "src/seedpass/core/encryption.py": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 45, 46, 48, 56, 57, 62, 99, 117, 206, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 560, 603, 619], "summary": {"covered_lines": 46, "num_statements": 343, "percent_covered": 13.411078717201166, "percent_covered_display": "13", "missing_lines": 297, "excluded_lines": 23}, "missing_lines": [40, 41, 42, 49, 52, 53, 71, 72, 74, 75, 76, 79, 80, 82, 83, 85, 86, 87, 91, 94, 95, 97, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 131, 133, 135, 136, 137, 138, 139, 140, 141, 144, 145, 146, 147, 152, 153, 154, 155, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 172, 173, 176, 181, 182, 183, 184, 185, 188, 192, 193, 198, 199, 200, 211, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 301, 311, 312, 313, 315, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 375, 376, 377, 386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 512, 515, 516, 517, 518, 521, 527, 528, 529, 530, 531, 535, 541, 542, 543, 562, 563, 564, 565, 566, 568, 569, 570, 571, 572, 575, 576, 579, 580, 581, 582, 583, 584, 589, 590, 591, 592, 593, 594, 595, 596, 597, 601, 609, 610, 611, 612, 613, 614, 615, 616, 617, 620, 621, 622, 623, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 636], "excluded_lines": [11, 12, 13, 15, 201, 202, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 544, 545, 546, 550, 556, 557, 558], "functions": {"_derive_legacy_key_from_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [40, 41, 42], "excluded_lines": []}, "LegacyFormatRequiresMigrationError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [49, 52, 53], "excluded_lines": []}, "EncryptionManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [71, 72, 74, 75, 76, 79, 80, 82, 83, 85, 86, 87, 91, 94, 95, 97], "excluded_lines": []}, "EncryptionManager.encrypt_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115], "excluded_lines": []}, "EncryptionManager.decrypt_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 2}, "missing_lines": [131, 133, 135, 136, 137, 138, 139, 140, 141, 144, 145, 146, 147, 152, 153, 154, 155, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 172, 173, 176, 181, 182, 183, 184, 185, 188, 192, 193, 198, 199, 200], "excluded_lines": [201, 202]}, "EncryptionManager.decrypt_legacy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 4}, "missing_lines": [211, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241], "excluded_lines": [229, 230, 238, 239]}, "EncryptionManager.resolve_relative_path": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [266, 267, 268, 269], "excluded_lines": []}, "EncryptionManager.encrypt_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [275, 276, 277], "excluded_lines": []}, "EncryptionManager.decrypt_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [281, 282, 283, 285, 286, 289, 291, 292, 293, 295], "excluded_lines": []}, "EncryptionManager._serialize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [298, 299, 300, 301], "excluded_lines": []}, "EncryptionManager._deserialize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 2}, "missing_lines": [311, 312, 313, 315, 316, 317, 318, 319, 320, 325], "excluded_lines": [321, 322]}, "EncryptionManager.encrypt_and_save_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345], "excluded_lines": []}, "EncryptionManager.decrypt_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [348, 349, 350, 351, 352, 353], "excluded_lines": []}, "EncryptionManager.get_file_kdf": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [356, 357, 358, 359, 360, 361], "excluded_lines": []}, "EncryptionManager.save_json_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [370, 371, 372, 373, 375, 376, 377], "excluded_lines": []}, "EncryptionManager.load_json_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 4}, "missing_lines": [386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439], "excluded_lines": [430, 431, 432, 433]}, "EncryptionManager.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [442, 443, 444, 445, 446, 447, 448], "excluded_lines": []}, "EncryptionManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 7}, "missing_lines": [470, 471, 473, 474, 475, 477, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 512, 515, 516, 517, 518, 521, 527, 528, 529, 530, 531, 535, 541, 542, 543], "excluded_lines": [544, 545, 546, 550, 556, 557, 558]}, "EncryptionManager.decrypt_and_save_index_from_nostr._process": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [478, 479, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 496, 497], "excluded_lines": []}, "EncryptionManager.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0}, "missing_lines": [562, 563, 564, 565, 566, 568, 569, 570, 571, 572, 575, 576, 579, 580, 581, 582, 583, 584, 589, 590, 591, 592, 593, 594, 595, 596, 597, 601], "excluded_lines": []}, "EncryptionManager.validate_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [609, 610, 611, 612, 613, 614, 615, 616, 617], "excluded_lines": []}, "EncryptionManager.derive_seed_from_mnemonic": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [620, 621, 622, 623, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 636], "excluded_lines": []}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 45, 46, 48, 56, 57, 62, 99, 117, 206, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 560, 603, 619], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 4}, "missing_lines": [], "excluded_lines": [11, 12, 13, 15]}}, "classes": {"LegacyFormatRequiresMigrationError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [49, 52, 53], "excluded_lines": []}, "EncryptionManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 291, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 291, "excluded_lines": 19}, "missing_lines": [71, 72, 74, 75, 76, 79, 80, 82, 83, 85, 86, 87, 91, 94, 95, 97, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 131, 133, 135, 136, 137, 138, 139, 140, 141, 144, 145, 146, 147, 152, 153, 154, 155, 156, 157, 158, 161, 162, 163, 166, 167, 168, 171, 172, 173, 176, 181, 182, 183, 184, 185, 188, 192, 193, 198, 199, 200, 211, 212, 213, 214, 215, 218, 219, 220, 221, 222, 223, 225, 228, 234, 237, 240, 241, 266, 267, 268, 269, 275, 276, 277, 281, 282, 283, 285, 286, 289, 291, 292, 293, 295, 298, 299, 300, 301, 311, 312, 313, 315, 316, 317, 318, 319, 320, 325, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 348, 349, 350, 351, 352, 353, 356, 357, 358, 359, 360, 361, 370, 371, 372, 373, 375, 376, 377, 386, 387, 388, 389, 390, 391, 392, 395, 397, 398, 399, 401, 402, 405, 407, 408, 411, 412, 414, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 436, 437, 438, 439, 442, 443, 444, 445, 446, 447, 448, 470, 471, 473, 474, 475, 477, 478, 479, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 496, 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 512, 515, 516, 517, 518, 521, 527, 528, 529, 530, 531, 535, 541, 542, 543, 562, 563, 564, 565, 566, 568, 569, 570, 571, 572, 575, 576, 579, 580, 581, 582, 583, 584, 589, 590, 591, 592, 593, 594, 595, 596, 597, 601, 609, 610, 611, 612, 613, 614, 615, 616, 617, 620, 621, 622, 623, 625, 626, 627, 628, 630, 631, 632, 633, 634, 635, 636], "excluded_lines": [201, 202, 229, 230, 238, 239, 321, 322, 430, 431, 432, 433, 544, 545, 546, 550, 556, 557, 558]}, "": {"executed_lines": [3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 38, 45, 46, 48, 56, 57, 62, 99, 117, 206, 247, 271, 279, 297, 303, 330, 347, 355, 363, 379, 441, 450, 560, 603, 619], "summary": {"covered_lines": 46, "num_statements": 49, "percent_covered": 93.87755102040816, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 4}, "missing_lines": [40, 41, 42], "excluded_lines": [11, 12, 13, 15]}}}, "src/seedpass/core/entry_management.py": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 48, 49, 50, 53, 56, 57, 76, 80, 123, 132, 152, 242, 256, 327, 369, 383, 429, 450, 494, 529, 554, 597, 619, 674, 697, 717, 738, 751, 784, 799, 837, 1101, 1105, 1109, 1252, 1307, 1344, 1365, 1407, 1440], "summary": {"covered_lines": 57, "num_statements": 667, "percent_covered": 8.545727136431784, "percent_covered_display": "9", "missing_lines": 610, "excluded_lines": 3}, "missing_lines": [64, 65, 66, 69, 70, 72, 74, 78, 81, 82, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 119, 120, 121, 124, 125, 126, 127, 128, 129, 130, 138, 139, 140, 141, 142, 144, 145, 146, 147, 148, 149, 150, 183, 184, 185, 187, 188, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 222, 224, 228, 229, 230, 232, 233, 235, 237, 238, 239, 240, 244, 245, 246, 254, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 297, 298, 299, 300, 301, 315, 317, 318, 319, 321, 322, 323, 324, 325, 343, 344, 346, 348, 349, 350, 352, 353, 354, 364, 365, 366, 367, 372, 373, 374, 375, 376, 378, 380, 381, 396, 397, 399, 400, 401, 403, 404, 406, 407, 408, 410, 411, 412, 424, 425, 426, 427, 432, 433, 434, 435, 436, 438, 439, 440, 442, 443, 445, 446, 447, 448, 461, 462, 464, 465, 466, 468, 469, 470, 471, 472, 473, 474, 475, 477, 478, 479, 489, 490, 491, 492, 507, 509, 510, 511, 524, 525, 526, 527, 532, 533, 534, 535, 538, 540, 541, 542, 544, 545, 547, 548, 549, 550, 551, 552, 566, 567, 569, 570, 571, 573, 574, 575, 576, 577, 579, 580, 581, 592, 593, 594, 595, 600, 601, 602, 603, 606, 608, 609, 610, 612, 613, 615, 616, 617, 634, 635, 637, 638, 639, 641, 642, 644, 646, 647, 648, 649, 651, 652, 654, 655, 656, 669, 670, 671, 672, 677, 678, 679, 680, 684, 686, 687, 688, 690, 691, 693, 694, 695, 703, 704, 705, 706, 709, 710, 711, 712, 713, 714, 715, 724, 725, 726, 727, 730, 731, 732, 733, 734, 735, 736, 740, 741, 742, 743, 746, 748, 749, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 771, 772, 773, 782, 790, 791, 792, 793, 794, 797, 806, 807, 808, 810, 811, 812, 817, 818, 821, 822, 824, 825, 826, 828, 829, 832, 835, 876, 877, 878, 880, 881, 884, 890, 892, 894, 916, 990, 991, 994, 995, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1019, 1020, 1021, 1022, 1026, 1027, 1028, 1029, 1030, 1031, 1033, 1034, 1036, 1037, 1038, 1039, 1040, 1044, 1045, 1046, 1048, 1049, 1050, 1052, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1078, 1080, 1081, 1085, 1086, 1087, 1089, 1090, 1094, 1095, 1096, 1099, 1103, 1107, 1130, 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1140, 1141, 1142, 1143, 1144, 1147, 1148, 1150, 1151, 1153, 1155, 1156, 1158, 1159, 1160, 1164, 1165, 1168, 1169, 1171, 1172, 1173, 1174, 1175, 1176, 1186, 1196, 1197, 1198, 1199, 1202, 1203, 1204, 1205, 1206, 1209, 1215, 1216, 1222, 1227, 1228, 1235, 1236, 1242, 1244, 1246, 1247, 1248, 1249, 1250, 1261, 1262, 1264, 1265, 1267, 1268, 1272, 1273, 1277, 1278, 1280, 1281, 1284, 1285, 1286, 1288, 1289, 1290, 1291, 1293, 1294, 1305, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1328, 1331, 1338, 1339, 1340, 1348, 1349, 1350, 1351, 1354, 1356, 1358, 1359, 1361, 1362, 1363, 1371, 1372, 1373, 1374, 1375, 1380, 1382, 1385, 1387, 1388, 1394, 1395, 1397, 1398, 1401, 1415, 1416, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1435, 1436, 1437, 1438, 1447, 1448, 1449, 1451, 1452, 1454, 1455, 1456, 1457, 1458, 1459, 1462, 1463, 1464, 1466, 1467, 1469, 1470, 1471, 1472, 1473, 1474], "excluded_lines": [22, 23, 25], "functions": {"EntryManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [64, 65, 66, 69, 70, 72, 74], "excluded_lines": []}, "EntryManager.clear_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [78], "excluded_lines": []}, "EntryManager._load_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [81, 82, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 119, 120, 121], "excluded_lines": []}, "EntryManager._save_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [124, 125, 126, 127, 128, 129, 130], "excluded_lines": []}, "EntryManager.get_next_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [138, 139, 140, 141, 142, 144, 145, 146, 147, 148, 149, 150], "excluded_lines": []}, "EntryManager.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 36, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 36, "excluded_lines": 0}, "missing_lines": [183, 184, 185, 187, 188, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 222, 224, 228, 229, 230, 232, 233, 235, 237, 238, 239, 240], "excluded_lines": []}, "EntryManager.get_next_totp_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [244, 245, 246, 254], "excluded_lines": []}, "EntryManager.add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 297, 298, 299, 300, 301, 315, 317, 318, 319, 321, 322, 323, 324, 325], "excluded_lines": []}, "EntryManager.add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [343, 344, 346, 348, 349, 350, 352, 353, 354, 364, 365, 366, 367], "excluded_lines": []}, "EntryManager.get_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [372, 373, 374, 375, 376, 378, 380, 381], "excluded_lines": []}, "EntryManager.add_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [396, 397, 399, 400, 401, 403, 404, 406, 407, 408, 410, 411, 412, 424, 425, 426, 427], "excluded_lines": []}, "EntryManager.get_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [432, 433, 434, 435, 436, 438, 439, 440, 442, 443, 445, 446, 447, 448], "excluded_lines": []}, "EntryManager.add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [461, 462, 464, 465, 466, 468, 469, 470, 471, 472, 473, 474, 475, 477, 478, 479, 489, 490, 491, 492], "excluded_lines": []}, "EntryManager.add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [507, 509, 510, 511, 524, 525, 526, 527], "excluded_lines": []}, "EntryManager.get_nostr_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [532, 533, 534, 535, 538, 540, 541, 542, 544, 545, 547, 548, 549, 550, 551, 552], "excluded_lines": []}, "EntryManager.add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [566, 567, 569, 570, 571, 573, 574, 575, 576, 577, 579, 580, 581, 592, 593, 594, 595], "excluded_lines": []}, "EntryManager.get_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [600, 601, 602, 603, 606, 608, 609, 610, 612, 613, 615, 616, 617], "excluded_lines": []}, "EntryManager.add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [634, 635, 637, 638, 639, 641, 642, 644, 646, 647, 648, 649, 651, 652, 654, 655, 656, 669, 670, 671, 672], "excluded_lines": []}, "EntryManager.get_managed_account_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [677, 678, 679, 680, 684, 686, 687, 688, 690, 691, 693, 694, 695], "excluded_lines": []}, "EntryManager.get_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [703, 704, 705, 706, 709, 710, 711, 712, 713, 714, 715], "excluded_lines": []}, "EntryManager.get_totp_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [724, 725, 726, 727, 730, 731, 732, 733, 734, 735, 736], "excluded_lines": []}, "EntryManager.get_totp_time_remaining": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [740, 741, 742, 743, 746, 748, 749], "excluded_lines": []}, "EntryManager.export_totp_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 771, 772, 773, 782], "excluded_lines": []}, "EntryManager.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [790, 791, 792, 793, 794, 797], "excluded_lines": []}, "EntryManager.retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [806, 807, 808, 810, 811, 812, 817, 818, 821, 822, 824, 825, 826, 828, 829, 832, 835], "excluded_lines": []}, "EntryManager.modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 90, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 90, "excluded_lines": 0}, "missing_lines": [876, 877, 878, 880, 881, 884, 890, 892, 894, 916, 990, 991, 994, 995, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1019, 1020, 1021, 1022, 1026, 1027, 1028, 1029, 1030, 1031, 1033, 1034, 1036, 1037, 1038, 1039, 1040, 1044, 1045, 1046, 1048, 1049, 1050, 1052, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1078, 1080, 1081, 1085, 1086, 1087, 1089, 1090, 1094, 1095, 1096, 1099], "excluded_lines": []}, "EntryManager.archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1103], "excluded_lines": []}, "EntryManager.restore_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1107], "excluded_lines": []}, "EntryManager.list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 50, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [1130, 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1140, 1153, 1155, 1156, 1158, 1159, 1160, 1164, 1165, 1168, 1169, 1171, 1172, 1173, 1174, 1175, 1176, 1186, 1196, 1197, 1198, 1199, 1202, 1203, 1204, 1205, 1206, 1209, 1215, 1216, 1222, 1227, 1228, 1235, 1236, 1242, 1244, 1246, 1247, 1248, 1249, 1250], "excluded_lines": []}, "EntryManager.list_entries.sort_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1141, 1142, 1143, 1144, 1147, 1148, 1150, 1151], "excluded_lines": []}, "EntryManager.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1261, 1262, 1264, 1265, 1267, 1268, 1272, 1273, 1277, 1278, 1280, 1281, 1284, 1285, 1286, 1288, 1289, 1290, 1291, 1293, 1294, 1305], "excluded_lines": []}, "EntryManager.delete_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1328, 1331, 1338, 1339, 1340], "excluded_lines": []}, "EntryManager.update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [1348, 1349, 1350, 1351, 1354, 1356, 1358, 1359, 1361, 1362, 1363], "excluded_lines": []}, "EntryManager.restore_from_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [1371, 1372, 1373, 1374, 1375, 1380, 1382, 1385, 1387, 1388, 1394, 1395, 1397, 1398, 1401], "excluded_lines": []}, "EntryManager.list_all_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [1415, 1416, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1435, 1436, 1437, 1438], "excluded_lines": []}, "EntryManager.get_entry_summaries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 0}, "missing_lines": [1447, 1448, 1449, 1451, 1452, 1454, 1455, 1456, 1457, 1458, 1459, 1462, 1463, 1464, 1466, 1467, 1469, 1470, 1471, 1472, 1473, 1474], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 48, 49, 50, 53, 56, 57, 76, 80, 123, 132, 152, 242, 256, 327, 369, 383, 429, 450, 494, 529, 554, 597, 619, 674, 697, 717, 738, 751, 784, 799, 837, 1101, 1105, 1109, 1252, 1307, 1344, 1365, 1407, 1440], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}, "classes": {"EntryManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 610, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 610, "excluded_lines": 0}, "missing_lines": [64, 65, 66, 69, 70, 72, 74, 78, 81, 82, 84, 85, 86, 88, 89, 90, 91, 92, 93, 94, 95, 96, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 116, 119, 120, 121, 124, 125, 126, 127, 128, 129, 130, 138, 139, 140, 141, 142, 144, 145, 146, 147, 148, 149, 150, 183, 184, 185, 187, 188, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 222, 224, 228, 229, 230, 232, 233, 235, 237, 238, 239, 240, 244, 245, 246, 254, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 297, 298, 299, 300, 301, 315, 317, 318, 319, 321, 322, 323, 324, 325, 343, 344, 346, 348, 349, 350, 352, 353, 354, 364, 365, 366, 367, 372, 373, 374, 375, 376, 378, 380, 381, 396, 397, 399, 400, 401, 403, 404, 406, 407, 408, 410, 411, 412, 424, 425, 426, 427, 432, 433, 434, 435, 436, 438, 439, 440, 442, 443, 445, 446, 447, 448, 461, 462, 464, 465, 466, 468, 469, 470, 471, 472, 473, 474, 475, 477, 478, 479, 489, 490, 491, 492, 507, 509, 510, 511, 524, 525, 526, 527, 532, 533, 534, 535, 538, 540, 541, 542, 544, 545, 547, 548, 549, 550, 551, 552, 566, 567, 569, 570, 571, 573, 574, 575, 576, 577, 579, 580, 581, 592, 593, 594, 595, 600, 601, 602, 603, 606, 608, 609, 610, 612, 613, 615, 616, 617, 634, 635, 637, 638, 639, 641, 642, 644, 646, 647, 648, 649, 651, 652, 654, 655, 656, 669, 670, 671, 672, 677, 678, 679, 680, 684, 686, 687, 688, 690, 691, 693, 694, 695, 703, 704, 705, 706, 709, 710, 711, 712, 713, 714, 715, 724, 725, 726, 727, 730, 731, 732, 733, 734, 735, 736, 740, 741, 742, 743, 746, 748, 749, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 771, 772, 773, 782, 790, 791, 792, 793, 794, 797, 806, 807, 808, 810, 811, 812, 817, 818, 821, 822, 824, 825, 826, 828, 829, 832, 835, 876, 877, 878, 880, 881, 884, 890, 892, 894, 916, 990, 991, 994, 995, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1019, 1020, 1021, 1022, 1026, 1027, 1028, 1029, 1030, 1031, 1033, 1034, 1036, 1037, 1038, 1039, 1040, 1044, 1045, 1046, 1048, 1049, 1050, 1052, 1053, 1054, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1078, 1080, 1081, 1085, 1086, 1087, 1089, 1090, 1094, 1095, 1096, 1099, 1103, 1107, 1130, 1131, 1132, 1134, 1135, 1136, 1137, 1138, 1140, 1141, 1142, 1143, 1144, 1147, 1148, 1150, 1151, 1153, 1155, 1156, 1158, 1159, 1160, 1164, 1165, 1168, 1169, 1171, 1172, 1173, 1174, 1175, 1176, 1186, 1196, 1197, 1198, 1199, 1202, 1203, 1204, 1205, 1206, 1209, 1215, 1216, 1222, 1227, 1228, 1235, 1236, 1242, 1244, 1246, 1247, 1248, 1249, 1250, 1261, 1262, 1264, 1265, 1267, 1268, 1272, 1273, 1277, 1278, 1280, 1281, 1284, 1285, 1286, 1288, 1289, 1290, 1291, 1293, 1294, 1305, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1328, 1331, 1338, 1339, 1340, 1348, 1349, 1350, 1351, 1354, 1356, 1358, 1359, 1361, 1362, 1363, 1371, 1372, 1373, 1374, 1375, 1380, 1382, 1385, 1387, 1388, 1394, 1395, 1397, 1398, 1401, 1415, 1416, 1421, 1422, 1423, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1435, 1436, 1437, 1438, 1447, 1448, 1449, 1451, 1452, 1454, 1455, 1456, 1457, 1458, 1459, 1462, 1463, 1464, 1466, 1467, 1469, 1470, 1471, 1472, 1473, 1474], "excluded_lines": []}, "": {"executed_lines": [3, 18, 19, 21, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40, 48, 49, 50, 53, 56, 57, 76, 80, 123, 132, 152, 242, 256, 327, 369, 383, 429, 450, 494, 529, 554, 597, 619, 674, 697, 717, 738, 751, 784, 799, 837, 1101, 1105, 1109, 1252, 1307, 1344, 1365, 1407, 1440], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [22, 23, 25]}}}, "src/seedpass/core/entry_service.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 114, "percent_covered": 9.649122807017545, "percent_covered_display": "10", "missing_lines": 103, "excluded_lines": 8}, "missing_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [17, 18, 95, 96, 239, 240, 241, 242], "functions": {"EntryService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [25], "excluded_lines": []}, "EntryService.handle_add_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 4}, "missing_lines": [28, 29, 30, 31, 39, 64, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [239, 240, 241, 242]}, "EntryService.handle_add_password.prompt_length": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62], "excluded_lines": []}, "EntryService.handle_add_password.finalize_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 2}, "missing_lines": [65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100], "excluded_lines": [95, 96]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}, "classes": {"EntryService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 6}, "missing_lines": [25, 28, 29, 30, 31, 39, 40, 41, 44, 45, 46, 47, 52, 53, 54, 55, 61, 62, 64, 65, 66, 68, 69, 71, 77, 78, 81, 88, 90, 91, 92, 100, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 119, 120, 122, 123, 124, 127, 128, 129, 131, 139, 140, 142, 143, 144, 150, 151, 152, 153, 154, 155, 156, 157, 158, 162, 164, 167, 168, 169, 171, 174, 175, 177, 178, 179, 181, 184, 185, 186, 188, 191, 192, 193, 194, 196, 199, 200, 201, 202, 204, 205, 206, 207, 208, 210, 213, 214, 215, 216, 218, 237], "excluded_lines": [95, 96, 239, 240, 241, 242]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 14, 15, 17, 21, 22, 24, 27], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [17, 18]}}}, "src/seedpass/core/entry_types.py": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 21], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 21], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"EntryType": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 21], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/errors.py": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": [], "functions": {"SeedPassError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"SeedPassError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [19], "excluded_lines": []}, "DecryptionError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 11, 12, 15, 16, 18, 22, 23, 30], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/manager.py": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 52, 53, 60, 66, 67, 68, 69, 75, 76, 77, 78, 79, 81, 94, 95, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 112, 113, 114, 115, 118, 121, 122, 124, 141, 158, 164, 189, 190, 191, 193, 194, 197, 200, 201, 206, 209, 210, 212, 218, 227, 228, 237, 238, 239, 240, 241, 242, 244, 327, 328, 339, 340, 345, 355, 369, 386, 387, 391, 392, 398, 399, 407, 408, 422, 423, 432, 441, 450, 465, 477, 478, 483, 484, 489, 490, 497, 505, 551, 565, 577, 621, 667, 700, 794, 839, 840, 841, 844, 845, 875, 876, 900, 901, 987, 988, 1032, 1071, 1077, 1169, 1170, 1251, 1271, 1292, 1293, 1365, 1395, 1537, 1651, 1654, 1685, 1693, 1722, 1750, 1813, 1816, 1824, 1835, 1861, 1890, 1891, 1894, 1895, 2036, 2037, 2094, 2095, 2164, 2165, 2232, 2233, 2292, 2293, 2374, 2375, 2437, 2464, 2481, 2488, 2511, 2604, 2682, 2745, 3165, 3166, 3200, 3201, 3638, 3639, 3696, 3848, 3849, 3852, 3889, 3890, 3908, 3909, 3986, 3987, 3990, 3991, 4030, 4031, 4059, 4079, 4100, 4145, 4150, 4161, 4176, 4177, 4219, 4220, 4302, 4303, 4373, 4374, 4470, 4515, 4532, 4573, 4648, 4720], "summary": {"covered_lines": 222, "num_statements": 2703, "percent_covered": 8.213096559378469, "percent_covered_display": "8", "missing_lines": 2481, "excluded_lines": 32}, "missing_lines": [125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 148, 149, 152, 153, 154, 155, 160, 161, 174, 175, 176, 177, 180, 182, 183, 185, 186, 202, 203, 204, 215, 216, 220, 221, 222, 223, 224, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 277, 278, 279, 280, 281, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 304, 305, 306, 309, 310, 311, 314, 316, 318, 321, 323, 333, 334, 335, 343, 348, 349, 350, 351, 352, 353, 357, 363, 364, 365, 366, 367, 371, 372, 373, 374, 375, 376, 377, 378, 389, 394, 395, 396, 400, 401, 402, 403, 405, 410, 411, 412, 413, 414, 417, 418, 419, 420, 425, 426, 427, 428, 429, 430, 434, 435, 436, 437, 438, 439, 443, 444, 445, 446, 447, 448, 452, 453, 454, 455, 456, 458, 462, 463, 467, 468, 469, 470, 471, 472, 473, 474, 475, 479, 480, 481, 485, 486, 487, 491, 492, 493, 494, 495, 499, 500, 501, 502, 503, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 536, 541, 542, 543, 546, 547, 548, 549, 555, 556, 557, 558, 559, 560, 563, 569, 570, 572, 575, 581, 582, 583, 586, 587, 588, 590, 591, 592, 597, 598, 600, 602, 603, 604, 605, 607, 608, 610, 613, 614, 616, 617, 618, 619, 626, 627, 634, 635, 636, 637, 638, 639, 641, 642, 644, 645, 648, 649, 657, 658, 660, 662, 663, 664, 665, 670, 671, 672, 675, 676, 682, 686, 688, 689, 690, 697, 698, 709, 710, 711, 712, 713, 714, 716, 721, 726, 727, 729, 730, 731, 733, 734, 735, 736, 737, 738, 739, 741, 744, 745, 746, 747, 752, 753, 754, 755, 757, 758, 759, 760, 761, 762, 764, 765, 766, 767, 768, 770, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 799, 800, 802, 803, 805, 806, 811, 816, 817, 818, 819, 820, 822, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 842, 847, 848, 850, 851, 852, 853, 855, 859, 860, 861, 863, 864, 865, 866, 867, 869, 870, 871, 872, 873, 878, 879, 880, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 894, 895, 896, 897, 898, 906, 907, 908, 911, 912, 915, 916, 917, 923, 927, 928, 929, 934, 936, 937, 938, 939, 941, 942, 943, 946, 947, 948, 951, 956, 960, 961, 962, 963, 964, 965, 966, 967, 970, 975, 976, 977, 978, 980, 981, 982, 983, 984, 985, 993, 995, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1025, 1026, 1029, 1030, 1052, 1053, 1054, 1055, 1056, 1058, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1075, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1093, 1094, 1095, 1096, 1102, 1106, 1109, 1110, 1113, 1115, 1116, 1117, 1118, 1119, 1120, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1133, 1137, 1138, 1139, 1141, 1146, 1147, 1149, 1150, 1152, 1153, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1165, 1166, 1167, 1177, 1178, 1179, 1180, 1182, 1184, 1185, 1186, 1187, 1188, 1189, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1203, 1204, 1205, 1206, 1212, 1214, 1217, 1218, 1221, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1233, 1234, 1235, 1238, 1239, 1240, 1241, 1243, 1244, 1246, 1248, 1249, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1303, 1304, 1305, 1309, 1313, 1314, 1315, 1318, 1320, 1321, 1323, 1324, 1325, 1326, 1331, 1335, 1336, 1338, 1342, 1347, 1348, 1350, 1351, 1353, 1354, 1358, 1359, 1360, 1361, 1362, 1363, 1369, 1370, 1371, 1372, 1373, 1374, 1376, 1379, 1380, 1381, 1384, 1386, 1387, 1389, 1390, 1391, 1392, 1393, 1400, 1402, 1403, 1406, 1409, 1413, 1414, 1419, 1420, 1421, 1427, 1428, 1431, 1432, 1433, 1435, 1440, 1441, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1469, 1470, 1471, 1472, 1473, 1474, 1485, 1488, 1490, 1491, 1492, 1499, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1516, 1523, 1530, 1532, 1533, 1534, 1535, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1553, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1604, 1610, 1611, 1616, 1623, 1629, 1630, 1631, 1632, 1633, 1638, 1639, 1642, 1647, 1648, 1649, 1652, 1656, 1657, 1658, 1659, 1660, 1663, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1674, 1675, 1676, 1677, 1680, 1681, 1683, 1687, 1688, 1689, 1690, 1691, 1695, 1700, 1702, 1703, 1704, 1707, 1708, 1709, 1714, 1715, 1716, 1717, 1719, 1720, 1724, 1725, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1737, 1738, 1739, 1740, 1743, 1744, 1745, 1746, 1748, 1757, 1758, 1760, 1761, 1762, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1807, 1808, 1809, 1811, 1814, 1822, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1837, 1838, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1859, 1863, 1864, 1866, 1867, 1868, 1869, 1871, 1872, 1873, 1875, 1876, 1877, 1878, 1879, 1880, 1882, 1885, 1887, 1888, 1892, 1897, 1898, 1899, 1900, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1922, 1923, 1924, 1927, 1932, 1933, 1934, 1939, 1949, 1950, 1951, 1953, 1954, 1955, 1956, 1957, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1983, 1984, 1985, 1986, 1987, 1988, 1991, 1996, 1997, 2007, 2008, 2009, 2015, 2016, 2017, 2018, 2019, 2023, 2024, 2025, 2026, 2027, 2028, 2030, 2031, 2032, 2033, 2034, 2039, 2040, 2041, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2059, 2062, 2065, 2066, 2068, 2071, 2072, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2088, 2089, 2090, 2091, 2092, 2097, 2098, 2099, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2118, 2119, 2120, 2121, 2122, 2125, 2126, 2127, 2129, 2132, 2133, 2135, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2150, 2151, 2152, 2153, 2154, 2158, 2159, 2160, 2161, 2162, 2167, 2168, 2169, 2176, 2177, 2178, 2179, 2180, 2184, 2185, 2186, 2187, 2192, 2200, 2203, 2204, 2206, 2209, 2210, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2226, 2227, 2228, 2229, 2230, 2235, 2236, 2237, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2255, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2272, 2273, 2274, 2275, 2278, 2279, 2280, 2286, 2287, 2288, 2289, 2290, 2295, 2296, 2297, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2337, 2345, 2346, 2348, 2349, 2350, 2351, 2352, 2353, 2360, 2361, 2362, 2368, 2369, 2370, 2371, 2372, 2377, 2378, 2379, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2397, 2400, 2401, 2402, 2403, 2409, 2410, 2411, 2412, 2419, 2420, 2421, 2423, 2424, 2425, 2431, 2432, 2433, 2434, 2435, 2439, 2440, 2441, 2442, 2444, 2445, 2453, 2455, 2457, 2458, 2459, 2460, 2461, 2462, 2466, 2467, 2472, 2473, 2474, 2475, 2477, 2478, 2479, 2483, 2484, 2485, 2486, 2492, 2493, 2494, 2496, 2497, 2498, 2500, 2501, 2505, 2506, 2507, 2509, 2513, 2514, 2515, 2522, 2523, 2524, 2525, 2526, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2539, 2541, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2567, 2568, 2569, 2570, 2573, 2574, 2575, 2576, 2577, 2578, 2584, 2587, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2601, 2602, 2606, 2607, 2608, 2609, 2616, 2617, 2618, 2619, 2620, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2677, 2679, 2680, 2685, 2687, 2688, 2689, 2690, 2692, 2696, 2697, 2699, 2700, 2701, 2703, 2704, 2705, 2706, 2713, 2714, 2715, 2716, 2721, 2722, 2724, 2728, 2729, 2730, 2731, 2732, 2733, 2735, 2736, 2737, 2738, 2740, 2756, 2758, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2819, 2821, 2822, 2823, 2824, 2827, 2828, 2829, 2830, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2852, 2853, 2857, 2859, 2860, 2861, 2862, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2887, 2888, 2889, 2890, 2892, 2893, 2894, 2895, 2896, 2902, 2906, 2908, 2909, 2910, 2911, 2914, 2915, 2916, 2917, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2938, 2942, 2944, 2945, 2946, 2947, 2948, 2951, 2952, 2953, 2954, 2955, 2956, 2963, 2964, 2965, 2966, 2967, 2968, 2972, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2990, 2991, 2992, 2999, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3021, 3028, 3029, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3049, 3056, 3057, 3060, 3061, 3062, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3078, 3079, 3080, 3081, 3082, 3083, 3085, 3091, 3092, 3093, 3094, 3095, 3096, 3101, 3103, 3104, 3105, 3106, 3113, 3119, 3120, 3121, 3122, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3153, 3160, 3162, 3163, 3168, 3169, 3170, 3177, 3180, 3181, 3182, 3183, 3184, 3186, 3187, 3188, 3189, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3206, 3207, 3208, 3215, 3218, 3219, 3220, 3221, 3224, 3225, 3226, 3228, 3230, 3231, 3232, 3233, 3234, 3235, 3237, 3243, 3244, 3245, 3251, 3255, 3258, 3259, 3260, 3261, 3263, 3267, 3270, 3271, 3272, 3273, 3275, 3279, 3286, 3287, 3288, 3289, 3290, 3291, 3293, 3297, 3299, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3320, 3323, 3329, 3339, 3340, 3341, 3342, 3344, 3350, 3356, 3360, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3378, 3380, 3387, 3390, 3396, 3403, 3407, 3408, 3409, 3410, 3412, 3418, 3424, 3430, 3434, 3435, 3439, 3440, 3444, 3451, 3452, 3453, 3454, 3455, 3456, 3458, 3462, 3464, 3471, 3472, 3473, 3474, 3475, 3476, 3479, 3480, 3481, 3482, 3483, 3487, 3490, 3496, 3504, 3505, 3507, 3512, 3513, 3514, 3515, 3516, 3518, 3524, 3525, 3526, 3527, 3534, 3541, 3547, 3553, 3560, 3561, 3562, 3563, 3564, 3565, 3567, 3571, 3573, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3594, 3597, 3603, 3615, 3616, 3618, 3621, 3622, 3623, 3626, 3627, 3632, 3634, 3635, 3636, 3641, 3642, 3643, 3650, 3651, 3652, 3653, 3654, 3656, 3657, 3658, 3659, 3660, 3662, 3663, 3664, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3679, 3682, 3683, 3684, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3698, 3699, 3700, 3702, 3703, 3704, 3705, 3706, 3709, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3762, 3763, 3764, 3765, 3768, 3769, 3770, 3771, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3827, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3846, 3850, 3854, 3855, 3858, 3859, 3860, 3861, 3863, 3866, 3867, 3869, 3872, 3873, 3876, 3877, 3878, 3879, 3880, 3885, 3886, 3887, 3892, 3893, 3896, 3897, 3898, 3899, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3911, 3913, 3916, 3919, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3940, 3941, 3942, 3943, 3946, 3947, 3948, 3951, 3952, 3953, 3954, 3955, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3981, 3982, 3983, 3984, 3988, 3995, 3996, 3997, 4004, 4005, 4006, 4007, 4008, 4012, 4013, 4015, 4016, 4017, 4019, 4025, 4026, 4027, 4028, 4033, 4034, 4035, 4036, 4037, 4038, 4045, 4046, 4047, 4054, 4055, 4056, 4057, 4065, 4066, 4067, 4068, 4069, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4085, 4086, 4087, 4088, 4089, 4092, 4098, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4117, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4135, 4136, 4141, 4142, 4143, 4148, 4154, 4155, 4156, 4157, 4158, 4159, 4165, 4166, 4167, 4172, 4173, 4174, 4189, 4190, 4191, 4198, 4199, 4202, 4209, 4210, 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4223, 4224, 4230, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4243, 4244, 4252, 4253, 4259, 4260, 4261, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4280, 4282, 4283, 4284, 4285, 4286, 4289, 4290, 4291, 4292, 4293, 4296, 4297, 4299, 4300, 4305, 4306, 4307, 4308, 4315, 4316, 4318, 4319, 4320, 4321, 4322, 4323, 4324, 4325, 4327, 4328, 4329, 4330, 4331, 4341, 4342, 4343, 4345, 4348, 4350, 4352, 4353, 4354, 4355, 4358, 4359, 4360, 4361, 4363, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4386, 4387, 4388, 4395, 4396, 4400, 4406, 4407, 4410, 4411, 4412, 4415, 4418, 4419, 4422, 4423, 4424, 4431, 4432, 4433, 4434, 4436, 4439, 4440, 4443, 4444, 4446, 4447, 4448, 4449, 4451, 4454, 4460, 4461, 4462, 4465, 4466, 4467, 4468, 4480, 4481, 4482, 4483, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4495, 4496, 4497, 4499, 4500, 4501, 4502, 4503, 4509, 4510, 4511, 4512, 4513, 4526, 4527, 4528, 4529, 4530, 4537, 4538, 4539, 4540, 4543, 4544, 4549, 4550, 4551, 4553, 4554, 4555, 4556, 4558, 4559, 4564, 4565, 4568, 4569, 4570, 4571, 4575, 4576, 4577, 4578, 4581, 4582, 4585, 4587, 4588, 4591, 4593, 4595, 4596, 4597, 4598, 4599, 4602, 4603, 4604, 4606, 4607, 4608, 4610, 4611, 4621, 4624, 4626, 4627, 4628, 4637, 4638, 4639, 4640, 4641, 4644, 4645, 4646, 4650, 4651, 4653, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663, 4666, 4667, 4668, 4669, 4670, 4671, 4672, 4674, 4675, 4676, 4679, 4680, 4681, 4682, 4683, 4685, 4686, 4687, 4689, 4692, 4693, 4694, 4695, 4698, 4701, 4702, 4703, 4708, 4709, 4710, 4711, 4712, 4714, 4715, 4716, 4718, 4722, 4723, 4724, 4725, 4727, 4728, 4729, 4730, 4731, 4732, 4738, 4739, 4744, 4745, 4751, 4757, 4758, 4759, 4760], "excluded_lines": [1804, 1805, 1832, 1833, 2221, 2222, 2281, 2282, 2363, 2364, 2426, 2427, 2741, 2742, 2743, 2816, 2817, 2818, 2854, 2855, 2856, 2903, 2904, 2905, 2939, 2940, 2941, 2969, 2970, 2971, 3772, 3773], "functions": {"AuditLogger.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139], "excluded_lines": []}, "AuditLogger.log": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [142, 143, 148, 149, 152, 153, 154, 155], "excluded_lines": []}, "calculate_profile_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [160, 161], "excluded_lines": []}, "restore_backup_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [174, 175, 176, 177, 180, 182, 183, 185, 186], "excluded_lines": []}, "requires_unlocked": {"executed_lines": [200, 201, 206], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "requires_unlocked.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [202, 203, 204], "excluded_lines": []}, "AuthGuard.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [215, 216], "excluded_lines": []}, "AuthGuard.check_timeout": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [220, 221, 222, 223, 224], "excluded_lines": []}, "PasswordManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 55, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 55, "excluded_lines": 0}, "missing_lines": [254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 277, 278, 279, 280, 281, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 304, 305, 306, 309, 310, 311, 314, 316, 318, 321, 323], "excluded_lines": []}, "PasswordManager.get_bip85_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [333, 334, 335], "excluded_lines": []}, "PasswordManager.clear_bip85_cache": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [343], "excluded_lines": []}, "PasswordManager.derive_key_hierarchy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [348, 349, 350, 351, 352, 353], "excluded_lines": []}, "PasswordManager.ensure_key_hierarchy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [357, 363, 364, 365, 366, 367], "excluded_lines": []}, "PasswordManager.ensure_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [371, 372, 373, 374, 375, 376, 377, 378], "excluded_lines": []}, "PasswordManager.get_password_prompt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [389], "excluded_lines": []}, "PasswordManager.parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [400, 401, 402, 403, 405], "excluded_lines": []}, "PasswordManager.header_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [410, 411, 412, 413, 414, 417, 418, 419, 420], "excluded_lines": []}, "PasswordManager.header_fingerprint_args": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [425, 426, 427, 428, 429, 430], "excluded_lines": []}, "PasswordManager.update_activity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [434, 435, 436, 437, 438, 439], "excluded_lines": []}, "PasswordManager.notify": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [443, 444, 445, 446, 447, 448], "excluded_lines": []}, "PasswordManager.get_current_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [452, 453, 454, 455, 456, 458, 462, 463], "excluded_lines": []}, "PasswordManager.poll_background_errors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [467, 468, 469, 470, 471, 472, 473, 474, 475], "excluded_lines": []}, "PasswordManager.menu_handler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [479, 480, 481], "excluded_lines": []}, "PasswordManager.profile_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [485, 486, 487], "excluded_lines": []}, "PasswordManager.entry_service": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [491, 492, 493, 494, 495], "excluded_lines": []}, "PasswordManager.lock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [499, 500, 501, 502, 503], "excluded_lines": []}, "PasswordManager.unlock_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 536, 541, 542, 543, 546, 547, 548, 549], "excluded_lines": []}, "PasswordManager.initialize_fingerprint_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [555, 556, 557, 558, 559, 560, 563], "excluded_lines": []}, "PasswordManager.setup_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [569, 570, 572, 575], "excluded_lines": []}, "PasswordManager.select_or_add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [581, 582, 583, 586, 587, 588, 590, 591, 592, 597, 598, 600, 602, 603, 604, 605, 607, 608, 610, 613, 614, 616, 617, 618, 619], "excluded_lines": []}, "PasswordManager.add_new_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [626, 627, 634, 635, 636, 637, 638, 639, 641, 642, 644, 645, 648, 649, 657, 658, 660, 662, 663, 664, 665], "excluded_lines": []}, "PasswordManager.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [670, 671, 672, 675, 676, 682, 686, 688, 689, 690, 697, 698], "excluded_lines": []}, "PasswordManager.setup_encryption_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [709, 710, 711, 712, 713, 714, 716, 721, 726, 727, 729, 730, 731, 733, 734, 735, 736, 737, 738, 739, 741, 744, 745, 746, 747, 752, 753, 754, 755, 757, 758, 759, 760, 761, 762, 764, 765, 766, 767, 768, 770, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792], "excluded_lines": []}, "PasswordManager.load_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 0}, "missing_lines": [799, 800, 802, 803, 805, 806, 811, 816, 817, 818, 819, 820, 822, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837], "excluded_lines": []}, "PasswordManager.handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [842], "excluded_lines": []}, "PasswordManager.load_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [847, 848, 850, 851, 852, 853, 855, 859, 860, 861, 863, 864, 865, 866, 867, 869, 870, 871, 872, 873], "excluded_lines": []}, "PasswordManager.exit_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [878, 879, 880, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 894, 895, 896, 897, 898], "excluded_lines": []}, "PasswordManager.handle_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 0}, "missing_lines": [906, 907, 908, 911, 912, 915, 916, 917, 923, 927, 928, 929, 934, 936, 937, 938, 939, 941, 942, 943, 946, 947, 948, 951, 956, 960, 961, 962, 963, 964, 965, 966, 967, 970, 975, 976, 977, 978, 980, 981, 982, 983, 984, 985], "excluded_lines": []}, "PasswordManager.handle_new_seed_setup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [993, 995, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1025, 1026, 1029, 1030], "excluded_lines": []}, "PasswordManager.setup_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [1052, 1053, 1054, 1055, 1056, 1058, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069], "excluded_lines": []}, "PasswordManager.setup_existing_seed_word_by_word": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1075], "excluded_lines": []}, "PasswordManager._finalize_existing_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 53, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 53, "excluded_lines": 0}, "missing_lines": [1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1093, 1094, 1095, 1096, 1102, 1106, 1109, 1110, 1113, 1115, 1116, 1117, 1118, 1119, 1120, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1133, 1137, 1138, 1139, 1141, 1146, 1147, 1149, 1150, 1152, 1153, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1165, 1166, 1167], "excluded_lines": []}, "PasswordManager.generate_new_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 48, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 48, "excluded_lines": 0}, "missing_lines": [1177, 1178, 1179, 1180, 1182, 1184, 1185, 1186, 1187, 1188, 1189, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1203, 1204, 1205, 1206, 1212, 1214, 1217, 1218, 1221, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1233, 1234, 1235, 1238, 1239, 1240, 1241, 1243, 1244, 1246, 1248, 1249], "excluded_lines": []}, "PasswordManager.validate_bip85_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269], "excluded_lines": []}, "PasswordManager.generate_bip85_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290], "excluded_lines": []}, "PasswordManager.save_and_encrypt_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [1303, 1304, 1305, 1309, 1313, 1314, 1315, 1318, 1320, 1321, 1323, 1324, 1325, 1326, 1331, 1335, 1336, 1338, 1342, 1347, 1348, 1350, 1351, 1353, 1354, 1358, 1359, 1360, 1361, 1362, 1363], "excluded_lines": []}, "PasswordManager.initialize_bip85": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1369, 1370, 1371, 1372, 1373, 1374, 1376, 1386, 1387, 1389, 1390, 1391, 1392, 1393], "excluded_lines": []}, "PasswordManager.initialize_bip85.cached_derive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [1379, 1380, 1381, 1384], "excluded_lines": []}, "PasswordManager.initialize_managers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 0}, "missing_lines": [1400, 1402, 1403, 1406, 1409, 1413, 1414, 1419, 1420, 1421, 1427, 1428, 1431, 1432, 1433, 1435, 1440, 1441, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1469, 1470, 1471, 1472, 1473, 1474, 1485, 1488, 1490, 1491, 1492, 1499, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1516, 1523, 1530, 1532, 1533, 1534, 1535], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 59, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1553, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1604, 1610, 1611, 1616, 1623, 1629, 1630, 1631, 1632, 1633, 1638, 1639, 1642, 1647, 1648, 1649], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1652], "excluded_lines": []}, "PasswordManager.start_background_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [1656, 1657, 1658, 1659, 1660, 1663, 1665, 1674, 1675, 1676, 1677, 1680, 1681, 1683], "excluded_lines": []}, "PasswordManager.start_background_sync._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [1666, 1667, 1668, 1669, 1670, 1671, 1672], "excluded_lines": []}, "PasswordManager.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1687, 1688, 1689, 1690, 1691], "excluded_lines": []}, "PasswordManager.start_background_relay_check": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [1695, 1700, 1702, 1719, 1720], "excluded_lines": []}, "PasswordManager.start_background_relay_check._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [1703, 1704, 1707, 1708, 1709, 1714, 1715, 1716, 1717], "excluded_lines": []}, "PasswordManager.start_background_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [1724, 1725, 1727, 1737, 1738, 1739, 1740, 1743, 1744, 1745, 1746, 1748], "excluded_lines": []}, "PasswordManager.start_background_vault_sync._worker": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735], "excluded_lines": []}, "PasswordManager.attempt_initial_sync_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 2}, "missing_lines": [1757, 1758, 1760, 1761, 1762, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1807, 1808, 1809, 1811], "excluded_lines": [1804, 1805]}, "PasswordManager.attempt_initial_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1814], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1822], "excluded_lines": []}, "PasswordManager.sync_index_from_nostr_if_missing_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [1825, 1826, 1827, 1828, 1829, 1830, 1831], "excluded_lines": [1832, 1833]}, "PasswordManager.check_nostr_backup_exists": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [1837, 1838, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1859], "excluded_lines": []}, "PasswordManager.restore_from_nostr_with_guidance": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [1863, 1864, 1866, 1867, 1868, 1869, 1871, 1872, 1873, 1875, 1876, 1877, 1878, 1879, 1880, 1882, 1885, 1887, 1888], "excluded_lines": []}, "PasswordManager.handle_add_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [1892], "excluded_lines": []}, "PasswordManager.handle_add_totp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 76, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 76, "excluded_lines": 0}, "missing_lines": [1897, 1898, 1899, 1900, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1922, 1923, 1924, 1927, 1932, 1933, 1934, 1939, 1949, 1950, 1951, 1953, 1954, 1955, 1956, 1957, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1983, 1984, 1985, 1986, 1987, 1988, 1991, 1996, 1997, 2007, 2008, 2009, 2015, 2016, 2017, 2018, 2019, 2023, 2024, 2025, 2026, 2027, 2028, 2030, 2031, 2032, 2033, 2034], "excluded_lines": []}, "PasswordManager.handle_add_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 0}, "missing_lines": [2039, 2040, 2041, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2059, 2062, 2065, 2066, 2068, 2071, 2072, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2088, 2089, 2090, 2091, 2092], "excluded_lines": []}, "PasswordManager.handle_add_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [2097, 2098, 2099, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2118, 2119, 2120, 2121, 2122, 2125, 2126, 2127, 2129, 2132, 2133, 2135, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2150, 2151, 2152, 2153, 2154, 2158, 2159, 2160, 2161, 2162], "excluded_lines": []}, "PasswordManager.handle_add_pgp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 2}, "missing_lines": [2167, 2168, 2169, 2176, 2177, 2178, 2179, 2180, 2184, 2185, 2186, 2187, 2192, 2200, 2203, 2204, 2206, 2209, 2210, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2226, 2227, 2228, 2229, 2230], "excluded_lines": [2221, 2222]}, "PasswordManager.handle_add_nostr_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 2}, "missing_lines": [2235, 2236, 2237, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2255, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2272, 2273, 2274, 2275, 2278, 2279, 2280, 2286, 2287, 2288, 2289, 2290], "excluded_lines": [2281, 2282]}, "PasswordManager.handle_add_key_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 2}, "missing_lines": [2295, 2296, 2297, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2337, 2345, 2346, 2348, 2349, 2350, 2351, 2352, 2353, 2360, 2361, 2362, 2368, 2369, 2370, 2371, 2372], "excluded_lines": [2363, 2364]}, "PasswordManager.handle_add_managed_account": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 2}, "missing_lines": [2377, 2378, 2379, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2397, 2400, 2401, 2402, 2403, 2409, 2410, 2411, 2412, 2419, 2420, 2421, 2423, 2424, 2425, 2431, 2432, 2433, 2434, 2435], "excluded_lines": [2426, 2427]}, "PasswordManager.show_entry_details_by_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [2439, 2440, 2441, 2442, 2444, 2445, 2453, 2455, 2457, 2458, 2459, 2460, 2461, 2462], "excluded_lines": []}, "PasswordManager._prompt_toggle_archive": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [2466, 2467, 2472, 2473, 2474, 2475, 2477, 2478, 2479], "excluded_lines": []}, "PasswordManager._entry_type_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [2483, 2484, 2485, 2486], "excluded_lines": []}, "PasswordManager._generate_password_for_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [2492, 2493, 2494, 2496, 2497, 2498, 2500, 2501, 2505, 2506, 2507, 2509], "excluded_lines": []}, "PasswordManager._entry_actions_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 61, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 61, "excluded_lines": 0}, "missing_lines": [2513, 2514, 2515, 2522, 2523, 2524, 2525, 2526, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2539, 2541, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2567, 2568, 2569, 2570, 2573, 2574, 2575, 2576, 2577, 2578, 2584, 2587, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2601, 2602], "excluded_lines": []}, "PasswordManager._entry_edit_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 62, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 62, "excluded_lines": 0}, "missing_lines": [2606, 2607, 2608, 2609, 2616, 2617, 2618, 2619, 2620, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2677, 2679, 2680], "excluded_lines": []}, "PasswordManager._entry_qr_menu": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 3}, "missing_lines": [2685, 2687, 2688, 2689, 2690, 2692, 2696, 2697, 2699, 2700, 2701, 2703, 2704, 2705, 2706, 2713, 2714, 2715, 2716, 2721, 2722, 2724, 2728, 2729, 2730, 2731, 2732, 2733, 2735, 2736, 2737, 2738, 2740], "excluded_lines": [2741, 2742, 2743]}, "PasswordManager.display_sensitive_entry_info": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 257, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 257, "excluded_lines": 15}, "missing_lines": [2756, 2758, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2819, 2821, 2822, 2823, 2824, 2827, 2828, 2829, 2830, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2852, 2853, 2857, 2859, 2860, 2861, 2862, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2887, 2888, 2889, 2890, 2892, 2893, 2894, 2895, 2896, 2902, 2906, 2908, 2909, 2910, 2911, 2914, 2915, 2916, 2917, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2938, 2942, 2944, 2945, 2946, 2947, 2948, 2951, 2952, 2953, 2954, 2955, 2956, 2963, 2964, 2965, 2966, 2967, 2968, 2972, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2990, 2991, 2992, 2999, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3021, 3028, 3029, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3049, 3056, 3057, 3060, 3061, 3062, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3078, 3079, 3080, 3081, 3082, 3083, 3085, 3091, 3092, 3093, 3094, 3095, 3096, 3101, 3103, 3104, 3105, 3106, 3113, 3119, 3120, 3121, 3122, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3153, 3160, 3162, 3163], "excluded_lines": [2816, 2817, 2818, 2854, 2855, 2856, 2903, 2904, 2905, 2939, 2940, 2941, 2969, 2970, 2971]}, "PasswordManager.handle_retrieve_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [3168, 3169, 3170, 3177, 3180, 3181, 3182, 3183, 3184, 3186, 3187, 3188, 3189, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198], "excluded_lines": []}, "PasswordManager.handle_modify_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 168, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 168, "excluded_lines": 0}, "missing_lines": [3206, 3207, 3208, 3215, 3218, 3219, 3220, 3221, 3224, 3225, 3226, 3228, 3230, 3231, 3232, 3233, 3234, 3235, 3237, 3243, 3244, 3245, 3251, 3255, 3258, 3259, 3260, 3261, 3263, 3267, 3270, 3271, 3272, 3273, 3275, 3279, 3286, 3287, 3288, 3289, 3290, 3291, 3293, 3297, 3299, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3320, 3323, 3329, 3339, 3340, 3341, 3342, 3344, 3350, 3356, 3360, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3378, 3380, 3387, 3390, 3396, 3403, 3407, 3408, 3409, 3410, 3412, 3418, 3424, 3430, 3434, 3435, 3439, 3440, 3444, 3451, 3452, 3453, 3454, 3455, 3456, 3458, 3462, 3464, 3471, 3472, 3473, 3474, 3475, 3476, 3479, 3480, 3481, 3482, 3483, 3487, 3490, 3496, 3504, 3505, 3507, 3512, 3513, 3514, 3515, 3516, 3518, 3524, 3525, 3526, 3527, 3534, 3541, 3547, 3553, 3560, 3561, 3562, 3563, 3564, 3565, 3567, 3571, 3573, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3594, 3597, 3603, 3615, 3616, 3618, 3621, 3622, 3623, 3626, 3627, 3632, 3634, 3635, 3636], "excluded_lines": []}, "PasswordManager.handle_search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [3641, 3642, 3643, 3650, 3651, 3652, 3653, 3654, 3656, 3657, 3658, 3659, 3660, 3662, 3663, 3664, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3679, 3682, 3683, 3684, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694], "excluded_lines": []}, "PasswordManager.display_entry_details": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 116, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 116, "excluded_lines": 2}, "missing_lines": [3698, 3699, 3700, 3702, 3703, 3704, 3705, 3706, 3709, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3762, 3763, 3764, 3765, 3768, 3769, 3770, 3771, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3827, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3846], "excluded_lines": [3772, 3773]}, "PasswordManager.handle_list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3850], "excluded_lines": []}, "PasswordManager.delete_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [3854, 3855, 3858, 3859, 3860, 3861, 3863, 3866, 3867, 3869, 3872, 3873, 3876, 3877, 3878, 3879, 3880, 3885, 3886, 3887], "excluded_lines": []}, "PasswordManager.handle_archive_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [3892, 3893, 3896, 3897, 3898, 3899, 3900, 3901, 3902, 3903, 3904, 3905, 3906], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 49, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 49, "excluded_lines": 0}, "missing_lines": [3911, 3913, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3940, 3941, 3942, 3943, 3946, 3947, 3948, 3951, 3952, 3953, 3954, 3955, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3981, 3982, 3983, 3984], "excluded_lines": []}, "PasswordManager.handle_view_archived_entries._load_archived_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [3916, 3919], "excluded_lines": []}, "PasswordManager.handle_display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [3988], "excluded_lines": []}, "PasswordManager.handle_verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [3995, 3996, 3997, 4004, 4005, 4006, 4007, 4008, 4012, 4013, 4015, 4016, 4017, 4019, 4025, 4026, 4027, 4028], "excluded_lines": []}, "PasswordManager.handle_update_script_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [4033, 4034, 4035, 4036, 4037, 4038, 4045, 4046, 4047, 4054, 4055, 4056, 4057], "excluded_lines": []}, "PasswordManager.get_encrypted_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [4065, 4066, 4067, 4068, 4069, 4071, 4072, 4073, 4074, 4075, 4076, 4077], "excluded_lines": []}, "PasswordManager.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [4085, 4086, 4087, 4088, 4089, 4092, 4098], "excluded_lines": []}, "PasswordManager.sync_vault_async": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 29, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 29, "excluded_lines": 0}, "missing_lines": [4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4117, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4135, 4136, 4141, 4142, 4143], "excluded_lines": []}, "PasswordManager.sync_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [4148], "excluded_lines": []}, "PasswordManager.backup_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [4154, 4155, 4156, 4157, 4158, 4159], "excluded_lines": []}, "PasswordManager.restore_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [4165, 4166, 4167, 4172, 4173, 4174], "excluded_lines": []}, "PasswordManager.handle_export_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [4189, 4190, 4191, 4198, 4199, 4202, 4209, 4210, 4211, 4212, 4213, 4214, 4215, 4216, 4217], "excluded_lines": []}, "PasswordManager.handle_import_database": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [4223, 4224, 4230, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4243, 4244, 4252, 4253, 4259, 4260, 4261, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4280, 4282, 4283, 4284, 4285, 4286, 4289, 4290, 4291, 4292, 4293, 4296, 4297, 4299, 4300], "excluded_lines": []}, "PasswordManager.handle_export_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [4305, 4306, 4307, 4308, 4315, 4316, 4318, 4319, 4320, 4321, 4322, 4323, 4324, 4325, 4327, 4328, 4329, 4330, 4331, 4341, 4342, 4343, 4345, 4348, 4350, 4352, 4353, 4354, 4355, 4358, 4359, 4360, 4361, 4363, 4365, 4366, 4367, 4368, 4369, 4370, 4371], "excluded_lines": []}, "PasswordManager.handle_backup_reveal_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 39, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 39, "excluded_lines": 0}, "missing_lines": [4386, 4387, 4388, 4395, 4396, 4400, 4406, 4407, 4410, 4411, 4412, 4415, 4418, 4419, 4422, 4423, 4424, 4431, 4432, 4433, 4434, 4436, 4439, 4440, 4443, 4444, 4446, 4447, 4448, 4449, 4451, 4454, 4460, 4461, 4462, 4465, 4466, 4467, 4468], "excluded_lines": []}, "PasswordManager.verify_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0}, "missing_lines": [4480, 4481, 4482, 4483, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4495, 4496, 4497, 4499, 4500, 4501, 4502, 4503, 4509, 4510, 4511, 4512, 4513], "excluded_lines": []}, "PasswordManager.is_valid_filename": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [4526, 4527, 4528, 4529, 4530], "excluded_lines": []}, "PasswordManager.store_hashed_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [4537, 4538, 4539, 4540, 4543, 4544, 4549, 4550, 4551, 4553, 4554, 4555, 4556, 4558, 4559, 4564, 4565, 4568, 4569, 4570, 4571], "excluded_lines": []}, "PasswordManager.change_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0}, "missing_lines": [4575, 4576, 4577, 4578, 4581, 4582, 4585, 4587, 4588, 4591, 4593, 4595, 4596, 4597, 4598, 4599, 4602, 4603, 4604, 4606, 4607, 4608, 4610, 4611, 4621, 4624, 4626, 4627, 4628, 4637, 4638, 4639, 4640, 4641, 4644, 4645, 4646], "excluded_lines": []}, "PasswordManager.get_profile_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [4650, 4651, 4653, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663, 4666, 4667, 4668, 4669, 4670, 4671, 4672, 4674, 4675, 4676, 4679, 4680, 4681, 4682, 4683, 4685, 4686, 4687, 4689, 4692, 4693, 4694, 4695, 4698, 4701, 4702, 4703, 4708, 4709, 4710, 4711, 4712, 4714, 4715, 4716, 4718], "excluded_lines": []}, "PasswordManager.display_stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [4722, 4723, 4724, 4725, 4727, 4728, 4729, 4730, 4731, 4732, 4738, 4739, 4744, 4745, 4751, 4757, 4758, 4759, 4760], "excluded_lines": []}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 52, 53, 60, 66, 67, 68, 69, 75, 76, 77, 78, 79, 81, 94, 95, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 112, 113, 114, 115, 118, 121, 122, 124, 141, 158, 164, 189, 190, 191, 193, 194, 197, 209, 210, 212, 218, 227, 228, 237, 238, 239, 240, 241, 242, 244, 327, 328, 339, 340, 345, 355, 369, 386, 387, 391, 392, 398, 399, 407, 408, 422, 423, 432, 441, 450, 465, 477, 478, 483, 484, 489, 490, 497, 505, 551, 565, 577, 621, 667, 700, 794, 839, 840, 841, 844, 845, 875, 876, 900, 901, 987, 988, 1032, 1071, 1077, 1169, 1170, 1251, 1271, 1292, 1293, 1365, 1395, 1537, 1651, 1654, 1685, 1693, 1722, 1750, 1813, 1816, 1824, 1835, 1861, 1890, 1891, 1894, 1895, 2036, 2037, 2094, 2095, 2164, 2165, 2232, 2233, 2292, 2293, 2374, 2375, 2437, 2464, 2481, 2488, 2511, 2604, 2682, 2745, 3165, 3166, 3200, 3201, 3638, 3639, 3696, 3848, 3849, 3852, 3889, 3890, 3908, 3909, 3986, 3987, 3990, 3991, 4030, 4031, 4059, 4079, 4100, 4145, 4150, 4161, 4176, 4177, 4219, 4220, 4302, 4303, 4373, 4374, 4470, 4515, 4532, 4573, 4648, 4720], "summary": {"covered_lines": 219, "num_statements": 219, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"AuditLogger": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 142, 143, 148, 149, 152, 153, 154, 155], "excluded_lines": []}, "Notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "AuthGuard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [215, 216, 220, 221, 222, 223, 224], "excluded_lines": []}, "PasswordManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2437, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2437, "excluded_lines": 32}, "missing_lines": [254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 277, 278, 279, 280, 281, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 304, 305, 306, 309, 310, 311, 314, 316, 318, 321, 323, 333, 334, 335, 343, 348, 349, 350, 351, 352, 353, 357, 363, 364, 365, 366, 367, 371, 372, 373, 374, 375, 376, 377, 378, 389, 394, 395, 396, 400, 401, 402, 403, 405, 410, 411, 412, 413, 414, 417, 418, 419, 420, 425, 426, 427, 428, 429, 430, 434, 435, 436, 437, 438, 439, 443, 444, 445, 446, 447, 448, 452, 453, 454, 455, 456, 458, 462, 463, 467, 468, 469, 470, 471, 472, 473, 474, 475, 479, 480, 481, 485, 486, 487, 491, 492, 493, 494, 495, 499, 500, 501, 502, 503, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 536, 541, 542, 543, 546, 547, 548, 549, 555, 556, 557, 558, 559, 560, 563, 569, 570, 572, 575, 581, 582, 583, 586, 587, 588, 590, 591, 592, 597, 598, 600, 602, 603, 604, 605, 607, 608, 610, 613, 614, 616, 617, 618, 619, 626, 627, 634, 635, 636, 637, 638, 639, 641, 642, 644, 645, 648, 649, 657, 658, 660, 662, 663, 664, 665, 670, 671, 672, 675, 676, 682, 686, 688, 689, 690, 697, 698, 709, 710, 711, 712, 713, 714, 716, 721, 726, 727, 729, 730, 731, 733, 734, 735, 736, 737, 738, 739, 741, 744, 745, 746, 747, 752, 753, 754, 755, 757, 758, 759, 760, 761, 762, 764, 765, 766, 767, 768, 770, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 799, 800, 802, 803, 805, 806, 811, 816, 817, 818, 819, 820, 822, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 842, 847, 848, 850, 851, 852, 853, 855, 859, 860, 861, 863, 864, 865, 866, 867, 869, 870, 871, 872, 873, 878, 879, 880, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 894, 895, 896, 897, 898, 906, 907, 908, 911, 912, 915, 916, 917, 923, 927, 928, 929, 934, 936, 937, 938, 939, 941, 942, 943, 946, 947, 948, 951, 956, 960, 961, 962, 963, 964, 965, 966, 967, 970, 975, 976, 977, 978, 980, 981, 982, 983, 984, 985, 993, 995, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1025, 1026, 1029, 1030, 1052, 1053, 1054, 1055, 1056, 1058, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1075, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1093, 1094, 1095, 1096, 1102, 1106, 1109, 1110, 1113, 1115, 1116, 1117, 1118, 1119, 1120, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1133, 1137, 1138, 1139, 1141, 1146, 1147, 1149, 1150, 1152, 1153, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1165, 1166, 1167, 1177, 1178, 1179, 1180, 1182, 1184, 1185, 1186, 1187, 1188, 1189, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1203, 1204, 1205, 1206, 1212, 1214, 1217, 1218, 1221, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1233, 1234, 1235, 1238, 1239, 1240, 1241, 1243, 1244, 1246, 1248, 1249, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1303, 1304, 1305, 1309, 1313, 1314, 1315, 1318, 1320, 1321, 1323, 1324, 1325, 1326, 1331, 1335, 1336, 1338, 1342, 1347, 1348, 1350, 1351, 1353, 1354, 1358, 1359, 1360, 1361, 1362, 1363, 1369, 1370, 1371, 1372, 1373, 1374, 1376, 1379, 1380, 1381, 1384, 1386, 1387, 1389, 1390, 1391, 1392, 1393, 1400, 1402, 1403, 1406, 1409, 1413, 1414, 1419, 1420, 1421, 1427, 1428, 1431, 1432, 1433, 1435, 1440, 1441, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1469, 1470, 1471, 1472, 1473, 1474, 1485, 1488, 1490, 1491, 1492, 1499, 1500, 1501, 1502, 1503, 1504, 1507, 1508, 1509, 1516, 1523, 1530, 1532, 1533, 1534, 1535, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1553, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1594, 1595, 1596, 1597, 1604, 1610, 1611, 1616, 1623, 1629, 1630, 1631, 1632, 1633, 1638, 1639, 1642, 1647, 1648, 1649, 1652, 1656, 1657, 1658, 1659, 1660, 1663, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1674, 1675, 1676, 1677, 1680, 1681, 1683, 1687, 1688, 1689, 1690, 1691, 1695, 1700, 1702, 1703, 1704, 1707, 1708, 1709, 1714, 1715, 1716, 1717, 1719, 1720, 1724, 1725, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1737, 1738, 1739, 1740, 1743, 1744, 1745, 1746, 1748, 1757, 1758, 1760, 1761, 1762, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1807, 1808, 1809, 1811, 1814, 1822, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1837, 1838, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1859, 1863, 1864, 1866, 1867, 1868, 1869, 1871, 1872, 1873, 1875, 1876, 1877, 1878, 1879, 1880, 1882, 1885, 1887, 1888, 1892, 1897, 1898, 1899, 1900, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1922, 1923, 1924, 1927, 1932, 1933, 1934, 1939, 1949, 1950, 1951, 1953, 1954, 1955, 1956, 1957, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1983, 1984, 1985, 1986, 1987, 1988, 1991, 1996, 1997, 2007, 2008, 2009, 2015, 2016, 2017, 2018, 2019, 2023, 2024, 2025, 2026, 2027, 2028, 2030, 2031, 2032, 2033, 2034, 2039, 2040, 2041, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2059, 2062, 2065, 2066, 2068, 2071, 2072, 2074, 2075, 2076, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2088, 2089, 2090, 2091, 2092, 2097, 2098, 2099, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113, 2118, 2119, 2120, 2121, 2122, 2125, 2126, 2127, 2129, 2132, 2133, 2135, 2141, 2142, 2143, 2144, 2145, 2146, 2147, 2148, 2150, 2151, 2152, 2153, 2154, 2158, 2159, 2160, 2161, 2162, 2167, 2168, 2169, 2176, 2177, 2178, 2179, 2180, 2184, 2185, 2186, 2187, 2192, 2200, 2203, 2204, 2206, 2209, 2210, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2226, 2227, 2228, 2229, 2230, 2235, 2236, 2237, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2255, 2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265, 2272, 2273, 2274, 2275, 2278, 2279, 2280, 2286, 2287, 2288, 2289, 2290, 2295, 2296, 2297, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329, 2337, 2345, 2346, 2348, 2349, 2350, 2351, 2352, 2353, 2360, 2361, 2362, 2368, 2369, 2370, 2371, 2372, 2377, 2378, 2379, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2397, 2400, 2401, 2402, 2403, 2409, 2410, 2411, 2412, 2419, 2420, 2421, 2423, 2424, 2425, 2431, 2432, 2433, 2434, 2435, 2439, 2440, 2441, 2442, 2444, 2445, 2453, 2455, 2457, 2458, 2459, 2460, 2461, 2462, 2466, 2467, 2472, 2473, 2474, 2475, 2477, 2478, 2479, 2483, 2484, 2485, 2486, 2492, 2493, 2494, 2496, 2497, 2498, 2500, 2501, 2505, 2506, 2507, 2509, 2513, 2514, 2515, 2522, 2523, 2524, 2525, 2526, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2539, 2541, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2567, 2568, 2569, 2570, 2573, 2574, 2575, 2576, 2577, 2578, 2584, 2587, 2592, 2593, 2594, 2595, 2596, 2597, 2598, 2599, 2601, 2602, 2606, 2607, 2608, 2609, 2616, 2617, 2618, 2619, 2620, 2623, 2624, 2625, 2626, 2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2660, 2661, 2662, 2663, 2664, 2665, 2666, 2667, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2677, 2679, 2680, 2685, 2687, 2688, 2689, 2690, 2692, 2696, 2697, 2699, 2700, 2701, 2703, 2704, 2705, 2706, 2713, 2714, 2715, 2716, 2721, 2722, 2724, 2728, 2729, 2730, 2731, 2732, 2733, 2735, 2736, 2737, 2738, 2740, 2756, 2758, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2797, 2798, 2799, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812, 2813, 2814, 2815, 2819, 2821, 2822, 2823, 2824, 2827, 2828, 2829, 2830, 2833, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2852, 2853, 2857, 2859, 2860, 2861, 2862, 2865, 2866, 2867, 2868, 2869, 2870, 2871, 2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 2880, 2887, 2888, 2889, 2890, 2892, 2893, 2894, 2895, 2896, 2902, 2906, 2908, 2909, 2910, 2911, 2914, 2915, 2916, 2917, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2938, 2942, 2944, 2945, 2946, 2947, 2948, 2951, 2952, 2953, 2954, 2955, 2956, 2963, 2964, 2965, 2966, 2967, 2968, 2972, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2990, 2991, 2992, 2999, 3001, 3002, 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3021, 3028, 3029, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3049, 3056, 3057, 3060, 3061, 3062, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3078, 3079, 3080, 3081, 3082, 3083, 3085, 3091, 3092, 3093, 3094, 3095, 3096, 3101, 3103, 3104, 3105, 3106, 3113, 3119, 3120, 3121, 3122, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3153, 3160, 3162, 3163, 3168, 3169, 3170, 3177, 3180, 3181, 3182, 3183, 3184, 3186, 3187, 3188, 3189, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3206, 3207, 3208, 3215, 3218, 3219, 3220, 3221, 3224, 3225, 3226, 3228, 3230, 3231, 3232, 3233, 3234, 3235, 3237, 3243, 3244, 3245, 3251, 3255, 3258, 3259, 3260, 3261, 3263, 3267, 3270, 3271, 3272, 3273, 3275, 3279, 3286, 3287, 3288, 3289, 3290, 3291, 3293, 3297, 3299, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314, 3315, 3316, 3320, 3323, 3329, 3339, 3340, 3341, 3342, 3344, 3350, 3356, 3360, 3367, 3368, 3369, 3370, 3371, 3372, 3374, 3378, 3380, 3387, 3390, 3396, 3403, 3407, 3408, 3409, 3410, 3412, 3418, 3424, 3430, 3434, 3435, 3439, 3440, 3444, 3451, 3452, 3453, 3454, 3455, 3456, 3458, 3462, 3464, 3471, 3472, 3473, 3474, 3475, 3476, 3479, 3480, 3481, 3482, 3483, 3487, 3490, 3496, 3504, 3505, 3507, 3512, 3513, 3514, 3515, 3516, 3518, 3524, 3525, 3526, 3527, 3534, 3541, 3547, 3553, 3560, 3561, 3562, 3563, 3564, 3565, 3567, 3571, 3573, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3594, 3597, 3603, 3615, 3616, 3618, 3621, 3622, 3623, 3626, 3627, 3632, 3634, 3635, 3636, 3641, 3642, 3643, 3650, 3651, 3652, 3653, 3654, 3656, 3657, 3658, 3659, 3660, 3662, 3663, 3664, 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3679, 3682, 3683, 3684, 3687, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3698, 3699, 3700, 3702, 3703, 3704, 3705, 3706, 3709, 3715, 3716, 3717, 3718, 3719, 3720, 3721, 3722, 3723, 3724, 3725, 3726, 3732, 3733, 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741, 3744, 3745, 3746, 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 3757, 3758, 3759, 3762, 3763, 3764, 3765, 3768, 3769, 3770, 3771, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3788, 3789, 3790, 3791, 3792, 3793, 3794, 3795, 3796, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825, 3827, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3846, 3850, 3854, 3855, 3858, 3859, 3860, 3861, 3863, 3866, 3867, 3869, 3872, 3873, 3876, 3877, 3878, 3879, 3880, 3885, 3886, 3887, 3892, 3893, 3896, 3897, 3898, 3899, 3900, 3901, 3902, 3903, 3904, 3905, 3906, 3911, 3913, 3916, 3919, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3940, 3941, 3942, 3943, 3946, 3947, 3948, 3951, 3952, 3953, 3954, 3955, 3962, 3963, 3964, 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975, 3976, 3977, 3978, 3979, 3981, 3982, 3983, 3984, 3988, 3995, 3996, 3997, 4004, 4005, 4006, 4007, 4008, 4012, 4013, 4015, 4016, 4017, 4019, 4025, 4026, 4027, 4028, 4033, 4034, 4035, 4036, 4037, 4038, 4045, 4046, 4047, 4054, 4055, 4056, 4057, 4065, 4066, 4067, 4068, 4069, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4085, 4086, 4087, 4088, 4089, 4092, 4098, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4117, 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127, 4128, 4129, 4130, 4135, 4136, 4141, 4142, 4143, 4148, 4154, 4155, 4156, 4157, 4158, 4159, 4165, 4166, 4167, 4172, 4173, 4174, 4189, 4190, 4191, 4198, 4199, 4202, 4209, 4210, 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4223, 4224, 4230, 4233, 4234, 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4243, 4244, 4252, 4253, 4259, 4260, 4261, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4280, 4282, 4283, 4284, 4285, 4286, 4289, 4290, 4291, 4292, 4293, 4296, 4297, 4299, 4300, 4305, 4306, 4307, 4308, 4315, 4316, 4318, 4319, 4320, 4321, 4322, 4323, 4324, 4325, 4327, 4328, 4329, 4330, 4331, 4341, 4342, 4343, 4345, 4348, 4350, 4352, 4353, 4354, 4355, 4358, 4359, 4360, 4361, 4363, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4386, 4387, 4388, 4395, 4396, 4400, 4406, 4407, 4410, 4411, 4412, 4415, 4418, 4419, 4422, 4423, 4424, 4431, 4432, 4433, 4434, 4436, 4439, 4440, 4443, 4444, 4446, 4447, 4448, 4449, 4451, 4454, 4460, 4461, 4462, 4465, 4466, 4467, 4468, 4480, 4481, 4482, 4483, 4485, 4486, 4487, 4488, 4489, 4491, 4492, 4493, 4495, 4496, 4497, 4499, 4500, 4501, 4502, 4503, 4509, 4510, 4511, 4512, 4513, 4526, 4527, 4528, 4529, 4530, 4537, 4538, 4539, 4540, 4543, 4544, 4549, 4550, 4551, 4553, 4554, 4555, 4556, 4558, 4559, 4564, 4565, 4568, 4569, 4570, 4571, 4575, 4576, 4577, 4578, 4581, 4582, 4585, 4587, 4588, 4591, 4593, 4595, 4596, 4597, 4598, 4599, 4602, 4603, 4604, 4606, 4607, 4608, 4610, 4611, 4621, 4624, 4626, 4627, 4628, 4637, 4638, 4639, 4640, 4641, 4644, 4645, 4646, 4650, 4651, 4653, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663, 4666, 4667, 4668, 4669, 4670, 4671, 4672, 4674, 4675, 4676, 4679, 4680, 4681, 4682, 4683, 4685, 4686, 4687, 4689, 4692, 4693, 4694, 4695, 4698, 4701, 4702, 4703, 4708, 4709, 4710, 4711, 4712, 4714, 4715, 4716, 4718, 4722, 4723, 4724, 4725, 4727, 4728, 4729, 4730, 4731, 4732, 4738, 4739, 4744, 4745, 4751, 4757, 4758, 4759, 4760], "excluded_lines": [1804, 1805, 1832, 1833, 2221, 2222, 2281, 2282, 2363, 2364, 2426, 2427, 2741, 2742, 2743, 2816, 2817, 2818, 2854, 2855, 2856, 2903, 2904, 2905, 2939, 2940, 2941, 2969, 2970, 2971, 3772, 3773]}, "": {"executed_lines": [3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 52, 53, 60, 66, 67, 68, 69, 75, 76, 77, 78, 79, 81, 94, 95, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 112, 113, 114, 115, 118, 121, 122, 124, 141, 158, 164, 189, 190, 191, 193, 194, 197, 200, 201, 206, 209, 210, 212, 218, 227, 228, 237, 238, 239, 240, 241, 242, 244, 327, 328, 339, 340, 345, 355, 369, 386, 387, 391, 392, 398, 399, 407, 408, 422, 423, 432, 441, 450, 465, 477, 478, 483, 484, 489, 490, 497, 505, 551, 565, 577, 621, 667, 700, 794, 839, 840, 841, 844, 845, 875, 876, 900, 901, 987, 988, 1032, 1071, 1077, 1169, 1170, 1251, 1271, 1292, 1293, 1365, 1395, 1537, 1651, 1654, 1685, 1693, 1722, 1750, 1813, 1816, 1824, 1835, 1861, 1890, 1891, 1894, 1895, 2036, 2037, 2094, 2095, 2164, 2165, 2232, 2233, 2292, 2293, 2374, 2375, 2437, 2464, 2481, 2488, 2511, 2604, 2682, 2745, 3165, 3166, 3200, 3201, 3638, 3639, 3696, 3848, 3849, 3852, 3889, 3890, 3908, 3909, 3986, 3987, 3990, 3991, 4030, 4031, 4059, 4079, 4100, 4145, 4150, 4161, 4176, 4177, 4219, 4220, 4302, 4303, 4373, 4374, 4470, 4515, 4532, 4573, 4648, 4720], "summary": {"covered_lines": 222, "num_statements": 236, "percent_covered": 94.0677966101695, "percent_covered_display": "94", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [160, 161, 174, 175, 176, 177, 180, 182, 183, 185, 186, 202, 203, 204], "excluded_lines": []}}}, "src/seedpass/core/menu_handler.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103], "summary": {"covered_lines": 17, "num_statements": 127, "percent_covered": 13.385826771653543, "percent_covered_display": "13", "missing_lines": 110, "excluded_lines": 8}, "missing_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97, 105, 106, 107, 108, 115, 116, 117, 118, 119, 122, 123, 124, 125, 127, 128, 129, 131, 133, 134, 135, 136, 137, 138, 139, 141, 142, 143, 144, 151, 152, 153, 154, 155, 156, 157, 158, 163, 164, 165, 166, 167, 170, 174, 177, 178, 179, 180, 181, 186, 187, 188, 189, 190, 193, 197, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209], "excluded_lines": [16, 17, 98, 99, 100, 210, 211, 212], "functions": {"MenuHandler.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [24], "excluded_lines": []}, "MenuHandler.handle_list_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 3}, "missing_lines": [29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97], "excluded_lines": [98, 99, 100]}, "MenuHandler.handle_display_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 65, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 65, "excluded_lines": 3}, "missing_lines": [105, 106, 107, 108, 115, 116, 117, 118, 119, 122, 123, 124, 125, 127, 128, 129, 131, 133, 134, 135, 136, 137, 138, 139, 141, 142, 143, 144, 151, 152, 153, 154, 155, 156, 157, 158, 163, 164, 165, 166, 167, 170, 174, 177, 178, 179, 180, 181, 186, 187, 188, 189, 190, 193, 197, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209], "excluded_lines": [210, 211, 212]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}, "classes": {"MenuHandler": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 110, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 110, "excluded_lines": 6}, "missing_lines": [24, 29, 30, 31, 32, 33, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 55, 56, 58, 59, 62, 63, 64, 66, 67, 73, 74, 75, 82, 83, 84, 85, 86, 88, 89, 92, 93, 94, 95, 96, 97, 105, 106, 107, 108, 115, 116, 117, 118, 119, 122, 123, 124, 125, 127, 128, 129, 131, 133, 134, 135, 136, 137, 138, 139, 141, 142, 143, 144, 151, 152, 153, 154, 155, 156, 157, 158, 163, 164, 165, 166, 167, 170, 174, 177, 178, 179, 180, 181, 186, 187, 188, 189, 190, 193, 197, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209], "excluded_lines": [98, 99, 100, 210, 211, 212]}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 10, 11, 12, 13, 14, 16, 20, 21, 23, 26, 27, 102, 103], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [16, 17]}}}, "src/seedpass/core/migrations.py": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 18, "num_statements": 58, "percent_covered": 31.03448275862069, "percent_covered_display": "31", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [25, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 66, 67, 68, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": [], "functions": {"migration": {"executed_lines": [15, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "migration.decorator": {"executed_lines": [16, 17], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "_v0_to_v1": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [25, 26], "excluded_lines": []}, "_v1_to_v2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "excluded_lines": []}, "_v2_to_v3": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [49, 50, 51, 52, 53, 54, 55, 56, 57, 58], "excluded_lines": []}, "_v3_to_v4": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [64, 65, 66, 67, 68], "excluded_lines": []}, "apply_migrations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 15, 16, 17, 19, 22, 23, 29, 30, 46, 47, 61, 62, 71, 74], "summary": {"covered_lines": 18, "num_statements": 58, "percent_covered": 31.03448275862069, "percent_covered_display": "31", "missing_lines": 40, "excluded_lines": 0}, "missing_lines": [25, 26, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 64, 65, 66, 67, 68, 76, 77, 78, 80, 81, 82, 83, 84, 85, 87], "excluded_lines": []}}}, "src/seedpass/core/password_generation.py": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 47, 49, 55, 58, 61, 62, 63, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 95, 129, 148, 154, 172, 181, 275, 436, 441, 464, 469], "summary": {"covered_lines": 42, "num_statements": 277, "percent_covered": 15.16245487364621, "percent_covered_display": "15", "missing_lines": 235, "excluded_lines": 13}, "missing_lines": [110, 111, 112, 113, 114, 116, 117, 119, 123, 124, 125, 126, 127, 131, 132, 134, 141, 142, 144, 145, 146, 150, 151, 152, 163, 164, 165, 166, 167, 168, 169, 170, 175, 176, 177, 178, 179, 202, 204, 205, 208, 211, 212, 215, 219, 221, 222, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 236, 238, 239, 240, 243, 246, 247, 248, 249, 250, 251, 252, 259, 260, 263, 264, 268, 270, 271, 272, 273, 291, 292, 293, 294, 295, 297, 298, 299, 300, 301, 303, 306, 307, 308, 309, 311, 316, 317, 318, 319, 322, 323, 325, 327, 328, 329, 332, 333, 334, 335, 336, 337, 339, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 353, 354, 355, 356, 357, 358, 361, 362, 363, 364, 366, 367, 368, 369, 370, 371, 372, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 404, 405, 406, 411, 414, 415, 420, 421, 422, 423, 424, 428, 430, 431, 432, 433, 438, 444, 445, 446, 448, 449, 455, 456, 461, 466, 480, 481, 482, 490, 497, 498, 499, 500, 501, 502, 504, 505, 507, 509, 512, 513, 514, 524, 525, 526, 527, 528, 529, 530, 531, 532, 534, 535, 536, 538, 539, 542, 543, 544, 545, 548, 550, 551, 552, 554, 555, 556, 557, 558, 559, 571], "excluded_lines": [39, 40, 41, 42, 43, 45, 516, 517, 518, 519, 520, 521, 522], "functions": {"PasswordGenerator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [110, 111, 112, 113, 114, 116, 117, 119, 123, 124, 125, 126, 127], "excluded_lines": []}, "PasswordGenerator._derive_password_entropy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [131, 132, 134, 141, 142, 144, 145, 146], "excluded_lines": []}, "PasswordGenerator._map_entropy_to_chars": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [150, 151, 152], "excluded_lines": []}, "PasswordGenerator._fisher_yates_hmac": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [163, 164, 165, 166, 167, 168, 169, 170], "excluded_lines": []}, "PasswordGenerator._shuffle_deterministically": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [175, 176, 177, 178, 179], "excluded_lines": []}, "PasswordGenerator.generate_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [202, 204, 205, 208, 211, 212, 215, 219, 221, 222, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 236, 238, 239, 240, 243, 246, 247, 248, 249, 250, 251, 252, 259, 260, 263, 264, 268, 270, 271, 272, 273], "excluded_lines": []}, "PasswordGenerator._enforce_complexity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 98, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 98, "excluded_lines": 0}, "missing_lines": [291, 292, 293, 294, 295, 297, 298, 299, 300, 301, 303, 306, 307, 308, 309, 311, 316, 317, 318, 319, 322, 323, 325, 332, 333, 334, 335, 336, 337, 339, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 353, 354, 355, 356, 357, 358, 361, 362, 363, 364, 366, 367, 368, 369, 370, 371, 372, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 404, 405, 406, 411, 414, 415, 420, 421, 422, 423, 424, 428, 430, 431, 432, 433], "excluded_lines": []}, "PasswordGenerator._enforce_complexity.get_dk_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [327, 328, 329], "excluded_lines": []}, "derive_ssh_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [438], "excluded_lines": []}, "derive_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [444, 445, 446, 448, 449, 455, 456, 461], "excluded_lines": []}, "derive_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [466], "excluded_lines": []}, "derive_pgp_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 44, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 44, "excluded_lines": 1}, "missing_lines": [480, 481, 482, 490, 497, 498, 499, 500, 501, 502, 504, 505, 507, 509, 512, 524, 525, 526, 527, 528, 529, 530, 531, 532, 534, 535, 536, 538, 539, 542, 543, 544, 545, 548, 550, 551, 552, 554, 555, 556, 557, 558, 559, 571], "excluded_lines": [516]}, "derive_pgp_key.DRNG.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [513, 514], "excluded_lines": []}, "derive_pgp_key.DRNG.__call__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [517, 518, 519, 520, 521, 522]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 47, 49, 55, 58, 61, 62, 63, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 95, 129, 148, 154, 172, 181, 275, 436, 441, 464, 469], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [39, 40, 41, 42, 43, 45]}}, "classes": {"PasswordPolicy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PasswordGenerator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 179, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 179, "excluded_lines": 0}, "missing_lines": [110, 111, 112, 113, 114, 116, 117, 119, 123, 124, 125, 126, 127, 131, 132, 134, 141, 142, 144, 145, 146, 150, 151, 152, 163, 164, 165, 166, 167, 168, 169, 170, 175, 176, 177, 178, 179, 202, 204, 205, 208, 211, 212, 215, 219, 221, 222, 224, 225, 226, 227, 229, 230, 231, 232, 233, 234, 236, 238, 239, 240, 243, 246, 247, 248, 249, 250, 251, 252, 259, 260, 263, 264, 268, 270, 271, 272, 273, 291, 292, 293, 294, 295, 297, 298, 299, 300, 301, 303, 306, 307, 308, 309, 311, 316, 317, 318, 319, 322, 323, 325, 327, 328, 329, 332, 333, 334, 335, 336, 337, 339, 340, 341, 342, 343, 344, 346, 347, 348, 349, 350, 351, 353, 354, 355, 356, 357, 358, 361, 362, 363, 364, 366, 367, 368, 369, 370, 371, 372, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 404, 405, 406, 411, 414, 415, 420, 421, 422, 423, 424, 428, 430, 431, 432, 433], "excluded_lines": []}, "derive_pgp_key.DRNG": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 6}, "missing_lines": [513, 514], "excluded_lines": [517, 518, 519, 520, 521, 522]}, "": {"executed_lines": [3, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 39, 40, 47, 49, 55, 58, 61, 62, 63, 76, 77, 78, 79, 80, 81, 82, 83, 86, 87, 95, 129, 148, 154, 172, 181, 275, 436, 441, 464, 469], "summary": {"covered_lines": 42, "num_statements": 96, "percent_covered": 43.75, "percent_covered_display": "44", "missing_lines": 54, "excluded_lines": 7}, "missing_lines": [438, 444, 445, 446, 448, 449, 455, 456, 461, 466, 480, 481, 482, 490, 497, 498, 499, 500, 501, 502, 504, 505, 507, 509, 512, 524, 525, 526, 527, 528, 529, 530, 531, 532, 534, 535, 536, 538, 539, 542, 543, 544, 545, 548, 550, 551, 552, 554, 555, 556, 557, 558, 559, 571], "excluded_lines": [39, 40, 41, 42, 43, 45, 516]}}}, "src/seedpass/core/portable_backup.py": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 84, "percent_covered": 29.761904761904763, "percent_covered_display": "30", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [42, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": [], "functions": {"_derive_export_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [42], "excluded_lines": []}, "export_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 0}, "missing_lines": [62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121], "excluded_lines": []}, "import_backup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0}, "missing_lines": [132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PortableMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24, 26, 28, 29, 32, 33, 35, 36, 39, 45, 124], "summary": {"covered_lines": 25, "num_statements": 84, "percent_covered": 29.761904761904763, "percent_covered_display": "30", "missing_lines": 59, "excluded_lines": 0}, "missing_lines": [42, 62, 63, 64, 65, 66, 68, 69, 71, 72, 77, 78, 79, 80, 81, 83, 84, 85, 87, 89, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 117, 118, 119, 121, 132, 133, 134, 136, 137, 138, 140, 141, 143, 144, 149, 150, 151, 152, 153, 154, 156, 158, 160, 161, 162, 164, 165], "excluded_lines": []}}}, "src/seedpass/core/profile_service.py": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 51, "percent_covered": 17.647058823529413, "percent_covered_display": "18", "missing_lines": 42, "excluded_lines": 7}, "missing_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [12, 13, 14, 106, 107, 108, 109], "functions": {"ProfileService.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [21], "excluded_lines": []}, "ProfileService.handle_switch_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 4}, "missing_lines": [25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}, "classes": {"ProfileService": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 4}, "missing_lines": [21, 25, 26, 27, 28, 29, 30, 35, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 56, 58, 59, 63, 66, 68, 69, 70, 71, 73, 74, 82, 85, 87, 88, 89, 95, 98, 99, 100, 103, 105], "excluded_lines": [106, 107, 108, 109]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 12, 17, 18, 20, 23], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 3}, "missing_lines": [], "excluded_lines": [12, 13, 14]}}}, "src/seedpass/core/pubsub.py": {"executed_lines": [1, 2, 5, 6, 8, 9, 11, 15, 20, 27], "summary": {"covered_lines": 9, "num_statements": 14, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23], "excluded_lines": [], "functions": {"PubSub.__init__": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "PubSub.subscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [13], "excluded_lines": []}, "PubSub.unsubscribe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [17, 18], "excluded_lines": []}, "PubSub.publish": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PubSub": {"executed_lines": [9], "summary": {"covered_lines": 1, "num_statements": 6, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [13, 17, 18, 22, 23], "excluded_lines": []}, "": {"executed_lines": [1, 2, 5, 6, 8, 11, 15, 20, 27], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/seedqr.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 9, 11, 12, 13, 14], "excluded_lines": [], "functions": {"encode_seedqr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [11, 12, 13, 14], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 9], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [3, 5, 6, 9, 11, 12, 13, 14], "excluded_lines": []}}}, "src/seedpass/core/state_manager.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 65, "percent_covered": 27.692307692307693, "percent_covered_display": "28", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [18, 19, 22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": [], "functions": {"StateManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [18, 19], "excluded_lines": []}, "StateManager._load": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53], "excluded_lines": []}, "StateManager._save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59, 60, 61], "excluded_lines": []}, "StateManager.state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [65], "excluded_lines": []}, "StateManager.update_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [68, 69, 70], "excluded_lines": []}, "StateManager.list_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [74], "excluded_lines": []}, "StateManager.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [77, 78, 79, 80, 81, 82, 83], "excluded_lines": []}, "StateManager.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StateManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 0}, "missing_lines": [18, 19, 22, 23, 31, 32, 33, 34, 35, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 65, 68, 69, 70, 74, 77, 78, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91, 92, 93, 94], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 15, 17, 21, 55, 63, 64, 67, 73, 76, 85], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/stats_manager.py": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [10, 14, 15, 16, 20], "excluded_lines": [], "functions": {"StatsManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "StatsManager.display_stats_once": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [14, 15, 16], "excluded_lines": []}, "StatsManager.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [20], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"StatsManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [10, 14, 15, 16, 20], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 12, 18], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/core/totp.py": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 71, "percent_covered": 40.84507042253521, "percent_covered_display": "41", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [22, 31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 70, 71, 76, 77, 78, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 100, 101, 102, 103], "excluded_lines": [], "functions": {"random_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}, "TotpManager.derive_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "TotpManager.current_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [38, 39, 40, 41, 42], "excluded_lines": []}, "TotpManager.current_code_from_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [47, 48], "excluded_lines": []}, "TotpManager.parse_otpauth": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], "excluded_lines": []}, "TotpManager.make_otpauth_uri": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [70, 71], "excluded_lines": []}, "TotpManager.time_remaining": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [76, 77, 78], "excluded_lines": []}, "TotpManager.print_progress_bar": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95], "excluded_lines": []}, "TotpManager.print_qr_code": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [100, 101, 102, 103], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"TotpManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 41, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 41, "excluded_lines": 0}, "missing_lines": [31, 38, 39, 40, 41, 42, 47, 48, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 70, 71, 76, 77, 78, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 100, 101, 102, 103], "excluded_lines": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 25, 26, 28, 29, 33, 34, 44, 45, 50, 51, 65, 66, 73, 74, 80, 81, 97, 98], "summary": {"covered_lines": 29, "num_statements": 30, "percent_covered": 96.66666666666667, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [22], "excluded_lines": []}}}, "src/seedpass/core/vault.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 140, "percent_covered": 15.0, "percent_covered_display": "15", "missing_lines": 119, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "excluded_lines": [], "functions": {"Vault.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36], "excluded_lines": []}, "Vault.set_encryption_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [40], "excluded_lines": []}, "Vault._hkdf_kdf": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [43], "excluded_lines": []}, "Vault.load_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 103, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 103, "excluded_lines": 0}, "missing_lines": [63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237], "excluded_lines": []}, "Vault.save_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [241], "excluded_lines": []}, "Vault.get_encrypted_index": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [247], "excluded_lines": []}, "Vault.decrypt_and_save_index_from_nostr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [264, 267, 270, 271, 272], "excluded_lines": []}, "Vault.load_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [277], "excluded_lines": []}, "Vault.save_config": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [281], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"Vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 119, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 119, "excluded_lines": 0}, "missing_lines": [32, 33, 34, 35, 36, 40, 43, 63, 64, 65, 66, 67, 68, 69, 74, 75, 77, 80, 81, 82, 83, 84, 86, 87, 88, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 110, 111, 114, 117, 118, 124, 127, 128, 129, 130, 136, 142, 143, 144, 145, 146, 147, 149, 152, 155, 156, 157, 160, 161, 163, 164, 165, 168, 169, 172, 173, 174, 175, 178, 179, 180, 181, 182, 183, 186, 187, 188, 189, 191, 192, 194, 196, 197, 198, 201, 203, 204, 205, 206, 209, 210, 211, 212, 213, 216, 217, 218, 219, 220, 221, 224, 225, 226, 227, 229, 230, 232, 235, 236, 237, 241, 247, 264, 267, 270, 271, 272, 277, 281], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 17, 18, 21, 22, 24, 25, 27, 38, 42, 48, 239, 245, 249, 275, 279], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass/errors.py": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": [], "functions": {"VaultLockedError.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"VaultLockedError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [10], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 9, 13], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/seedpass_gui/__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 6, 8, 11], "excluded_lines": [], "functions": {"main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [8], "excluded_lines": []}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [3, 6, 11], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [3, 6, 8, 11], "excluded_lines": []}}}, "src/seedpass_gui/__main__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [1, 3, 4], "excluded_lines": []}}}, "src/seedpass_gui/app.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 303, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 303, "excluded_lines": 24}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 53, 54, 55, 56, 60, 66, 67, 68, 71, 74, 81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 150, 151, 152, 154, 155, 156, 157, 158, 159, 161, 162, 163, 165, 166, 167, 169, 170, 171, 173, 176, 177, 179, 182, 183, 185, 186, 187, 189, 190, 191, 192, 194, 195, 196, 197, 198, 199, 200, 203, 206, 207, 208, 209, 210, 212, 213, 217, 218, 219, 220, 223, 224, 226, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 261, 262, 263, 264, 265, 266, 267, 268, 270, 271, 272, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 289, 290, 292, 293, 294, 295, 296, 297, 298, 300, 301, 302, 303, 304, 305, 306, 307, 308, 310, 312, 320, 321, 323, 324, 325, 326, 327, 329, 331, 334, 337, 338, 339, 340, 341, 344, 345, 346, 347, 348, 350, 351, 352, 353, 354, 355, 364, 367, 370, 371, 372, 373, 375, 380, 381, 382, 384, 385, 386, 388, 389, 390, 391, 393, 394, 395, 398, 399, 400, 401, 402, 404, 405, 408, 411, 412, 413, 414, 416, 417, 418, 419, 420, 422, 423, 424, 425, 426, 427, 428, 429, 430, 432, 434, 435, 436, 437, 439, 440, 441, 442, 443, 444, 448, 449, 451, 452, 453, 454, 455, 456, 457, 461, 464, 466, 469], "excluded_lines": [57, 58, 59, 445, 446, 447, 458, 459, 460, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 484, 485, 486], "functions": {"LockScreenWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51], "excluded_lines": []}, "LockScreenWindow.handle_unlock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [54, 55, 56, 60, 66, 67, 68], "excluded_lines": [57, 58, 59]}, "MainWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 31, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 31, "excluded_lines": 0}, "missing_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123], "excluded_lines": []}, "MainWindow.refresh_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "MainWindow.add_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [151, 152], "excluded_lines": []}, "MainWindow.edit_entry": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [155, 156, 157, 158, 159], "excluded_lines": []}, "MainWindow.search_entries": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [162, 163], "excluded_lines": []}, "MainWindow.manage_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "MainWindow.show_totp_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [170, 171], "excluded_lines": []}, "MainWindow.start_vault_sync": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [176, 179], "excluded_lines": []}, "MainWindow.start_vault_sync._runner": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [177], "excluded_lines": []}, "MainWindow.sync_started": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [183], "excluded_lines": []}, "MainWindow.sync_finished": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [186, 187], "excluded_lines": []}, "MainWindow.vault_locked": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [190, 191, 192], "excluded_lines": []}, "MainWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [195, 196, 197, 198, 199, 200], "excluded_lines": []}, "EntryDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 42, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 42, "excluded_lines": 0}, "missing_lines": [207, 208, 209, 210, 212, 213, 217, 218, 219, 220, 223, 224, 226, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259], "excluded_lines": []}, "EntryDialog.save": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 51, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 51, "excluded_lines": 0}, "missing_lines": [262, 263, 264, 265, 266, 267, 268, 270, 271, 272, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 289, 290, 292, 293, 294, 295, 296, 297, 298, 300, 301, 302, 303, 304, 305, 306, 307, 308, 310, 312, 320, 321, 323, 324, 325, 326, 327, 329, 331], "excluded_lines": []}, "SearchDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [338, 339, 340, 341, 344, 345, 346, 347, 348], "excluded_lines": []}, "SearchDialog.do_search": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [351, 352, 353, 354, 355, 364], "excluded_lines": []}, "TotpViewerWindow.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [371, 372, 373, 375, 380, 381, 382, 384, 385, 386], "excluded_lines": []}, "TotpViewerWindow._update_loop": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [389, 390, 391], "excluded_lines": []}, "TotpViewerWindow.refresh_codes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [394, 395, 398, 399, 400, 401, 402], "excluded_lines": []}, "TotpViewerWindow.cleanup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [405], "excluded_lines": []}, "RelayManagerDialog.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [412, 413, 414, 416, 417, 418, 419, 420, 422, 423, 424, 425, 426, 427, 428, 429, 430, 432], "excluded_lines": []}, "RelayManagerDialog.refresh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [435, 436, 437], "excluded_lines": []}, "RelayManagerDialog.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [440, 441, 442, 443, 444, 448, 449], "excluded_lines": [445, 446, 447]}, "RelayManagerDialog.remove_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 3}, "missing_lines": [452, 453, 454, 455, 456, 457, 461], "excluded_lines": [458, 459, 460]}, "build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [466], "excluded_lines": []}, "SeedPassApp.startup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481]}, "main": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [485, 486]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 46, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 46, "excluded_lines": 2}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 194, 203, 206, 261, 334, 337, 350, 367, 370, 388, 393, 404, 408, 411, 434, 439, 451, 464, 469], "excluded_lines": [470, 484]}}, "classes": {"LockScreenWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 3}, "missing_lines": [33, 36, 37, 38, 40, 41, 42, 46, 47, 48, 49, 50, 51, 54, 55, 56, 60, 66, 67, 68], "excluded_lines": [57, 58, 59]}, "MainWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 72, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 72, "excluded_lines": 0}, "missing_lines": [81, 84, 85, 86, 87, 88, 89, 90, 91, 93, 94, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110, 111, 112, 113, 115, 117, 118, 119, 120, 121, 123, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 138, 139, 151, 152, 155, 156, 157, 158, 159, 162, 163, 166, 167, 170, 171, 176, 177, 179, 183, 186, 187, 190, 191, 192, 195, 196, 197, 198, 199, 200], "excluded_lines": []}, "EntryDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 93, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 93, "excluded_lines": 0}, "missing_lines": [207, 208, 209, 210, 212, 213, 217, 218, 219, 220, 223, 224, 226, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 262, 263, 264, 265, 266, 267, 268, 270, 271, 272, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 289, 290, 292, 293, 294, 295, 296, 297, 298, 300, 301, 302, 303, 304, 305, 306, 307, 308, 310, 312, 320, 321, 323, 324, 325, 326, 327, 329, 331], "excluded_lines": []}, "SearchDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [338, 339, 340, 341, 344, 345, 346, 347, 348, 351, 352, 353, 354, 355, 364], "excluded_lines": []}, "TotpViewerWindow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [371, 372, 373, 375, 380, 381, 382, 384, 385, 386, 389, 390, 391, 394, 395, 398, 399, 400, 401, 402, 405], "excluded_lines": []}, "RelayManagerDialog": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 35, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 35, "excluded_lines": 6}, "missing_lines": [412, 413, 414, 416, 417, 418, 419, 420, 422, 423, 424, 425, 426, 427, 428, 429, 430, 432, 435, 436, 437, 440, 441, 442, 443, 444, 448, 449, 452, 453, 454, 455, 456, 457, 461], "excluded_lines": [445, 446, 447, 458, 459, 460]}, "SeedPassApp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 11}, "missing_lines": [], "excluded_lines": [471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 47, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 47, "excluded_lines": 4}, "missing_lines": [1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 15, 21, 24, 27, 53, 71, 74, 125, 150, 154, 161, 165, 169, 173, 182, 185, 189, 194, 203, 206, 261, 334, 337, 350, 367, 370, 388, 393, 404, 408, 411, 434, 439, 451, 464, 466, 469], "excluded_lines": [470, 484, 485, 486]}}}, "src/tests/conftest.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 33, 36, 40, 41, 42, 45, 46, 52, 58, 66, 67, 68, 71, 74, 77, 78, 79, 82, 83, 84, 85, 89, 90, 95, 96, 115, 116, 153, 154, 194, 195], "summary": {"covered_lines": 48, "num_statements": 105, "percent_covered": 45.714285714285715, "percent_covered_display": "46", "missing_lines": 57, "excluded_lines": 0}, "missing_lines": [37, 75, 80, 86, 91, 92, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 117, 145, 146, 147, 148, 149, 150, 156, 157, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 172, 174, 175, 176, 178, 179, 181, 182, 183, 185, 186, 187, 188, 189, 191, 196], "excluded_lines": [], "functions": {"anyio_backend": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [37], "excluded_lines": []}, "mute_logging": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_addoption": {"executed_lines": [46, 52, 58], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_configure": {"executed_lines": [67, 68], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pytest_collection_modifyitems": {"executed_lines": [74, 77, 78, 79, 82, 83, 84, 85], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [75, 80, 86], "excluded_lines": []}, "vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [91, 92], "excluded_lines": []}, "password_manager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112], "excluded_lines": []}, "client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [117, 145, 146, 147, 148, 149, 150], "excluded_lines": []}, "make_dummy_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [156, 157, 159, 191], "excluded_lines": []}, "make_dummy_nostr_client._make": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 172, 174, 175, 178, 181, 182, 185, 186, 187, 188, 189], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.private_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [176], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeys.public_key_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [179], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [183], "excluded_lines": []}, "dummy_nostr_client": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [196], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 33, 36, 40, 41, 45, 66, 71, 89, 90, 95, 96, 115, 116, 153, 154, 194, 195], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"make_dummy_nostr_client._make.DummyKeys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [176, 179], "excluded_lines": []}, "make_dummy_nostr_client._make.DummyKeyManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [183], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 8, 9, 11, 13, 14, 15, 26, 27, 28, 29, 30, 33, 36, 40, 41, 42, 45, 46, 52, 58, 66, 67, 68, 71, 74, 77, 78, 79, 82, 83, 84, 85, 89, 90, 95, 96, 115, 116, 153, 154, 194, 195], "summary": {"covered_lines": 48, "num_statements": 102, "percent_covered": 47.05882352941177, "percent_covered_display": "47", "missing_lines": 54, "excluded_lines": 0}, "missing_lines": [37, 75, 80, 86, 91, 92, 97, 98, 99, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 117, 145, 146, 147, 148, 149, 150, 156, 157, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, 170, 172, 174, 175, 178, 181, 182, 185, 186, 187, 188, 189, 191, 196], "excluded_lines": []}}}, "src/tests/helpers.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 167, "percent_covered": 34.131736526946106, "percent_covered_display": "34", "missing_lines": 110, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39, 44, 45, 46, 47, 50, 55, 56, 57, 60, 65, 66, 67, 68, 70, 71, 72, 76, 77, 80, 86, 90, 94, 98, 103, 104, 105, 106, 107, 110, 113, 114, 115, 116, 118, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136, 141, 145, 150, 153, 157, 162, 167, 168, 169, 170, 171, 172, 175, 178, 181, 184, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 228, 230, 231, 233], "excluded_lines": [], "functions": {"create_vault": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39], "excluded_lines": []}, "DummyEvent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47], "excluded_lines": []}, "DummyEvent.content": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [50], "excluded_lines": []}, "DummyUnsignedEvent.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [55, 56, 57], "excluded_lines": []}, "DummyUnsignedEvent.sign_with_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [60], "excluded_lines": []}, "DummyBuilder.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 70, 71, 72], "excluded_lines": []}, "DummyBuilder.tags": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [76, 77], "excluded_lines": []}, "DummyBuilder.build": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [80], "excluded_lines": []}, "DummyTag.identifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [86], "excluded_lines": []}, "DummyTag.event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [90], "excluded_lines": []}, "DummyTag.alt": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [94], "excluded_lines": []}, "DummyTag.expiration": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [98], "excluded_lines": []}, "DummyFilter.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107], "excluded_lines": []}, "DummyFilter.author": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [110], "excluded_lines": []}, "DummyFilter.kind": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [113, 114, 115, 116, 118, 119], "excluded_lines": []}, "DummyFilter.identifier": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [122, 123], "excluded_lines": []}, "DummyFilter.id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [126, 127, 128], "excluded_lines": []}, "DummyFilter.limit": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [131, 132], "excluded_lines": []}, "DummyFilter.since": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [135, 136], "excluded_lines": []}, "DummyTimestamp.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [141], "excluded_lines": []}, "DummyTimestamp.from_secs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [145], "excluded_lines": []}, "DummyEventId.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [150], "excluded_lines": []}, "DummyEventId.to_hex": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [153], "excluded_lines": []}, "DummyEventId.parse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [157], "excluded_lines": []}, "DummySendResult.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [162], "excluded_lines": []}, "DummyRelayClient.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171, 172], "excluded_lines": []}, "DummyRelayClient.add_relays": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [175], "excluded_lines": []}, "DummyRelayClient.add_relay": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [178], "excluded_lines": []}, "DummyRelayClient.connect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [181], "excluded_lines": []}, "DummyRelayClient.disconnect": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [184], "excluded_lines": []}, "DummyRelayClient.send_event": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207], "excluded_lines": []}, "DummyRelayClient.fetch_events": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0}, "missing_lines": [210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [228], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result.to_vec": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [231], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"DummyEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [44, 45, 46, 47, 50], "excluded_lines": []}, "DummyUnsignedEvent": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [55, 56, 57, 60], "excluded_lines": []}, "DummyBuilder": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [65, 66, 67, 68, 70, 71, 72, 76, 77, 80], "excluded_lines": []}, "DummyTag": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [86, 90, 94, 98], "excluded_lines": []}, "DummyFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0}, "missing_lines": [103, 104, 105, 106, 107, 110, 113, 114, 115, 116, 118, 119, 122, 123, 126, 127, 128, 131, 132, 135, 136], "excluded_lines": []}, "DummyTimestamp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [141, 145], "excluded_lines": []}, "DummyEventId": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [150, 153, 157], "excluded_lines": []}, "DummySendResult": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [162], "excluded_lines": []}, "DummyRelayClient": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 50, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 50, "excluded_lines": 0}, "missing_lines": [167, 168, 169, 170, 171, 172, 175, 178, 181, 184, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 226, 227, 230, 233], "excluded_lines": []}, "DummyRelayClient.fetch_events.Result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [228, 231], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 11, 12, 18, 22, 25, 42, 43, 49, 53, 54, 59, 63, 64, 74, 79, 83, 84, 85, 88, 89, 92, 93, 96, 97, 101, 102, 109, 112, 121, 125, 130, 134, 139, 140, 143, 144, 148, 149, 152, 155, 156, 160, 161, 165, 166, 174, 177, 180, 183, 186, 209], "summary": {"covered_lines": 57, "num_statements": 65, "percent_covered": 87.6923076923077, "percent_covered_display": "88", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 36, 37, 38, 39], "excluded_lines": []}}}, "src/tests/test_ai_tui_agent_harness.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 24, 25, 26, 28, 29, 31, 33, 34, 35, 36, 37, 40, 41, 43, 44, 46, 47, 49, 50, 51, 52, 55, 56, 57, 58, 59, 61, 62, 64, 65, 67, 68, 69, 70, 71, 74, 75, 76, 77, 78, 80, 81, 83, 84, 86, 87, 88, 89, 94, 95, 96, 97, 105, 107, 108, 109, 110, 112, 113, 115, 118, 119, 120, 121, 124, 125, 126, 129, 132, 135, 136, 137, 140, 141, 142, 143, 144, 146, 147, 148, 149, 150, 152, 153, 154, 156, 159, 160, 161, 162, 163, 166, 167, 168, 169, 171, 172, 174, 175, 177, 178, 180, 183], "summary": {"covered_lines": 118, "num_statements": 123, "percent_covered": 95.9349593495935, "percent_covered_display": "96", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [116, 127, 130, 133, 157], "excluded_lines": [], "functions": {"_load_harness_module": {"executed_lines": [11, 12, 13, 14, 15, 16, 17, 18], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_run_step_records_passed_result": {"executed_lines": [25, 26, 28, 31, 33, 34, 35, 36, 37], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_run_step_records_passed_result._ok": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_run_step_records_failed_result_and_reraises": {"executed_lines": [41, 43, 46, 47, 49, 50, 51, 52], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_run_step_records_failed_result_and_reraises._boom": {"executed_lines": [44], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_waits_when_choice_omitted": {"executed_lines": [56, 57, 61, 64, 67, 68, 69, 70, 71], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.__init__": {"executed_lines": [58, 59], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.sendline": {"executed_lines": [62], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_waits_when_choice_omitted.Runner.wait_for": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided": {"executed_lines": [75, 76, 80, 83, 86, 87, 88, 89], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.__init__": {"executed_lines": [77, 78], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.sendline": {"executed_lines": [81], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided.Runner.expect_and_send": {"executed_lines": [84], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password": {"executed_lines": [95, 96, 107, 112, 115, 118, 119, 120, 121], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.__init__": {"executed_lines": [97, 105], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.try_wait_for": {"executed_lines": [108, 109, 110], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.sendline": {"executed_lines": [113], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [116], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts": {"executed_lines": [125, 126, 129, 132, 135, 136, 137], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.try_wait_for": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [127], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.sendline": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [130], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [133], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns": {"executed_lines": [141, 142, 146, 152, 156, 159, 160, 161, 162, 163], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.__init__": {"executed_lines": [143, 144], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.wait_for": {"executed_lines": [147, 148, 149, 150], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.expect_and_send": {"executed_lines": [153, 154], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner.pump": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [157], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress": {"executed_lines": [167, 168, 171, 174, 177, 178, 180, 183], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.wait_for": {"executed_lines": [169], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.expect_and_send": {"executed_lines": [172], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner.pump": {"executed_lines": [175], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 21, 24, 40, 55, 74, 94, 124, 140, 166], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"test_add_entry_menu_open_waits_when_choice_omitted.Runner": {"executed_lines": [58, 59, 62, 65], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_add_entry_menu_open_sends_choice_when_provided.Runner": {"executed_lines": [77, 78, 81, 84], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_complete_onboarding_reaches_main_menu_and_sends_password.Runner": {"executed_lines": [97, 105, 108, 109, 110, 113], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [116], "excluded_lines": []}, "test_complete_onboarding_times_out_without_expected_prompts.Runner": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0}, "missing_lines": [127, 130, 133], "excluded_lines": []}, "test_drain_to_main_menu_uses_helper_prompt_then_returns.Runner": {"executed_lines": [143, 144, 147, 148, 149, 150, 153, 154], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [157], "excluded_lines": []}, "test_drain_to_main_menu_times_out_when_no_prompt_progress.Runner": {"executed_lines": [169, 172, 175], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 24, 25, 26, 28, 29, 31, 33, 34, 35, 36, 37, 40, 41, 43, 44, 46, 47, 49, 50, 51, 52, 55, 56, 57, 61, 64, 67, 68, 69, 70, 71, 74, 75, 76, 80, 83, 86, 87, 88, 89, 94, 95, 96, 107, 112, 115, 118, 119, 120, 121, 124, 125, 126, 129, 132, 135, 136, 137, 140, 141, 142, 146, 152, 156, 159, 160, 161, 162, 163, 166, 167, 168, 171, 174, 177, 178, 180, 183], "summary": {"covered_lines": 93, "num_statements": 93, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/tests/test_check_critical_coverage.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 26, 27, 30, 31, 34, 44, 45, 46, 49, 50, 56, 57, 60, 61, 62, 78, 81, 82, 83, 84], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": [], "functions": {"_load_module": {"executed_lines": [11, 12, 13, 16, 17, 18, 19, 20], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_threshold_overrides_valid": {"executed_lines": [27, 30, 31], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_parse_threshold_overrides_invalid": {"executed_lines": [45, 46], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_find_file_payload_accepts_absolute_path_suffix": {"executed_lines": [50, 56, 57], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "test_compute_function_coverage_reports_uncovered": {"executed_lines": [61, 62, 78, 81, 82, 83, 84], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 23, 26, 34, 44, 49, 60], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 12, 13, 16, 17, 18, 19, 20, 23, 26, 27, 30, 31, 34, 44, 45, 46, 49, 50, 56, 57, 60, 61, 62, 78, 81, 82, 83, 84], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/__init__.py": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51], "functions": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}, "classes": {"": {"executed_lines": [3, 5, 7, 9, 10, 19, 27, 28, 29, 30, 31, 37, 40, 41, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10}, "missing_lines": [], "excluded_lines": [40, 41, 42, 43, 45, 46, 48, 49, 50, 51]}}}, "src/utils/atomic_write.py": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 22, "percent_covered": 31.818181818181817, "percent_covered_display": "32", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": [], "functions": {"atomic_write": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": []}, "": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 14, 16, 17, 18, 19, 22, 62], "summary": {"covered_lines": 7, "num_statements": 22, "percent_covered": 31.818181818181817, "percent_covered_display": "32", "missing_lines": 15, "excluded_lines": 0}, "missing_lines": [44, 45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59], "excluded_lines": []}}}, "src/utils/checksum.py": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 95, "percent_covered": 18.94736842105263, "percent_covered_display": "19", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [31, 36, 37, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75, 89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": [], "functions": {"canonical_json_dumps": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "json_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [36, 37], "excluded_lines": []}, "calculate_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75], "excluded_lines": []}, "verify_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106], "excluded_lines": []}, "update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137], "excluded_lines": []}, "verify_and_update_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [151, 152, 153, 155, 156, 157, 158, 160, 161, 162], "excluded_lines": []}, "initialize_checksum": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198], "excluded_lines": []}, "update_checksum_file": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}, "": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 13, 14, 15, 16, 17, 18, 20, 22, 23, 26, 29, 34, 40, 78, 109, 140, 165, 201], "summary": {"covered_lines": 18, "num_statements": 95, "percent_covered": 18.94736842105263, "percent_covered_display": "19", "missing_lines": 77, "excluded_lines": 0}, "missing_lines": [31, 36, 37, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 65, 66, 67, 70, 75, 89, 90, 91, 92, 93, 94, 95, 96, 99, 101, 102, 103, 105, 106, 120, 121, 122, 123, 124, 125, 126, 127, 128, 131, 137, 151, 152, 153, 155, 156, 157, 158, 160, 161, 162, 176, 177, 178, 180, 181, 182, 185, 186, 187, 188, 192, 198, 203, 204, 205, 206, 207, 208, 211, 212, 213, 217, 223], "excluded_lines": []}}}, "src/utils/clipboard.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 26, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29, 38, 40, 42, 43, 44, 46, 47, 48, 49], "excluded_lines": [], "functions": {"_ensure_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29], "excluded_lines": []}, "copy_to_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [38, 40, 42, 46, 47, 48, 49], "excluded_lines": []}, "copy_to_clipboard.clear_clipboard": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [43, 44], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"ClipboardUnavailableError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 11, 12, 15, 18, 35, 52], "summary": {"covered_lines": 10, "num_statements": 26, "percent_covered": 38.46153846153846, "percent_covered_display": "38", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [20, 21, 22, 23, 24, 25, 29, 38, 40, 42, 43, 44, 46, 47, 48, 49], "excluded_lines": []}}}, "src/utils/color_scheme.py": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [12, 31, 32, 33, 34, 35], "excluded_lines": [], "functions": {"_apply_orange": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [12], "excluded_lines": []}, "color_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35], "excluded_lines": []}, "": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 7, 10, 16, 29], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [12, 31, 32, 33, 34, 35], "excluded_lines": []}}}, "src/utils/file_lock.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 42, 43], "summary": {"covered_lines": 9, "num_statements": 27, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [21, 22, 23, 24, 25, 26, 32, 38, 39, 53, 54, 55, 56, 57, 63, 69, 70, 71], "excluded_lines": [], "functions": {"exclusive_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [21, 22, 23, 24, 25, 26, 32, 38, 39], "excluded_lines": []}, "shared_lock": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [53, 54, 55, 56, 57, 63, 69, 70, 71], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 42, 43], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 10, 11, 42, 43], "summary": {"covered_lines": 9, "num_statements": 27, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [21, 22, 23, 24, 25, 26, 32, 38, 39, 53, 54, 55, 56, 57, 63, 69, 70, 71], "excluded_lines": []}}}, "src/utils/fingerprint.py": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 16, "percent_covered": 31.25, "percent_covered_display": "31", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [30, 32, 33, 36, 37, 40, 41, 43, 44, 45, 46], "excluded_lines": [], "functions": {"generate_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [30, 32, 33, 36, 37, 40, 41, 43, 44, 45, 46], "excluded_lines": []}, "": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [3, 11, 12, 13, 16, 19], "summary": {"covered_lines": 5, "num_statements": 16, "percent_covered": 31.25, "percent_covered_display": "31", "missing_lines": 11, "excluded_lines": 0}, "missing_lines": [30, 32, 33, 36, 37, 40, 41, 43, 44, 45, 46], "excluded_lines": []}}}, "src/utils/fingerprint_manager.py": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 122, "percent_covered": 18.852459016393443, "percent_covered_display": "19", "missing_lines": 99, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37, 50, 51, 53, 54, 60, 61, 62, 63, 64, 67, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88, 94, 95, 100, 104, 107, 108, 109, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183, 192, 193, 205, 206, 207, 208, 209, 211, 212, 216, 217, 218, 219, 221, 222, 223, 227, 231, 232, 244, 245, 246, 248, 249], "excluded_lines": [], "functions": {"FingerprintManager.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37], "excluded_lines": []}, "FingerprintManager.get_current_fingerprint_dir": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [50, 51, 53, 54], "excluded_lines": []}, "FingerprintManager._ensure_app_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [60, 61, 62, 63, 64, 67], "excluded_lines": []}, "FingerprintManager._load_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88], "excluded_lines": []}, "FingerprintManager._save_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [94, 95, 100, 104, 107, 108, 109], "excluded_lines": []}, "FingerprintManager.add_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139], "excluded_lines": []}, "FingerprintManager.remove_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0}, "missing_lines": [154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183], "excluded_lines": []}, "FingerprintManager.list_fingerprints": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [192, 193], "excluded_lines": []}, "FingerprintManager.select_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [205, 206, 207, 208, 209, 211, 212], "excluded_lines": []}, "FingerprintManager.set_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219, 221, 222, 223], "excluded_lines": []}, "FingerprintManager.get_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [227], "excluded_lines": []}, "FingerprintManager.display_name": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [231, 232], "excluded_lines": []}, "FingerprintManager.get_fingerprint_directory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0}, "missing_lines": [244, 245, 246, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"FingerprintManager": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 99, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 99, "excluded_lines": 0}, "missing_lines": [34, 35, 36, 37, 50, 51, 53, 54, 60, 61, 62, 63, 64, 67, 71, 72, 73, 74, 75, 76, 77, 78, 81, 82, 85, 86, 87, 88, 94, 95, 100, 104, 107, 108, 109, 122, 123, 124, 125, 126, 127, 128, 130, 131, 132, 133, 134, 135, 136, 138, 139, 154, 155, 156, 157, 158, 159, 162, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 180, 182, 183, 192, 193, 205, 206, 207, 208, 209, 211, 212, 216, 217, 218, 219, 221, 222, 223, 227, 231, 232, 244, 245, 246, 248, 249], "excluded_lines": []}, "": {"executed_lines": [3, 4, 5, 6, 7, 9, 11, 12, 15, 18, 19, 27, 43, 56, 69, 90, 111, 141, 185, 195, 214, 225, 229, 234], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/imghdr_stub.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 39}, "missing_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 59, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "excluded_lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 219, 220], "functions": {"what": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44], "excluded_lines": []}, "test_jpeg": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [56, 57, 58, 59], "excluded_lines": []}, "test_png": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [67, 68], "excluded_lines": []}, "test_gif": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [76, 77], "excluded_lines": []}, "test_tiff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [85, 86], "excluded_lines": []}, "test_rgb": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [94, 95], "excluded_lines": []}, "test_pbm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [103, 104], "excluded_lines": []}, "test_pgm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [112, 113], "excluded_lines": []}, "test_ppm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [121, 122], "excluded_lines": []}, "test_rast": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [130, 131], "excluded_lines": []}, "test_xbm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [139, 140], "excluded_lines": []}, "test_bmp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [148, 149], "excluded_lines": []}, "test_webp": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [157, 158], "excluded_lines": []}, "test_exr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [166, 167], "excluded_lines": []}, "test": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 14}, "missing_lines": [], "excluded_lines": [179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192]}, "testall": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 21}, "missing_lines": [], "excluded_lines": [196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 33, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 33, "excluded_lines": 4}, "missing_lines": [7, 9, 10, 12, 14, 25, 51, 54, 62, 65, 71, 74, 80, 83, 89, 92, 98, 101, 107, 110, 116, 119, 125, 128, 134, 137, 143, 146, 152, 155, 161, 164, 170], "excluded_lines": [178, 195, 219, 220]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 77, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 77, "excluded_lines": 39}, "missing_lines": [7, 9, 10, 12, 14, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 51, 54, 56, 57, 58, 59, 62, 65, 67, 68, 71, 74, 76, 77, 80, 83, 85, 86, 89, 92, 94, 95, 98, 101, 103, 104, 107, 110, 112, 113, 116, 119, 121, 122, 125, 128, 130, 131, 134, 137, 139, 140, 143, 146, 148, 149, 152, 155, 157, 158, 161, 164, 166, 167, 170], "excluded_lines": [178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 219, 220]}}}, "src/utils/input_utils.py": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 30, "excluded_lines": 4}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58], "excluded_lines": [9, 10, 27, 28], "functions": {"_timed_input_posix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22], "excluded_lines": []}, "_timed_input_windows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 2}, "missing_lines": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45], "excluded_lines": [27, 28]}, "timed_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [50, 51, 52, 54, 55, 58], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [9, 10]}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 5, 7, 8, 9, 10, 13, 25, 48], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 30, "excluded_lines": 4}, "missing_lines": [15, 16, 17, 18, 19, 20, 21, 22, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 50, 51, 52, 54, 55, 58], "excluded_lines": [9, 10, 27, 28]}}}, "src/utils/key_derivation.py": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 117, "percent_covered": 29.914529914529915, "percent_covered_display": "30", "missing_lines": 82, "excluded_lines": 5}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133, 147, 148, 149, 151, 152, 153, 155, 156, 157, 166, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 216, 217, 218, 219, 224, 229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169], "functions": {"derive_key_from_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133], "excluded_lines": []}, "derive_key_from_password_argon2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 3}, "missing_lines": [147, 148, 149, 151, 152, 153, 155, 156, 157, 166], "excluded_lines": [167, 168, 169]}, "derive_key_from_parent_seed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0}, "missing_lines": [181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211], "excluded_lines": []}, "derive_index_key_seed_only": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [216, 217, 218, 219], "excluded_lines": []}, "derive_index_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [224], "excluded_lines": []}, "derive_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0}, "missing_lines": [229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248], "excluded_lines": []}, "calibrate_argon2_time_cost": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0}, "missing_lines": [279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2}, "missing_lines": [], "excluded_lines": [49, 50]}}, "classes": {"EncryptionMode": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "KdfConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 30, 31, 32, 35, 38, 39, 41, 44, 47, 49, 53, 54, 55, 57, 58, 59, 66, 71, 74, 136, 172, 214, 222, 227, 251], "summary": {"covered_lines": 35, "num_statements": 117, "percent_covered": 29.914529914529915, "percent_covered_display": "30", "missing_lines": 82, "excluded_lines": 5}, "missing_lines": [96, 97, 98, 100, 101, 104, 105, 108, 109, 111, 113, 115, 116, 123, 126, 127, 129, 131, 132, 133, 147, 148, 149, 151, 152, 153, 155, 156, 157, 166, 181, 183, 186, 188, 189, 191, 194, 201, 203, 204, 208, 209, 210, 211, 216, 217, 218, 219, 224, 229, 230, 231, 233, 234, 236, 237, 238, 239, 240, 242, 243, 244, 245, 246, 247, 248, 279, 280, 281, 282, 283, 284, 285, 289, 290, 291, 292, 293, 295, 296, 297, 298], "excluded_lines": [49, 50, 167, 168, 169]}}}, "src/utils/key_hierarchy.py": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": [], "functions": {"kd": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [21, 28], "excluded_lines": []}}}, "src/utils/key_validation.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 29, "percent_covered": 41.37931034482759, "percent_covered_display": "41", "missing_lines": 17, "excluded_lines": 15}, "missing_lines": [15, 16, 17, 25, 26, 27, 35, 43, 44, 45, 53, 54, 55, 56, 57, 65, 66], "excluded_lines": [18, 19, 20, 36, 37, 38, 46, 47, 48, 58, 59, 60, 67, 68, 69], "functions": {"validate_totp_secret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 3}, "missing_lines": [15, 16, 17], "excluded_lines": [18, 19, 20]}, "validate_ssh_key_pair": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 3}, "missing_lines": [25, 26, 27, 35], "excluded_lines": [36, 37, 38]}, "validate_pgp_private_key": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 3}, "missing_lines": [43, 44, 45], "excluded_lines": [46, 47, 48]}, "validate_nostr_keys": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 3}, "missing_lines": [53, 54, 55, 56, 57], "excluded_lines": [58, 59, 60]}, "validate_seed_phrase": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 3}, "missing_lines": [65, 66], "excluded_lines": [67, 68, 69]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 13, 23, 41, 51, 63], "summary": {"covered_lines": 12, "num_statements": 29, "percent_covered": 41.37931034482759, "percent_covered_display": "41", "missing_lines": 17, "excluded_lines": 15}, "missing_lines": [15, 16, 17, 25, 26, 27, 35, 43, 44, 45, 53, 54, 55, 56, 57, 65, 66], "excluded_lines": [18, 19, 20, 36, 37, 38, 46, 47, 48, 58, 59, 60, 67, 68, 69]}}}, "src/utils/logging_utils.py": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54, 57, 58, 62], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 13}, "missing_lines": [35, 41, 47, 48, 49, 51, 59, 60], "excluded_lines": [12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 29], "functions": {"ConsolePauseFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter.filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "pause_console_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [35], "excluded_lines": []}, "resume_console_logging": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [41], "excluded_lines": []}, "console_logging_paused": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [47, 48, 49, 51], "excluded_lines": []}, "pause_logging_for_ui": {"executed_lines": [57, 58, 62], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "pause_logging_for_ui.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0}, "missing_lines": [59, 60], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [12, 13, 14, 21, 22, 23]}}, "classes": {"ConsolePauseFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1}, "missing_lines": [], "excluded_lines": [15]}, "ChecksumWarningFilter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 6}, "missing_lines": [], "excluded_lines": [24, 25, 26, 27, 28, 29]}, "": {"executed_lines": [1, 2, 3, 4, 6, 9, 10, 12, 18, 19, 21, 32, 38, 44, 45, 54, 57, 58, 62], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 65.21739130434783, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 6}, "missing_lines": [35, 41, 47, 48, 49, 51, 59, 60], "excluded_lines": [12, 13, 14, 21, 22, 23]}}}, "src/utils/memory_protection.py": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 29, 36], "summary": {"covered_lines": 8, "num_statements": 20, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23, 27, 31, 32, 33, 34, 38], "excluded_lines": [], "functions": {"InMemorySecret.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23], "excluded_lines": []}, "InMemorySecret.get_bytes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [27], "excluded_lines": []}, "InMemorySecret.wipe": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34], "excluded_lines": []}, "InMemorySecret.get_str": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [38], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 29, 36], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"InMemorySecret": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0}, "missing_lines": [18, 19, 20, 21, 22, 23, 27, 31, 32, 33, 34, 38], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 10, 11, 17, 25, 29, 36], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}}, "src/utils/password_prompt.py": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 126, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 105, "excluded_lines": 0}, "missing_lines": [39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": [], "functions": {"_env_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [39], "excluded_lines": []}, "_get_max_attempts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [45, 46, 47, 48, 49, 50, 51, 52, 53], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [59, 60, 61, 62], "excluded_lines": []}, "prompt_new_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 45, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 45, "excluded_lines": 0}, "missing_lines": [89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155], "excluded_lines": []}, "prompt_existing_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 27, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 27, "excluded_lines": 0}, "missing_lines": [180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216], "excluded_lines": []}, "confirm_action": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0}, "missing_lines": [235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256], "excluded_lines": []}, "prompt_for_password": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [268], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"PasswordPromptError": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}, "": {"executed_lines": [3, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 30, 33, 36, 42, 56, 65, 66, 68, 71, 158, 219, 259], "summary": {"covered_lines": 21, "num_statements": 126, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 105, "excluded_lines": 0}, "missing_lines": [39, 45, 46, 47, 48, 49, 50, 51, 52, 53, 59, 60, 61, 62, 89, 90, 91, 92, 93, 94, 96, 97, 99, 100, 101, 102, 104, 105, 108, 109, 110, 111, 113, 114, 120, 123, 124, 125, 127, 128, 131, 132, 133, 134, 137, 138, 139, 141, 142, 143, 144, 145, 146, 149, 150, 151, 153, 154, 155, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 194, 195, 196, 197, 199, 200, 201, 203, 204, 205, 206, 207, 208, 212, 213, 214, 216, 235, 236, 237, 238, 239, 240, 241, 242, 243, 245, 247, 248, 249, 250, 251, 252, 255, 256, 268], "excluded_lines": []}}}, "src/utils/seed_prompt.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 128, "percent_covered": 13.28125, "percent_covered_display": "13", "missing_lines": 111, "excluded_lines": 11}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 109, 110, 111, 112, 113, 114, 118, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116], "functions": {"_get_max_attempts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39], "excluded_lines": []}, "_apply_backoff": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0}, "missing_lines": [45, 46, 47, 48], "excluded_lines": []}, "_masked_input_windows": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 2}, "missing_lines": [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "excluded_lines": [53, 54]}, "_masked_input_posix": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 22, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 22, "excluded_lines": 2}, "missing_lines": [81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104], "excluded_lines": [78, 79]}, "masked_input": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 2}, "missing_lines": [109, 110, 111, 112, 113, 114, 118], "excluded_lines": [115, 116]}, "prompt_seed_words": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 52, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 52, "excluded_lines": 0}, "missing_lines": [150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 5}, "missing_lines": [], "excluded_lines": [7, 8, 13, 14, 15]}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 17, 18, 20, 23, 42, 51, 76, 107, 121], "summary": {"covered_lines": 17, "num_statements": 128, "percent_covered": 13.28125, "percent_covered_display": "13", "missing_lines": 111, "excluded_lines": 11}, "missing_lines": [31, 32, 33, 34, 35, 36, 37, 38, 39, 45, 46, 47, 48, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100, 101, 102, 104, 109, 110, 111, 112, 113, 114, 118, 150, 152, 153, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 174, 175, 176, 177, 178, 179, 184, 185, 186, 187, 188, 189, 190, 191, 194, 195, 196, 197, 198, 199, 200, 201, 204, 205, 206, 207, 208, 209, 211, 212, 213, 214], "excluded_lines": [7, 8, 13, 14, 15, 53, 54, 78, 79, 115, 116]}}}, "src/utils/terminal_utils.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 75, "percent_covered": 14.666666666666666, "percent_covered_display": "15", "missing_lines": 64, "excluded_lines": 6}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26, 31, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 118, 119, 120, 121, 122, 123], "excluded_lines": [21, 22, 25, 102, 103, 104], "functions": {"format_profile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 3}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26], "excluded_lines": [21, 22, 25]}, "clear_screen": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0}, "missing_lines": [31], "excluded_lines": []}, "clear_and_print_fingerprint": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0}, "missing_lines": [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54], "excluded_lines": []}, "clear_and_print_profile_chain": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0}, "missing_lines": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": []}, "clear_header_with_notification": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 26, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 26, "excluded_lines": 3}, "missing_lines": [82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113], "excluded_lines": [102, 103, 104]}, "pause": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0}, "missing_lines": [118, 119, 120, 121, 122, 123], "excluded_lines": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0}, "missing_lines": [], "excluded_lines": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 12, 29, 34, 57, 73, 116], "summary": {"covered_lines": 11, "num_statements": 75, "percent_covered": 14.666666666666666, "percent_covered_display": "15", "missing_lines": 64, "excluded_lines": 6}, "missing_lines": [14, 15, 16, 17, 18, 19, 20, 26, 31, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 106, 107, 108, 109, 110, 111, 113, 118, 119, 120, 121, 122, 123], "excluded_lines": [21, 22, 25, 102, 103, 104]}}}}, "totals": {"covered_lines": 1503, "num_statements": 9825, "percent_covered": 15.297709923664122, "percent_covered_display": "15", "missing_lines": 8322, "excluded_lines": 274}} |