From 6535128a066e14a55885479639399d6ff7077b1b Mon Sep 17 00:00:00 2001 From: Danny Staple Date: Wed, 28 Dec 2022 13:26:38 +0000 Subject: [PATCH] Movement with uncertainty --- .../analyse_output-2022-28.ipynb | 282 ++ ch-13/2.2-moving-with-encoders/robot/robot.py | 2 +- .../analyse_output.ipynb | 1215 ++++++++ .../2.3-movement-uncertainty/banana_shaped.py | 50 + .../display_from_robot.py | 73 + ch-13/2.3-movement-uncertainty/poetry.lock | 2572 +++++++++++++++++ ch-13/2.3-movement-uncertainty/pyproject.toml | 22 + .../2.3-movement-uncertainty/requirements.txt | 3 + ch-13/2.3-movement-uncertainty/robot/arena.py | 77 + ch-13/2.3-movement-uncertainty/robot/code.py | 182 ++ .../robot/pid_controller.py | 27 + .../robot/pio_encoder.py | 84 + ch-13/2.3-movement-uncertainty/robot/robot.py | 76 + .../robot_ble_connection.py | 38 + 14 files changed, 4702 insertions(+), 1 deletion(-) create mode 100644 ch-13/2.2-moving-with-encoders/analyse_output-2022-28.ipynb create mode 100644 ch-13/2.3-movement-uncertainty/analyse_output.ipynb create mode 100644 ch-13/2.3-movement-uncertainty/banana_shaped.py create mode 100644 ch-13/2.3-movement-uncertainty/display_from_robot.py create mode 100644 ch-13/2.3-movement-uncertainty/poetry.lock create mode 100644 ch-13/2.3-movement-uncertainty/pyproject.toml create mode 100644 ch-13/2.3-movement-uncertainty/requirements.txt create mode 100644 ch-13/2.3-movement-uncertainty/robot/arena.py create mode 100644 ch-13/2.3-movement-uncertainty/robot/code.py create mode 100644 ch-13/2.3-movement-uncertainty/robot/pid_controller.py create mode 100644 ch-13/2.3-movement-uncertainty/robot/pio_encoder.py create mode 100755 ch-13/2.3-movement-uncertainty/robot/robot.py create mode 100644 ch-13/2.3-movement-uncertainty/robot_ble_connection.py diff --git a/ch-13/2.2-moving-with-encoders/analyse_output-2022-28.ipynb b/ch-13/2.2-moving-with-encoders/analyse_output-2022-28.ipynb new file mode 100644 index 0000000..6194dce --- /dev/null +++ b/ch-13/2.2-moving-with-encoders/analyse_output-2022-28.ipynb @@ -0,0 +1,282 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from matplotlib import pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "import json" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is not the little circles being plotted... What?" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "poses_raw_data = \"\"\"\n", + "Received data: {\"poses\": [[1311, 116], [591, 1478], [4, 472], [1143, 1469], [1167, 1015], [917, 40], [71, 1024], [169, 254], [36, 1093], [1431, 516], [951, 313], [694, 922], [139, 403], [1080, 1397], [278, 731], [68, 622], [363, 752], [1459, 1411], [1039, 441], [906, 562]]}\n", + "Received data: {\"poses\": [[1311, 115], [591, 1477], [4, 471], [1142, 1468], [1166, 1015], [917, 39], [70, 1023], [168, 253], [35, 1093], [1431, 516], [950, 312], [694, 921], [139, 403], [1079, 1397], [277, 730], [68, 622], [363, 752], [1459, 1411], [1039, 440], [906, 561]]}\n", + "Received data: {\"poses\": [[1357, 109], [591, 1431], [16, 427], [1107, 1439], [1143, 1055], [940, -1], [24, 1023], [150, 211], [-9, 1106], [1433, 562], [909, 291], [740, 919], [175, 431], [1071, 1442], [232, 722], [71, 668], [404, 773], [1492, 1443], [1084, 428], [938, 528]]}\n", + "Received data: {\"poses\": [[1361, 110], [593, 1427], [19, 423], [1104, 1435], [1140, 1058], [943, -4], [20, 1021], [149, 206], [-14, 1106], [1432, 567], [906, 288], [745, 920], [178, 435], [1069, 1447], [227, 720], [70, 672], [407, 776], [1494, 1448], [1088, 429], [942, 526]]}\n", + "Received data: {\"poses\": [[1361, 110], [593, 1427], [19, 423], [1104, 1435], [1140, 1058], [943, -4], [20, 1021], [149, 207], [-14, 1106], [1432, 566], [906, 288], [744, 920], [178, 435], [1070, 1446], [228, 721], [70, 672], [407, 776], [1494, 1447], [1088, 428], [942, 526]]}\n", + "Received data: {\"poses\": [[1361, 108], [591, 1427], [17, 423], [1103, 1436], [1141, 1059], [942, -5], [20, 1023], [148, 207], [-13, 1107], [1433, 566], [905, 289], [744, 919], [179, 434], [1071, 1447], [227, 722], [71, 672], [408, 775], [1495, 1446], [1088, 427], [941, 525]]}\n", + "Received data: {\"poses\": [[1361, 107], [590, 1426], [17, 422], [1102, 1436], [1142, 1060], [941, -6], [19, 1024], [147, 207], [-13, 1108], [1434, 567], [904, 290], [745, 918], [180, 433], [1071, 1447], [227, 722], [72, 673], [409, 774], [1496, 1446], [1088, 426], [941, 524]]}\n", + "Received data: {\"poses\": [[1361, 108], [591, 1427], [17, 422], [1103, 1436], [1142, 1059], [941, -5], [20, 1023], [147, 207], [-13, 1108], [1434, 566], [905, 290], [744, 918], [179, 433], [1071, 1447], [227, 722], [72, 672], [408, 774], [1495, 1446], [1087, 427], [940, 524]]}\n", + "Received data: {\"poses\": [[1304, 109], [583, 1482], [-5, 474], [1142, 1477], [1175, 1014], [908, 40], [75, 1031], [164, 261], [42, 1098], [1437, 510], [952, 321], [688, 915], [139, 394], [1087, 1393], [281, 738], [74, 616], [361, 743], [1460, 1402], [1032, 435], [897, 560]]}\n", + "Received data: {\"poses\": [[1250, 109], [574, 1536], [-27, 524], [1178, 1518], [1209, 971], [874, 83], [129, 1040], [179, 313], [96, 1090], [1442, 456], [996, 352], [634, 910], [102, 355], [1104, 1341], [333, 755], [78, 562], [317, 712], [1428, 1358], [978, 441], [854, 593]]}\n", + "Received data: {\"poses\": [[1187, 109], [565, 1599], [-52, 582], [1221, 1564], [1247, 921], [836, 133], [192, 1049], [197, 374], [158, 1079], [1447, 393], [1048, 388], [571, 905], [57, 309], [1124, 1281], [393, 775], [82, 499], [265, 676], [1389, 1308], [915, 449], [804, 633]]}\n", + "Received data: {\"poses\": [[1122, 111], [556, 1663], [-77, 642], [1265, 1611], [1286, 869], [797, 185], [256, 1058], [216, 436], [222, 1068], [1452, 328], [1102, 424], [506, 900], [11, 264], [1142, 1219], [455, 793], [85, 434], [211, 640], [1349, 1257], [851, 459], [754, 674]]}\n", + "Received data: {\"poses\": [[1116, 109], [554, 1669], [-81, 647], [1268, 1617], [1291, 865], [792, 189], [262, 1060], [216, 442], [229, 1068], [1454, 322], [1106, 429], [500, 898], [8, 258], [1146, 1213], [461, 797], [87, 428], [207, 635], [1346, 1251], [845, 458], [748, 676]]}\n", + "Received data: {\"poses\": [[1116, 110], [554, 1668], [-81, 646], [1268, 1617], [1291, 865], [792, 189], [261, 1060], [216, 442], [228, 1068], [1453, 323], [1106, 429], [501, 899], [8, 259], [1145, 1214], [460, 796], [87, 428], [207, 635], [1346, 1252], [845, 458], [749, 676]]}\n", + "Received data: {\"poses\": [[1116, 110], [555, 1668], [-80, 647], [1268, 1616], [1290, 865], [793, 189], [261, 1059], [217, 442], [228, 1067], [1453, 323], [1106, 428], [501, 899], [7, 259], [1145, 1214], [460, 796], [86, 428], [207, 636], [1346, 1252], [845, 459], [749, 677]]}\n", + "Received data: {\"poses\": [[1116, 111], [555, 1669], [-80, 647], [1269, 1616], [1290, 864], [793, 190], [262, 1059], [218, 442], [228, 1067], [1452, 322], [1107, 428], [500, 900], [7, 259], [1144, 1213], [461, 795], [86, 428], [206, 636], [1345, 1252], [845, 460], [749, 678]]}\n", + "Received data: {\"poses\": [[1116, 111], [555, 1669], [-80, 647], [1269, 1616], [1290, 864], [793, 190], [262, 1059], [218, 442], [228, 1067], [1452, 322], [1107, 428], [500, 900], [7, 259], [1144, 1213], [461, 795], [86, 428], [206, 636], [1345, 1252], [845, 460], [749, 678]]}\n", + "Received data: {\"poses\": [[1114, 110], [554, 1671], [-82, 649], [1270, 1618], [1292, 863], [791, 191], [264, 1060], [217, 444], [231, 1067], [1453, 320], [1108, 430], [498, 899], [6, 257], [1146, 1211], [463, 797], [87, 426], [205, 634], [1345, 1250], [843, 459], [747, 678]]}\n", + "Received data: {\"poses\": [[1114, 109], [553, 1671], [-82, 649], [1270, 1619], [1293, 863], [790, 191], [264, 1061], [217, 445], [231, 1068], [1454, 320], [1108, 431], [498, 898], [6, 256], [1146, 1211], [463, 797], [88, 425], [205, 633], [1345, 1249], [842, 458], [746, 678]]}\n", + "Received data: {\"poses\": [[1117, 166], [610, 1676], [-29, 669], [1310, 1578], [1246, 831], [837, 223], [269, 1004], [270, 426], [219, 1012], [1397, 318], [1138, 382], [496, 955], [-32, 298], [1091, 1197], [477, 742], [31, 425], [175, 682], [1302, 1286], [853, 514], [784, 720]]}\n", + "Received data: {\"poses\": [[1119, 222], [666, 1683], [23, 690], [1350, 1539], [1200, 798], [883, 256], [276, 948], [324, 408], [208, 957], [1341, 315], [1169, 335], [493, 1011], [-71, 339], [1037, 1181], [493, 688], [-26, 423], [144, 729], [1258, 1322], [861, 570], [820, 764]]}\n", + "Received data: {\"poses\": [[1122, 290], [733, 1691], [86, 714], [1398, 1492], [1145, 759], [938, 295], [284, 881], [388, 386], [194, 891], [1273, 313], [1205, 278], [491, 1079], [-117, 388], [972, 1164], [510, 623], [-93, 422], [108, 786], [1206, 1365], [873, 636], [864, 815]]}\n", + "Received data: {\"poses\": [[1126, 346], [789, 1696], [139, 734], [1437, 1452], [1099, 727], [984, 327], [289, 825], [441, 367], [182, 836], [1217, 312], [1234, 230], [490, 1135], [-155, 430], [917, 1150], [524, 568], [-149, 421], [79, 834], [1164, 1402], [883, 692], [902, 857]]}\n", + "Received data: {\"poses\": [[1131, 413], [856, 1701], [202, 756], [1483, 1403], [1042, 690], [1041, 364], [294, 758], [504, 344], [166, 771], [1150, 311], [1268, 172], [489, 1202], [-200, 480], [852, 1134], [540, 503], [-217, 422], [45, 892], [1113, 1446], [897, 757], [947, 906]]}\n", + "Received data: {\"poses\": [[1137, 469], [912, 1704], [256, 774], [1521, 1361], [995, 660], [1088, 394], [297, 702], [556, 323], [152, 716], [1093, 312], [1296, 123], [490, 1259], [-236, 523], [797, 1122], [552, 448], [-273, 424], [17, 941], [1072, 1485], [909, 813], [986, 947]]}\n", + "Received data: {\"poses\": [[1144, 536], [980, 1707], [320, 794], [1566, 1311], [938, 625], [1145, 429], [300, 634], [618, 297], [134, 651], [1026, 313], [1328, 63], [491, 1326], [-279, 575], [731, 1109], [565, 382], [-340, 426], [-15, 1001], [1023, 1531], [925, 878], [1033, 995]]}\n", + "Received data: {\"poses\": [[1151, 592], [1036, 1709], [374, 811], [1603, 1268], [889, 596], [1194, 458], [302, 578], [670, 275], [118, 597], [970, 315], [1354, 14], [493, 1382], [-315, 619], [676, 1098], [576, 327], [-397, 430], [-41, 1050], [982, 1570], [939, 933], [1073, 1035]]}\n", + "Received data: {\"poses\": [[1161, 657], [1102, 1710], [437, 829], [1645, 1218], [832, 563], [1251, 491], [303, 512], [730, 248], [99, 534], [904, 319], [1384, -45], [497, 1448], [-355, 671], [611, 1087], [587, 262], [-462, 434], [-71, 1109], [936, 1616], [956, 996], [1121, 1080]]}\n", + "Received data: {\"poses\": [[1169, 712], [1158, 1710], [491, 843], [1681, 1174], [783, 536], [1300, 518], [303, 456], [781, 225], [82, 481], [848, 323], [1409, -95], [501, 1504], [-389, 715], [555, 1078], [596, 206], [-518, 439], [-96, 1159], [897, 1657], [971, 1050], [1162, 1119]]}\n", + "Received data: {\"poses\": [[1168, 719], [1164, 1712], [497, 847], [1686, 1170], [778, 531], [1305, 523], [305, 450], [788, 224], [82, 474], [842, 321], [1413, -100], [499, 1510], [-394, 719], [549, 1075], [599, 200], [-525, 438], [-100, 1164], [891, 1660], [971, 1057], [1165, 1125]]}\n", + "Received data: {\"poses\": [[1169, 719], [1164, 1712], [497, 846], [1686, 1170], [779, 531], [1304, 523], [305, 450], [787, 224], [81, 475], [842, 322], [1413, -100], [500, 1510], [-394, 719], [550, 1075], [599, 201], [-524, 438], [-100, 1164], [891, 1660], [971, 1056], [1165, 1124]]}\n", + "Received data: {\"poses\": [[1170, 719], [1164, 1711], [497, 845], [1685, 1169], [778, 533], [1305, 521], [304, 450], [787, 222], [80, 475], [842, 323], [1411, -101], [501, 1510], [-393, 720], [549, 1077], [597, 200], [-524, 439], [-98, 1165], [892, 1661], [973, 1056], [1166, 1123]]}\n", + "Received data: {\"poses\": [[1170, 719], [1164, 1710], [497, 845], [1685, 1169], [778, 533], [1305, 521], [303, 450], [787, 222], [80, 475], [842, 323], [1411, -101], [501, 1510], [-393, 721], [549, 1077], [597, 200], [-524, 440], [-98, 1165], [892, 1661], [973, 1056], [1166, 1123]]}\n", + "Received data: {\"poses\": [[1136, 673], [1114, 1737], [442, 858], [1674, 1225], [835, 534], [1248, 520], [330, 500], [753, 268], [121, 515], [890, 293], [1413, -44], [471, 1462], [-384, 664], [603, 1058], [616, 254], [-476, 409], [-100, 1108], [908, 1607], [933, 1015], [1111, 1108]]}\n", + "Received data: {\"poses\": [[1103, 627], [1063, 1762], [386, 869], [1661, 1280], [891, 537], [1192, 517], [355, 551], [717, 312], [160, 555], [939, 265], [1413, 12], [443, 1413], [-373, 609], [657, 1042], [632, 308], [-428, 379], [-100, 1052], [926, 1553], [895, 973], [1057, 1092]]}\n", + "Received data: {\"poses\": [[1064, 572], [1003, 1793], [320, 883], [1647, 1346], [959, 539], [1124, 515], [386, 611], [676, 365], [208, 603], [997, 230], [1415, 80], [408, 1355], [-362, 542], [721, 1021], [653, 372], [-371, 343], [-102, 984], [945, 1488], [849, 924], [992, 1073]]}\n", + "Received data: {\"poses\": [[1030, 527], [953, 1819], [265, 895], [1636, 1402], [1015, 540], [1068, 514], [412, 661], [641, 410], [249, 642], [1045, 200], [1417, 137], [378, 1307], [-353, 486], [775, 1002], [672, 426], [-323, 313], [-104, 927], [961, 1434], [810, 883], [938, 1059]]}\n", + "Received data: {\"poses\": [[988, 474], [894, 1852], [200, 911], [1624, 1468], [1083, 540], [1000, 514], [445, 720], [601, 464], [298, 688], [1102, 163], [1420, 204], [341, 1250], [-343, 419], [839, 979], [695, 490], [-267, 275], [-107, 860], [979, 1369], [762, 835], [872, 1042]]}\n", + "Received data: {\"poses\": [[949, 424], [838, 1883], [138, 927], [1614, 1531], [1146, 540], [937, 514], [476, 776], [564, 516], [345, 732], [1155, 128], [1424, 268], [306, 1197], [-335, 356], [898, 957], [717, 549], [-215, 239], [-111, 796], [995, 1307], [717, 790], [810, 1027]]}\n", + "Received data: {\"poses\": [[946, 417], [832, 1885], [131, 927], [1611, 1537], [1153, 541], [930, 513], [478, 782], [559, 521], [348, 737], [1162, 126], [1422, 274], [304, 1190], [-332, 350], [905, 957], [717, 556], [-208, 237], [-109, 790], [998, 1301], [713, 784], [804, 1024]]}\n", + "Received data: {\"poses\": [[945, 419], [834, 1886], [133, 929], [1613, 1536], [1152, 540], [931, 514], [479, 780], [561, 521], [349, 735], [1160, 125], [1424, 273], [303, 1192], [-334, 351], [903, 955], [719, 554], [-210, 236], [-111, 791], [996, 1302], [713, 787], [805, 1026]]}\n", + "Received data: {\"poses\": [[975, 379], [799, 1850], [108, 885], [1563, 1541], [1165, 588], [918, 466], [443, 815], [515, 503], [326, 779], [1197, 158], [1377, 289], [336, 1155], [-284, 344], [932, 996], [678, 583], [-172, 268], [-64, 775], [1046, 1301], [738, 743], [804, 976]]}\n", + "Received data: {\"poses\": [[1016, 328], [755, 1802], [78, 827], [1498, 1545], [1180, 651], [903, 403], [395, 859], [454, 478], [293, 836], [1244, 203], [1314, 307], [381, 1108], [-219, 338], [968, 1051], [623, 619], [-124, 313], [-1, 757], [1111, 1303], [772, 688], [804, 911]]}\n", + "Received data: {\"poses\": [[1051, 284], [716, 1760], [51, 777], [1441, 1549], [1194, 706], [889, 348], [353, 898], [402, 457], [266, 886], [1286, 242], [1260, 324], [420, 1066], [-163, 332], [1000, 1097], [577, 651], [-82, 351], [53, 740], [1168, 1304], [801, 639], [804, 854]]}\n", + "Received data: {\"poses\": [[1090, 231], [670, 1713], [20, 720], [1376, 1555], [1211, 770], [872, 284], [306, 944], [341, 433], [235, 944], [1334, 286], [1197, 344], [464, 1018], [-98, 324], [1038, 1151], [523, 689], [-33, 394], [116, 720], [1233, 1304], [834, 582], [803, 788]]}\n", + "Received data: {\"poses\": [[1124, 186], [630, 1673], [-9, 671], [1320, 1561], [1226, 824], [857, 230], [266, 984], [287, 414], [209, 994], [1377, 323], [1144, 362], [501, 975], [-42, 317], [1071, 1197], [477, 722], [11, 430], [169, 702], [1290, 1303], [861, 533], [801, 732]]}\n", + "Received data: {\"poses\": [[1162, 132], [584, 1627], [-42, 614], [1254, 1568], [1245, 887], [838, 167], [220, 1030], [225, 392], [180, 1053], [1427, 366], [1082, 384], [544, 925], [23, 307], [1110, 1250], [424, 761], [61, 472], [231, 680], [1356, 1302], [893, 475], [798, 666]]}\n", + "Received data: {\"poses\": [[1194, 85], [543, 1588], [-71, 566], [1198, 1575], [1262, 941], [821, 113], [181, 1071], [172, 374], [156, 1104], [1471, 402], [1029, 404], [580, 881], [79, 298], [1144, 1295], [379, 795], [106, 507], [284, 660], [1412, 1299], [919, 425], [795, 610]]}\n", + "Received data: {\"poses\": [[1232, 28], [492, 1541], [-108, 507], [1130, 1585], [1284, 1007], [799, 47], [134, 1122], [106, 353], [127, 1167], [1524, 445], [965, 429], [623, 828], [147, 285], [1187, 1349], [325, 838], [160, 549], [348, 635], [1481, 1295], [950, 363], [790, 541]]}\n", + "Received data: {\"poses\": [[1237, 24], [488, 1536], [-110, 501], [1123, 1584], [1284, 1013], [799, 41], [129, 1126], [101, 349], [122, 1172], [1528, 451], [958, 430], [629, 824], [154, 286], [1189, 1355], [319, 840], [164, 555], [355, 634], [1488, 1297], [955, 358], [791, 534]]}\n", + "Received data: {\"poses\": [[1237, 24], [488, 1536], [-110, 502], [1124, 1585], [1284, 1013], [799, 41], [129, 1126], [101, 350], [123, 1172], [1528, 450], [958, 430], [628, 824], [153, 286], [1189, 1355], [319, 840], [164, 554], [355, 634], [1487, 1296], [954, 358], [791, 535]]}\n", + "Received data: {\"poses\": [[1282, 38], [510, 1493], [-78, 466], [1104, 1541], [1245, 1040], [838, 14], [86, 1104], [102, 302], [75, 1164], [1510, 494], [929, 392], [672, 842], [174, 329], [1161, 1394], [281, 813], [146, 599], [384, 672], [1503, 1342], [1001, 367], [836, 518]]}\n", + "Received data: {\"poses\": [[1344, 60], [541, 1436], [-33, 418], [1079, 1480], [1189, 1075], [894, -21], [29, 1073], [106, 236], [11, 1152], [1482, 554], [891, 338], [732, 870], [201, 388], [1121, 1446], [228, 772], [120, 659], [422, 726], [1523, 1404], [1065, 382], [898, 497]]}\n", + "Received data: {\"poses\": [[1398, 79], [568, 1385], [5, 377], [1057, 1428], [1142, 1106], [941, -52], [-22, 1046], [109, 180], [-45, 1143], [1460, 606], [858, 293], [784, 892], [226, 440], [1088, 1491], [183, 739], [98, 711], [455, 771], [1540, 1458], [1121, 393], [952, 479]]}\n", + "Received data: {\"poses\": [[1461, 99], [598, 1327], [49, 328], [1030, 1368], [1087, 1143], [996, -89], [-80, 1016], [111, 114], [-110, 1132], [1434, 666], [818, 240], [844, 918], [255, 499], [1049, 1544], [130, 700], [74, 772], [495, 824], [1562, 1520], [1185, 406], [1014, 456]]}\n", + "Received data: {\"poses\": [[1515, 115], [622, 1276], [86, 285], [1006, 1317], [1041, 1176], [1042, -122], [-131, 992], [112, 57], [-166, 1125], [1413, 719], [783, 195], [897, 939], [281, 549], [1016, 1591], [83, 667], [53, 825], [530, 869], [1582, 1574], [1241, 415], [1066, 436]]}\n", + "Received data: {\"poses\": [[1580, 134], [651, 1214], [130, 233], [976, 1256], [986, 1215], [1097, -161], [-193, 963], [112, -11], [-233, 1116], [1389, 782], [741, 143], [960, 963], [312, 609], [979, 1647], [27, 630], [30, 889], [572, 921], [1606, 1637], [1308, 426], [1129, 410]]}\n", + "Received data: {\"poses\": [[1586, 138], [656, 1209], [136, 229], [975, 1249], [980, 1218], [1103, -164], [-198, 958], [114, -17], [-240, 1114], [1384, 788], [738, 136], [966, 968], [314, 616], [973, 1651], [23, 624], [26, 894], [575, 928], [1606, 1644], [1314, 429], [1136, 410]]}\n", + "Received data: {\"poses\": [[1616, 175], [697, 1185], [182, 216], [982, 1202], [931, 1219], [1152, -165], [-222, 917], [141, -57], [-276, 1082], [1345, 815], [734, 89], [993, 1007], [308, 664], [929, 1669], [5, 580], [-13, 922], [579, 975], [1595, 1690], [1349, 462], [1183, 420]]}\n", + "Received data: {\"poses\": [[1656, 227], [755, 1153], [246, 201], [994, 1137], [866, 1218], [1217, -164], [-254, 859], [180, -110], [-324, 1036], [1289, 850], [731, 23], [1028, 1063], [299, 729], [867, 1691], [-17, 518], [-68, 959], [582, 1041], [1578, 1754], [1395, 509], [1247, 436]]}\n", + "Received data: {\"poses\": [[1692, 271], [804, 1125], [301, 187], [1003, 1081], [809, 1219], [1274, -165], [-282, 810], [213, -156], [-365, 998], [1242, 882], [728, -34], [1060, 1110], [291, 785], [813, 1711], [-37, 464], [-115, 991], [585, 1098], [1563, 1809], [1436, 549], [1302, 450]]}\n", + "Received data: {\"poses\": [[1735, 324], [863, 1091], [366, 168], [1013, 1014], [741, 1221], [1342, -167], [-316, 751], [252, -212], [-416, 953], [1186, 920], [722, -101], [1098, 1166], [284, 852], [750, 1736], [-62, 401], [-170, 1030], [591, 1165], [1548, 1875], [1485, 595], [1368, 464]]}\n", + "Received data: {\"poses\": [[1773, 368], [913, 1060], [423, 152], [1021, 956], [682, 1223], [1401, -169], [-347, 701], [284, -261], [-461, 915], [1138, 954], [717, -160], [1132, 1214], [278, 911], [696, 1758], [-84, 347], [-217, 1065], [596, 1224], [1535, 1932], [1528, 635], [1426, 476]]}\n", + "Received data: {\"poses\": [[1817, 418], [968, 1025], [485, 132], [1028, 890], [617, 1227], [1466, -173], [-382, 646], [319, -316], [-512, 873], [1086, 993], [709, -225], [1171, 1266], [273, 976], [636, 1784], [-110, 287], [-269, 1105], [604, 1289], [1522, 1996], [1578, 679], [1490, 488]]}\n", + "Received data: {\"poses\": [[1819, 424], [975, 1023], [492, 132], [1031, 884], [610, 1226], [1473, -172], [-384, 639], [324, -321], [-515, 868], [1079, 996], [710, -232], [1174, 1273], [270, 983], [629, 1785], [-111, 280], [-275, 1108], [603, 1296], [1519, 2002], [1581, 684], [1496, 491]]}\n", + "Received data: {\"poses\": [[1826, 482], [1033, 1025], [548, 149], [1070, 840], [560, 1195], [1523, -141], [-382, 581], [379, -343], [-531, 811], [1020, 997], [738, -284], [1175, 1332], [233, 1028], [571, 1774], [-100, 222], [-334, 1110], [575, 1348], [1476, 2043], [1595, 742], [1538, 533]]}\n", + "Received data: {\"poses\": [[1831, 541], [1092, 1030], [604, 169], [1110, 797], [511, 1163], [1572, -109], [-377, 522], [434, -364], [-545, 754], [962, 997], [768, -334], [1175, 1390], [195, 1073], [514, 1761], [-87, 165], [-393, 1111], [545, 1398], [1432, 2082], [1607, 799], [1578, 576]]}\n", + "Received data: {\"poses\": [[1839, 612], [1163, 1033], [672, 190], [1158, 744], [450, 1126], [1633, -72], [-374, 451], [500, -391], [-564, 685], [890, 999], [802, -397], [1177, 1462], [149, 1127], [444, 1746], [-72, 95], [-464, 1114], [511, 1461], [1380, 2131], [1624, 869], [1627, 627]]}\n", + "Received data: {\"poses\": [[1846, 670], [1222, 1035], [728, 207], [1196, 699], [400, 1096], [1683, -42], [-372, 392], [554, -415], [-581, 629], [831, 1001], [829, -449], [1179, 1521], [112, 1173], [387, 1735], [-61, 38], [-523, 1117], [484, 1513], [1338, 2172], [1638, 925], [1669, 668]]}\n", + "Received data: {\"poses\": [[1857, 739], [1292, 1036], [795, 226], [1240, 646], [339, 1061], [1744, -7], [-371, 322], [617, -443], [-601, 562], [762, 1005], [861, -511], [1183, 1590], [69, 1228], [318, 1723], [-49, -31], [-593, 1123], [452, 1575], [1289, 2222], [1656, 993], [1720, 717]]}\n", + "Received data: {\"poses\": [[1866, 797], [1350, 1035], [852, 241], [1277, 600], [288, 1033], [1795, 21], [-372, 264], [670, -468], [-620, 507], [704, 1009], [886, -564], [1187, 1648], [34, 1275], [260, 1714], [-40, -89], [-651, 1128], [427, 1628], [1249, 2264], [1673, 1049], [1763, 756]]}\n", + "Received data: {\"poses\": [[1865, 803], [1357, 1037], [857, 245], [1283, 596], [283, 1028], [1800, 26], [-370, 257], [677, -469], [-620, 500], [697, 1008], [891, -569], [1186, 1655], [29, 1279], [254, 1711], [-37, -95], [-657, 1127], [422, 1633], [1243, 2267], [1673, 1056], [1766, 762]]}\n", + "Received data: {\"poses\": [[1866, 802], [1356, 1036], [857, 244], [1281, 596], [283, 1029], [1800, 25], [-371, 258], [676, -470], [-620, 501], [698, 1009], [890, -569], [1187, 1654], [30, 1279], [255, 1712], [-38, -94], [-657, 1128], [423, 1633], [1244, 2267], [1673, 1055], [1766, 761]]}\n", + "Received data: {\"poses\": [[1814, 827], [1372, 1092], [858, 301], [1334, 619], [296, 973], [1787, 81], [-315, 242], [714, -426], [-573, 469], [678, 955], [946, -559], [1133, 1674], [-24, 1258], [248, 1655], [19, -101], [-677, 1074], [367, 1623], [1193, 2240], [1625, 1085], [1740, 812]]}\n", + "Received data: {\"poses\": [[1750, 855], [1389, 1159], [857, 371], [1398, 647], [314, 906], [1769, 148], [-248, 225], [758, -372], [-514, 431], [656, 889], [1015, -545], [1067, 1696], [-88, 1232], [241, 1586], [88, -108], [-700, 1008], [298, 1609], [1133, 2206], [1565, 1121], [1707, 874]]}\n", + "Received data: {\"poses\": [[1696, 879], [1405, 1216], [858, 430], [1452, 671], [327, 848], [1756, 206], [-191, 209], [796, -328], [-465, 398], [636, 833], [1073, -534], [1011, 1716], [-143, 1211], [234, 1527], [147, -115], [-721, 953], [240, 1598], [1081, 2178], [1515, 1152], [1680, 926]]}\n", + "Received data: {\"poses\": [[1635, 909], [1425, 1281], [860, 498], [1515, 696], [341, 782], [1742, 272], [-126, 189], [842, -277], [-409, 360], [612, 770], [1140, -524], [948, 1740], [-207, 1187], [225, 1460], [214, -124], [-747, 890], [173, 1588], [1020, 2147], [1457, 1189], [1650, 987]]}\n", + "Received data: {\"poses\": [[1583, 936], [1443, 1337], [864, 557], [1570, 717], [353, 724], [1730, 330], [-70, 171], [882, -234], [-362, 325], [590, 715], [1198, -516], [893, 1762], [-263, 1168], [215, 1402], [272, -134], [-770, 836], [115, 1580], [967, 2122], [1409, 1222], [1625, 1040]]}\n", + "Received data: {\"poses\": [[1523, 968], [1466, 1401], [869, 624], [1634, 740], [364, 657], [1719, 397], [-6, 148], [930, -186], [-308, 284], [563, 653], [1266, -508], [831, 1789], [-327, 1147], [203, 1335], [339, -146], [-798, 774], [47, 1572], [905, 2093], [1353, 1261], [1598, 1103]]}\n", + "Received data: {\"poses\": [[1471, 997], [1487, 1456], [874, 683], [1690, 759], [373, 598], [1710, 456], [49, 127], [972, -144], [-261, 247], [538, 599], [1324, -502], [777, 1814], [-384, 1131], [191, 1277], [397, -158], [-823, 721], [-11, 1566], [851, 2070], [1306, 1296], [1575, 1157]]}\n", + "Received data: {\"poses\": [[1413, 1032], [1512, 1520], [883, 751], [1755, 779], [381, 531], [1702, 523], [113, 102], [1021, -98], [-209, 203], [508, 538], [1392, -497], [716, 1844], [-450, 1113], [176, 1211], [463, -173], [-854, 660], [-79, 1561], [788, 2044], [1252, 1338], [1551, 1221]]}\n", + "Received data: {\"poses\": [[1363, 1064], [1535, 1574], [891, 809], [1812, 795], [387, 472], [1696, 582], [167, 79], [1066, -58], [-165, 164], [481, 485], [1451, -494], [663, 1871], [-507, 1099], [161, 1153], [521, -188], [-882, 608], [-138, 1558], [733, 2023], [1206, 1375], [1531, 1276]]}\n", + "Received data: {\"poses\": [[1306, 1102], [1564, 1636], [903, 877], [1878, 812], [392, 404], [1691, 650], [229, 50], [1118, -14], [-114, 118], [449, 425], [1520, -493], [603, 1903], [-574, 1084], [143, 1088], [586, -206], [-916, 548], [-207, 1557], [668, 2000], [1154, 1420], [1509, 1341]]}\n", + "Received data: {\"poses\": [[1258, 1136], [1590, 1689], [914, 935], [1936, 825], [395, 345], [1688, 709], [282, 24], [1164, 23], [-72, 77], [419, 374], [1579, -493], [552, 1933], [-632, 1073], [126, 1031], [643, -223], [-946, 498], [-266, 1557], [612, 1982], [1110, 1459], [1492, 1398]]}\n", + "Received data: {\"poses\": [[1203, 1176], [1621, 1750], [929, 1001], [2003, 839], [397, 277], [1686, 777], [343, -7], [1218, 65], [-24, 28], [383, 316], [1647, -495], [494, 1969], [-699, 1062], [104, 966], [708, -245], [-983, 440], [-334, 1559], [547, 1963], [1061, 1506], [1474, 1464]]}\n", + "Received data: {\"poses\": [[1155, 1214], [1651, 1803], [943, 1061], [2063, 849], [397, 216], [1686, 838], [396, -37], [1267, 101], [18, -17], [350, 265], [1708, -498], [443, 2002], [-760, 1053], [83, 909], [765, -266], [-1017, 389], [-395, 1562], [488, 1947], [1018, 1550], [1459, 1523]]}\n", + "Received data: {\"poses\": [[1100, 1258], [1686, 1864], [961, 1128], [2132, 860], [396, 146], [1687, 908], [457, -72], [1324, 141], [65, -69], [311, 206], [1778, -503], [384, 2041], [-829, 1045], [58, 844], [830, -291], [-1057, 332], [-465, 1567], [420, 1930], [969, 1600], [1443, 1591]]}\n", + "Received data: {\"poses\": [[1055, 1296], [1716, 1915], [978, 1185], [2190, 869], [394, 87], [1689, 967], [508, -102], [1373, 174], [103, -113], [277, 158], [1837, -507], [336, 2075], [-888, 1038], [36, 789], [885, -313], [-1092, 284], [-524, 1571], [362, 1916], [929, 1643], [1431, 1649]]}\n", + "Received data: {\"poses\": [[1004, 1341], [1752, 1972], [998, 1250], [2258, 877], [390, 18], [1693, 1036], [565, -138], [1431, 211], [147, -165], [237, 103], [1905, -515], [281, 2115], [-956, 1033], [9, 726], [948, -340], [-1133, 230], [-592, 1579], [295, 1903], [883, 1694], [1418, 1716]]}\n", + "Received data: {\"poses\": [[960, 1381], [1785, 2021], [1017, 1306], [2317, 882], [385, -40], [1698, 1094], [614, -171], [1481, 241], [183, -212], [201, 56], [1963, -523], [234, 2151], [-1015, 1029], [-16, 672], [1002, -365], [-1170, 184], [-650, 1587], [237, 1892], [845, 1739], [1409, 1774]]}\n", + "Received data: {\"poses\": [[910, 1430], [1826, 2079], [1041, 1372], [2387, 887], [377, -110], [1706, 1164], [672, -212], [1542, 276], [225, -268], [156, 2], [2032, -534], [180, 2196], [-1085, 1027], [-47, 610], [1064, -396], [-1216, 130], [-719, 1598], [168, 1882], [801, 1794], [1399, 1844]]}\n", + "Received data: {\"poses\": [[869, 1472], [1861, 2126], [1063, 1427], [2446, 889], [369, -169], [1714, 1223], [719, -247], [1594, 304], [260, -316], [118, -43], [2090, -545], [135, 2234], [-1144, 1027], [-74, 557], [1117, -423], [-1255, 86], [-777, 1609], [109, 1874], [765, 1841], [1393, 1902]]}\n", + "Received data: {\"poses\": [[821, 1523], [1904, 2181], [1091, 1491], [2516, 890], [358, -238], [1725, 1292], [774, -290], [1657, 336], [299, -375], [71, -95], [2159, -560], [83, 2281], [-1214, 1028], [-108, 496], [1178, -457], [-1303, 35], [-846, 1624], [40, 1867], [724, 1898], [1387, 1972]]}\n", + "Received data: {\"poses\": [[782, 1568], [1942, 2227], [1115, 1545], [2575, 890], [348, -296], [1735, 1350], [820, -328], [1710, 361], [330, -425], [30, -138], [2216, -574], [40, 2322], [-1273, 1031], [-138, 445], [1229, -487], [-1344, -7], [-903, 1638], [-19, 1862], [691, 1946], [1383, 2031]]}\n", + "Received data: {\"poses\": [[737, 1621], [1988, 2280], [1146, 1608], [2646, 887], [333, -365], [1750, 1419], [873, -374], [1774, 390], [367, -485], [-20, -187], [2284, -592], [-9, 2372], [-1343, 1036], [-175, 385], [1289, -524], [-1395, -56], [-971, 1656], [-90, 1858], [652, 2005], [1380, 2101]]}\n", + "Received data: {\"poses\": [[698, 1669], [2029, 2325], [1174, 1663], [2707, 884], [319, -424], [1764, 1478], [918, -415], [1830, 414], [397, -538], [-64, -230], [2343, -609], [-52, 2416], [-1404, 1041], [-209, 334], [1340, -558], [-1439, -97], [-1030, 1673], [-151, 1857], [620, 2057], [1380, 2162]]}\n", + "Received data: {\"poses\": [[656, 1725], [2078, 2376], [1207, 1724], [2776, 878], [301, -492], [1782, 1546], [969, -464], [1896, 439], [430, -599], [-116, -277], [2410, -630], [-99, 2468], [-1474, 1049], [-249, 277], [1397, -598], [-1492, -144], [-1097, 1694], [-221, 1856], [585, 2118], [1380, 2233]]}\n", + "\"\"\"" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first term looks like the term above. Let's decode parts of it, and plot their path - we don't have the heading info here." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "97" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "poses_lines = poses_raw_data.split(\"\\n\")\n", + "poses_lines = [line.replace(\"Received data: \", \"\") for line in poses_lines if line]\n", + "len(poses_lines)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1311, 116])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "poses_dicts = [json.loads(line) for line in poses_lines]\n", + "poses_over_time = np.array([poses_dict[\"poses\"] for poses_dict in poses_dicts])\n", + "# ThreeD array = time, pose number, [x, y]\n", + "poses_over_time[0,0]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets plot the first pose... We can compare with the arc above." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAGiCAYAAAALC6kfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABHnUlEQVR4nO3de3hTZbr//09aSQtKw7FNq6VUnAErBwG19KswKodyGNSR2TMCCo4IyhQdhWE67FEE3dui7J+HGRFHt4p7QHH8fRUVES1nlQAKVixot3QK9dAUB2wjIKWH9f2jk0japE1K0pzer+vKdZG1niRrsdKuu8/z3PdjMgzDEAAAQAyKC/UBAAAAhAqBEAAAiFkEQgAAIGYRCAEAgJhFIAQAAGIWgRAAAIhZBEIAACBmEQgBAICYRSAEAABiFoEQAACIWX4FQgUFBbr00kvVuXNnJScn67rrrlNJSYlbm5MnTyovL0/du3fXOeeco0mTJqmystKtTXl5uSZMmKBOnTopOTlZ8+fPV11dnVubLVu2aMiQIUpISNAFF1ygFStWtO0MAQAAvPArENq6davy8vK0Y8cOFRYWqra2VmPGjNHx48ddbe6++269+eabeuWVV7R161Z98803uv7661376+vrNWHCBJ06dUrbt2/XCy+8oBUrVmjhwoWuNmVlZZowYYKuuuoqFRUV6a677tKtt96qd955JwCnDAAA0Mh0Jouufvvtt0pOTtbWrVs1YsQIVVdXq2fPnnrxxRf1y1/+UpL0+eef68ILL5TNZtOwYcP09ttv6+c//7m++eYbpaSkSJKeeuop5efn69tvv5XZbFZ+fr7eeustFRcXuz7rhhtuUFVVldavX3+GpwwAANDorDN5cXV1tSSpW7dukqTdu3ertrZWo0aNcrXp16+fevXq5QqEbDabBgwY4AqCJCk3N1ezZ8/Wvn37NHjwYNlsNrf3cLa56667vB5LTU2NampqXM8bGhp09OhRde/eXSaT6UxOEwAAtBPDMPT9998rLS1NcXHBn8rc5kCooaFBd911ly6//HL1799fkmS322U2m9WlSxe3tikpKbLb7a42pwdBzv3OfS21cTgc+uGHH9SxY8dmx1NQUKDFixe39XQAAEAY+fLLL3XeeecF/XPaHAjl5eWpuLhY77//fiCPp80WLFiguXPnup5XV1erV69e+vLLL5WUlBTCIwMAAL5yOBxKT09X586d2+Xz2hQIzZkzR2vXrtW2bdvcojWr1apTp06pqqrKrVeosrJSVqvV1WbXrl1u7+fMKju9TdNMs8rKSiUlJXnsDZKkhIQEJSQkNNuelJREIAQAQIRpr2ktfg2+GYahOXPm6LXXXtOmTZuUmZnptn/o0KHq0KGDNm7c6NpWUlKi8vJy5eTkSJJycnL06aef6vDhw642hYWFSkpKUlZWlqvN6e/hbON8DwAAgEDwK2vst7/9rV588UW9/vrr6tu3r2u7xWJx9dTMnj1b69at04oVK5SUlKQ77rhDkrR9+3ZJjenzF198sdLS0vTwww/Lbrfrpptu0q233qoHH3xQUmP6fP/+/ZWXl6dbbrlFmzZt0p133qm33npLubm5Ph2rw+GQxWJRdXU1PUIAAESI9r5/+xUIeeumev7553XzzTdLaiyoOG/ePL300kuqqalRbm6unnzySdewlyQdOnRIs2fP1pYtW3T22Wdr+vTpWrJkic4668eRui1btujuu+/W/v37dd555+nee+91fYYvCIQAAIg8YR0IRRICIQAAIk97379ZawwAAMQsAiEAABCzCIQAAEDMIhACAAAxi0AIAADELAIhAAAQswiEAABAzCIQAgAAMYtACAAAxCwCIQAAELMIhAAAQMwiEAIAADGLQAgAAMQsAiEAABCzCIQAAEDMIhACAAAxi0AIAADELAIhAAAQswiEAABAzCIQAgAAMYtACAAAxCwCIQAAELMIhAAAQMwiEAIAADGLQAgAAMQsAiEAABCzCIQAAEDMIhACAAAxi0AIAADELAIhAAAQswiEAABAzCIQAgAAMYtACAAAxCwCIQAAELMIhAAAQMzyOxDatm2bJk6cqLS0NJlMJq1Zs8Ztv8lk8vhYunSpq03v3r2b7V+yZInb++zdu1fDhw9XYmKi0tPT9fDDD7ftDAEAALzwOxA6fvy4Bg0apGXLlnncX1FR4fZ47rnnZDKZNGnSJLd2999/v1u7O+64w7XP4XBozJgxysjI0O7du7V06VItWrRITz/9tL+HCwAA4NVZ/r5g3LhxGjdunNf9VqvV7fnrr7+uq666Sueff77b9s6dOzdr67Rq1SqdOnVKzz33nMxmsy666CIVFRXpkUce0axZs/w9ZAAAAI+COkeosrJSb731lmbMmNFs35IlS9S9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VRkJCQnGSy+9ZBiGYezfv9+QZHz44YeuNm+//bZhMpmMr7/+2jAMw3jyySeNrl27up13fn6+0bdv3yCfkW883Rib2rVrlyHJOHTokGtbRkaG8eijj3p9TSSe9/Tp041rr73W62ti5Xpfe+21xtVXX+22LdKvd9N7VqB+f//hD38wLrroIrfP+vWvf23k5ub6dXxRNTR26tQp7d69W6NGjXJti4uL06hRo2Sz2UJ4ZIFVXV0tSc1W5l21apV69Oih/v37a8GCBTpx4oRrn81m04ABA5SSkuLalpubK4fDoX379rXPgbfBF198obS0NJ1//vmaOnWqysvLJUm7d+9WbW2t27Xu16+fevXq5brWkXrOpzt16pRWrlypW265RSaTybU9Gq/16crKymS3292ur8ViUXZ2ttv17dKliy655BJXm1GjRikuLk47d+50tRkxYoTMZrOrTW5urkpKSvTdd9+109mcmerqaplMJnXp0sVt+5IlS9S9e3cNHjxYS5cudRsyiNTz3rJli5KTk9W3b1/Nnj1bR44cce2LhetdWVmpt956SzNmzGi2L5Kvd9N7VqB+f9tsNrf3cLbx934ftktstMU///lP1dfXu/3HSVJKSoo+//zzEB1VYDU0NOiuu+7S5Zdfrv79+7u2T5kyRRkZGUpLS9PevXuVn5+vkpISvfrqq5Iku93u8f/FuS8cZWdna8WKFerbt68qKiq0ePFiDR8+XMXFxbLb7TKbzc1uDikpKa7zicRzbmrNmjWqqqrSzTff7NoWjde6KedxejqP069vcnKy2/6zzjpL3bp1c2uTmZnZ7D2c+7p27RqU4w+UkydPKj8/X5MnT3ZbffzOO+/UkCFD1K1bN23fvl0LFixQRUWFHnnkEUmRed5jx47V9ddfr8zMTJWWlurf//3fNW7cONlsNsXHx8fE9X7hhRfUuXNnXX/99W7bI/l6e7pnBer3t7c2DodDP/zwgzp27OjTMUZVIBQL8vLyVFxcrPfff99t+6xZs1z/HjBggFJTUzVy5EiVlpaqT58+7X2YATFu3DjXvwcOHKjs7GxlZGTo73//u89f8Ej37LPPaty4cUpLS3Nti8ZrjeZqa2v1q1/9SoZhaPny5W775s6d6/r3wIEDZTabddttt6mgoCBi16W64YYbXP8eMGCABg4cqD59+mjLli0aOXJkCI+s/Tz33HOaOnWqEhMT3bZH8vX2ds8KJ1E1NNajRw/Fx8c3m3leWVkpq9UaoqMKnDlz5mjt2rXavHmzzjvvvBbbOtdkO3DggCTJarV6/H9x7osEXbp00U9/+lMdOHBAVqtVp06dUlVVlVub0691pJ/zoUOHtGHDBt16660ttovGa+08zpZ+lq1Wqw4fPuy2v66uTkePHo3474AzCDp06JAKCwvdeoM8yc7OVl1dnQ4ePCgpcs/7dOeff7569Ojh9r2O1ustSe+9955KSkpa/XmXIud6e7tnBer3t7c2SUlJfv2xHFWBkNls1tChQ7Vx40bXtoaGBm3cuFE5OTkhPLIzYxiG5syZo9dee02bNm1q1gXqSVFRkSQpNTVVkpSTk6NPP/3U7ReJ8xdsVlZWUI470I4dO6bS0lKlpqZq6NCh6tChg9u1LikpUXl5uetaR/o5P//880pOTtaECRNabBeN1zozM1NWq9Xt+jocDu3cudPt+lZVVWn37t2uNps2bVJDQ4MrOMzJydG2bdtUW1vralNYWKi+ffuG7TCJMwj64osvtGHDBnXv3r3V1xQVFSkuLs41dBSJ593UV199pSNHjrh9r6Pxejs9++yzGjp0qAYNGtRq23C/3q3dswL1+zsnJ8ftPZxt/L7f+z//O7ytXr3aSEhIMFasWGHs37/fmDVrltGlSxe3meeRZvbs2YbFYjG2bNnilj554sQJwzAM48CBA8b9999vfPTRR0ZZWZnx+uuvG+eff74xYsQI13s4UxHHjBljFBUVGevXrzd69uwZdinVp5s3b56xZcsWo6yszPjggw+MUaNGGT169DAOHz5sGEZj+mWvXr2MTZs2GR999JGRk5Nj5OTkuF4fiefsVF9fb/Tq1cvIz8932x5N1/r77783Pv74Y+Pjjz82JBmPPPKI8fHHH7uyo5YsWWJ06dLFeP311429e/ca1157rcf0+cGDBxs7d+403n//feMnP/mJWzp1VVWVkZKSYtx0001GcXGxsXr1aqNTp04hTadu6bxPnTplXHPNNcZ5551nFBUVuf28OzNltm/fbjz66KNGUVGRUVpaaqxcudLo2bOnMW3aNNdnRNp5f//998bvf/97w2azGWVlZcaGDRuMIUOGGD/5yU+MkydPut4j2q63U3V1tdGpUydj+fLlzV4fide7tXuWYQTm97czfX7+/PnGZ599Zixbtoz0eae//OUvRq9evQyz2Wxcdtllxo4dO0J9SGdEksfH888/bxiGYZSXlxsjRowwunXrZiQkJBgXXHCBMX/+fLfaMoZhGAcPHjTGjRtndOzY0ejRo4cxb948o7a2NgRn5Jtf//rXRmpqqmE2m41zzz3X+PWvf20cOHDAtf+HH34wfvvb3xpdu3Y1OnXqZPziF78wKioq3N4j0s7Z6Z133jEkGSUlJW7bo+lab9682eP3evr06YZhNKbQ33vvvUZKSoqRkJBgjBw5stn/x5EjR4zJkycb55xzjpGUlGT85je/Mb7//nu3Np988olxxRVXGAkJCca5555rLFmypL1O0aOWzrusrMzrz7uzjtTu3buN7Oxsw2KxGImJicaFF15oPPjgg24Bg2FE1nmfOHHCGDNmjNGzZ0+jQ4cORkZGhjFz5sxmf8BG2/V2+utf/2p07NjRqKqqavb6SLzerd2zDCNwv783b95sXHzxxYbZbDbOP/98t8/wlelfBw0AABBzomqOEAAAgD8IhAAAQMwiEAIAADGLQAgAAMQsAiEAABCzCIQAAEDMIhACAAAxi0AIAADELAIhAAAQswiEAABAzCIQAgAAMev/Aa6zz+tMoFdNAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.set_xlim(0, 2000)\n", + "ax.set_ylim(0, 2000)\n", + "# The scatter will be the first pose over time.\n", + "ax.scatter(poses_over_time[:, 0, 0], poses_over_time[:, 0, 1])\n", + "None" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That is a match... Lets try the next pose..." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "for pose_index in range(poses_over_time.shape[1]):\n", + " ax.scatter(poses_over_time[:, pose_index, 0], poses_over_time[:, pose_index, 1])\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "modelling-space-PK-9Kbkb-py3.9", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.15 (main, Oct 11 2022, 22:27:25) \n[Clang 14.0.0 (clang-1400.0.29.102)]" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "0e849ea89ee47e1132ea7296f1ee1190d374e3d2d90c5960d8a36248408ee6b5" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/ch-13/2.2-moving-with-encoders/robot/robot.py b/ch-13/2.2-moving-with-encoders/robot/robot.py index 68bd714..d1e8430 100755 --- a/ch-13/2.2-moving-with-encoders/robot/robot.py +++ b/ch-13/2.2-moving-with-encoders/robot/robot.py @@ -8,7 +8,7 @@ import adafruit_bno055 uart = busio.UART(board.GP12, board.GP13, baudrate=9600) -wheel_diameter_mm = 70 +wheel_diameter_mm = 69.5 wheel_circumference_mm = math.pi * wheel_diameter_mm gear_ratio = 298 encoder_poles = 28 diff --git a/ch-13/2.3-movement-uncertainty/analyse_output.ipynb b/ch-13/2.3-movement-uncertainty/analyse_output.ipynb new file mode 100644 index 0000000..2966221 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/analyse_output.ipynb @@ -0,0 +1,1215 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "data = [\n", + " [1932, 1928, -0.017763, 50.8663, -0.017763],\n", + " [2355, 2259, -0.426371, 60.8024, -0.426371],\n", + " [2033, 1938, -0.42193, 52.3291, -0.42193],\n", + " [2310, 2194, -0.515198, 59.3528, -0.515198],\n", + " [2039, 1940, -0.439696, 52.4345, -0.439696],\n", + " [2387, 2263, -0.55073, 61.2768, -0.55073],\n", + " [2044, 1943, -0.44858, 52.5399, -0.44858],\n", + " [2387, 2263, -0.55073, 61.2768, -0.55073],\n", + " [2045, 1945, -0.444136, 52.5795, -0.444136],\n", + " [2321, 2204, -0.519642, 59.6296, -0.519642],\n", + " [2051, 1947, -0.461902, 52.6849, -0.461902],\n", + " [2393, 2269, -0.55073, 61.4349, -0.55073],\n", + " [2050, 1950, -0.444136, 52.7112, -0.444136],\n", + " [2389, 2276, -0.501874, 61.4745, -0.501874],\n", + " [2049, 1955, -0.417489, 52.7639, -0.417489],\n", + " [2394, 2276, -0.524083, 61.5404, -0.524083],\n", + " [2054, 1958, -0.426371, 52.8694, -0.426371],\n", + " [2399, 2279, -0.532964, 61.6458, -0.532964],\n", + " [2058, 1956, -0.45302, 52.8957, -0.45302],\n", + " [2401, 2278, -0.546289, 61.6589, -0.546289],\n", + " [2058, 1956, -0.45302, 52.8957, -0.45302],\n", + " [2339, 2221, -0.52408, 60.0908, -0.52408],\n", + " [2462, 2336, -0.559609, 63.2271, -0.559609],\n", + " [2331, 1953, -1.67884, 56.4537, -1.67884],\n", + " [2059, 2218, 0.706179, 56.3615, 0.706179],\n", + " [2407, 2278, -0.572939, 61.738, -0.572939],\n", + " [2327, 2207, -0.532964, 59.7482, -0.532964],\n", + " [2058, 1956, -0.45302, 52.8957, -0.45302],\n", + " [2403, 2283, -0.532964, 61.7512, -0.532964],\n", + " [2061, 1960, -0.44858, 52.988, -0.44858],\n", + " [2410, 2276, -0.595142, 61.7512, -0.595142],\n", + " [2413, 1952, -2.04747, 57.5211, -2.04747],\n", + " [2067, 2286, 0.97266, 57.363, 0.97266],\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from matplotlib import pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "data = np.array(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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7ruv07uUOObn53HuuefiK1/5CvP/X/ziF/E//+f/xNe+9jX88pe/xODgILZs2YJqtZrwniYPv3MDAJdffrnlHvr2t7+d4B4mj927d2Pbtm144IEHsGvXLjQaDWzevBnz8/PGNh/+8Ifxox/9CP/6r/+K3bt346WXXsLb3va2Du51MghybgDgqquustwzX/ziFzu0x8lg9erV+Ju/+Rvs3bsXv/nNb/DGN74Rb33rW/HYY48BOA7vF1UiMF796ler27ZtM/5utVrqqlWr1B07dnRwrzqPz372s+q5557b6d3oKgBQb731VuPvdrutrlixQv3bv/1b471KpaLm83n129/+dgf2sHOwnxtVVdX3vve96lvf+taO7E+34PDhwyoAdffu3aqqavdHNptV//Vf/9XY5oknnlABqHv27OnUbnYE9nOjqqr6+te/Xv3//r//r3M71SVYsmSJ+vWvf/24vF9kBCYg6vU69u7di8suu8x4L5VK4bLLLsOePXs6uGfdgaeeegqrVq3CySefjHe96104ePBgp3epq3DgwAFMTExY7p+RkRFcdNFF8v7Rce+992J8fBzr16/Hhz70IRw7dqzTu5QopqenAQCjo6MAgL1796LRaFjumTPOOAMnnnjicXfP2M8Nwbe+9S0sXboUZ511Fj75yU9iYWGhE7vXEbRaLdx8882Yn5/Hxo0bj8v7pW+bOfLG0aNH0Wq1sHz5csv7y5cvx5NPPtmhveoOXHTRRdi5cyfWr1+Pl19+GZ/73OdwySWX4NFHH0WpVOr07nUFJiYmAIB5/5D/Hc+4/PLL8ba3vQ3r1q3DM888g0996lN485vfjD179iCdTnd694Sj3W7jmmuuwcUXX4yzzjoLgHbP5HI5lMtly7bH2z3DOjcA8M53vhNr167FqlWr8PDDD+PjH/849u/fj+9973sd3FvxeOSRR7Bx40ZUq1UMDQ3h1ltvxYYNG7Bv377j7n6RDoxEbLz5zW82fj/nnHNw0UUXYe3atfjOd76D97///R3cM4lewR//8R8bv5999tk455xzcMopp+Dee+/Fm970pg7uWTLYtm0bHn300eOSO+YHt3PzwQ9+0Pj97LPPxsqVK/GmN70JzzzzDE455ZSkdzMxrF+/Hvv27cP09DS++93v4r3vfS92797d6d3qCGQKKSCWLl2KdDrtYHQfOnQIK1as6NBedSfK5TJOP/10PP30053ela4BuUfk/RMMJ598MpYuXXpc3EPbt2/HbbfdhnvuuQerV6823l+xYgXq9ToqlYpl++PpnnE7NyxcdNFFAND390wul8Opp56K888/Hzt27MC5556Lf/iHfzgu7xfpwARELpfD+eefj7vuust4r91u46677sLGjRs7uGfdh7m5OTzzzDNYuXJlp3ela7Bu3TqsWLHCcv/MzMzgl7/8pbx/GHjxxRdx7Nixvr6HVFXF9u3bceutt+Luu+/GunXrLP8///zzkc1mLffM/v37cfDgwb6/Z/zODQv79u0DgL6+Z1hot9uo1WrH5/3SaRZxL+Hmm29W8/m8unPnTvXxxx9XP/jBD6rlclmdmJjo9K51FB/5yEfUe++9Vz1w4ID6i1/8Qr3sssvUpUuXqocPH+70riWK2dlZ9cEHH1QffPBBFYD6d3/3d+qDDz6oPv/886qqqurf/M3fqOVyWf3BD36gPvzww+pb3/pWdd26deri4mKH91w8vM7N7Oys+pd/+Zfqnj171AMHDqg//elP1Ve96lXqaaedplar1U7vujB86EMfUkdGRtR7771Xffnll42fhYUFY5urr75aPfHEE9W7775b/c1vfqNu3LhR3bhxYwf3Ohn4nZunn35a/fznP6/+5je/UQ8cOKD+4Ac/UE8++WT10ksv7fCei8UnPvEJdffu3eqBAwfUhx9+WP3EJz6hKoqi3nnnnaqqHn/3i3RgQuIf//Ef1RNPPFHN5XLqq1/9avWBBx7o9C51HO94xzvUlStXqrlcTj3hhBPUd7zjHerTTz/d6d1KHPfcc48KwPHz3ve+V1VVrZT6v/23/6YuX75czefz6pve9CZ1//79nd3phOB1bhYWFtTNmzery5YtU7PZrLp27Vr1qquu6vuFAet8AFBvvPFGY5vFxUX1v/7X/6ouWbJELRaL6h/8wR+oL7/8cud2OiH4nZuDBw+ql156qTo6Oqrm83n11FNPVT/60Y+q09PTnd1xwXjf+96nrl27Vs3lcuqyZcvUN73pTYbzoqrH3/2iqKqqJhfvkZCQkJCQkJCID8mBkZCQkJCQkOg5SAdGQkJCQkJCoucgHRgJCQkJCQmJnoN0YCQkJCQkJCR6DtKBkZCQkJCQkOg5SAdGQkJCQkJCoucgHRgJCQkJCQmJnoN0YCQkJCQkJCR6DtKBkZCQkJCQkOg5SAdGQkJCQkJCoucgHRgJCQkJCQmJnoN0YCQkJCQkJCR6Dv9/RVLlN+11u4IAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.plot(np.arange(len(data)), data[:, :2])\n", + "ax.legend([\"left\", \"right\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So what does this show me - that the left side is moving consistently faster than the right. That the peaks and troughs are likely to be timing discrepancies. Note there are some points later where left and right cross each other though.\n", + "This will be why it thinks it drives in circles. In reality, it is not driving in that much of a circle." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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9+eddx4WLlyIe+65B0NDQ9B1Hccff7xvQer8+fOxefNmbNiwAevXr8df//Vf4ytf+Qo2btyIeDxe99+7eS/j4+O4+eab8cEPfnDKzzAtS1hQ8EEQBDFN4TMfh9P+uzI0TXNV+giTI488EolEAk888YSl38jn8/j973+PT3/609bPffjDH8bnP/95PPfcc/jxj3+Mu+++2/q7lStXYu/evYjFYlbmwg2HDh3C5s2bcc899+D0008HYJZwgtLe3o7zzjsP5513Hq666iosX74cL7/8MlauXAkAePrpp8t+/umnn8Yxxxzj+r2sXLkSmzdvxlFHHVX174855hjs3LkTe/bswdy5c6uuKYvGvtoIgiCIquSLOrYfTFu/H55o7pbQzs5OXHnllbjuuuswMDCABQsW4I477sDExAQuu+wy6+cWLVqEU089FZdddhmKxSLe//73W3+3du1arF69Gh/4wAdwxx13YOnSpdi9ezd+/vOf44ILLsC73vWuqmv39/djxowZ+Na3voW5c+dix44dlhbDL/feey+KxSJWrVqFjo4O/N//+3/R3t5uBVYA8MQTT+COO+7ABz7wAaxfvx4/+tGP8POf/9z1e/niF7+Ic889FwsWLMCf/dmfIRKJ4KWXXsIrr7yCL33pS1i7di2WLl2KSy+9FF/5yleQSqXw93//94Hel1tI80EQBDENefNgGgXd7hQZbnLNBwB8+ctfxoc+9CF89KMfxcqVK7F161b88pe/RH9/f9nPXXzxxXjppZdwwQUXoL293fpzTdPw6KOP4owzzsBf/uVfYunSpfiLv/gLvPXWW5g9e7bjupFIBPfffz+ee+45HH/88bjmmmvwla98JdB76evrwz333IM1a9ZgxYoV2LBhA/7zP//TKhEBwN/+7d9i06ZNOOmkk/ClL30J//RP/4SzzjrL9Xs566yz8LOf/Qy/+tWvcPLJJ+NP/uRP8PWvf90KcCKRCB566CFMTk7ilFNOwcc+9jGrE0Y2muGlz0kBqVQKvb29GB0dRU9PT9iHQxAE0ZA8+vIe/PX3n7d+f91Zy3DV/1M9vV5JJpPB9u3by3wsiMZi0aJF+PSnP11WUmoEal07XvZvynwQBEFMQ3i9B2AKTgliukDBB0EQxDTk9VKny0BnAgBwON38ZReieSDBKUEQxDRkaynzcfKifvzyf/Y1veC01XjzzTfDPgSpUOaDIAhimlEo6njjoBl8nLLYFChS8EFMJyj4IAiCmGa8dXgC+aKB9ngUxw+Zwr7hAD4fBKEaCj4IgiCmGVv2mXqPo2d3YUaXqfnw02rbYM2OxDRA1DVDwQdBEMQ0g3W6HDWrC/0dZvAxOplHoehuwiqz756YmJBzgETTwuzko9FgtvgkOCUIgphmbNlvBh9Hz+pGb7s9B2RkMo+ZXfXnu0SjUfT19WH//v0AgI6ODmiaJudgiaZB13UcOHAAHR0diMWChQ8UfBAEQUwzXi+VXZbO7kIsGkFvexyjk3mMTORcBR8AMGfOHACwAhCCcEMkEsGCBQsCB6sUfBAEQUwjzE4Xc6bL0bO6AZheH6OTeU9eH5qmYe7cuZg1axbyefIIIdyRSCQQiQRXbFDwQRAEMY3YOTyJXEFHWzyCef3m3JK+DrP04qfdNhqNBq7fE4RXSHBKEAQxjWAll6NmdSESMVPfAyXRKbXbEtMFCj4IgiCmEVs5sSmjrxR8HCajMWKaQMEHQRDENGILl/lgDHSaZZcRH14fBBEGFHwQBEFMI14veXwsnW1nPvqt4XKU+SCmBxR8EARBTBOKuoFtB1jZxc58MKOxESq7ENMECj4IgiCmCbuGJ5At6EjGIpg/0GH9OQs+KPNBTBco+CAIgpgmMFv1Iwe7EI3YJk/9VqstaT6I6QEFHwRBENOE1/fbA+V4BjrZcDnKfBDTAwo+CIIgpglb903VewC24HR0Mo+iTpNqicaHgg+CIIhpAhsodxTn8QEAfaXhcoZhBiAE0ehQ8EEQBDEN0HXDMhhbWlF2iUUj6Gkzp2WQ6JSYDngOPt5++2185CMfwYwZM9De3o4TTjgBmzZtAgDk83l87nOfwwknnIDOzk4MDQ3hkksuwe7du4UfOEEQRCvx9sgkJvNFJKIRLOA6XRj9pPsgphGego/h4WGsWbMG8Xgcv/jFL/Dqq6/ia1/7Gvr7+wEAExMTeP755/GFL3wBzz//PH7yk59g8+bNeP/73y/l4AmCIFqFLSWx6ZLBTsSiU2/d/TTfhZhGeJpq+4//+I+YP38+vvOd71h/tnjxYuv/e3t7sX79+rJ/86//+q845ZRTsGPHDixYsCDg4RIEQbQmzNn06NndVf+eOl6I6YSnzMcjjzyCd73rXbjwwgsxa9YsnHTSSbjnnntq/pvR0VFomoa+vr6qf5/NZpFKpcp+EQRBEOVsceh0YfSR1wcxjfAUfLzxxhu46667cPTRR+OXv/wlrrzySlx99dX47ne/W/XnM5kMPve5z2HdunXo6emp+jO33347ent7rV/z58/3/i4IgiCanK3M48Mh+BigsgsxjfAUfOi6jpUrV+K2227DSSedhCuuuAKXX3457r777ik/m8/ncdFFF8EwDNx1112Or3nDDTdgdHTU+rVz507v74IgCKKJ0XXDarN1KrvQcDliOuEp+Jg7dy6OPfbYsj875phjsGPHjrI/Y4HHW2+9hfXr1ztmPQAgmUyip6en7BdBEARhs3t0EhO5IuJRDQtnTO10ATjBKZVdiGmAJ8HpmjVrsHnz5rI/e/3117Fw4ULr9yzw2LJlC377299ixowZYo6UIAiiRWFZj8UzOxGv0ukCAAOdTPNBmQ+i8fEUfFxzzTU49dRTcdttt+Giiy7Cs88+i29961v41re+BcAMPP7sz/4Mzz//PH72s5+hWCxi7969AICBgQEkEgnx74AgCKLJ2Vqn0wUA+jqo24WYPngqu5x88sl46KGH8IMf/ADHH388br31VnzjG9/AxRdfDMA0IHvkkUewa9cuvOMd78DcuXOtX08++aSUN0AQBNHsvL6vttgU4FptG1jzYRiNP3dmdCKPn774NjL5opL1cgUdj7y0GwfHs0rWaxQ8ZT4A4Nxzz8W5555b9e8WLVo0LS4ugiCI6YQlNp1VK/Nhll3YcLloRFNybG752wdewpPbDuJnnzwNM7qSYR+OI3c+vhXf+q83cMv5x+GS1Yukr/ezP+zGZx54CRe9ax7u+LMTpa/XKNBsF4IgiAbGMJxnuvAwwaluAKkGHC73q1f3Ys9oBr9+bX/Yh1KTt0cmy/4rm92ldViA2SpQ8EEQRMOza3gC//qbLRhRpGfYsm8Ma/9pIx55Kfy5VHtGMxjPFhCLaFg4o9Px5+LRCLqTpeFyDab7yOSLGMsUAABPbjsY8tHUhh0n+6+q9XYNqwl2GgUKPgiCaHi+9V9v4Ku/eh0PbFLjA/T45gPYun8c/9kAwQd7Il40sxOJWO1bNvP6UBWkueXAmK1neGLboYYuz49l8qX/qgk+UqV1DoxllelMGgEKPgiCaHjY5nVwXM2mam9A4ZcvtrgQmzJso7Hwj5tn/1jG+v8DY1mrjNSI2JkPNeeQX2fPaKbGTzYXFHwQBOGZ327ej7976GVlT2qqN4SU4tR7Lba4aLNl9Hc0ptcHn/kAgCe2Nm7pRXXmg19n1/CEkjUbAQo+CILwzDfWv477ntmhbBNhG0JK8YbQEMFHnZkuPI0632V/RfDx5LZDIR1JfcLMfLzdQroPCj4Iogn4+4dexqXffhZFXU0tnVl4q7LyVi8CbIyyi2HwM13qBx/MaKzRBKf7U2bwceL8PgDA028cUnateqFQ1DGRM7N5YWQ+VHXYNAIUfBCEYIq6gavuex7/vGGLkvV03cAPnt2Bja8fwM7DatK2qjfnlPKyi51pCVMcuS+VxVimgGhEw+KZzp0uDGaxPtKgmo//Z9kguttiSGUKeOXt0ZCPairjWTsQUNWunOKu6VbqeKHggyAEs3X/OH7+hz34t//apmS9dK4A9hCp4mnNMIwQMxFqn0aLuoHJEDsQWMll4YwOJGPRuj9vCU4bLPPBNB9ze9uwarE576sRSy/89ZXOFZVkZ8oyHxR8EAThF/YkM5ErIl/Upa/H37xUZAYyeR2F0k1ZxdNhrqAjW9CVrQdUntPwdB+W2NSF3gOwjcYardWWaT5mdbdhzVEs+Gg80Wmq4vszLvmz58s8AAlOCYIIAB8AyL55metxqWIl6+W5/2++9aauGV4Jg2U+lrrodAHs4ONwgwpOB7uTWHPUTADA7988jGyhsXwtKq+vymBENHyZBwD2pjJKHlgaAQo+CGw/mMa///cbytomh9M5fOu/tpX1/jcTqp+a+c1R9s3SXIN7f1m1603m5WeT+LJS5fqqYZmPo9xmPjpZq23jaD6KuoFD4yzzkcTRs7owsyuJTF7H82+NhHtwFVR+X2V/f9nrt8UjSEQj0A1gb4t4fVDwQeCrv9qML/38NTz2yl4l633/mbdw26N/xH/893Yl66kmVbZxyd8EQg12JtWuB8jPJvFlJXP9cIKPsk6XGgPleAa4soveIN0kh9JZ6AYQ0YAZXUlomoZTjzRLL081WOml8lqTnfVi94eetjiO6G8H0DqiUwo+CBwotcFVGgHJgqVgVa2nGvWZCLUlAtUaE/VPo2o3ICcOjGcxOplHRAOWDNbvdAHsVlvdUHPtuYG12c7oSlqTdpnu44kGE52GlfnobovhiD4z+GiVdlsKPgjrJqXOVKdQWjd8AycZqM5EpJSvF57mo3J9GVS+vorsTjVYyWXhjE60xet3ugBAIhZBV2m4XKOUXg6USi6DXUnrz0490tR9vLRzZIruIUyUX2slAXV3W9wOPijzQbQKqoMB9oVrlCcz0fAdGerLIGozESqumco15AcflU+/4VynbKaLW70Hg+k+GkV0yjKrs3rs4GP+QAfmD7SjoBv4/fbDYR3aFMLMfMyzyi6t0fFCwQfBWVc3p1ulasIsSzSjwDWsDUHVek4wvcdSF86mPP0NZrHOhOWzupNlf76mlP1opDkvqgNP9vo97bbmg8ouREtgGIaV9lQ3QroxrKtlEWorqoLuE/49mR4ccrukpmowWkPzYXt8uBObMqzgo0G8Pg5wbbY8p5ZabhtJ98E+60Q0Uvq9mkC3h9N8kOCUaAnSuSLnjkmZDxGUlSUUl0HUBDthZyJkP42Gn/kwDAOv7/dXdhnobKzggzcY41m9xBSdvrYn1TAlIvZZz+0zj1V2WXEsy8ouccwb6AAA7BmdbJhOJZlQ8NHihGngNJbJhzo3QxZhBgOqBaeA/ACr8vVVZz7CEEYfSucwMpGHpgFHDnoLPvo6Gsvrww4+yjMfg91JLCuZpz3VINkP9tkP9baX/V72et3JGGZ3m91A+aIxZQpwM0LBR4ujeuPSdbvMoxtm5qXZUF8GCU9wWu33stbrSERLv1eT+ZhRyiCEUXZ5vSQ2XTDQgfaEu04XxkCDaT6cyi4AcKrVctsYug/22Q/1tZf9XhYssO1uiyEWjWBur5lxaQXRKQUfLY5q8SA/BK1y/WZBeevrpOpMi+JMRCmAYxuC7NZXFsAxAWAYmY+t+73NdOHp62wci3XDMDjBaduUv2ei0ycbRHTKruUjrLKLulZbc93WEZ1S8NHiVG6UsssgU2YnhOShIIsil9kB1M9ayRV16Tb5lZ+Z7Bv0lKdRydkkewNSk3qvhm2r7k1sCvAup+EH9mPZAjJ50w6/WubjlCUDiGjAm4cmGmLDtcouijIffKstgJZyOaXgo8Xhv1wqxoerFg+qptIwaawZyyClzb+3PV5aT1Uw0Fb2e1mkFKfeq8HKLl7bbAHO56MBBKfM3bQ7GataPuppi2PFvD4A4Wc/irphlYGHFAWefKstAMzrN0WnFHwQAID/7+m38MPf7wj7MKQQfhtjc2U+VIsVdd3AeC6cTMQRyp4O82XrSe9AqHj6Hc/KzwhWstXjTBeefm6+S9hYeo+eqVkPBrNafzJk0Sk/M2hIUaBbmfmYR2UXgjGWyeOLP30Ff/fQK8qmvqok7DbGZnM5VX0+x3MFsH1xZsm+WuYNk5/4OqQoGGCvz1LSqjMtRd3AhEJh9KHxLA6V9BpHznI304XHbrXNh96y6WQwxmPpPrYdDLX7jd2LErEIZnSaxzuRK6IgcYqy7fNR0ny0kMspBR91GJ3MwzDMG1CzbZTA1Bv5qGwxXwO0McqkslMiW9CRK8i/eSWiEczskt+dMZkvolja0JgdtMwOm0y+aJ0/u/1RTVlpsLvNGoSmMkPHsh7zB9rRkYh5/ves1baoG6FnFu1Ol6liU8bKhf1IxCLYl8pi24G0qkObAm/41dVmn3dZs2fyRd0qc1uZj9J3avfIZFPaEPBQ8FGHMvFgk4kjAfVP6o0yN0MWbCOe02vfbGW+R1stH7OenmRuOOy1oxHNmtWhYj0AmNsrP9gxX9/ehNimoPI6fT1AyQUAkrEoOkv6irCNxg44eHzwtMWjeNfCfgBm9iMsLM+Ntjji0Qja46y1W871zb8uGwY4t7cdmgZk8rqV/WpWKPioQ5oLPpptowTC8Gxocs1H6am5ryNubQAyszvW01p73NooZW7O7PPrSvLBjpr1mMBVZjaJHzfQ0x633qPKrOfWktjUT5sto5+124YcfDgZjFWy5ijWchue7qNSf8H+Oyrp+8Su7Y5EFLGSnXsiFsHsbub10dy6Dwo+6jCetWu9zVYiAMIQnDZ35sO6gSXjloJdxebcXfaULu8z5E2RrGBH6vuz1+NT4bLO6UTOLiuVv0d13302UO7o2f4yH0DjiE6Z5qNamy3P6iNN0elTbxyyzr9q2INDZfAhO/PR3VZeWrMGzFHw0drwCmgV7pGqYTfVtjgbpKSmtczKCjRZKcvORKgJBsbKggEVwY49i8IOrtS8v2hEs9LTsjeEaERDezyq5DOs5PV9/g3GGFbmIx3uPeuAw1yXSlYc0YvuZAyjk3m8ujul4tCmwD84AJD+fWJBO8uuMewBc80tOqXgow7lZZfm2iiBqQZO8h391HYuqCbF1Y3VBANsNkQcPe3yn9LLNSYqgqtyB0j5T6P2+9M0TclnyDOczuHguLlhex0ox9PP5ruErBuwyi41Wm0BIBaNYNWSAQDhWa1XZiJkB9dOmQ8mOm32dlsKPuowVuZW2VwbJTDVQ0GV5iNMAyeZjFUrS0jM7qSqZD5UlEF6QlgP4IMPWU+j1ev+qq7TrQfMrMcRfe3oTHrvdGGwskuYgtNsoWi5rA521Q4+AOBUq+U2HN1HyjHQlaX5sLOIPFR2IQCUZz6asexiZT5UtTEqNqhSDT+rQYVYkb+BqSnz2KlivrtGVlvg1A1B7jnlM0kAlIhqeZiz6dE+nE15GiH4ODhurp2IRqz231qwIXO/335Yanu6E1MyHwqzbDx22YWCj5ammcsuvLJfnZ1wedml2bJJ1TIfcgWgvOBUpebDfn8ybfmdOhBklZbCznxsEaD3AICBTlZ2Ce/7tT9li001Tav788tmd2NmVwKT+SJe2DEs+/CmMPVaK32fJPl8sIxoZeaDWay/3eReHxR81KGZyy68sl/VBE/VZR7V8JmBboW+G2ZbqFoNRkciaplwySotVaamZXuZVM7asLJXirKeQWzVeRqh1Xa/ZTBWv+QCAJqmYXWIpRf+uwuY82gAeZ+9vV71zMd4ttB0gnweCj7q0MxlF3YDj0U06wahquzCz80Iq7VOBuWaCPkGVWNVMx9quk9MQaZsDYZT+6PsOnw4mQ/hZZcQBacHPAYfAHDqkWzOi3rRqerP3klw2p6IWm7FO5u444WCjzo0c9mlmkeEzACrqBtWJokFH4A8++IwKGtFVeiD0cN1n8hcL1WRiZBdBql8OpQdYE15+lUQ0DFGJ/JWtiBIpwvAaz5CLLu4NBjjYXNeXtgxUnbvVcHUzirJ+qJseZaN54gWGDBHwUcd+JtOs5VdUlU2SplP6XyQMaMzgUTMvPyaKaPEB3RqfDCqtfbKE4BWiuSYMFNVR0BYmQ8V3/2tB8ysx9zetik6AK/0lzQfIxO50HQDB6yhcrU9PngWzOjAvP52FHQDz755WNahVaVRWm0BfsAcBR8tS5obV95s9beyjbJ0s5M5Ppytl4hF0BaPKplFopJCUUc6Zw+KUm8yJl8A6iTIlJf5qN6BIF9jor7sYolNAzibMljmo8BlG1Xjp+wC2KWXpxTrPpw/e8lt3cmpgaYlOqXgo3VJc/bqzWaIVc0dUzdgbaCy1uup2Eia5bzymR11JmN2ZoAXgMpvDywJMiVbyFcKQO0OBMmttlPKLvKvURHOpoy2eBQdbLhcSLoPP2UXwJ7z8sRWdbqPom53/oVhaFeJXXYhzUfLwl946VwRhaL6/nNZ8BtXWzyCmLVxqU6hN0fmg72PtngEiVhE+vsrv2GWC0DlKfSdTL8UZT7a5a5ntz+WB8jj2QJ0ycLoLfuDD5TjCVv3sT/lzt20Ejbn5dU9KWWBU/mDA/vs5WZmnVptgdbw+qDgow6Voqdm2SiB8si7fOOS9WWr7FxQPzFUJrUMsWSUsvi5QyrKIJUTXwH5rahTA1bJG0KF4JS9TzMjKPe7v1XAQDmefsvrQ33mQ9cNyybea9llVncbls7ugmEAT7+hpvRilYSjZkkYsL9Lk/ki8hIeOmtlPuYNkOB0Cm+//TY+8pGPYMaMGWhvb8cJJ5yATZs2WX9vGAa++MUvYu7cuWhvb8fatWuxZcsWoQetimq18+YKPthTrJoUs6Xutm7szZn5qHxqzhcNZCU4NrKNMhmLIBkr3TAlCkArJ74Ccl0gM/kicqWbflittslYBPGo3FIWYH6We0ZNgWbQThcGy3wcDiH4GJ7IoaAb0DRgpgtr9UqY1bqqOS/VxJ9dnL296M8+V9Cte0LlYDnAznyMTOSbqhuQx1PwMTw8jDVr1iAej+MXv/gFXn31VXzta19Df3+/9TN33HEHvvnNb+Luu+/GM888g87OTpx11lnIZDLCD142/IfOBjU1y1M6MDXylh0MTBF0Se6UUE3lU3pnIgZm7Cjjuqk2G0LmZ1g58ZVfW8ZnyM6ZpgFdicpsmRpNS/lwOXmbwBsH0gBMfURvldZLP4Rpsc70HgMdCcSj3hPslt/HVlWZj6nBRywasXQzoq9v/vW6qmQ++A7EZhWderoq/vEf/xHz58/Hd77zHZxyyilYvHgx3ve+9+HII48EYGY9vvGNb+Dzn/88zj//fKxYsQLf+973sHv3bjz88MMyjl8qrOQSj2pW9N5cbaHVgwF5czPCNXCSDbs22E0jInkEfDWHRJmlrMoyHft/cz15wU5XIoZIpHy9XEFHRnBHT1lZqeycyhdGHyxt1nN73bel1mOgM/zgw2vJhbFqyQxENOCNg2nsGZW/+VYGnQxZug/r2k7GLJF4JbbNenOKTj0FH4888gje9a534cILL8SsWbNw0kkn4Z577rH+fvv27di7dy/Wrl1r/Vlvby9WrVqFp556quprZrNZpFKpsl+NArsRdSZtzwbZ9uMqcTKMkl1PV2Xio5pqNVyZorVqT2syP8PKNltAbrdL1VQ4l00S/R7TuSKYppTfhFQEySxA6CtlK0TAhrmFITj122bL6G2P44QjegGoyX44eW7I8nmp5fHBaHavD0/BxxtvvIG77roLRx99NH75y1/iyiuvxNVXX43vfve7AIC9e/cCAGbPnl3272bPnm39XSW33347ent7rV/z58/38z6kwIKPrmRM2kUYJlMMoyQHA1M6CdrlekSoplJDA3A3LwkZM6ahKSu7KCiD8L4EMjfmak+j5dkkOanwWERDW9y+NcrOCALAaOn6cDP91S1W5iMEzcd+HwZjlZzKWm4V6D6cxJ+yru9aYlPGvFLwQWUXALquY+XKlbjttttw0kkn4YorrsDll1+Ou+++2/cB3HDDDRgdHbV+7dy50/driSbNBR+qB0ypQHXra5jW1SoYy1bJDEh8j5XBnLmefM1Hd5Uyj8z1WJDKkHVO+fPJT2FVmvkQpPcA7CxKGIJT1mbrN/MB2FbrT249JN2ltTILzJB1fVdmgathtds2aceLp+Bj7ty5OPbYY8v+7JhjjsGOHTsAAHPmzAEA7Nu3r+xn9u3bZ/1dJclkEj09PWW/GgXWymiWXZpLnwDwT86VdsKKraubJKCr9qQuUy9QGczxa0vJtFR5fz0yMzsON2jZT6OVszbskqu863RkgmU+xJVdBkqvNRJG2WXcn8EYz7sW9SMRjWBvKoPtB9OiDq0qdcsugq/vaiXMSuZR2cVmzZo12Lx5c9mfvf7661i4cCEAYPHixZgzZw5+/etfW3+fSqXwzDPPYPXq1QIOVy3lZZfm0icAtRxH1XQSqBDyqaTaDUVuWSKc9aoJXMdz4k246m0I4ssu9daT9+AxIqHswnw+DocgOD3g02CMpy0excqFfQCAJyRbrTsHunIFp7UyH81use4p+Ljmmmvw9NNP47bbbsPWrVtx33334Vvf+hauuuoqAGZb2qc//Wl86UtfwiOPPIKXX34Zl1xyCYaGhvCBD3xAxvFLpXrZpTkyH4ZhhFB2qQx2mqzsUuWGIjNorZYqllsGmZoZYNeMYZgBiEicng5lndNqmhZ+PZlB8kgpQOgXmPnotzIf6ofLMc3HoA+PDx679CJX91EtsOZ/L0tfVFNwWiq7HBzPCu/sagQ8BR8nn3wyHnroIfzgBz/A8ccfj1tvvRXf+MY3cPHFF1s/89nPfhaf/OQnccUVV+Dkk0/G+Pg4HnvsMbS1iWshU4Xd7RLlyi7N8ZQ+mZ9qGCUzZQ9MrXM2W/BR6eAKyPbdcF5Prq+IvV5bPIpEVM50Yvt8qiq7VA92ZGcEAbs00isy81EKPvJFQ7lRFet2mdUT7L7PRKdPvXFIqr29UzAga7JtNXF6JX0dcctnpBmdTp3DLgfOPfdcnHvuuY5/r2kabrnlFtxyyy2BDqwRGC8NletKxqU+wYZBdcMoxSZjFfbFfsyIGomaGgxFwYAKAejUG3QMB8dzCoMBOW3vTqlwJWWXUvAhMvPRnoiiLR5BJq9jOJ2vmeIXSTpbsIZTBtF8AMCKeb3oTEQxMpHHq3tSOL7Ufiuaup+94EGGbjIfmqZhXn87Xt83jreHJ3HkoBjn20Zhet/tJWOXXaLSR3mrprphlLz0cqGoY6J0Q2JPE7yzXzNkP9RrMJwFrnJNxlTVxetlPtRsCCrLLiK7XQBbdKrSaIwZjHUkouhMen6+LSMejeC4ITPgePOQPNGpar0P20cqyzyVNPOAOQo+alDNZEzWKG/VVDWMkrhRVpsaGZdoXxwG1X0+ZPpuOLtxypjC6qzBkNMR4FSHl93+OHU9uZmPXEG3MgUiMx8A0F/y+lApOrVKLgGzHgwVA/IcA92kpCxbFY+eajSzyykFHzWwul3aYk2Y+ShtJMmpG6XMzoW2eKSsvKIipT06mcdV9z2PDa/uq//DPskXdWsIYbXMh4zrppoAlAU+hoQprE4aDEu7Izo1nZ1axjLXl9vtMqXVVrIWamTS3FQ1rXYa3g+86FQVIgzGeOwZNfIeUOpmPiQF1vU+7yOa2GiMgo8aVOt2GZM0Hl011VLMcjsXaqfsZXp9PL55P37+hz24e+M2aWvw4+27yrJJ8jJm1W5gyVjEEoCq0mCoFoDKCujCarW1xKbtcWuGjSiszEdaXWZRhMEYT7/kGTW6blj3O+fOKvWttgCVXVoW3ueDPQ3pBqwU6XTGdnO0L365nQv1ZifIy3wwh0eZTo8suGqPR8syO7JKWbyGhv8MzSmssuZRqC1LON2gpWVa6gTIMjKCgByxKYNN41ZpsR50qFwlst/DeK4A9jypLstWX3AKcBbrTdjtQsFHDXjNRzIWQTxqPpU0gyOn+o2kegpd5iwSBru5yxTdOVmB8/oEkRmzahqayt+L/AzLJ77KL0uYPjSq523UDpBlZAQBuyTSK1hsCvAlixA0HwEMxnhkl13Y5x6PakjGyrdE9tCZLejIFXRha6YcSnyVsLLLvlRG6PqNAAUfNeDLLpqmcS1+zRB8OLVNynb0C8E9snTjHZ3MS/MKcC4rme+vqBuWJkQEThoa/hhEBnROE1/534vMXmXyOvLFch8ahvxrtPz98RlBGdepnfkQH3wMSC5ZVEOUwRhDtm6Fz3jxM30AWEMM+Z8LSiZftAKJepmPmZ1JJGIR6AawdzQjZP1GgYKPGrA6PrsAZd30wiCsNsapaU35AR17YtINees4BVcdiSiiEZYxE3fd1BpMJcPYzGniq3kM4q8Z9lqaBnQmnO3VRWaTUjVS4TJHATDBqci5Low+q2Sh7oFJlMEYQ7ZNfC3xZ7RsirKY7xN7HU0DuhK1g49IRMM8a8Bcc3W8UPDhgK4blraD9ao30yC0RhEPqhjYxz/1yU7dVgYDvAZD5MblpKEBuPZAgdcp//lVPh3ag9dEBld24F8pwmTnOF80kBWUitZ1u6xUO/gQf50OW0PlmiPzIbzVlmU+JAVQ9fQXoj97tl5XYuq1XY0jmnTAHAUfDvBtilbmQ1HZJZ0tSBcYOY6QTsp5j05PlSo1H4A80WmtG5gMUa1TJkn2etUyLTIzH9XeX2ciCnbPFhVg1RIdAlyAJeHBw5po2y5DcMq6XdQEH/mijkOltcQJTs33MJYtIF8Ur3uoZjvAI1rA7bbNljGvSdttKfhwIF2yVo9yaWYVT+kA8Jff+T3efcdvpdb4whLzOavJJWo+Ju0br6y6cS3HQnZTE7s513pKF18erJlpkfAZ1np/mmanwkUFWGy9RDSCttK4AR6Z16k1VK5TguC0k+kl1FgEHBw3sx6xiGa5qwalpz0OlmyTkcGpN95etIbKbZstg7XbNlvHCwUfDlidLomobT8uIZ1djdf2plDQDWw7MC5tjXqCU/FtmvVabSVmPrh0rbyyS/1MhAwNRvWndAllnhqZHRndLvUGb4nfEOqk3iUEkAze50M0LADIFXUlFgGs5DKzKynMsyQa0Szb+REJ399aWT3zz0UHuu7abBl22YU0Hy0B7/HBsCeGyntKLxR168YrtTXUwd5X2iwDhy+47Mm2+aKOMa4tVZ5i3vnpSUZApzrzUetpTcZnWO8GLVr8XS8VLtOPhn3PZQhO2xNRq31UhdeHaIMxhszyUb3PXvT17eSk64RtsU6Zj5YgzVmrM5ToEyblP6UD/JOlmrkZzpkPucFH5ZOSrICu1qwGKZkPF+JIdcGO+WdsOrHs9fg/Fy0CdH76lXedjk7Ka7UF1IpO9wsWmzKYGFfGw8O4w72QIVrTVCuLWA1WdtkzkkFRklVAGFDw4QBvMMaQOaeDwW+Wsp5UTAMnB8GppI6eej4YsgK6ypuV/G4X57KEDEFm9UyE2jIPH6CPC1qzViuxeRyCN4Qamhb+z2WWXWQITgE7o6JCdCraYIxhB1BhlF3EBp71NCaVzO5pQyyioaAb2JdqHq8PCj4cqPT4AOTpIXhGytpC5dwsJvNFK4Ke2n0iy+fDyQFUbkBXebOSJjitUZaQkfmoLQCVJ3Ct9nTITydW1REg2h9GdbslI5MvWuZzfRIEpwAw0ClPL1GJaIMxhswAyn2WTfS15u7zjkY0zO0zPVOaqfRCwYcDrNW2LPiQNGSIh98sZd0s2JctGtGsTYMhS4PhaK9eCuhyRR0ZgQ6gjCmZD1leAZPOm5eU4KOW4FSqBqO2KE/c06Hq9WoLXGU9eLCSSzSioTvp7knYKyozH9ZcF0EGY4yBTnkup/W6T0RPNPfaagvwA+aaR3RKwYcDtcouoscr8wwryHxYJjfJqYZRMmrb+aKOTL66nXBXIma10cm0rmb22LLOaa3NS2Y3SE3Nh6L1zD8XnYlQrflwtwGJvkYtsWn7VGtvUQxItifnEW0wxrCcWiU8kNXTYFj3REGDDL1mPgBOdNpEXh8UfDjQGGUXOevUqjnKMYyaatjGiEQ0y2JYRj2d3dwXzjC/vPKySbUyH2ozEewY0rmiMIGaWw2GuKfDOt0uyssucsTmVputJLEpYHt9yLIn5zkgeKItwxouF2rZRXC3i4/MB5VdWoB01VZb1WUX2W2htTeugrDOBfM9dSSiiEWnXnJy2xjNtRfP7ARg3oBFmy3lCrpl813bcVRtqy0gTgDqNvMh2ojJqR1RdECnegNiWAZjEtpsGf2K5rsYhiEt8yFzOm+9TISstm6nEl81mtFinYIPB8az5XNdAPsGlCvI0ScA5QFHOFbg3MaVFfNlq9dJYH+5ZXQSmOdw8aAZfOQKutDpskD5cXfVzCaJ992odgNLxCKWK+90L4Ooan+s1c1jridHC2V3usjLfKhqtR2dzCNXemARn/mQI5o1DHumj+przYvmoxkt1in4cGC8VN/jNxPZ+gSg/OlkLFMQln3gqXVj5zcu0R4Kzjd2mdbV5trz+toRj5ofnuhyFjvuTm6CLY9oPUS+aAdQqjQY9QWgssogdVwnBZV56ltsm38+ni0I9VoYVlB2USU4ZWLTvo44krGpFvVBkFU6SueKYB9n/Wtb9LXmQfPRZ5aNd41MQm8Srw8KPhxgs126kvaXKMIp0mXpPiqfTkYkiFvd9rWL27jUpux5ePfIPkl147p6iHZ74xJx4yjT0CjIRPATXytbpRki5x6V+9CoFQE6l3k4LxNBGUHAnjsks+xiC07lll0sd1PBbbaAfX5GJ/NCgz/2uce4GV6ViMx4m9e298zHnN42aJp5DAfT2UDH0ChQ8OHAmDXbpbojp6z5LqMVryu3taxR3CPleX2wG25/R0Ja6tbJw4TBMj6GUT4t2f96toYmXkVDA4gtE6TrTHzl/1xEADmZL6Jg+dCo6T6p951IxmybcpHf/VEFZRc2sE6G3omHeXyINhgD7G4Xw5h6jwwC/7k7dRuJzHhnCzryxeoeS7VIxCKYU2pfbpbSCwUfDlSzVwfEi48qqcx8yHH0c5uJUHNjl2lbb2c+4nbmQ3BAVy+4SsYiVslHxDl14xMg0iyOrRePatYGXInIAJKtF9HMUlY1+O+hiA3VzaRRGboP6/rslCk4LQ2Xk6B34rHFpmI9PgDTyI5lnUV+f920vYrsyGNZUk2b+mBbD9vrg4KPpqZatwvAtRRK2CgNw7CCDSbYklGndd82qUovIKfbxTAMW9DXEecyH6LLLrWDAU3ThG5c9c4nINZbhN+YnZ4OewSWQWr50DDYuS7qRuANtciVlVQFdAwVgtOORBSJUtAoU/exX1KbLaNfgtGYW6tzUdlg9u+7kjHPU38t0WmTtNtS8OEAa1HsTDqVXcRnPibzReRKLZusNTTcsovotkk14kjGRK5oqe/7OxLS5kO4eWoWGbS6yXyILJ25qVGLXM+NIK89bot7g67JazhUvUcGXxaUhaZpStptZQ2VY7D3cFjge3DrNioq4+2nzZZxRJN1vFDwUQXDMKzafKXlsS2sk1EiMF8zHtUwr5RiC2OQkvgR0uF0uzCxbqI0e0R+2aXWxiWutOSuRFA6pwLEkW6mcIrM7LgZOW5mk8Rk6NhnkohFanZpiBa5ArbgtE9itwsg1yeDcYDNdZGc+VBddjH/Xsx934/YlHEE63hpEot1Cj6qMJm3268qMx+inRV5WBdGWWdGmJkPQar+upoPST4f9vmMVzz9CS671PEx4f9OVSZCpI7G+vySNTI77eJKdW5v0KLKdezzq+c4KTpI5sussoMPFV4f0ssuEmzi3WY+RAXX9rXm/fOmsksLwEoumoYqg9dUdGbE7UmUEtKk9Q2c5LhVqnePLL+x2wGd6LJL7cwOIFbX4mazFLqeqzKPhMxHvQ0hKeY6dfP58X8v6jrN5HWrzNonsewCyLUnZxxIyROcAvb3WGzZxd1nL8qlOFDmg3M5ldm1pAoKPqrAasBmi1W5KEimG2dVT4oQ7ITFGziV1nN4cpYl4uXPJyDnyQlwt1mKLbu4CXZECk7rp6YtLwQB04ndpsJFeYu4f/oVK8Rm12csojl29YjCbreVo/mYzBWtTKmMVltAzoA8z5+9omutGqzbZSJXlO7ZogIKPqqQrmKtzpA5h8Se8xCXVqP1YuAk2ppb1ZwOBn8++f8Kz3xkvXSfqGm1FVvmqS0YBsq9EIJeN27KWObfCxIBuvj8+L8X9d23M3MJaRNtGbIzH6zNNhmLTNHJiaJPiubD67UmKvPhvezSFo9iZsnArRlKLxR8VGGsirU6Q8Z4dEY1QyzRG2Umr4dg4FQ71cins0WmE4crOgnkCU69BAMCMhEuNksZmZa6XghJUZkIb5qP4BuC13ZLMd9JVWJTQL7glDcYkxVIyejY8S44Daj5CJD5APjSy/QXnVLwUYVamQ+ZJmPD3JNQn7QSgblGLQMn0ZoPt3MzRHg28PBPloB98xI9M8dT94kqkzGBduduNRiiNBFuzie/XvA6vFqvBwav8ZKNbMGpTIMxxoCEAMq9z4eozEf9Tq5azGui6bYUfFTBNhibujnLGI/O4MsEA5ahTl5oNoB92dwYOIm4yWYLtneJ02bSwQ1kEynkrSy79HJfeJEzc1gWTFX3iRsfDJFdWao1EaqNn9yYtvF/LyzzwYbKtcsVmwJ2dkWWz4fV6SJhrgtDRubSfaAr+lrzl/lgFgxUdmlSxhzcTQG5ZZdha7NMWDeLgm4Ia3kF3KUZRar6y4agOdSCec8GkUJe3lodAGLRiBWAyBCt1XqaCcv0K5PXkQ+Y5bGDKzXdIF47EES1P9Y1mhKc+RiuCI5lIjvzIXOuC4OJZkU+kLkt8Ym+tv1oPoDyjpfpDgUfVWCZj1pll3SuKHzcPT9euy0eRXvczLyIFIl50SdM5oviNq5krOq4+co1RQp5hyvKLoB40Wkmb7uo1i6DiMtEuNks+UBPdTeIKg2GqGyS61ZbwSVXNiBNpeZDlr36AcnupoD9HkQ+kLlu61Z8bTsxr4lcTin4qMJ4xjnzIWu0NsCXCco1CiJFp27sffn3qGzjEuTZwFN5PgE7EBF1E2bvT9NgDZ+qhozMR63PMBaNWJoeVQp9YfMvFHefeG+3FNRqmy5vBZcJcwfNFnRM5sQPl5NtMAZA+AOZYfAzfdRea/WCHSeayeWUgo8qjNcou8SjEesLINpobLhCgCanxlk/zRgr2ZHzP+9/PbdfbvGZD6br4NPaoofLWUPQErUHRYlqC80VdGRLGpr6ZQkx7b1e51+IEoCqchx1H1yZfz8hKOs5ojDz0ZmIIhEtDZeTUHrZL9lgjCFyPtNEroii7m68PZ/5CFLyEVV2SWUKUrymVELBRxVqlV0Azkpa4Idf1A3r9azujE6xGyWgXtnvuqYq2LytqBtcWpsvu4h1OfV6PsezBeuG5289+7irtYJXWzPIOdV1A+M5d5bQIq6Zch8alwFr4Nku3oIdQEzWk32v+xQITjVN40SnEoIPBZkPgBPOCrgnss89GtGsB0on2GefLxpW8O8VNx5L9ehKxqxzMN1FpxR8VKFW5gMQb8IFmPVfFlD3WaZYzBgojL726d3GmOLOJ9/lIjqb5L5Tgtu4ArxHdn46uQ6hemsGySaN5wrWeXTbjhjkmvH2NCq2/bHeZxiPRtAWj5T9myCobLUF5IlOi7qBw2n5mg9ArFka/2BUz5ukU4CJnhuPJTcwp9Ndhyn4aDrqBR8y5ruwG0J3MoZ4KT0qww7caxtj0PfodnMW2YoK2OezKxlDImZf5lbZRVBA58b9EwCSsSiSpeMIsjm73SjNYwp+Ttl6iWgEbXWeDkW4uPJPo5VzlaauZ2eTxKTC6z+NinzwYGWXXkXBhz0bRWzwcWg8C90wvYNmSGy1BfjJtiJb1ut/7pGIZjm3+g082TVTy2PJDUc0SbstBR9VqF92kSGOLJUIOqfqE0TWaL0aOAV9jymXm7PoeTJO00JFWzR7qeGK0H148QkQIZLztjEHL/NYGpoaPjQM9j3UDbP7zA+Fom79W2/vMdh1ahhGVUG0THjvIJGwksuMrmTdbFxQRGq2rGu7xrRmnqDfX/5eEcQFdl6/KTptqeDjpptugqZpZb+WL19u/f3evXvx0Y9+FHPmzEFnZydWrlyJBx98UPhBy8Z92UWGIdbUzgyx3S5eravViPlEZz6cbuz2zUut5gPgfSKCb86qggG3Hhjl6wUJrtwFq4A5RyQe1Upr+nuPvHbDVTZJkHB4IldEvmhma1QITgF57bYHFBiMMUR2q3nVXwT9PgW1Vmc0i8W657Nw3HHHYcOGDfYLxOyXuOSSSzAyMoJHHnkEM2fOxH333YeLLroImzZtwkknnSTmiBXA7NWdBH122UWkIVYVcWSoglPRVtnhWFdX3thFz7jwckMRuzm7ybQEX89LZkdEt4uXp1HTnC6Ow+kcxjIFzO31s555btrikbLynBOiRK7s+kvEInXFjqKQNdVZhcEYY0Dgw4OXEiYQvKzodT0nmsXrw3PZJRaLYc6cOdavmTNnWn/35JNP4pOf/CROOeUULFmyBJ///OfR19eH5557TuhBy2a8hr06IGe+i61858suEgSnWZeGSsJMdbxaV4t2j6zMfIjudlG9OXvQfAjIJvnL7ATXfHh9GvUbDLjVJDFEZeis4Lg9WAreC0wvcVh02SWlRmwKcO9BoODUredG0MyHl6xlLSzBaasFH1u2bMHQ0BCWLFmCiy++GDt27LD+7tRTT8UPf/hDHD58GLqu4/7770cmk8F73vMekccsFd54xknzIWO+SzWrZRlPKqoNldhTgts2RlHn1DHzwWWTRFg0e9ksxWYiVAUD3jUmQQSgXp8Og55T/6n3YEGy0/Upk35JrbYHxtW02QJiu9VUf/ZBDcYYLPNxKJ2TYhinCk/Bx6pVq3Dvvffisccew1133YXt27fj9NNPx9jYGADggQceQD6fx4wZM5BMJvHxj38cDz30EI466ijH18xms0ilUmW/wiRb0K1WP+duF/HzXapbgbMnFfWCU2FlF7eZFsHZJHuuS/XMhyiLZnYN1Ht/gBgXV2/BTvBMi5shdvZ65jEVdQMTPm+KKa9Po8lg79F3sBPw2hmZVOduyuiX1GqrymAMsCfbiim7eMt6BW3tDmowxuhtj1t703QWnXoKPs455xxceOGFWLFiBc466yw8+uijGBkZwQMPPAAA+MIXvoCRkRFs2LABmzZtwmc+8xlcdNFFePnllx1f8/bbb0dvb6/1a/78+cHeUUB4AVqng122zLILn/lgnS+ZvI6MgFHzpsmNW9MvUYLTcKyrnTwU2uJRy6tBRLttWJkPV8GOwDKIm/Xa41HE2HRiRanpoO/RDh7driem7DLMlV1UIdIjg8fSfCjJfNgdgEEzl14zH7a5pN9rTUzmQ9M0rvQyfUWngVpt+/r6sHTpUmzduhXbtm3Dv/7rv+Lb3/42zjzzTJx44om48cYb8a53vQt33nmn42vccMMNGB0dtX7t3LkzyCEFhhlAdSaijnbZUsoupY2QPZ0ApucHu5mLeFrJFnRLYa9q1opXt8rxbAF6AAdQBnuyrNbGKFJ06jazA4jpkvLWfRI8SPYSDJRPJ1Yjygv6IOA32Ana6TaquM0WsLMGIrvnALVlF9YunCvomAz4QOYlq8f/nIhW26CwjpeWyXxUMj4+jm3btmHu3LmYmDAjsEik/CWj0Sh03dmONplMoqenp+xXmNTTewBc2UXK+Hf7ZlRuiSzCVCdfel3nrA5DnFW2y0xL6ZwaBiw77yCw81Wtph5W3ViELb89dM39eqrKPObPBU1Nq21/9JLZ4X9uWmo+SpnUyXxRmFbAMAylZZcObkZN0CDKf5ZNzbVdi2boePEUfFx77bXYuHEj3nzzTTz55JO44IILEI1GsW7dOixfvhxHHXUUPv7xj+PZZ5/Ftm3b8LWvfQ3r16/HBz7wAUmHL550HY8PAOgVVJLgGa0yBM38vTjRKTvermTtIWiAGL1AJu8+05KMRaybihjr6lqZj3Da9cRkItxvliIGy3kp8wBcgOW7HbG0nstyRNDrdCzrL9gJ3mo7VeMlmy7BmVTAzB6wWScqMh8iZ9T4Daz9XmteMy21aIaOF0/Bx65du7Bu3TosW7YMF110EWbMmIGnn34ag4ODiMfjePTRRzE4OIjzzjsPK1aswPe+9z1897vfxf/6X/9L1vELx2qzrXFB2jf1YBMOeVS0hnrbuIKnl9lGEnGRaSlP2Qd/r04Op4C4souXzA7/M2IyEe4/w1zRv2bIqzFSUAGo1/WCdvSoFh0yRi3BqbrMh6ZpwkWnzGCsOxlDewDLcC+ImlFjZxFVdVaJabUFmsPl1NNZuP/++2v+/dFHHz0tHU15rLJLjc2Sbd7M1rlWlsQNmXwRmbz59DDFDlygxbqnNs3Sk6c5wr2IZMz7jSXlIdPCjutQOhfYYj2TL1r14GpPlvZkzGAbCJ/ZUW/6Vf8z7CoNwzIMc816s1lqr6e69VXNep6DK0GttsOKh8ox+jviODCWFeYdxMSmgwoMxhiivr+eBaeK27pr0QwupzTbpQI3mo+2eHBbZx4Wwcci2pRAxiq7KLYT5o9juj1VsnJKNKJVVZbbMy6Cpm35zE79jV2EQZXXYVhdyWDZFu8dAUFbX73W4UVpTFRrPsxrr7ddXdkFEO/wyzIfKjpdGCK6dvyMtw98rXnMtNSClV32j2WRKzhrKhsZCj4qSLuoATNbZ0DMIDReHFnpdsjabcWUXdxf/NGyjUtNpC+qvdfyUHBwjxQ1H4LP7LhxqQxqz5zJF60bjWdL6GliwuW19TVoMMDW8/r+JvNF5Iv+b/phCE4BcSULhjXXRYHYlCGidDSZL1p+Tn4CTz/ldva973Uxt6geM7sSSMYiMAxgz+j0LL1Q8FHBeGmuS6eDtTrDmu8iYrS2gyEWwJvqTL9BSl47CUS199bqdAHECU79liT8blz8Buu21BfkMyzqttuvVwGon/V4d+FGrcPzWrBxn2sahoERS2CuNvMhcjAbYE+0VZv5CC44ZdeLl/H27Bop6IZVJneLn2u7FpqmcaUXCj6aAsvno87N3fYXECeOrFb/FZkm9Vvf9vukbrlVuoz0RXko1ArmAHHn1GswF3Tj4sfNux1dHmRzLp/4Kr8uns4VwSxeVHWfeA2Q49EIOkqble+AJ1uwnrrVZz7EdXoBwP6UOoMxhggRPv9dcjtbpyMRtb53Xu/7Ezk+0xI88wHYpZfp2m5LwUcFVtmlTvARdGPmcbICN/+MCU7V2wkH1Sh4Xk/A4DWgvpivT1jmw/vGxSaY+tm4/MyGCPIZsn+TiEVcC46DjB5g60UjmutJr9Y8mZw/czqvn6G5ZrCs52jpumuLR3yJgIPQLyvzoVBwKuLhwU/bq6bZpWivnz27zrxc2/VgHS+7pmnHCwUfFTCDq7qZD4FGY9Ws1Rn9gsSRgPr6fVhDu2oFc4C4zIfXzA7/s36uGz8juYMEyX6CnSCfIb+e26dRtp4fc7p80XbJ9PI0GtTvwZ5oq7bkAsgTnA52qdR8MB1c8LKL1yyE3+wsX94TNcWYGY39cU9qWopOKfiowHXZReAIeHsOibMhloh5DH67T4IP7fKqJg9oXe1g2MZg53kiV0S24N/p0Y9dcpBz6scnIIgGwxZjen9//oIP7+u1xaO+zen40lctX59KggbJdnCstuQCiBechpr5CNAu7NU8j+H3+vZa8nbDggEz8/GrV/fhnbeux9/c9zx++uLbVmat0RF3JpoE72UXkYZYznNIUpkCCkUdsaj/eNHrk2xwDwV/gszA7pHp2pmP7rYYIprp0zIykcfsHn9pUD9PTyIyA37W86Oj8bNekMyO3xt0T3sMB8dzpQ2l3fW/Y++vPR5F3MP3KmiQzMSmYQQfIsc1ZPJFK9APQ/MRJBscNPPhNZi37oVJcZ/52mNm45LVC/Hoy3txcDyLn/1hD372hz2IRjScsmgAa4+djT89ZjYWzOgQtqZIKPiowI3PByBOnwDULrv0cl0Go5N5zOjy/yVXbifsYQgaIMYHA+A1H9WDj0hEQ19HAofTOQxP5DC7x1/K2F8w4H/j8hrMBV3PyxwZIev53hDipeDD69OoP8fJoF1gtaz/ZSMy83GwNFAuEY2U3adkw85bupS59GOA6Ndt1G/G23rwE9Bmy2hPRHHL+cfjpvOOw0u7RrDhtX3Y8Op+bN43hqfeOISn3jiEW3/2KpbO7sLaY2Zj7bGz8Y55fa4MH1VAwUcFbuzVAb7VVqTgdOoXOBaNoKcthlSmgOGJoMGHVwGomDZG90O7BPl8uEhr93fEzeAjwBOgv2DA/8blJzMQZLicFQx4eFrjpxMXdcN1V465nj8TJr8ZM7/BR9DrNCyPD3NNu+SYyRcDCV73j9nTbEXpGNzQ3WZ2exV1w3fm0o9+CuA/e6+CU3EGY5VEIhpOWtCPkxb047qzlmPHoQkzEHltH57Zfhiv7xvH6/vG8f8+vg0zu5I4c/ks/Omxs7HmqJnKLPGrQcFHBW4GywFcVkBA2WWkzpCp/s5EKfgIZ5CSugmlYjQfbmrq5tNTWrloLYjRmHqNif8yD2BqKno9bLBeM2WVa/p/GvW6AQX7XgyH5G4KmJsnv3HP6Q0QfKTs4EMlkYiGvvY4DgXIXAYvu/i71kRqPpxYMKMDf3XaYvzVaYsxOpHH46/vx/pX92Hj5gM4OJ7FDzftxA837URfRxy///u1nkqOIqHgo4K0ZTLmtuwiLvPhlIbt60jgrUMTAqc4qslE+B3cFLSUVUvAy+gT0a436S2zY/5s8EyEl9RtEI2J3c3j/v0lY1EkYxFkCzpSmbyn4MO3CNCnOZ3fp9+gbfajIc11AUrD5ToSODiexeF0DnN6/XepHBgPJ/gAzAeLQ+mc75ZhP1lL/ue9PnT6vbaD0tsRx/nvOALnv+MI5Ao6nt1+GBte24f1r+7D8jndoQUeAAUfZWQLReRKzpP1Mh9BNhEeXTdcdGcE96XI5O33prrV1rVVdmmTm8gVfYtr3bpHijin6gWn3m+YQQLIIBqM7HhW2dOhiPZHb+uVgp1ssMxHGGUXwLz2D45nA7fvHwjBYIwx0JnAtgNp39/fZs58OJGIRXDa0TNx2tEzceN5x2IsG/zBOQjUasvBsh5AfctdUbNdUpm85eroVHYZEPCUzi5+TTOnnbohSMq+fHCTt8wHUO6u6QW37pHWfIggFs0+BkUF2bjUm4z5rIv71Jn4fTq03YZ9ll0UbUAMu9tFfdkFsK/9oJOybWt1dR4fjKA28UEDT++BbvjBB4+macqzMJVQ8MHB+v7b4pG6T91BWgp5WGdGZyKKRKz6mn0i7YQT7sbbA8FusrydsNsyQTwaQVvcn2cDYyTtzj1SxFhuX8FAABFvkO6alI9hWF6HrlVb0wuq2x/9C1yDlVxHLZOx8DIfQHDvoANj4ZVd7Myl3+DDu7MtEKDV1odnTrNDwQeH1eniQt3PnrZyBR2ZvH+jqnpzSACxg5T8iCPHMnnPG5dfO2H25Rz1KeStp59hBPUK8JPZAWx9QhD7cT/dNUXdsNw8va7nNTPgvyPArwbDXzBgCVxdDumz1wtWcrWu0c5wMh92u22wB6cwhsox+gO+B7+BbvAsGwUfDAo+ONI5FnzU3yy7EjGw7rIg3RmWOLLT+aLsE9CbH8SaO180kPVo3+vXTjioyLWetTrDCuh8nlN+JLc6Aaj3G2b5MCy/mQi/3SCN7bvhx8ekfD3vnyGv8Qov8yFmvsv+sZLmQ6G7KcN2OQ1advGZ+fBYNvV7bTczFHxwuLVWB8x2L79DhnjcPKmLEUd6v/g7uQDL63v061YZtL13xGUnQZ+V+QhmoOY3s+P1Kd3MtHi/YWqaFqAsEVAA6rkjwOfT6DRqtR3LFCyNl5dOIJGIcAjVdQMHx81/H0bZJYgOrjxrqfZao+DDhoIPjnGXHh8MEfNdalmrM0QKTr1c/HyA5f3L5s9OOLCYz2PZxe859ZvZ8RsIZAs68sVSpsVnMDDqURwd/OnQb+bD77wNvwGyv+Ajk9c9D/QamTSvt45E1Jczpwhswan/h5nDEzkUdQOaBswMYHzolyCarUxeR8HneHvei8hLKVqmydh0hYIPDrcGYwwRs0gszUeNpy8RglO/N3a/I9JT1lOlP/tiv9mkYZfukazMNTKZt8onXvA/h8RcN1vQPQ21Y+dD08yMlBf8+GAUdQPpnHl83oMd7+vpumEF/941Jn7r8P5S4bz7sdeAZzhksSkgRkPGDMYGOhKheEX0ByhFjwX5LnEaqomcu++vYfi/tpsZCj443M51YYiY72KXXWq1hdrKbq/CT4b6vnafwU5AS3c31uqAPc7cMAKKPz1mdvjA1st7ZD/blXTfrcTw8xnyE1/9WlB7aUNP5wpgl7bvTIuiVHg0olmt+F7XdCMwl02QjZvB9B5hlFyAYJqPVIDvUnvcu4YqnStapTbKfNhQ8MHhdq4LQ1XZhX3RCrrh2xhGtXgwiEGV+e+DZT7qlV0SsYgVCPh7evK/cfkpZQVRy/tR6LOAOhmLOLaAO+HHH4YdWyyiWe3W7tcrnyfjfk3/rpN+RwGEOdeFMRBQrAmE22YL2A9rbNq3F4J87n40VOzhxs+13czQmeDwWnbpEVh2qdXt0haPWhftiM9BaP5NddQaRnX71Jgw3Ha7mD/jv27sV6wI+Dunfj8//+v5C1bL1/MRXLXHPQ8p449x3OWaZou8N8ff8jX9fS/CnGjLqJwK64cwDcaA8mnfI4qEzYwej6LxINd2M0PBB4dnwamIskvandthcIGkWjfH4FbZ/s5pPat6niCq/yCtc37Oqd+ha4A/HY0118XPej6+F0GCq0QsgmQpO+N2TT5ocPt95/Fr6c42yrA6XQDz2FnpwG+3V9iZj1g0YgUgXr+/QYMPr4FnkGu7maHgg2Pc5VA5hogR8KMu5pDwf+87+PBhBc7/vOdWWx9D1wD/Jj4MdZkP/6lbPyLeIGr5IJkIVcFV8A3B23XDfq4zEfU1Q8i+Tr1mPtwHx7JgU2EB/14fB0I0GGOwc3jYYzY4aOeJ1+ub2myrQ8EHh112cdcC53fCIY8bwSnAi05VO/qpznwEs65mZSnZmY+wNmc/mQh/6/m/QfvxwUj5FPBaa3qcJxOkrMT/O8+ZD6u7LbyyCxBcdBqmwRjD72RqUYGu2weyoNd2s0LBBwerF7uxVwf4+S7+NspsoWi1a9V7Ug8+SCmodbUqq2z/1tX5om4Jct1kPoK4nAYLPoKUJdQEA0Henx8fDL+tywzvmY9gqXC/16nbVnDZ2KJTfw8zTPMxGILHB4PZxHsvu4j67CnzEQQKPjjsVlt3mY8gToeAncWIRrS6T7TBBymptZL2q4mwSxLeAzp2PjWtXJDmRBD/FNVlkCCbs58JzEFu0H58MIKmwi3xt+unUVF1f3+ajzBbbc31g40XsMouPeEITgH7PXgtu/g1l2N4ve8HzbI1KxR8cNizXdyajPnfKAH7i9/rQgXdH9BoTLXdueoJpYAdmPW0xS1BXS2sAVsBvAJUtb6K6D7x0/rq5/358cEQJwL0mvlQswEx3PrQyCbItT+eLVgZ2zA1HwM+y6aqrzWa61IdCj44rLKLW5+Pdu83dR6708W9PsHPk0q2ULTS337LIF4DrKCOql4dQAH7qdKtmC/I05/fcfP8v1HVDRIs0+JXg+GvDOLXAdKri2tomY8GEJwCXBnXx7W/P2XqPToSUdfifBn41a2M+xTfM/wGun7a8psZCj44rLKLS8vdoCZjXnr+gwhO+ePz2lZovUcPUxzLrLI92quXp+y9nVf2FOc2pW0LTv2f0yBlEF+CzACtr6p8Rfh/57711b9vCr+eqsyHn+CjqBvW+egNWXA6EOB+0gidLoD/sksQ8bb57/yVXchavRwKPkrki7o1Nt7rbBevzoqMYQ9PQX6V3YB98XclY67KETx+2ol5q2yvaXu/DqCAd/fIINmkYAJQtQ6n/KA33eV1Kk4A6rUu7nNDsLxFvBo/qdmAADNbxr4XYZddggjYwzYYY4RXdvF3rVHZpRwKPkqkOdtyt6lEP86KPF48KYLMMgiWsrezO27nyrAvWzyqWeZP3tb020ngzT2S9/nwMjMn6KCoYA6g/rtPDMPWNdVfT0xmwP0NWlQmwpvA1U8wZ67nvdWWlQW7krFQhrHx+N24Aa7TJfTMh99WW0HXtkuLBZpoWx0KPkqwzSThYZZFIhZBe9wU1vnRfYy49PjgfyaIFXgQvUBRNzCZd6fB4MWRfuyE/dbTvbYxsppxrqC7fm9A8EFR/lpf/d/AkrEI4lFvw7BEpabd36Cn19OonwB5uEHEpoB97fvRfITtbspgpWiv90T14mbKfFSDgo8SXq3VGeyCGvVhNDbiYqgcg90sJvNFZDxslECwjasj4X2KY3C9gD/zttFJb5mPzkTU2pS93MDY+4tH/Q2K8rpRGoYR6AamaZpnfZJqTYQt4FWV+RCzAXnJfIw2iMcHYD/MHBrP4ZW3Rz3dUxrBYAwoz964LScC4gzmvA6Wo8xHORSKlfA6VI7R0x7H/rGsL9Gp2wmsANCdjCEW0VDQDYxM5DGn150XCRCsfs+mOI5M5JGazGO2i77+VMCUtl/b+mEP7qaA+d76OhI4MJbFcDqHI/raXf07e85K0MyOWe6p9xqZvI5C6eYaZHM+lM55FoCqtjtX3v7o03WSvb9cqSsrGav/fRxuEHdTAJjRlYSmARO5Is79l98hogGLZ3Zi+dweLJ/dbf53TjeO6GufMnb+QAMYjAH2Q5tumJ+nm4e4TL6IXNH/QEHAvj+NZwuuvr+U+agOnY0SXue6MLyaG/F4KbuYG2UcB8dzGJ7IYU6ve7FX8Ei/FHwo20j8uap60dAw+jviODCW9aT6F9UJki8ayBZ0tMVrb1xsvYgGyz/D+5run9YKRd3ycfDbfeLF7lzXDYznAgpOFQtc+YeUsUwBya76n4tXQbRMetvjuPn9x+HRl/fgj3vHMDKRx7YDaWw7kMbPscf6ua5kDEtnd1nByPI5Pdg9MgkgXIMxwCx7dyaiSOeKGJ5wF3ywz13TgC6XXY2VsO+Sbpgl2FoPrCKu7WaFzkYJ21rd2809yHwXy2TMtS9Fwgw+PIpOA2+WyTiAyWnjoeDl5u7H7yDoxtWZiEHTTAFoKpOvG3ywIKwrGfM9ktvLOR3nxNcqAsjxAN1R9npqW21ZV9Z4toCxTAEzXWQBGsVgjHHJ6kW4ZPUiGIaB/WNZ/HHvGP64J2X+d+8Ytu4fw3i2gOd3jOD5HSNT/n3YrbaAWY5O5yYxPJHDYnTW/Xn2uXclYlMyOm5pi5saqnzRwFgmXzP4EHFtNysUfJQIUnYB/Hl9jHgou5g/N10EVkHr98EyH27PJ+BP9R80ZR+JaOhOxpDKmBvXrO566wW3Z/aiUWCfs3mT9ScL81I6Yz+TiEZ8dUeZ65nnZiJXRKGo151UaznU+my1NddkwYe763TE5QRr1Wiahtk9bZjd04Z3Lx20/jxf1LH9YBqv7Ulhcykg2bx3DG+PTGJ2TxKLZtTf7GXT35HAruFJ1w9kIkogZik6jsPpHMYyBcztrb9eIhqp+5DRalDwUcKe66Km7GIYhuebUdDWsqBtharq934m6RqG4SvzYSnmPRgVibiBdbfFkcoUXGXMghpwAd7KEqMCBHJeBK58Zs5vZqfSnI4JtKsRxPGXp7stDoxmXLv/suvTzdyhRiAejWDp7G4snV0eHY9O5tEej7ruCpSJ7XKqds5Kd1sMh9O5ut/foFnnZib8q6dBYMGH7xHwnu3HbWMyt5tlWKY6nod2TYoKdtwHBJOckMzLk6WfgE5EMOAlmyTiBublOhUTXLm/ZkSsF4/abe/1zmkQx18erx02fjJzjUhve7whAg/A+8BNUcGA2+8viU2daYwrqAFIe7RWZ3gR1vGwL0t7POo6HdcXUl+7V3tuUcGOl8wHOyeJaAQdHkSZfqYFi7iBecsMBLdn9rJRijBF8pItE2XC5DbgCeL4W209t9fp6KT3zBxRm36PTq2iggFWcq13rVGbrTMUfJTwW3bxr0/wPmDKrx34WECNgu9BSoHdMT0YOKVt8a6X1L2d+fAzZ0VE5kNVMOBdgxEk2OGD8nrusXbrspqn0SBDAcvX8/bd99ONRdTG67RvEd9d899T5iMoFHyU8Ft2sUoSHssuIz7bQgHvFuvTzdHPz8A+v9NC+32UssRszt4zH4EyLR6yVyLLPPmigUxel74ev2a99yjs6dfj96KRWm2bBXvgpuLMh8t7FGk+nPEUfNx0003QNK3s1/Lly8t+5qmnnsJ73/tedHZ2oqenB2eccQYmJyeFHrQM0n4Fp+ym7mHqK8Btlp3e20K9ll2Cdkv4HxKmRuAK+H+q9NNBpFoTIeJJ3dbteAh2fGbKANOPhFU06l03Irp5APcBnbgyj/vrtFDUrZ/rmyaC0+mA1wF5ogSnbsvtVlcVlV2m4Pludtxxx2HDhg32C8Tsl3jqqadw9tln44YbbsC//Mu/IBaL4aWXXkIk0vgJFnZR+u528Zj58LNZDnT6FZyKMcVy+x4th1OfbYxeHUABvo3R25fcn+A0nDKIGA2Gi8wHG5oXoA1V00wfjFSmgFSmgFk9NdYTnIlwq/kIOuLci96LH78wXbpdpgO2CN/rkDdVmQ8xwU4z4vkTiMVimDNnTtW/u+aaa3D11Vfj+uuvt/5s2bJl/o9OIWzaZ7fn4COY5sPLU5Cfp3TT/tlMe/u3O/f2HkU4qgJ2yr7dhYB0JO2vk4Cd07FMAfmi7srXIsh4e4YXvYCIpyd/3TXBMxGml4m7dsSgT4duhcri6v7uMx/sO9vdFqvrQUK4h5Ww3JoECgs8XQe6VHZxwvO3YMuWLRgaGsKSJUtw8cUXY8eOHQCA/fv345lnnsGsWbNw6qmnYvbs2Xj3u9+N3/3udzVfL5vNIpVKlf0Kg7Rfe3Uu1etlLPuIj7Y79pSeyuRRKNauozP4G3+XAs1HUTd862cYnYmY65Q9Y9jDkD6e3vY4WGLF/dOTAA2GTx8MFesFdahluB2gJ74Or0bz4aUF3evQQ8Id/Vw22M39l5XHSXAaPp6Cj1WrVuHee+/FY489hrvuugvbt2/H6aefjrGxMbzxxhsATF3I5ZdfjsceewwrV67EmWeeiS1btji+5u23347e3l7r1/z584O9I5/YZRev9urmRVXUDWsehhu8jn8H7CyJYbifomu9L246rVe8pOxFWHNHStbVgPupoX6tq2PRiLUxuy1nidBg2KUsNT4Y7N+OZ21/GSdEtQe67egRlflgWUtVqXAvQTmJTeXAyi75ooG0i/uv6kA36JDNZsZT8HHOOefgwgsvxIoVK3DWWWfh0UcfxcjICB544AHouvkk/vGPfxx/+Zd/iZNOOglf//rXsWzZMnz72992fM0bbrgBo6Oj1q+dO3cGe0c+YYJTryK79ngUsdKm7qX04ifzEYtGrC+NSke/yimOtdcr+W3EIq4mfTrhVeQ67GFIXyVeylnlg6IUlUEEPK3x/3Zc0dOa22yL6u6TlPC6f/3rxm9mjqhNeyJqWfK76QJUHXhS5sOZQMXHvr4+LF26FFu3bsXcuXMBAMcee2zZzxxzzDFWaaYayWQSPT09Zb9UU9QNTOZZ2cXbhqlpmq/5LtZm6aHbBfDeGiqybZJNcay9nigxn7uUPSPIzd2L6JQfFCXinLrpkhJxTs1g0Py6q6pT97jM7ojrQHCno7EzLepaba3MHIlNhePF/0i94JRMxpwIFHyMj49j27ZtmDt3LhYtWoShoSFs3ry57Gdef/11LFy4MNBByoYvFXjVfADeUugMNkvEc2uox1kGIp7y2BRHoP57DGqtzvBqXT0aYGiXF5dTUYOi3IojDcMQvjm7fVoT9xmqzUS415ioE5z69aEh6uPlnihKz+RecBq8c6xZ8RR8XHvttdi4cSPefPNNPPnkk7jgggsQjUaxbt06aJqG6667Dt/85jfx4x//GFu3bsUXvvAF/PGPf8Rll10m6/iFwEou8ajma6qmn44Xv5ulXSJwqU8QcKNlUxwBdWlGrxbrwcou7m9e1lNzwJuJW6HyRK5oaTSCrum1FTXwZ+jS2Ex82UXNhsCu0VxRRyZfOyM4MskceKnsIhq35ouiBgry/348W4BeQ0NFrbbOePr27dq1C+vWrcOhQ4cwODiI0047DU8//TQGBwcBAJ/+9KeRyWRwzTXX4PDhwzjxxBOxfv16HHnkkVIOXhS8wZifqZpep7DmCrqVbfHryKlyhDT79+YI6To3dmFqcvf19KJucHMz5JZdRNeMmVDZKePG1otGNGtwmv816weQ+aJulSBFZT5qZSLKu6NU1eHFXKOdiRg0zRSAj2UKNTNhflrrCXfYmY/a319RAwUB+1ozDLMUW+27IqLzr5nxdEbuv//+uj9z/fXXl/l8TAeYqZLfC9IaMuSy7MKegjTN+w2+z6PXh+ihXaozH26MzVKTeUuH4cfAySq7pNW4jQKmUDka0VDUzbKKc/Bhr+d33Dyjx0VmgBej+m3NZrgJIEV0RzF6XAasoq5R1pU1likglcljsDvp+LOjPhyNCXe4FYyLGigIAG3xKBLRCHIl59pq93GR13YzQm43sDMffoMPlvlw3xZqfkl62+OIePwSeBecihGAup3iqLqVDbCfeLqSMV+jvvtKT05ujIpEvT+zlFU/GBBVo+Zfo1YAyf6uPR51ZbjmZr1a3wu+OyqIhoZfL5PXkXfwwRGpoQHcd/RYjsbtVHYRjdtssGjDr3rfX/agErTzr1mh4AP+57owvGo+hn26cQLuU4wMYZ0LLgMs8YJT9+6Rfj0UBjwEdEEnBPN42ZxFrOcmMyBK/Fm+Xv1gJ2hwDJQ/PDitmS3oyBVZ3V9kQFf7u08+H/Jw2+0iuu213j1K5LXdjFDwgfJ0nB8slb3L2SdBNkuvFuvilf1qhoR5sR8P6h7p5ZyKzES4CwbEZz5qBTsigw83XWAisxCxaASdJSt+pzXZ+9M0oCuhJpsEIJAmiagNK2XVDz7Etr3WuydSm21tKPiAyLKLS82HD4Mxht+yiyoDJ9WZFoBvW/b3Je/zlPlgnRKKMx8CbmBuAkiRwYC79USnwmtnW6wHjUTMc8mz9nrO7zGIwJyojyUYr6PZEhnIA/UbDSjzURsKPmAbZ3k1GGN4mZsBBMt8WIOUXIgjzWNS230iXvPhpuzifUIwD3tyGpnIu3ZwFZMZcB8MiPAJcBfsCMzstNvOuE7tiCIzLfzrOD+NigseAXct4SzroWn0FCwDt2VT0W2vtg7OIfgQ1PnXrFDwAb7s4u8i8WoyJirz4WqQkmLfDfHdNfXPaVADJ3ZOC7phdT45IaqsZL6GGwGouNkQ7jQY4tcznXFrPx2K0LQA9QMsWZmWWgEd+773tscDd1kQU2Hf33qCcVmCU6f7Plmr14aCD/BlF5+ZD5e2zowgmyW/UY7X2SjNYxJbdqnrcCrYwMlNQBc089EWj6Itbn4V6rXbiryBudF8iLyBedNgBF8vGbOdceulpsWXXdRsCG7O6QjTe5DHhxT6SpnLTL622Zu8a03Ntd1sUPABux87aLeLVzdOP5tle4LbKL04cga15vY4y0DUem6G2Y1MBst8mP/Wm2JeRB3XTTZJbPDhXoMhoiyhaVrd6yYlcD3+dZw3BFmiQ+fPkHW3kbupHLqTMWu4Z63vr8isHuC+1ZbKLtWh4AN28OHXVMl72cX/HBL+39XbKHMFHdmCmLZC1fbqXobZBSljMdy6nMoQgNbORIhcz0OwE9ABsnJNp6ygtEyE44Ygq92yfuaDxKZy0DTN+v4eruH1obrVVrTAtdmg4AMiul3Mm0q2oCNbqL1RAsHmkABw9UUDym+IouyEa91kC0UdE6VAIehm2RaPWE8z9XQfQbtdAPczc0QNXQPcBQMiN8teF4PlxAtA3ZZBRD+NqtJ81P8MaaKtfAY40bgTooOPemVTarWtDQUf4MouPvv+u5PmjAfAmylWr2+BZP0vGn8sHYkoYoLcKmu9P5F2wrwDaD3/lJGAmg+Ad0lU081jvoaXYEBcsDOZLzo6gIoOBuq3I4oNBuptCCIFw2XrZWtkPqzuNiq7yMJN5lKkYR9ArbZBoeADwcsukYhmGRbVK70YhhG4TBCGo5+1UWYL1pTVSliQIMKaG3A/FXVYwLhyu93W+ZyKHhTlxh9GtQOo6FRxvblHom/Q7l0n1WxAACc4pbKLNNxMtlUvOKXMRy0o+EDwsgvAd7zUfkofzxZQKG3evoMPy9HPbWeGuKdmAI5dNvI8G5zPaSZftKawCsl81Din/NA1sSZcakzGYtEIOkoOoKpSxfVaX0WL8tSXXep/hiI0SURtBjrrf39FZ73c6pko81EdCj5gbypBgg+vMx6SsQjaE/5ae926nIp8im2LR62hbcraGF0Ms2MGTtGIFuhL7iZty44jGYv4GmBXSb2bl2HYmRbVmYHp2o5Yvw4vr9XWqSuL5rrIx53gVG3gKbJk2oy0fPCh6wbncBog8+Fyvsuw0M4MdZkPoH5rqOqnZoCfFhoPNHLejY5GljjSyQE0nSuC/bFojYLz05rYdkS7LKEq0+LOdVJcu6X5OgXdQCZfXUczTJoP6djf3+rBB9/5J7rVdtyhFE0+H7Vp+eBjgjOlCVZ2cTffRcRTkJv6JtAET7EuNB9MIOpXvMtwo6OxPTDEPqUbDg6gbL1YRLO8XYJSS8SbL+rWBirqPdYKBopc4C8+s6Om1bYzEUXEEptXX3OUul2kU69sWtb5J/haA6aWoss7/yj4qEbLBx+s5BINeIN341YJiMl8hGGIBdS/scsz8ZFfT+8LIfORjEWQiLJS1tT3yG+UQbI6PLVaX/ljCNqaba/nfM2I1tDw69W3VxeznqZp1rlyWjPILCfCHfXuieza7kxEhVncJ2POpejyzj/63KtBwUfWviiD3ODdt4WWOjM6g3RmMM2H6rJL7ZS9KGt1hhtHThGdLua/d6/5EBXMlbUTVw0GxNeMawV0bD0RrdmMWg6nojU0gH2uclU8dwzDkJIKr3WdihJEE7WxRfi1gw/RgYDT9c1+3xYXd203Gy1/VkR0ugDu57sEnUMCeDfEEu1WqUrz0eMioBuZDH4+ATv4mMgVHedDyNm4agUDYoM587VqBAOCSxJA7Rk9MjaEWu3EmbxudZqJsnPnX6vaOWWC6Igm7ntITMUS4Tv49IgWmzKcdHAkNq1PywcfQT0+GG5nn1iajwA3vz4XGyXAiesE3Whdd0oIusm6KWUFnWjL6G6LWbV7p4ySaJMic13n95iSsp7qTIvz92JMcCYJMMun7Pqb+jRqBwKdPjvNqlHre8EbjEVooq00WPAxli0gV5gq/JVlde40WoPEpvWh4CPgUDmG2/kuIjQfPW0xq26p0k64u07ZRfXsBMAW3QbNfEQimuu6sdDMQA2TKinr1Qx2ZL4/Nevxr1f5XWTrdSXFaWgALrtT5T2Stboaetrj9sPD5NTvryzDL9t8seJao6FydaHgQ4DHB+Cl7BJcfKZpmnUzq61RUDs3Q3Sq0dXEUIFivr465Sxb0yIwM2B5mdQKPtRqPmRkPtK5IgoVlu7SNwRFqfBa2SsSm6ohGtGs2UXVHshkZSKcvk9kMFaflg8+WItj4ODDddlFbHeGq1kGgg2cnLI7ojdnN+3LIt0jbfM2dXXjWhkzGevVuk5lalqAqe2I8jcENanwWgHdqCBNElGf/hpGY7IEp87BhxyNSTPR8sFHaGWXAN0ugG0nrLbs0njW1baAV0Tmo3bZRXQmiX+tWt0gIp+eams+xD+txaMRtMeZpXv1G7So1mxGvQ1B1XoAl/mgsot07C5A57KL6EyEUyna1r/R5+4EBR/Cyy51Mh/W+PegmQ8PpljCyyBqNR9ODoKA3U0gJvNR2+tDZuajlu+GegGonM3Z8QatekNQtB5AE21Vwr6/h6t0vMj67B1bbdlYBIGdas1GywcfwlptXWyU+aJuXZRBN8t6GyXvVimu7OIu8yHaZAyoPszOnBAsMPhgw6kcnGPlCE7rl0FE3sDcBTuyBKCVGgxJ3gsOIl7boVaN1wPACU5J8yGdWg9kTBCqvuxCn7sTLR98jGeDz3UByi+ycYfNmT2laxoscZRfatU3AVlulc432VxBfLCTjEWRLBn0VNVEcBOCxQpO1Ti4AvWCAfE3sFoZOtWCTFl1cfWZD+fPUFQrOFGfgZplFzEPmZXU66wizYczFHyUIuKuZLC+/0QsYtmzOwkk2Zeipy0e2OK3XtlFiltlDQFo2ewEgV/wWgEPK2G1xSNoiwf3bXDbaisy+LDbNNUKQM1gsdwjRlpq2iG7E1YHgqrMDmBfS71UdpFOX42yi7y27uqBNbXa1qflg490KfMhYthQPftxkW13A5319AnybKQnqrZN2jb1ooIdgC/1VGtjFNfpYr6OcweRrEFRbmatCHUATcSgWYPQ1KSKnTQfqjMtsjYEJ68HgNck0SYkG7tbTZ3Ph1MpmkzG6tPywYc92yX4RVJvvosoQyz+NZw7M+TNBQFqtU2q6yQYmRQr5qvVasu/X1FTMYHa7y8loSwRiWjoSqhtRa13gxbdgeBsea32/QG8ozFlPmRTK3MpW2xMrbbeoeBDkL06UN9oTGT9t74nhfgvWzxql5ZUfdlqnVPb40NMwGMJTqvcvFhA2R6PIi40s1P95qXrhnVtqipLyNuc62k+prcIkN+ADKNcbC6yFZyoTX8NzZb8Nuvqgbzo9ZqJlg8+RHW7APWNxkSWCey2MrVTHJ3EfLKtsqt6KKTFll3YBjE6mZ/SsSQjC8G/XmWX1HiuALaPib6BOWswJLfaTjply9TU4WVrPoq6YU2wBcyJttnSnBEKPuQz4PDwIKPzj8FeL50rln1/qexSn5YPPkSZjAH1jcbEWoGbX7RUZupGCcjsJFDbxshMempZV/cKurGz1LhhqBsU5dQlxdZLRCNWx4+4NadqMMwR9OYNWnzwMVUTwWtoZLW+Vop4rUGLgt9fRyJqCcj57wXbBGMRTXiXBTEVdk+sfHgo6/xT8P3NF3UrCKXMhzMtHXwYhmFlPkRMYq1fdhH3pM4CGMOwRW088urp1S3WZXk22Buls4eCqLJLIhaxNonKpydZwVUiZgcX/HXDB48ih6CZrzk1oCvrVhJeOpsasPIaGpmtr3wZRNZ3QtO0qun3Ee5hQ/RnSEzF6Z7IPhPRJVOgepfjuMRgp5lo6eBjMl8EC5BFZD7qlV1Eaj7i0Yh1w6susAqrni6rTdM58yGq7AI4e33IKmMB1csgMtO21T5DFtx1ck/xwtarMjyPrd0WjwjfENj7yxcNK5tjGIbUz5CtOTo5NfMR1NOHcIfTPVF2CaSyFJ2SGOw0Ey19ZtjTl6aZqdOg1C+7iB0yVbu1TFxGh8dZPCjZQ0FBtwvgfE5lqterPTXLdEisVpaQuZ71/rjvhaw2W8DsXGOJBrbOBFeTl/IZVikPjkoIjonaWB0vnBZOll6LURnMk97DHa0dfDDXu4SY1Lb7bhfBvhQKZxmoH9pV37papIeCU+YjJSllD/BPTmozH6my1LS89aq5qspcL8JpLCo3hGhEE/KgUUm174VIjRfhjmodLzIzXvzrsnVkBzvNQksHH2lB1uqMerNPRLfdsSf+w9VaQ2WXXRSPR6+WTRKdSQKqPzkBsjMRUzMftiGWvGBnrGrmQ01mR7YDZGUJlK3dlRSvoQGqn9ORSfHXJ1Gbau3ysjMRld9f2cFOs9DSwQdTv3cGtFZn1HI45YegiQo+7OFy6kx1nAWncjIfTmUegJ8QLG5NJ5dTWWUsoLYGQ2oZhA8GpK5nvma2oCNbKJbWlpdJMtcsD1plz9qoFkCOWgZjtAmpotrDg6ysLIPKLv5o6eDDtlYXc1Fas0+qOJxO5IrIlSzJhZVdrChfzVAy8/XCmZtRuZ7ICcE8TufUnjArT4NRrvmQZ1KkWuDKt5lWZiLkBQPVMx+yNqBq59Ty9emkzIcqqpVN5Wc+yr+/sjrjmo0WDz6YwZjYzEetOSSJaERYzdmV4FT5xFBZmY/y4INlkURMCOZxOqcy67jVAiwVZZDqrb3ib5jRiGZljCqfDuU/jVamwmWLDqe22lK3izoGqnx/ZQe6laJ49vApK6vXLLR08DEmcK4LUC4crLRZltHz70ZwKs9OWFWrrfl6k/ki8twwu9FJcROCefrqlV0kliVSVTIfUgSgVYMdltlRUwYZk2QdX7ne1FS43GCHF9WKLrMS9ekrZZkOp6tpPmQLTsszH6T5qE1LBx9pgXNdAPvGXWmzDIifwAo4C055hz1lI6QlbZbVUvYA7/Eh9gvuNDNHReajWuurjMxALZMxeZmI6mUQVRuCrUmS6/VQlvmYFP+dJ2ozUOX7qyrrlaoMdMnVtiaego+bbroJmqaV/Vq+fPmUnzMMA+eccw40TcPDDz8s6liFI3KuC2CaysRKT+GVug8ZT0FOJQKZDnuWroVbI5MvIsesuQWnmGNcmYq/sTNBWa/gG7vTZEy5ra9qNRh8KYtl6Nj1Kq0u3l5elpAtAJ26IahNvQOc/T+VXZRRTTAu01OGf10rsM5Sq60bPJ+d4447Dhs2bLBfIDb1Jb7xjW9MCzthdrGICj6YzfLwRB6pTB5zetusvxNprc7o76ztxinDYa+WOFLTYI1rF0l3WwwTuWJ5G6OkzAcvWDMMw7qOZWYGqrbaKjD9KpQydB2JmPQb5tTMh9xUeKXnjmqvB8MwbJMxEpwqo6/Kw4Os6dAMZ30RBZ218PxpxGIxzJkzx/HvX3zxRXzta1/Dpk2bMHfu3EAHJ5u0wKFyjJ72OIYn8lPKElaZoFNO5oPfKFWUCDJ5Hfmijng0YnsoJGKICLbmBswNf18qW9beK6OMBdgbRa6gWxszPxVTbhlETeaDDUIr6qbleEcixqWKZWsiSpkPiT4m/Ouqan+s3ID47jZqtVXHANetxu6J6j57ZjJGrbZu8PxYvGXLFgwNDWHJkiW4+OKLsWPHDuvvJiYm8OEPfxh33nlnzQCFJ5vNIpVKlf1SRTonNvMB8D4Y5WUXmYZY+aKBdM7WmKhvm1SbQgd4a3WxN/bORBTxqBlAMdGazKmYQG3HURnteprGO4Cq6QaptHSXXwZR2/5Y2ZXFrk+R3W1Efdj9oKgbU641aW3W1GrrC0/Bx6pVq3Dvvffisccew1133YXt27fj9NNPx9jYGADgmmuuwamnnorzzz/f9Wvefvvt6O3ttX7Nnz/f2zsIgOiyC1C9jRHgNB8CL8j2RNSaiFrNVEdG2q+aBkO1mhyQU8YCzI25r0K0xtaVMXQNmLpxFXVDWap4ajCgtvVVlfGTSpMx01CQaZJooq1K2uJRtMfN+xP7DJQF1pPlrbaU+aiNp7NzzjnnWP+/YsUKrFq1CgsXLsQDDzyAwcFB/OY3v8ELL7zg6QBuuOEGfOYzn7F+n0qllAUgUsouVeZ0ABLLBB0J7E1lMDyRw/yBDgBqvmy8BsOO9NWkNQG7vVi05gMwFfMHxrLWZ2bfTGTpE8rbiSe4LJbcG+akss25u+IGLTv4qGwnVhUg6waQzhWlaZKI+gx0JvD2yCSGJ/I4os/+PskOrNn3V3ampVkIpEbs6+vD0qVLsXXrVvzmN7/Btm3b0NfXh1gsZglRP/ShD+E973mP42skk0n09PSU/VKF5XAqVPNRfRaJrCFT1Rw5VdkJ29bVkud0VBnYZ40rl9DGWOmSKLtEwF9/45mCtV4iFkEyJidlz3+G2YK8biUG3+0isxWcMaXVVrLGpC0esTrdxjJ5LtNJYlPVWN/fdM7KIAISv7/c6w6nc8iWvkuU+ahNoLMzPj6Obdu24aMf/SguuugifOxjHyv7+xNOOAFf//rXcd555wU6SFmMC/b5AJwdQEckWS1Xm+8SWl+7IkEXIK/bxXzN8hbmlET9BWCXsiZyRaQyeetJTaZDIi9yLdO0SPIm4NeT2QrO4DOQhmFwAbmc9fhOt7FMgQuO6elXNXy7PLu22+IR4Z1/jHg0gvZ4FJP5InaPZqw/l/VdahY8nZ1rr70W5513HhYuXIjdu3fjxhtvRDQaxbp16zA4OFhVZLpgwQIsXrxY2AGLZFywvTrgbAfONBmyTLHKNB/S9QKVBk5qZycA8spYANfCnFaT+WCvzUpZ6azcEgFQrlFgWYGuZEyKpgUo10LJbAWvXK+oG5jIFTkNjbxz2t1md7qNTlLZJSz4bLDsrCyjuy1mBh8jkwDMjrKYpGu7WfB0N921axfWrVuHQ4cOYXBwEKeddhqefvppDA4Oyjo+aRiGLeoT22o7tezCK69Fj9euPkhJlXhQtVjR9lCQ1e1ivma5V4CKvv1u1k6cyWMiK7ckAZQPQlMxhZPXYMhsBWfw7cT7UhnopWkHsgNIwAzG2cOA6O87UZ9+ruyiasJsd1sM+8eyVvBBJZf6eDpD999/v6cXr5xv0khkCzqKpTuS2G6XqYLTUS4QEd3zX82RU5V4UNWQsJ6KUtYk56gqJfNRUcpSvTlP5OSeT6B6JkLu+7OzVyqCD9ZOPDqZx+4RMxUei2hWJ4QM+KynzOCYqE21sovszAcL5ncNm8EHiU3r07J5IV6IJGqwHFDdrZIFBt1tMeGpuNojpOWKB8MyjGLvVZaHgp35qBTUqtVgqHhKH+MErrIzO4AZGKvaENh7fHtkwvq9zLZXvp2YBKfhYT882GaPsifMsmv5bcp8uKZ1g4/SDbAjERXqymm3FMr3pABsRz+VI6SnmuqozbTYc13keChUZpNUtM7x3Sdqgg/7M1QZ7BR1A/vHstLXM1+/tCEMT5b9XvZ6qckC952nJ2DV9HOTbVWWXQBwZRf63OvRsuHZuOChcoxqg9eYcFFGCrZa2UV19wmbCyLfMMpcR7aHQuVwKruspCbzMZFXITi1MxEqRHm8BoPdoGU7QPZYmQ+z7KJqAxrL5K2yC3W7qKe87FK6tiWNDWD0TAk+WnZrdU3LZj5ET7Rl1OrMkCE+s3va1ft8qLJXt3w+Jpl1tVwxH3tyGklXZnbUdJ+ozESoyrSwVlTAzkSoSoWr2hB43Y7MbCdRm+qaDzXXGivVUuajPi0bfMjw+ADsDT+T15EtmF0LKj0pAAWZj6RT2UVusJMr6sjki/aQPmmZD/OcjmULZY6FqrpPbA2N/DIPrzGRLZJTnZq2nkZH1ZZdyjQflPlQDq+DS6nSF1U8xMoOrJuBlg8+RIpNgfJgxhZISvSkKL1mOldEtlBEoSjfTth2HDUNnNhmKctevSsRA5N2jGUKGEnLfarsbY9b641M5JVkPqxgIKte86FCUAvYwY0VfEg2YWLvZ4/issue0QwKpU46EpyqZ4CbTL0/pfazd/o9MZWWDT6YtbpIjw8AiEY066Za2Z0h4ymou802hhqZyCuxE+Zr25m8bt1oZW3OkYiGroTdYcPOp6x6ejSiWRvlyEROUbcLK4MUpJfNzNc21xvP2pkW+WUQ8/X3KtsQzPPHRtvLzuywoHznYbO7JhmLoJ0m2iqnIxFFotRVuOOw3ekkk0r9Ek20rU/LBh/jWXkbSuXsk9FJeU/qkYhmeYeoshPmzZTYRhnRzKmvsuDLEirq6f1VU7cSgw+ulKVC4MrOp24A+6xgQE1Zwjb8UlPmYagKrvaUzieVXMLBnExtnns7+FBzbdu/p8xHPVo4+GCZD/EbZuUgNJndLvzrDqfV2AlbT5QFHQfHzUCgK6nOQ2FYQRsjE7PuS2WkD13jX7vc50PeeslYBPGo+Xmp6gapzDyofhpVtQExb0USm4YHK72wIW+qAk/r95K7a5qBlg0+0hKs1RmV811kaj741x1RpO7mO4RUiQd5gaTtHik/88GenDQNVulHBtWySfK7T8z3eHCc+W6ozUSoX0/tBtRLqffQqHzQa7ZrrRlo2eCDmYzJEL1Vll3sbhc5myXbhA8rshPmdS1vK/NssM3bZJ9P/rVZ/b4rERNqRlcJf82kc/Jnu1R7fVWtqNbvJQmUGVNT4Wo3IMp8hMdAxfRw9Vk9Cjzr0brBR05i5qOy7GL5fMg1xVJrJ6zWVIfPfKgsu7x1SI1grVIcyf+ZLFSXQSrfj6rWXqffi6by/ZDmIzwqs6LNFsg3A60bfGRkll3sjXIyV7TqjrJuRizKVzvFsXyWgSrDqNFJe1y5TPfIyrKL7ECg0uwuGYsgEZP79ZwiyJSdvWoPN9Miez1eRwPQRNswqXwwUf39pcFy9WnZ4INpPuSUXewSAXtKj0U04W6qDH4Qmio7YdWGUWy9XcMTlqBPpocCczndM6oms8OXsgA1rXr8e5KtaTHXK39Psr4PTuvJPqeappVtOpT5CA++5KUikI9FI2XdfqLNK5uRlg0+xmUKTrn5Lry1uqxuEH4EvPpBSoo6JdrLMxFdyZjUGwq7ebG2UNXBgIq0Lb85y9a0mOvZ76kjERU+4bkS1WWlyjX6SHAaGnzwoUp/wdbpStreS4QzFHxI7XbJSx+CBvCZj5wyO2G2Ge8bM4MPVfX7naW5ILKfKqembdUGAypumD1l68l/f6rXa4tHEOM2ARWp8O6yzAeVXcKiv9P+HFRZnbNrmvQe7mjZ4MMqu0gxGbMHocluszVf2zbEUtGmyb++YZT/Xt565ns8UBrHLruTQLVgrXINFTfM8kyL6syO/PX4YXbxqIak5NQ7UJH5oLJLaJRnPij4aERaOPiQY68O8GUXNQOmLMFpCFMcnX4vfr3y9yM989Gp9v2Za6guu4RX5lG3IcSt/8o0wbPXs98XtdqGR5hlF2qzdUdLBh/ZQtFqaZQhsuNNxlRYgbOndL4TpNlMdaa2Mcq9sVd+XkrKEpxGQIVDouoySHlmR9WGoPZptJsEpw0BZT4an5YMPljWA5Bjr84bRllD5Trl3YjYTc4w1Le+2r9X2zYpU0MDAG3xKNri9tejGTMffOurivfXFo9aIuFm3RD4dcjhNDz4gZthZNmI+rRo8GEPX5OhuLfmdGQLOFwa/y6zLTQejVhtmkwTId+gSq1HROX7USHm45+e1GgwOJGcku4a9WWQHisYUJsKV5VpYeu0x6Noi9NE27DgB26qutZYMK9K4Drdacngg+kiuiSltvkbObPnlv2kXplZUV0GUT24Sfb5BMoDHDWdEuFpPlSNAO+xggFVwQ7bgNRmPqjkEj7Mq0fVZ//+E4fwJ0sG8MGV85SsN91pyRAtnWPBh5wnk2QsimQsgmxBx1ul4EP2k/pARwI7D09av1dvJyz3ZtuRiCIa0VAsGW+oEPMNdKrNDKhutQ1HABpOGUTZ029pHWqzDR/2gKLqsz9uqBf3X7FayVrNQEtmPmR6fDDYk6TdGio58zFFIKm2DCJ7M+HbJgG51uqMPsWK+Z4QMx/N2hGwaEYHAGDhQIeS9RaU1ls8U816hDNLZnYBUPfZE95oyczHuFV2kRh8tMWswAOwU4Cy4IMb1XNBohEN7Qrq291tMSUTbRn8OW1GEy7VviIAcPrRM/HCjmG8c2G/kvU+vGohls7pxsoFatZbtXgAD3x8NZbO7lKyHuHM5889BhesPAKnLBoI+1CIKrRk8MEEpzKDj6kCSXWZjzA6M5R4KCTjAMzSkgrNh+p2PdWtqHx5UFUZ5OPvPhKXnbZYurU6IxGL4NQjZypZCzAzdKcsps2uEehui+NPlswI+zAIB6jsIolKAZ/MbhdAfWdGZyIG5lytrJOAaw1VUVNna0Q08/3KJmwTLlWoCjwIgmhcWvIuwIIPmZMH+QBA9hA0oNyRU8XGFeGm9KreKKMRTUmAxbIrXUn5Q9eA8uBKVUD35yfPwzvm9+H4oV4l6xEEQQBUdpG2hmqnw7DshFOZgvo2xnY1VtnsnKo6n/0dCWsipqpzet1Zy3HdWUqWIgiCsGjJ4MMqu0hMpZeXCJpPn8Cvo7qNUUWnCwAcf0Qv+jriOPVINXXjtngUD155KqIRKk0QBNHctGjwYdqryy272Bukis6MPsWdGYB6AydWalE1sGuwO4nf//3asrHsslk2p1vZWgRBEGHRksGHXXaR1x7KaxKUWIF3qi+72HbCaj0iVHS6MOKUgSAIghBOS95Zmc+Hqm4XNW2h4XVKqPKIOGPpIJbM7MS5K4aUrEcQBEHIoSUzH+MKBKc9ZYJT+ZmP9jjv2aAmM/CeZYP47eb9OPUoNT4Ky+Z04zfXvkfJWgRBEIQ8WjL4sGe7yOx2sV9bReZD0zT0dySwN5VRlvk4/x1H4P0nDinpPCEIgiCah5Yuu0gVnLarFZwCtu5D5UhnCjwIgiAIr7Rm8KGi1VaxzwcAfHjVArxzYT9ZChMEQRANTcuVXfJFHdmCDkBl2UVN5uOjf7IQH/2ThUrWIgiCIAi/tFzmg7XZAnK7XToSUSRKbZoDkifaEgRBEMR0ouUyH6zkkpA8dl7TNHz27GXYO5rBvP52aesQBEEQxHSj5YKPNHM3lZj1YHzs9CXS1yAIgiCI6UbLlV3Gs3kAaoIPgiAIgiCm0oLBh5n5kKn3IAiCIAjCGU/Bx0033QRN08p+LV++HABw+PBhfPKTn8SyZcvQ3t6OBQsW4Oqrr8bo6KiUA/eL5fEhca4LQRAEQRDOeH78P+6447Bhwwb7BWLmS+zevRu7d+/GV7/6VRx77LF466238IlPfAK7d+/Gj3/8Y3FHHJC0Amt1giAIgiCc8bwDx2IxzJkzZ8qfH3/88XjwwQet3x955JH4h3/4B3zkIx9BoVCwgpSwsQzGKPggCIIgiFDwrPnYsmULhoaGsGTJElx88cXYsWOH48+Ojo6ip6enYQIPQM1QOYIgCIIgnPG0A69atQr33nsvli1bhj179uDmm2/G6aefjldeeQXd3d1lP3vw4EHceuutuOKKK2q+ZjabRTabtX6fSqW8HJJnqOxCEARBEOHiaQc+55xzrP9fsWIFVq1ahYULF+KBBx7AZZddZv1dKpXC//7f/xvHHnssbrrpppqvefvtt+Pmm2/2dtQBoLILQRAEQYRLoFbbvr4+LF26FFu3brX+bGxsDGeffTa6u7vx0EMPIR6vPVTthhtuwOjoqPVr586dQQ6pLiz4UDV2niAIgiCIcgIFH+Pj49i2bRvmzp0LwMx4vO9970MikcAjjzyCtra2uq+RTCbR09NT9ksmacp8EARBEESoeAo+rr32WmzcuBFvvvkmnnzySVxwwQWIRqNYt26dFXik02n8x3/8B1KpFPbu3Yu9e/eiWCzKOn7PUNmFIAiCIMLF0w68a9curFu3DocOHcLg4CBOO+00PP300xgcHMTjjz+OZ555BgBw1FFHlf277du3Y9GiRcIOOghW2YWCD4IgCIIIBU878P333+/4d+95z3tgGEbgA5JNmuzVCYIgCCJUWnC2Cyu7kL06QRAEQYRB6wUfGVZ2qd2FQxAEQRCEHFoq+CjqBibzrOxCmQ+CIAiCCIOWCj7SuYL1/6T5IAiCIIhwaKngg5Vc4lENyVhLvXWCIAiCaBhaagfmDcY0TQv5aAiCIAiiNWmp4GOMBR8JKrkQBEEQRFi0VPCRprkuBEEQBBE6LRl8kNiUIAiCIMKjpYKPsQwFHwRBEAQRNi0VfKRprgtBEARBhE5rBR85MhgjCIIgiLBpqeCDlV26yFqdIAiCIEKjpYIPVnbposwHQRAEQYRGSwYfJDglCIIgiPBoqeCDmYx1kc8HQRAEQYRGSwUfdtmFgg+CIAiCCIuWDD7IXp0gCIIgwqOlgg8quxAEQRBE+LRU8EFlF4IgCIIIn5YKPsbJXp0gCIIgQqdlgg9dNyyHU8p8EARBEER4tEzwMZEvWv9PwQdBEARBhEfLBB+s5BLRgLZ4y7xtgiAIgmg4WmYXHufEppqmhXw0BEEQBNG6tEz9obc9jk+deTQiFHgQBEEQRKi0TPAx2J3ENX+6NOzDIAiCIIiWp2XKLgRBEARBNAYUfBAEQRAEoRQKPgiCIAiCUAoFHwRBEARBKIWCD4IgCIIglELBB0EQBEEQSqHggyAIgiAIpVDwQRAEQRCEUij4IAiCIAhCKRR8EARBEAShFAo+CIIgCIJQCgUfBEEQBEEohYIPgiAIgiCU0nBTbQ3DAACkUqmQj4QgCIIgCLewfZvt47VouOBjbGwMADB//vyQj4QgCIIgCK+MjY2ht7e35s9ohpsQRSG6rmP37t3o7u6GpmlCXzuVSmH+/PnYuXMnenp6hL72dIbOizN0bqpD58UZOjfVofPiTLOcG8MwMDY2hqGhIUQitVUdDZf5iEQimDdvntQ1enp6pvUHLAs6L87QuakOnRdn6NxUh86LM81wbuplPBgkOCUIgiAIQikUfBAEQRAEoZSWCj6SySRuvPFGJJPJsA+loaDz4gydm+rQeXGGzk116Lw404rnpuEEpwRBEARBNDctlfkgCIIgCCJ8KPggCIIgCEIpFHwQBEEQBKEUCj4IgiAIglBKywQfd955JxYtWoS2tjasWrUKzz77bNiHFDo33XQTNE0r+7V8+fKwDysU/uu//gvnnXcehoaGoGkaHn744bK/NwwDX/ziFzF37ly0t7dj7dq12LJlSzgHq5B65+X//J//M+UaOvvss8M5WIXcfvvtOPnkk9Hd3Y1Zs2bhAx/4ADZv3lz2M5lMBldddRVmzJiBrq4ufOhDH8K+fftCOmI1uDkv73nPe6ZcM5/4xCdCOmJ13HXXXVixYoVlJLZ69Wr84he/sP6+1a6Xlgg+fvjDH+Izn/kMbrzxRjz//PM48cQTcdZZZ2H//v1hH1roHHfccdizZ4/163e/+13YhxQK6XQaJ554Iu68886qf3/HHXfgm9/8Ju6++24888wz6OzsxFlnnYVMJqP4SNVS77wAwNlnn112Df3gBz9QeIThsHHjRlx11VV4+umnsX79euTzebzvfe9DOp22fuaaa67Bf/7nf+JHP/oRNm7ciN27d+ODH/xgiEctHzfnBQAuv/zysmvmjjvuCOmI1TFv3jx8+ctfxnPPPYdNmzbhve99L84//3z8z//8D4AWvF6MFuCUU04xrrrqKuv3xWLRGBoaMm6//fYQjyp8brzxRuPEE08M+zAaDgDGQw89ZP1e13Vjzpw5xle+8hXrz0ZGRoxkMmn84Ac/COEIw6HyvBiGYVx66aXG+eefH8rxNBL79+83ABgbN240DMO8PuLxuPGjH/3I+pnXXnvNAGA89dRTYR2mcirPi2EYxrvf/W7jU5/6VHgH1UD09/cb//7v/96S10vTZz5yuRyee+45rF271vqzSCSCtWvX4qmnngrxyBqDLVu2YGhoCEuWLMHFF1+MHTt2hH1IDcf27duxd+/esmuot7cXq1atomsIwOOPP45Zs2Zh2bJluPLKK3Ho0KGwD0k5o6OjAICBgQEAwHPPPYd8Pl92zSxfvhwLFixoqWum8rwwvv/972PmzJk4/vjjccMNN2BiYiKMwwuNYrGI+++/H+l0GqtXr27J66XhBsuJ5uDBgygWi5g9e3bZn8+ePRt//OMfQzqqxmDVqlW49957sWzZMuzZswc333wzTj/9dLzyyivo7u4O+/Aahr179wJA1WuI/V2rcvbZZ+ODH/wgFi9ejG3btuHv/u7vcM455+Cpp55CNBoN+/CUoOs6Pv3pT2PNmjU4/vjjAZjXTCKRQF9fX9nPttI1U+28AMCHP/xhLFy4EENDQ/jDH/6Az33uc9i8eTN+8pOfhHi0anj55ZexevVqZDIZdHV14aGHHsKxxx6LF198seWul6YPPghnzjnnHOv/V6xYgVWrVmHhwoV44IEHcNlll4V4ZMR04S/+4i+s/z/hhBOwYsUKHHnkkXj88cdx5plnhnhk6rjqqqvwyiuvtKxeygmn83LFFVdY/3/CCSdg7ty5OPPMM7Ft2zYceeSRqg9TKcuWLcOLL76I0dFR/PjHP8all16KjRs3hn1YodD0ZZeZM2ciGo1OUQ3v27cPc+bMCemoGpO+vj4sXboUW7duDftQGgp2ndA1VJ8lS5Zg5syZLXMN/c3f/A1+9rOf4be//S3mzZtn/fmcOXOQy+UwMjJS9vOtcs04nZdqrFq1CgBa4ppJJBI46qij8M53vhO33347TjzxRPzzP/9zS14vTR98JBIJvPOd78Svf/1r6890Xcevf/1rrF69OsQjazzGx8exbds2zJ07N+xDaSgWL16MOXPmlF1DqVQKzzzzDF1DFezatQuHDh1q+mvIMAz8zd/8DR566CH85je/weLFi8v+/p3vfCfi8XjZNbN582bs2LGjqa+ZeuelGi+++CIANP01Uw1d15HNZlvzeglb8aqC+++/30gmk8a9995rvPrqq8YVV1xh9PX1GXv37g370ELlb//2b43HH3/c2L59u/HEE08Ya9euNWbOnGns378/7ENTztjYmPHCCy8YL7zwggHA+Kd/+ifjhRdeMN566y3DMAzjy1/+stHX12f89Kc/Nf7whz8Y559/vrF48WJjcnIy5COXS63zMjY2Zlx77bXGU089ZWzfvt3YsGGDsXLlSuPoo482MplM2IculSuvvNLo7e01Hn/8cWPPnj3Wr4mJCetnPvGJTxgLFiwwfvOb3xibNm0yVq9ebaxevTrEo5ZPvfOydetW45ZbbjE2bdpkbN++3fjpT39qLFmyxDjjjDNCPnL5XH/99cbGjRuN7du3G3/4wx+M66+/3tA0zfjVr35lGEbrXS8tEXwYhmH8y7/8i7FgwQIjkUgYp5xyivH000+HfUih8+d//ufG3LlzjUQiYRxxxBHGn//5nxtbt24N+7BC4be//a0BYMqvSy+91DAMs932C1/4gjF79mwjmUwaZ555prF58+ZwD1oBtc7LxMSE8b73vc8YHBw04vG4sXDhQuPyyy9viaC+2jkBYHznO9+xfmZyctL467/+a6O/v9/o6OgwLrjgAmPPnj3hHbQC6p2XHTt2GGeccYYxMDBgJJNJ46ijjjKuu+46Y3R0NNwDV8Bf/dVfGQsXLjQSiYQxODhonHnmmVbgYRitd71ohmEY6vIsBEEQBEG0Ok2v+SAIgiAIorGg4IMgCIIgCKVQ8EEQBEEQhFIo+CAIgiAIQikUfBAEQRAEoRQKPgiCIAiCUAoFHwRBEARBKIWCD4IgCIIglELBB0EQBEEQSqHggyAIgiAIpVDwQRAEQRCEUij4IAiCIAhCKf8/r9qHxwfQGn4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.plot(np.arange(len(data)), data[:, 3])\n", + "ax.legend([\"overall speed\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "rot1 = ax.plot(np.arange(len(data)), data[:, 2])\n", + "rot2 = ax.plot(np.arange(len(data)), data[:, 4])\n", + "ax.legend([\"rot1\", \"rot2\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAGdCAYAAAA8F1jjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABPNUlEQVR4nO3deXwM9+MG8Gc2yW7uzbW5yCkk7iOIEFelaOuqVqtUUXUVoWhRbempB1pXqbaO9uuqVt3VosQVtzhCECJB7iCbQzbJ7vz+UPk1FZGQzezxvF+vfb2yu7Ozz675fvfpzGc+I4iiKIKIiIjIAMmkDkBERET0MCwqREREZLBYVIiIiMhgsagQERGRwWJRISIiIoPFokJEREQGi0WFiIiIDBaLChERERksS6kDPCmdToeUlBQ4ODhAEASp4xAREVEliKKI3NxceHt7QyZ7+H4Toy8qKSkp8PHxkToGERERPYbr16+jdu3aD33e6IuKg4MDgHsf1NHRUeI0REREVBlqtRo+Pj6lv+MPY/RF5f7hHkdHRxYVIiIiI/OoYRscTEtEREQGi0WFiIiIDBaLChERERksox+jQkRkzLRaLYqLi6WOQVTtLCwsYGlp+cRTh7CoEBFJJC8vDzdu3IAoilJHIdILW1tbeHl5QS6XP/Y6WFSIiCSg1Wpx48YN2NraQqVSccJKMimiKKKoqAiZmZlITExE3bp1K5zUrSIsKkREEiguLoYoilCpVLCxsZE6DlG1s7GxgZWVFZKSklBUVARra+vHWg8H0xIRSYh7UsiUPe5elDLrqIYcRERERHphEEVl0aJF8Pf3h7W1NcLCwnD06FGpIxEREZEBkLyorFu3DhMnTsSMGTNw8uRJNG3aFN26dUNGRobU0YiIyEhcu3YNgiAgNjbWINZjDGbOnIlmzZpJHeORJC8qc+fOxfDhwzF06FA0aNAAS5Ysga2tLZYtWyZ1NCIiMmFDhgxBnz59yjzm4+OD1NRUNGrUSJpQFXiSEiUIAjZu3FjmscmTJ2P37t3VE06PJC0qRUVFOHHiBCIjI0sfk8lkiIyMRExMTLmv0Wg0UKvVZW76kJiVj0E/HsGl9Fy9rJ+IiAyPhYUFPD09YWlZsyfFSjHpn729PVxdXWv8fatK0qKSlZUFrVYLDw+PMo97eHggLS2t3NfMmjULSqWy9Obj46OXbLO2X8D+y1l4dt5+fLrtPPI0JXp5HyIi4N68EwVFJZLcqjLhnE6nw5dffomgoCAoFAr4+vri008/BQDs3bsXgiDgzp07pcvHxsZCEARcu3YNALBixQo4OTlh69atCA4Ohq2tLV588UUUFBRg5cqV8Pf3h7OzM6KioqDVakvXU94eAScnJ6xYsaLcnFqtFsOGDUNAQABsbGwQHByMefPmlT4/c+ZMrFy5Eps2bYIgCBAEAXv37i2z10Kn06F27dpYvHhxmXWfOnUKMpkMSUlJAIA7d+7gjTfegEqlgqOjI5566imcPn36od/h/fdYt24dOnbsCGtra6xatQo6nQ4fffQRateuDYVCgWbNmmHHjh2lrwsICAAANG/eHIIgoFOnTgCAY8eO4emnn4abmxuUSiU6duyIkydPlr7O398fAPD8889DEITS+/899POo97+fe8OGDejcuTNsbW3RtGnTh+5YqC5GN4/KtGnTMHHixNL7arVaL2Xl/R4NAAB/nU/H9/sTsfl0Ct57rgF6NPHi6YREVO3uFmvR4IM/JXnv8x91g628cj8H06ZNw/fff4+vv/4aERERSE1NRXx8fJXer6CgAPPnz8fatWuRm5uLvn374vnnn4eTkxO2b9+Oq1ev4oUXXkC7du3w8ssvP85HKi0Z69evh6urKw4dOoQRI0bAy8sLL730EiZPnowLFy5ArVZj+fLlAAAXFxekpKSUrkMmk+GVV17B6tWrMXr06NLHV61ahXbt2sHPzw8A0K9fP9jY2OCPP/6AUqnEd999hy5duuDSpUtwcXF5aMapU6dizpw5aN68OaytrTFv3jzMmTMH3333HZo3b45ly5ahV69eiIuLQ926dXH06FG0bt0au3btQsOGDUtne83NzcXgwYOxYMECiKKIOXPm4Nlnn8Xly5fh4OCAY8eOwd3dHcuXL0f37t1hYWFRbp5Hvf9906dPx+zZs1G3bl1Mnz4dr7zyChISEvS2F0rSouLm5gYLCwukp6eXeTw9PR2enp7lvkahUEChUOg9m4+LLZa+1hJ74jMwc0sckrILMG7NKaw5moyPejdEkLuD3jMQERmS3NxczJs3DwsXLsTgwYMBAHXq1EFERESV1lNcXIzFixejTp06AIAXX3wRP//8M9LT02Fvb48GDRqgc+fO2LNnz2MXFSsrK3z44Yel9wMCAhATE4NffvkFL730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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cumulative_rotation = np.cumsum(data[:, 4]) + np.cumsum(data[:, 2])\n", + "fig, ax = plt.subplots()\n", + "ax.plot(np.arange(len(data)), cumulative_rotation)\n", + "ax.legend([\"cumulative rotation\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "-35? That is not enough for a little circle. It is clearly pulling to the left though. " + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Is this down to how I'm adding stuff in? The next data I should collect is one pose, following it's path. Let's see how that changes over time." + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [], + "source": [ + "# x, y, theta, left, right, rot1, trans, rot2\n", + "new_data = np.array([\n", + " (1150.09, 192.206, 66.9911, 9, 8, -0.00444137, 0.224023, -0.00444137),\n", + " (1172.14, 244.418, 67.2132, 2138, 2163, 0.111037, 56.6778, 0.111037),\n", + " (1192.47, 292.049, 66.5559, 2002, 1928, -0.328659, 51.7888, -0.328659),\n", + " (1217.07, 347.724, 65.7653, 2354, 2265, -0.395283, 60.8683, -0.395283),\n", + " (1238.91, 395.394, 65.0103, 2032, 1947, -0.377517, 52.4345, -0.377517),\n", + " (1266.02, 452.31, 64.0509, 2446, 2338, -0.479665, 63.0426, -0.479665),\n", + " (1289.42, 499.497, 63.1893, 2047, 1950, -0.430812, 52.6717, -0.430812),\n", + " (1318.48, 555.725, 62.15, 2460, 2343, -0.519639, 63.293, -0.519639),\n", + " (1343.51, 602.222, 61.2706, 2053, 1954, -0.439696, 52.8035, -0.439696),\n", + " (1374.49, 657.551, 60.2402, 2464, 2348, -0.515201, 63.4116, -0.515201),\n", + " (1401.1, 703.261, 59.3341, 2058, 1956, -0.45302, 52.8957, -0.45302),\n", + " (1434.11, 757.778, 58.286, 2477, 2359, -0.524083, 63.7279, -0.524083),\n", + " (1467.93, 811.4, 57.2289, 2465, 2346, -0.528521, 63.3984, -0.528521),\n", + " (1497.94, 857.197, 56.2962, 2130, 2025, -0.466345, 54.7538, -0.466345),\n", + " (1533.72, 909.792, 55.2569, 2472, 2355, -0.519642, 63.6093, -0.519642),\n", + " (1564.36, 953.251, 54.3775, 2067, 1968, -0.439696, 53.1725, -0.439696),\n", + " (1602.09, 1004.88, 53.3027, 2487, 2366, -0.537405, 63.9519, -0.537405),\n", + " (1640.58, 1055.54, 52.2368, 2474, 2354, -0.532964, 63.6224, -0.532964),\n", + " (1674.6, 1098.74, 51.3219, 2138, 2035, -0.457461, 54.991, -0.457461),\n", + " (1714.96, 1148.2, 50.2559, 2482, 2362, -0.532964, 63.8333, -0.532964),\n", + " (1750.48, 1190.18, 49.2699, 2142, 2031, -0.492992, 54.991, -0.492992),\n", + " (1792.59, 1238.2, 48.2307, 2482, 2365, -0.519639, 63.8729, -0.519639),\n", + " (1829.61, 1278.96, 47.2713, 2143, 2035, -0.47967, 55.0569, -0.47967),\n", + " (1874.64, 1326.7, 46.081, 2557, 2423, -0.59514, 65.6255, -0.59514),\n", + " (1914.43, 1367.25, 45.0062, 2216, 2095, -0.537405, 56.8095, -0.537405),\n", + " (1961.38, 1413.23, 43.7893, 2562, 2425, -0.608464, 65.7177, -0.608464),\n", + "])" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAGdCAYAAAA8F1jjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGJ0lEQVR4nO3dd3QUZeP28e9sekIKIY0SIHTpPYQAgqhgpYkUkSICUkVEBbu+Ko8FlSZFpaggRSkqoqIPIoQOht5bgJCEmkJI3/cPH/Mz0gIkmd3N9TlnzyGb3dlrh9W9mLnvewyr1WpFRERExAZZzA4gIiIici0qKiIiImKzVFRERETEZqmoiIiIiM1SURERERGbpaIiIiIiNktFRURERGyWioqIiIjYLGezA9yunJwcYmNj8fb2xjAMs+OIiIhIPlitVpKTkylTpgwWy7WPm9h9UYmNjSU0NNTsGCIiInILTpw4Qbly5a75e7svKt7e3sBfb9THx8fkNCIiIpIfSUlJhIaG5n6PX4vdF5W/T/f4+PioqIiIiNiZGw3b0GBaERERsVkqKiIiImKzVFRERETEZtn9GBUREXuWnZ1NZmam2TFECpyTkxPOzs63vXSIioqIiElSUlI4efIkVqvV7CgihcLT05PSpUvj6up6y9tQURERMUF2djYnT57E09OTwMBALVgpDsVqtZKRkcGZM2c4evQoVatWve6ibtejoiIiYoLMzEysViuBgYF4eHiYHUekwHl4eODi4sLx48fJyMjA3d39lrajwbQiIibSkRRxZLd6FCXPNgogh4iIiEihUFERERERm6WiIiIidu/YsWMYhkF0dLRNbMcevP7669SvX9/sGDekoiIiIsVS37596dixY577QkNDOX36NLVr1zYn1HXcTokyDIOlS5fmuW/06NH89ttvBROuENlEUZkyZQoVK1bE3d2d8PBwNm3aZHak23YpPYttMReYtzGGD3/Zz/YTF82OJCIiN+Dk5ERISAjOzkU7KdaMRf9KlChBqVKlivx1b5bpRWXBggWMGjWK1157jW3btlGvXj3atWtHQkKC2dHyJSs7h0MJyfywI5bxv+znyTlbaPnef6n12s90/mQdLy7ZycT/HqLDlCgGfbmFA/HJZkcWERtktVpJzcgy5XYzC87l5OTw3nvvUaVKFdzc3Chfvjxvv/02AL///juGYXDx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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cumulative_rotation = np.cumsum(new_data[:, 5] + new_data[:, 7])\n", + "fig, ax = plt.subplots()\n", + "ax.plot(np.arange(len(cumulative_rotation)), cumulative_rotation)\n", + "ax.legend([\"cumulative rotation\"])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "So - we should graph the change in rotation (rot1 + rot2), vs the change in rotation in the pose. That should give us a better idea of what is going on." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0.0, 2000.0)" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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TExMpENHtXG5/+q3337DvXv39P5e18X1XWT9+vXw9PSEh4dHubU1fX2Xt82qqt/f3t7eep9RVFPp7X3lz/+u2Xbu3ClUKpXYtGmTuHz5spg0aZKwsbHRO/O8tgkNDRVqtVocO3ZM7/LJx48fCyGEuHr1qli8eLE4e/asSElJEXv37hWurq6iV69e0mcUXYro6+srkpKSxKFDh4SdnV2Nu6T6z2bNmiWOHTsmUlJSxM8//yx8fHxE48aNxZ07d4QQTy+/dHFxEUePHhVnz54V3t7ewtvbW3p/bVzmIgUFBcLFxUWEh4frza9L6/rhw4fiP//5j/jPf/4jAIjly5eL//znP9LVUVFRUcLGxkbs3btXnD9/XgwePLjEy+c7d+4sTp06JU6cOCFat26tdzl1ZmamcHBwEKNHjxYXL14UO3fuFBYWFtV6OXVZy52bmyteeeUV0bRpU5GUlKT3773oSpn4+HixYsUKkZSUJK5duya2bt0q7OzsxJgxY6TvqG3L/fDhQ/Huu++KhIQEkZKSIg4fPiy6dOkiWrduLbKzs6XPqGvru4hWqxUWFhZi7dq1xd5fG9d3edssIarm93fR5fOzZ88W//3vf8Xq1at5+XyRTz/9VLi4uAilUim6d+8uTp48Wd0tPRcAJb42btwohBAiNTVV9OrVS9ja2gqVSiVatWolZs+erXdvGSGEuHHjhggICBDm5uaicePGYtasWSIvL68alqhi3nzzTeHo6CiUSqVo0qSJePPNN8XVq1el8SdPnogpU6aIhg0bCgsLC/Hqq6+KtLQ0vc+obctc5IcffhAARHJyst78urSuY2NjS/x7HRwcLIR4egn9vHnzhIODg1CpVKJfv37F/jzu3bsnRowYISwtLYW1tbUYN26cePjwoV7NuXPnxEsvvSRUKpVo0qSJiIqKMtYilqis5U5JSSn133vRfaQSExOFl5eXUKvVwszMTLRt21YsWbJELzAIUbuW+/Hjx8LX11fY2dkJU1NT0axZMzFx4sRi/4Gta+u7yLp164S5ubnIzMws9v7auL7L22YJUXW/v2NjY0WnTp2EUqkUrq6uet9RUYr/a5qIiIhIdurUOUJERERElcEgRERERLLFIERERESyxSBEREREssUgRERERLLFIERERESyxSBEREREssUgRERERLLFIERERESyxSBEREREssUgRERERLL1/wCUVnzFNWS7mQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# lets plot the x, y, theta\n", + "fig, ax = plt.subplots()\n", + "u, v = np.cos(np.radians(new_data[:, 2])), np.sin(np.radians(new_data[:, 2]))\n", + "ax.quiver(new_data[:, 0], new_data[:, 1], u, v)\n", + "ax.set_xlim(0, 2000)\n", + "ax.set_ylim(0, 2000)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That actually looks coherent. There is roughly an arc, with the headings changing in the same direction. That is good." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is not the little circles being plotted... What?" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "poses_raw_data = \"\"\"\n", + " Received data: {\"poses\": [[1150, 192], [155, 870], [1413, 665], [112, 620], [738, 209], [518, 344], [661, 1441], [1315, 9], [1077, 998], [1433, 197], [957, 729], [589, 569], [1492, 1089], [1345, 61], [982, 258], [385, 1024], [478, 675], [582, 210], [1359, 686], [922, 937]]}\n", + " Received data: {\"poses\": [[1172, 244], [103, 894], [1363, 693], [124, 675], [789, 184], [551, 298], [713, 1463], [1293, 62], [1068, 943], [1394, 238], [1010, 748], [540, 540], [1490, 1032], [1292, 82], [1036, 243], [352, 978], [508, 626], [639, 212], [1311, 716], [890, 891]]}\n", + " Received data: {\"poses\": [[1192, 292], [91, 944], [1312, 698], [77, 697], [801, 133], [597, 274], [669, 1489], [1263, 104], [1105, 906], [1405, 289], [1028, 796], [488, 537], [1537, 1008], [1241, 72], [1061, 197], [382, 935], [560, 621], [687, 232], [1358, 736], [847, 863]]}\n", + " Received data: {\"poses\": [[1217, 347], [90, 1005], [1268, 656], [64, 756], [764, 85], [654, 252], [608, 1496], [1277, 164], [1161, 883], [1350, 315], [1037, 856], [447, 581], [1550, 949], [1208, 20], [1066, 137], [436, 907], [598, 573], [727, 278], [1306, 767], [786, 859]]}\n", + " Received data: {\"poses\": [[1238, 395], [90, 1057], [1282, 605], [63, 809], [712, 78], [677, 205], [570, 1460], [1300, 211], [1203, 914], [1339, 367], [1075, 893], [451, 633], [1517, 908], [1229, -28], [1049, 87], [484, 887], [578, 524], [756, 321], [1254, 775], [736, 843]]}\n", + " Received data: {\"poses\": [[1266, 452], [90, 1120], [1340, 581], [64, 872], [653, 55], [651, 148], [585, 1399], [1328, 267], [1204, 977], [1340, 430], [1138, 884], [464, 695], [1455, 900], [1275, -71], [992, 60], [511, 830], [524, 493], [815, 343], [1207, 732], [688, 803]]}\n", + " Received data: {\"poses\": [[1289, 499], [90, 1173], [1380, 615], [65, 925], [644, 3], [611, 113], [633, 1378], [1351, 315], [1157, 1002], [1341, 482], [1159, 836], [494, 738], [1406, 881], [1294, -120], [948, 88], [488, 782], [487, 456], [855, 308], [1219, 681], [668, 754]]}\n", + " Received data: {\"poses\": [[1318, 555], [90, 1236], [1377, 678], [66, 988], [676, -52], [594, 52], [682, 1418], [1377, 372], [1100, 975], [1343, 546], [1174, 775], [558, 741], [1394, 819], [1273, -180], [923, 147], [440, 742], [491, 392], [884, 252], [1277, 654], [669, 691]]}\n", + " Received data: {\"poses\": [[1343, 602], [90, 1289], [1328, 699], [67, 1041], [700, -99], [634, 17], [681, 1471], [1398, 421], [1098, 922], [1345, 598], [1212, 738], [590, 699], [1419, 773], [1242, -223], [956, 188], [425, 691], [532, 360], [933, 233], [1318, 687], [693, 644]]}\n", + " Received data: {\"poses\": [[1374, 657], [90, 1352], [1273, 669], [68, 1104], [676, -158], [693, -5], [623, 1497], [1423, 479], [1147, 882], [1347, 662], [1272, 716], [580, 636], [1447, 716], [1246, -286], [1016, 206], [472, 648], [581, 320], [988, 265], [1317, 751], [741, 602]]}\n", + " Received data: {\"poses\": [[1401, 703], [90, 1405], [1275, 616], [69, 1157], [625, -170], [726, -47], [576, 1472], [1443, 528], [1195, 904], [1349, 715], [1310, 680], [531, 617], [1427, 667], [1294, -310], [1069, 201], [521, 628], [575, 267], [1017, 310], [1269, 773], [791, 586]]}\n", + " Received data: {\"poses\": [[1434, 757], [90, 1469], [1328, 580], [70, 1221], [563, -187], [711, -109], [578, 1409], [1465, 588], [1210, 966], [1351, 778], [1304, 616], [468, 606], [1364, 654], [1357, -303], [1113, 155], [560, 578], [524, 230], [1070, 344], [1213, 744], [855, 589]]}\n", + " Received data: {\"poses\": [[1467, 811], [90, 1532], [1383, 610], [71, 1284], [539, -246], [662, -149], [629, 1372], [1487, 648], [1161, 1006], [1353, 842], [1246, 591], [405, 614], [1303, 638], [1419, -313], [1093, 95], [544, 517], [474, 191], [1125, 311], [1213, 681], [912, 616]]}\n", + " Received data: {\"poses\": [[1497, 857], [90, 1587], [1381, 665], [72, 1339], [569, -291], [644, -201], [678, 1397], [1504, 699], [1111, 984], [1355, 896], [1191, 592], [382, 663], [1281, 588], [1448, -359], [1046, 67], [501, 483], [473, 136], [1145, 260], [1257, 648], [950, 656]]}\n", + " Received data: {\"poses\": [[1533, 909], [90, 1651], [1327, 700], [73, 1402], [602, -346], [680, -253], [676, 1461], [1523, 760], [1098, 921], [1358, 960], [1136, 560], [405, 723], [1315, 534], [1463, -421], [986, 89], [478, 423], [520, 93], [1192, 217], [1314, 677], [978, 713]]}\n", + " Received data: {\"poses\": [[1564, 953], [90, 1704], [1282, 672], [74, 1456], [581, -395], [730, -271], [632, 1491], [1539, 811], [1140, 889], [1359, 1013], [1111, 514], [457, 735], [1341, 488], [1504, -455], [970, 140], [508, 379], [559, 56], [1241, 236], [1313, 730], [984, 766]]}\n", + " Received data: {\"poses\": [[1602, 1004], [90, 1768], [1275, 609], [75, 1520], [522, -419], [773, -318], [576, 1459], [1556, 873], [1202, 906], [1362, 1077], [1063, 471], [509, 699], [1316, 429], [1567, -444], [971, 204], [568, 356], [561, -8], [1282, 285], [1261, 767], [974, 829]]}\n", + " Received data: {\"poses\": [[1640, 1055], [90, 1832], [1329, 575], [77, 1583], [460, -435], [750, -378], [569, 1396], [1572, 934], [1214, 969], [1364, 1141], [1002, 491], [542, 644], [1256, 407], [1606, -393], [1019, 246], [610, 308], [509, -45], [1342, 306], [1205, 736], [947, 887]]}\n", + " Received data: {\"poses\": [[1674, 1098], [90, 1887], [1376, 604], [78, 1638], [440, -486], [705, -409], [615, 1365], [1585, 988], [1170, 1002], [1366, 1195], [992, 545], [557, 591], [1203, 394], [1653, -366], [1071, 229], [589, 257], [461, -72], [1381, 267], [1197, 682], [910, 928]]}\n", + " Received data: {\"poses\": [[1714, 1148], [90, 1950], [1380, 667], [79, 1702], [468, -544], [676, -466], [670, 1398], [1598, 1050], [1109, 982], [1368, 1259], [1003, 608], [519, 540], [1179, 335], [1715, -383], [1113, 181], [536, 221], [444, -133], [1398, 206], [1250, 646], [858, 964]]}\n", + " Received data: {\"poses\": [[1750, 1190], [90, 2005], [1332, 695], [80, 1757], [495, -592], [710, -510], [674, 1453], [1609, 1104], [1101, 927], [1370, 1314], [986, 661], [464, 543], [1202, 285], [1755, -421], [1098, 128], [511, 173], [479, -176], [1439, 169], [1298, 673], [807, 985]]}\n", + " Received data: {\"poses\": [[1792, 1238], [90, 2069], [1274, 667], [81, 1821], [475, -652], [767, -537], [619, 1485], [1621, 1167], [1148, 884], [1372, 1378], [941, 706], [424, 594], [1232, 229], [1818, -432], [1042, 96], [548, 121], [524, -222], [1502, 183], [1304, 737], [744, 997]]}\n", + " Received data: {\"poses\": [[1829, 1278], [90, 2124], [1273, 612], [82, 1876], [422, -666], [801, -581], [569, 1463], [1630, 1221], [1199, 903], [1374, 1433], [917, 756], [445, 644], [1214, 177], [1855, -392], [987, 94], [598, 97], [513, -276], [1540, 222], [1257, 766], [689, 996]]}\n", + " Received data: {\"poses\": [[1874, 1326], [90, 2190], [1327, 574], [83, 1941], [358, -681], [781, -644], [567, 1397], [1639, 1286], [1216, 967], [1377, 1499], [949, 813], [484, 698], [1150, 162], [1865, -327], [938, 137], [636, 44], [455, -307], [1601, 247], [1197, 740], [624, 985]]}\n", + " Received data: {\"poses\": [[1914, 1367], [90, 2247], [1376, 602], [84, 1998], [335, -733], [733, -675], [612, 1363], [1646, 1342], [1171, 1002], [1379, 1555], [1006, 811], [528, 734], [1094, 150], [1893, -277], [952, 192], [618, -10], [405, -333], [1642, 209], [1194, 683], [570, 966]]}\n", + " Received data: {\"poses\": [[1961, 1413], [90, 2312], [1380, 668], [85, 2064], [364, -792], [702, -733], [670, 1395], [1653, 1408], [1109, 982], [1381, 1621], [1065, 783], [592, 719], [1067, 90], [1957, -262], [998, 238], [563, -45], [384, -395], [1657, 145], [1246, 642], [511, 937]]}\n", + "\"\"\"" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "import json" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first term looks like the term above. Let's decode parts of it, and plot their path - we don't have the heading info here." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[' {\"poses\": [[1150, 192], [155, 870], [1413, 665], [112, 620], [738, 209], [518, 344], [661, 1441], [1315, 9], [1077, 998], [1433, 197], [957, 729], [589, 569], [1492, 1089], [1345, 61], [982, 258], [385, 1024], [478, 675], [582, 210], [1359, 686], [922, 937]]}',\n", + " ' {\"poses\": [[1172, 244], [103, 894], [1363, 693], [124, 675], [789, 184], [551, 298], [713, 1463], [1293, 62], [1068, 943], [1394, 238], [1010, 748], [540, 540], [1490, 1032], [1292, 82], [1036, 243], [352, 978], [508, 626], [639, 212], [1311, 716], [890, 891]]}',\n", + " ' {\"poses\": [[1192, 292], [91, 944], [1312, 698], [77, 697], [801, 133], [597, 274], [669, 1489], [1263, 104], [1105, 906], [1405, 289], [1028, 796], [488, 537], [1537, 1008], [1241, 72], [1061, 197], [382, 935], [560, 621], [687, 232], [1358, 736], [847, 863]]}',\n", + " ' {\"poses\": [[1217, 347], [90, 1005], [1268, 656], [64, 756], [764, 85], [654, 252], [608, 1496], [1277, 164], [1161, 883], [1350, 315], [1037, 856], [447, 581], [1550, 949], [1208, 20], [1066, 137], [436, 907], [598, 573], [727, 278], [1306, 767], [786, 859]]}',\n", + " ' {\"poses\": [[1238, 395], [90, 1057], [1282, 605], [63, 809], [712, 78], [677, 205], [570, 1460], [1300, 211], [1203, 914], [1339, 367], [1075, 893], [451, 633], [1517, 908], [1229, -28], [1049, 87], [484, 887], [578, 524], [756, 321], [1254, 775], [736, 843]]}',\n", + " ' {\"poses\": [[1266, 452], [90, 1120], [1340, 581], [64, 872], [653, 55], [651, 148], [585, 1399], [1328, 267], [1204, 977], [1340, 430], [1138, 884], [464, 695], [1455, 900], [1275, -71], [992, 60], [511, 830], [524, 493], [815, 343], [1207, 732], [688, 803]]}',\n", + " ' {\"poses\": [[1289, 499], [90, 1173], [1380, 615], [65, 925], [644, 3], [611, 113], [633, 1378], [1351, 315], [1157, 1002], [1341, 482], [1159, 836], [494, 738], [1406, 881], [1294, -120], [948, 88], [488, 782], [487, 456], [855, 308], [1219, 681], [668, 754]]}',\n", + " ' {\"poses\": [[1318, 555], [90, 1236], [1377, 678], [66, 988], [676, -52], [594, 52], [682, 1418], [1377, 372], [1100, 975], [1343, 546], [1174, 775], [558, 741], [1394, 819], [1273, -180], [923, 147], [440, 742], [491, 392], [884, 252], [1277, 654], [669, 691]]}',\n", + " ' {\"poses\": [[1343, 602], [90, 1289], [1328, 699], [67, 1041], [700, -99], [634, 17], [681, 1471], [1398, 421], [1098, 922], [1345, 598], [1212, 738], [590, 699], [1419, 773], [1242, -223], [956, 188], [425, 691], [532, 360], [933, 233], [1318, 687], [693, 644]]}',\n", + " ' {\"poses\": [[1374, 657], [90, 1352], [1273, 669], [68, 1104], [676, -158], [693, -5], [623, 1497], [1423, 479], [1147, 882], [1347, 662], [1272, 716], [580, 636], [1447, 716], [1246, -286], [1016, 206], [472, 648], [581, 320], [988, 265], [1317, 751], [741, 602]]}',\n", + " ' {\"poses\": [[1401, 703], [90, 1405], [1275, 616], [69, 1157], [625, -170], [726, -47], [576, 1472], [1443, 528], [1195, 904], [1349, 715], [1310, 680], [531, 617], [1427, 667], [1294, -310], [1069, 201], [521, 628], [575, 267], [1017, 310], [1269, 773], [791, 586]]}',\n", + " ' {\"poses\": [[1434, 757], [90, 1469], [1328, 580], [70, 1221], [563, -187], [711, -109], [578, 1409], [1465, 588], [1210, 966], [1351, 778], [1304, 616], [468, 606], [1364, 654], [1357, -303], [1113, 155], [560, 578], [524, 230], [1070, 344], [1213, 744], [855, 589]]}',\n", + " ' {\"poses\": [[1467, 811], [90, 1532], [1383, 610], [71, 1284], [539, -246], [662, -149], [629, 1372], [1487, 648], [1161, 1006], [1353, 842], [1246, 591], [405, 614], [1303, 638], [1419, -313], [1093, 95], [544, 517], [474, 191], [1125, 311], [1213, 681], [912, 616]]}',\n", + " ' {\"poses\": [[1497, 857], [90, 1587], [1381, 665], [72, 1339], [569, -291], [644, -201], [678, 1397], [1504, 699], [1111, 984], [1355, 896], [1191, 592], [382, 663], [1281, 588], [1448, -359], [1046, 67], [501, 483], [473, 136], [1145, 260], [1257, 648], [950, 656]]}',\n", + " ' {\"poses\": [[1533, 909], [90, 1651], [1327, 700], [73, 1402], [602, -346], [680, -253], [676, 1461], [1523, 760], [1098, 921], [1358, 960], [1136, 560], [405, 723], [1315, 534], [1463, -421], [986, 89], [478, 423], [520, 93], [1192, 217], [1314, 677], [978, 713]]}',\n", + " ' {\"poses\": [[1564, 953], [90, 1704], [1282, 672], [74, 1456], [581, -395], [730, -271], [632, 1491], [1539, 811], [1140, 889], [1359, 1013], [1111, 514], [457, 735], [1341, 488], [1504, -455], [970, 140], [508, 379], [559, 56], [1241, 236], [1313, 730], [984, 766]]}',\n", + " ' {\"poses\": [[1602, 1004], [90, 1768], [1275, 609], [75, 1520], [522, -419], [773, -318], [576, 1459], [1556, 873], [1202, 906], [1362, 1077], [1063, 471], [509, 699], [1316, 429], [1567, -444], [971, 204], [568, 356], [561, -8], [1282, 285], [1261, 767], [974, 829]]}',\n", + " ' {\"poses\": [[1640, 1055], [90, 1832], [1329, 575], [77, 1583], [460, -435], [750, -378], [569, 1396], [1572, 934], [1214, 969], [1364, 1141], [1002, 491], [542, 644], [1256, 407], [1606, -393], [1019, 246], [610, 308], [509, -45], [1342, 306], [1205, 736], [947, 887]]}',\n", + " ' {\"poses\": [[1674, 1098], [90, 1887], [1376, 604], [78, 1638], [440, -486], [705, -409], [615, 1365], [1585, 988], [1170, 1002], [1366, 1195], [992, 545], [557, 591], [1203, 394], [1653, -366], [1071, 229], [589, 257], [461, -72], [1381, 267], [1197, 682], [910, 928]]}',\n", + " ' {\"poses\": [[1714, 1148], [90, 1950], [1380, 667], [79, 1702], [468, -544], [676, -466], [670, 1398], [1598, 1050], [1109, 982], [1368, 1259], [1003, 608], [519, 540], [1179, 335], [1715, -383], [1113, 181], [536, 221], [444, -133], [1398, 206], [1250, 646], [858, 964]]}',\n", + " ' {\"poses\": [[1750, 1190], [90, 2005], [1332, 695], [80, 1757], [495, -592], [710, -510], [674, 1453], [1609, 1104], [1101, 927], [1370, 1314], [986, 661], [464, 543], [1202, 285], [1755, -421], [1098, 128], [511, 173], [479, -176], [1439, 169], [1298, 673], [807, 985]]}',\n", + " ' {\"poses\": [[1792, 1238], [90, 2069], [1274, 667], [81, 1821], [475, -652], [767, -537], [619, 1485], [1621, 1167], [1148, 884], [1372, 1378], [941, 706], [424, 594], [1232, 229], [1818, -432], [1042, 96], [548, 121], [524, -222], [1502, 183], [1304, 737], [744, 997]]}',\n", + " ' {\"poses\": [[1829, 1278], [90, 2124], [1273, 612], [82, 1876], [422, -666], [801, -581], [569, 1463], [1630, 1221], [1199, 903], [1374, 1433], [917, 756], [445, 644], [1214, 177], [1855, -392], [987, 94], [598, 97], [513, -276], [1540, 222], [1257, 766], [689, 996]]}',\n", + " ' {\"poses\": [[1874, 1326], [90, 2190], [1327, 574], [83, 1941], [358, -681], [781, -644], [567, 1397], [1639, 1286], [1216, 967], [1377, 1499], [949, 813], [484, 698], [1150, 162], [1865, -327], [938, 137], [636, 44], [455, -307], [1601, 247], [1197, 740], [624, 985]]}',\n", + " ' {\"poses\": [[1914, 1367], [90, 2247], [1376, 602], [84, 1998], [335, -733], [733, -675], [612, 1363], [1646, 1342], [1171, 1002], [1379, 1555], [1006, 811], [528, 734], [1094, 150], [1893, -277], [952, 192], [618, -10], [405, -333], [1642, 209], [1194, 683], [570, 966]]}',\n", + " ' {\"poses\": [[1961, 1413], [90, 2312], [1380, 668], [85, 2064], [364, -792], [702, -733], [670, 1395], [1653, 1408], [1109, 982], [1381, 1621], [1065, 783], [592, 719], [1067, 90], [1957, -262], [998, 238], [563, -45], [384, -395], [1657, 145], [1246, 642], [511, 937]]}']" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "poses_lines = poses_raw_data.split(\"\\n\")\n", + "poses_lines = [line.replace(\"Received data: \", \"\") for line in poses_lines if line]\n", + "poses_lines" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1150, 192])" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "poses_dicts = [json.loads(line) for line in poses_lines]\n", + "poses_over_time = np.array([poses_dict[\"poses\"] for poses_dict in poses_dicts])\n", + "# ThreeD array = time, pose number, [x, y]\n", + "poses_over_time[0,0]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Lets plot the first pose... We can compare with the arc above." + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAGiCAYAAAALC6kfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA5NUlEQVR4nO3de3RU5aH+8WcCJAEkEyAkk9SAgBaN4SKoMadCvUSSSKlWelq5CFaESgNWYjlpWpWL5xgKZ+GlRaxnCXgWeKlrKR7Q0gYwUEq4CEYMaJakkahkggUzIyi5vr8/+M2uQxJIwuQys7+ftWatzN7vzLzbHTKPs/d+xmGMMQIAALChsM6eAAAAQGchCAEAANsiCAEAANsiCAEAANsiCAEAANsiCAEAANsiCAEAANsiCAEAANsiCAEAANsiCAEAANtqVRDKy8vTddddpz59+ig2NlZ33nmnSkpK/MacOXNGWVlZ6t+/vy655BJNmjRJlZWVfmPKy8s1YcIE9erVS7GxsVqwYIHq6ur8xhQUFGj06NGKiIjQ5ZdfrrVr17ZtCwEAAJrRqiC0fft2ZWVlaffu3crPz1dtba3Gjx+v06dPW2Pmz5+vjRs36rXXXtP27dt17Ngx3XXXXdb6+vp6TZgwQTU1Ndq1a5defPFFrV27Vo899pg1pqysTBMmTNDNN9+soqIiPfTQQ7r//vv1l7/8JQCbDAAAcJbjYr509YsvvlBsbKy2b9+ucePGyePxaMCAAXrppZf04x//WJL00Ucf6aqrrlJhYaFuuOEG/fnPf9YPfvADHTt2THFxcZKk5557Tjk5Ofriiy8UHh6unJwcvfXWWyouLrZe6+6771ZVVZU2b958kZsMAABwVveLebDH45Ek9evXT5K0f/9+1dbWKi0tzRpz5ZVXauDAgVYQKiws1PDhw60QJEnp6emaM2eODh06pGuuuUaFhYV+z+Eb89BDDzU7l+rqalVXV1v3GxoadPLkSfXv318Oh+NiNhMAAHQQY4y++uorJSQkKCys/U9lbnMQamho0EMPPaTvfe97Sk5OliS53W6Fh4crOjrab2xcXJzcbrc15tshyLfet+58Y7xer7755hv17Nmz0Xzy8vK0ePHitm4OAADoQj799FNdeuml7f46bQ5CWVlZKi4u1s6dOwM5nzbLzc1Vdna2dd/j8WjgwIH69NNPFRUV1YkzAwAALeX1epWYmKg+ffp0yOu1KQjNnTtXmzZt0o4dO/zSmsvlUk1Njaqqqvw+FaqsrJTL5bLG7N271+/5fFeVfXvMuVeaVVZWKioqqslPgyQpIiJCERERjZZHRUURhAAACDIddVpLqw6+GWM0d+5cvfHGG9q2bZsGDx7st37MmDHq0aOHtm7dai0rKSlReXm5UlNTJUmpqan64IMPdPz4cWtMfn6+oqKilJSUZI359nP4xvieAwAAIBBaddXYL37xC7300kt68803NWzYMGu50+m0PqmZM2eO3n77ba1du1ZRUVGaN2+eJGnXrl2Szl4+P2rUKCUkJGjZsmVyu9265557dP/99+uJJ56QdPby+eTkZGVlZem+++7Ttm3b9OCDD+qtt95Senp6i+bq9XrldDrl8Xj4RAgAgCDR0e/frQpCzX1MtWbNGt17772SzhYqPvzww3r55ZdVXV2t9PR0Pfvss9ZhL0k6evSo5syZo4KCAvXu3VszZszQ0qVL1b37v47UFRQUaP78+Tp8+LAuvfRSPfroo9ZrtARBCACA4NOlg1AwIQgBABB8Ovr9m+8aAwAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAtkUQAgAAttXqILRjxw5NnDhRCQkJcjgc2rBhg996h8PR5G358uXWmMsuu6zR+qVLl/o9z8GDBzV27FhFRkYqMTFRy5Yta9sWAgAANKPVQej06dMaOXKkVq5c2eT6iooKv9vq1avlcDg0adIkv3FLlizxGzdv3jxrndfr1fjx4zVo0CDt379fy5cv16JFi/T888+3droAAADN6t7aB2RmZiozM7PZ9S6Xy+/+m2++qZtvvllDhgzxW96nT59GY33Wr1+vmpoarV69WuHh4br66qtVVFSkFStWaPbs2a2dMgAAQJPa9RyhyspKvfXWW5o5c2ajdUuXLlX//v11zTXXaPny5aqrq7PWFRYWaty4cQoPD7eWpaenq6SkRF9++WWTr1VdXS2v1+t3AwAAOJ9WfyLUGi+++KL69Omju+66y2/5gw8+qNGjR6tfv37atWuXcnNzVVFRoRUrVkiS3G63Bg8e7PeYuLg4a13fvn0bvVZeXp4WL17cTlsCAABCUbsGodWrV2vq1KmKjIz0W56dnW39PGLECIWHh+vnP/+58vLyFBER0abXys3N9Xter9erxMTEtk0cAADYQrsFob/97W8qKSnRq6++esGxKSkpqqur0yeffKJhw4bJ5XKpsrLSb4zvfnPnFUVERLQ5RAEAAHtqt3OEXnjhBY0ZM0YjR4684NiioiKFhYUpNjZWkpSamqodO3aotrbWGpOfn69hw4Y1eVgMAACgLVodhE6dOqWioiIVFRVJksrKylRUVKTy8nJrjNfr1Wuvvab777+/0eMLCwv11FNP6f3339c//vEPrV+/XvPnz9e0adOskDNlyhSFh4dr5syZOnTokF599VU9/fTTfoe+AAAALlarD429++67uvnmm637vnAyY8YMrV27VpL0yiuvyBijyZMnN3p8RESEXnnlFS1atEjV1dUaPHiw5s+f7xdynE6n/vrXvyorK0tjxoxRTEyMHnvsMS6dBwAAAeUwxpjOnkR78Hq9cjqd8ng8ioqK6uzpAACAFujo92++awwAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANgWQQgAANhWq4PQjh07NHHiRCUkJMjhcGjDhg1+6++99145HA6/W0ZGht+YkydPaurUqYqKilJ0dLRmzpypU6dO+Y05ePCgxo4dq8jISCUmJmrZsmWt3zoAAIDzaHUQOn36tEaOHKmVK1c2OyYjI0MVFRXW7eWXX/ZbP3XqVB06dEj5+fnatGmTduzYodmzZ1vrvV6vxo8fr0GDBmn//v1avny5Fi1apOeff7610wUAAGhW99Y+IDMzU5mZ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L8XGxmrBggWqq6vryE1plUWLFjXapiuvvNJaf+bMGWVlZal///665JJLNGnSpEYlnMG2zZJ02WWXNdpuh8OhrKwsSaGzr3fs2KGJEycqISFBDodDGzZs8FtvjNFjjz2m+Ph49ezZU2lpafr444/9xpw8eVJTp05VVFSUoqOjNXPmTJ06dcpvzMGDBzV27FhFRkYqMTFRy5Yta+9NO6/zbXdtba1ycnI0fPhw9e7dWwkJCZo+fbqOHTvm9xxN/Y4sXbrUb0wwbbck3XvvvY22KSMjw29MqO1vSU3+W3c4HFq+fLk1Jtj2d0veswL197ugoECjR49WRESELr/8cq1du7b1EzYh5pVXXjHh4eFm9erV5tChQ2bWrFkmOjraVFZWdvbU2iw9Pd2sWbPGFBcXm6KiInP77bebgQMHmlOnTlljvv/975tZs2aZiooK6+bxeKz1dXV1Jjk52aSlpZn33nvPvP322yYmJsbk5uZ2xia1yMKFC83VV1/tt01ffPGFtf6BBx4wiYmJZuvWrebdd981N9xwg/m3f/s3a30wbrMxxhw/ftxvm/Pz840k88477xhjQmdfv/322+a3v/2tef31140k88Ybb/itX7p0qXE6nWbDhg3m/fffNz/84Q/N4MGDzTfffGONycjIMCNHjjS7d+82f/vb38zll19uJk+ebK33eDwmLi7OTJ061RQXF5uXX37Z9OzZ0/zxj3/sqM1s5HzbXVVVZdLS0syrr75qPvroI1NYWGiuv/56M2bMGL/nGDRokFmyZInf78C3/x4E23YbY8yMGTNMRkaG3zadPHnSb0yo7W9jjN/2VlRUmNWrVxuHw2FKS0utMcG2v1vynhWIv9//+Mc/TK9evUx2drY5fPiw+f3vf2+6detmNm/e3Kr5hlwQuv76601WVpZ1v76+3iQkJJi8vLxOnFVgHT9+3Egy27dvt5Z9//vfN7/85S+bfczbb79twsLCjNvttpatWrXKREVFmerq6vacbpstXLjQjBw5ssl1VVVVpkePHua1116zln344YdGkiksLDTGBOc2N+WXv/ylGTp0qGloaDDGhOa+PvcNoqGhwbhcLrN8+XJrWVVVlYmIiDAvv/yyMcaYw4cPG0lm37591pg///nPxuFwmM8//9wYY8yzzz5r+vbt67fdOTk5ZtiwYe28RS3T1Bvjufbu3WskmaNHj1rLBg0aZJ588slmHxOM2z1jxgxzxx13NPsYu+zvO+64w9xyyy1+y4J9f5/7nhWov9//8R//Ya6++mq/1/rpT39q0tPTWzW/kDo0VlNTo/379ystLc1aFhYWprS0NBUWFnbizALL4/FIUqNv5l2/fr1iYmKUnJys3Nxcff3119a6wsJCDR8+XHFxcday9PR0eb1eHTp0qGMm3gYff/yxEhISNGTIEE2dOlXl5eWSpP3796u2ttZvX1955ZUaOHCgta+DdZu/raamRuvWrdN9990nh8NhLQ/Fff1tZWVlcrvdfvvX6XQqJSXFb/9GR0fr2muvtcakpaUpLCxMe/bsscaMGzdO4eHh1pj09HSVlJToyy+/7KCtuTgej0cOh0PR0dF+y5cuXar+/fvrmmuu0fLly/0OGQTrdhcUFCg2NlbDhg3TnDlzdOLECWudHfZ3ZWWl3nrrLc2cObPRumDe3+e+ZwXq73dhYaHfc/jGtPb9vst+xUZb/POf/1R9fb3ffzhJiouL00cffdRJswqshoYGPfTQQ/re976n5ORka/mUKVM0aNAgJSQk6ODBg8rJyVFJSYlef/11SZLb7W7yv4tvXVeUkpKitWvXatiwYaqoqNDixYs1duxYFRcXy+12Kzw8vNGbQ1xcnLU9wbjN59qwYYOqqqp07733WstCcV+fyzfPprbj2/s3NjbWb3337t3Vr18/vzGDBw9u9By+dX379m2X+QfKmTNnlJOTo8mTJ/t9+/iDDz6o0aNHq1+/ftq1a5dyc3NVUVGhFStWSArO7c7IyNBdd92lwYMHq7S0VL/5zW+UmZmpwsJCdevWzRb7+8UXX1SfPn101113+S0P5v3d1HtWoP5+NzfG6/Xqm2++Uc+ePVs0x5AKQnaQlZWl4uJi7dy502/57NmzrZ+HDx+u+Ph43XrrrSotLdXQoUM7epoBkZmZaf08YsQIpaSkaNCgQfrTn/7U4l/wYPfCCy8oMzNTCQkJ1rJQ3NdorLa2Vj/5yU9kjNGqVav81mVnZ1s/jxgxQuHh4fr5z3+uvLy8oP1eqrvvvtv6efjw4RoxYoSGDh2qgoIC3XrrrZ04s46zevVqTZ06VZGRkX7Lg3l/N/ee1ZWE1KGxmJgYdevWrdGZ55WVlXK5XJ00q8CZO3euNm3apHfeeUeXXnrpecf6vpPtyJEjkiSXy9XkfxffumAQHR2t7373uzpy5IhcLpdqampUVVXlN+bb+zrYt/no0aPasmWL7r///vOOC8V97Zvn+f4tu1wuHT9+3G99XV2dTp48GfS/A74QdPToUeXn5/t9GtSUlJQU1dXV6ZNPPpEUvNv9bUOGDFFMTIzf73Wo7m9J+tvf/qaSkpIL/nuXgmd/N/eeFai/382NiYqKatX/LIdUEAoPD9eYMWO0detWa1lDQ4O2bt2q1NTUTpzZxTHGaO7cuXrjjTe0bdu2Rh+BNqWoqEiSFB8fL0lKTU3VBx984PeHxPcHNikpqV3mHWinTp1SaWmp4uPjNWbMGPXo0cNvX5eUlKi8vNza18G+zWvWrFFsbKwmTJhw3nGhuK8HDx4sl8vlt3+9Xq/27Nnjt3+rqqq0f/9+a8y2bdvU0NBghcPU1FTt2LFDtbW11pj8/HwNGzasyx4m8YWgjz/+WFu2bFH//v0v+JiioiKFhYVZh46CcbvP9dlnn+nEiRN+v9ehuL99XnjhBY0ZM0YjR4684Niuvr8v9J4VqL/fqampfs/hG9Pq9/vWn//dtb3yyismIiLCrF271hw+fNjMnj3bREdH+515HmzmzJljnE6nKSgo8Lt88uuvvzbGGHPkyBGzZMkS8+6775qysjLz5ptvmiFDhphx48ZZz+G7FHH8+PGmqKjIbN682QwYMKDLXVL9bQ8//LApKCgwZWVl5u9//7tJS0szMTEx5vjx48aYs5dfDhw40Gzbts28++67JjU11aSmplqPD8Zt9qmvrzcDBw40OTk5fstDaV9/9dVX5r333jPvvfeekWRWrFhh3nvvPevqqKVLl5ro6Gjz5ptvmoMHD5o77rijycvnr7nmGrNnzx6zc+dOc8UVV/hdTl1VVWXi4uLMPffcY4qLi80rr7xievXq1amXU59vu2tqaswPf/hDc+mll5qioiK/f+++K2V27dplnnzySVNUVGRKS0vNunXrzIABA8z06dOt1wi27f7qq6/Mr371K1NYWGjKysrMli1bzOjRo80VV1xhzpw5Yz1HqO1vH4/HY3r16mVWrVrV6PHBuL8v9J5lTGD+fvsun1+wYIH58MMPzcqVK7l83uf3v/+9GThwoAkPDzfXX3+92b17d2dP6aJIavK2Zs0aY4wx5eXlZty4caZfv34mIiLCXH755WbBggV+3TLGGPPJJ5+YzMxM07NnTxMTE2MefvhhU1tb2wlb1DI//elPTXx8vAkPDzff+c53zE9/+lNz5MgRa/0333xjfvGLX5i+ffuaXr16mR/96EemoqLC7zmCbZt9/vKXvxhJpqSkxG95KO3rd955p8nf6xkzZhhjzl5C/+ijj5q4uDgTERFhbr311kb/PU6cOGEmT55sLrnkEhMVFWV+9rOfma+++spvzPvvv29uvPFGExERYb7zne+YpUuXdtQmNul8211WVtbsv3dfj9T+/ftNSkqKcTqdJjIy0lx11VXmiSee8AsMxgTXdn/99ddm/PjxZsCAAaZHjx5m0KBBZtasWY3+BzbU9rfPH//4R9OzZ09TVVXV6PHBuL8v9J5lTOD+fr/zzjtm1KhRJjw83AwZMsTvNVrK8f8nDQAAYDshdY4QAABAaxCEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbRGEAACAbf0/EYcBLJBQ24gAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "ax.set_xlim(0, 2000)\n", + "ax.set_ylim(0, 2000)\n", + "# The scatter will be the first pose over time.\n", + "ax.scatter(poses_over_time[:, 0, 0], poses_over_time[:, 0, 1])\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "That is a match... Lets try the next pose..." + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ZMkS2XXR9L4WFBQgKyvL7b20Wq3YvXu323tpsViwb98+55qPP/4YPM87hd6cOXPw6aefore317lm8+bNGDduXFilLQRhU1lZiS1btiA1NdXnMQcPHoRGo3GmbyLlXsX45ptv0NTU5PazGy3vrcALL7yA6dOnY8qUKT7Xhut76+t5E6y/wXPmzHE7h7BG1bPZvxrp6OCNN95ger2evfzyy6yiooKtXLmSmc1mtyrucOf2229nJpOJbd++3c1G2NnZyRhj7MSJE+zXv/41++KLL1h1dTX773//y0aPHs0uvvhi5zkEa96iRYvYwYMH2caNG1l6enrYWIZduffee9n27dtZdXU127FjByspKWFpaWmsvr6eMeawIY4cOZJ9/PHH7IsvvmBz5sxhc+bMcR4fSffKmMPBN3LkSLZmzRq37dHwvra1tbEDBw6wAwcOMADsiSeeYAcOHHA6hNavX8/MZjP773//yw4dOsQuv/xyUSv41KlT2e7du9nnn3/Oxo4d62YXtlgsLDMzk/3gBz9g5eXl7I033mAGg2HQLbRy99rT08OWLVvGRowYwQ4ePOj2eyy4R3bu3MmefPJJdvDgQVZVVcVeffVVlp6ezm688cawu1df99vW1sZ+9rOfsbKyMlZdXc22bNnCpk2bxsaOHcu6u7ud54iG91agtbWVGQwG9uyzz3odH0nvra/nDWPB+RssWMF//vOfs6NHj7K//OUvZAVXy9NPP81GjhzJYmNj2cyZM9muXbuG+pJUAUD0v5deeokxxtjp06fZxRdfzFJSUpher2djxoxhP//5z936oTDG2MmTJ9mll17K4uPjWVpaGrv33ntZb2/vENyRPNdeey3Lzs5msbGxLDc3l1177bXsxIkTzv1dXV3sJz/5CUtOTmYGg4F997vfZefOnXM7R6TcK2OMffTRRwwAO378uNv2aHhft23bJvqzu2LFCsaYww7+4IMPsszMTKbX69nChQu9vg9NTU3s+uuvZ4mJ/7+d+0dNGA7jOEwH/0HRyclBcHNzy+LsPRy8ingFT+MJHDyBVxAE169LLYjUdiilffs8c0Ly8iPJJxDymn6/n+VymfP5fLfN4XDIfD5Pp9PJaDTKZrP5qRHfPZv1eDx+eB3f/mm03+/TNE0Gg0G63W6m02nW6/VdDPyWWZPn814ulywWiwyHw7RarYzH46xWq4eXygpre7PdbtPr9XI6nR72/0tr+9nzJvm+e/But8tsNku73c5kMrk7xle8vJ0wAEAJ//abGwCgJnEDAJQibgCAUsQNAFCKuAEAShE3AEAp4gYAKEXcAACliBsAoBRxAwCUIm4AgFLEDQBQyhVFGosdQuRvEgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "for pose_index in range(poses_over_time.shape[1]):\n", + " ax.scatter(poses_over_time[:, pose_index, 0], poses_over_time[:, pose_index, 1])\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ok - so some are sensible looking paths, some are little rings. Almost like the radians/rotation is changing between poses. That makes no sense.." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "I think it's time to retransform them.\n", + "\n", + "## Standard for transforming poses\n", + "Start with a set of poses.\n", + "Each call will take -> incoming poses, rot1, trans, rot2.\n", + "It will then return the next set of poses.\n", + "\n", + "We can then put this in a graph to see how they develop over time." + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(26, 20, 2) (8,)\n", + "(2,)\n" + ] + }, + { + "ename": "IndexError", + "evalue": "index 2 is out of bounds for axis 1 with size 2", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[74], line 15\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[39mreturn\u001b[39;00m new_poses\n\u001b[1;32m 14\u001b[0m \u001b[39mprint\u001b[39m(poses_over_time\u001b[39m.\u001b[39mshape, new_data[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39mshape)\n\u001b[0;32m---> 15\u001b[0m new_poses \u001b[39m=\u001b[39m transform_poses(poses_over_time[\u001b[39m0\u001b[39;49m], new_data[\u001b[39m0\u001b[39;49m,\u001b[39m5\u001b[39;49m], new_data[\u001b[39m0\u001b[39;49m,\u001b[39m6\u001b[39;49m], new_data[\u001b[39m0\u001b[39;49m,\u001b[39m7\u001b[39;49m])\n\u001b[1;32m 16\u001b[0m new_poses \n", + "Cell \u001b[0;32mIn[74], line 7\u001b[0m, in \u001b[0;36mtransform_poses\u001b[0;34m(poses, rot1, trans, rot2)\u001b[0m\n\u001b[1;32m 5\u001b[0m new_poses \u001b[39m=\u001b[39m poses\u001b[39m.\u001b[39mcopy()\n\u001b[1;32m 6\u001b[0m \u001b[39mprint\u001b[39m(new_poses[\u001b[39m0\u001b[39m]\u001b[39m.\u001b[39mshape)\n\u001b[0;32m----> 7\u001b[0m new_poses[:, \u001b[39m2\u001b[39m] \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m rot1\n\u001b[1;32m 8\u001b[0m rotation_radians \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mradians(new_poses[:, \u001b[39m2\u001b[39m])\n\u001b[1;32m 9\u001b[0m new_poses[:,\u001b[39m0\u001b[39m] \u001b[39m+\u001b[39m\u001b[39m=\u001b[39m trans \u001b[39m*\u001b[39m np\u001b[39m.\u001b[39mcos(rotation_radians)\n", + "\u001b[0;31mIndexError\u001b[0m: index 2 is out of bounds for axis 1 with size 2" + ] + } + ], + "source": [ + "def transform_poses(poses: np.array, rot1: float, trans: float, rot2: float) -> np.array:\n", + " \"\"\"Rot1 -> degrees,\n", + " trans -> mm,\n", + " rot2 -> degrees \"\"\"\n", + " new_poses = poses.copy()\n", + " print(new_poses[0].shape)\n", + " new_poses[:, 2] += rot1\n", + " rotation_radians = np.radians(new_poses[:, 2])\n", + " new_poses[:,0] += trans * np.cos(rotation_radians)\n", + " new_poses[:,1] += trans * np.sin(rotation_radians)\n", + " new_poses[:,2] += rot2\n", + " return new_poses\n", + "\n", + "print(poses_over_time.shape, new_data[0].shape)\n", + "new_poses = transform_poses(poses_over_time[0], new_data[0,5], new_data[0,6], new_data[0,7])\n", + "\n", + "# I don't have the rotation data - only the x,y data. Let's dump more out." + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "# each pose is a list of x,y,heading\n", + "# List of 20 poses, rot1, trans, rot2\n", + "data_with_headings = [\n", + "[[[925.478, 311.719, 208.524], [1385.53, 520.633, 305.534], [41.4205, 94.8741, 160.633], [9.37529, 1080.54, 218.524], [1171.47, 619.267, 41.4205], [629.408, 1446.96, 94.8741], [576.609, 719.446, 192.524], [524.91, 501.414, 9.37529], [698.915, 1331.59, 0.540527], [188.589, 1134.06, 309.524], [178.442, 120.2, 91.4702], [1039.41, 1341.0, 259.267], [174.547, 1006.62, 153.524], [193.563, 1226.19, 269.408], [885.456, 866.621, 6.95557], [451.586, 356.91, 184.524], [748.809, 48.4384, 216.609], [510.829, 789.432, 359.446], [465.07, 718.589, 131.524], [1095.43, 790.161, 164.91]], 0.262041, 0.593001, 0.262041],\n", + "[[[924.88, 311.124, 241.301], [1386.2, 520.113, 306.198], [40.5783, 94.9179, 160.113], [8.8905, 1079.85, 338.311], [1171.92, 619.98, 40.5783], [629.103, 1447.74, 94.9179], [575.871, 719.038, 193.41], [525.669, 501.78, 8.8905], [699.721, 1331.83, 359.851], [189.288, 1133.59, 251.301], [178.183, 121.003, 91.9194], [1039.49, 1340.16, 259.98], [173.717, 1006.76, 74.1978], [193.793, 1225.37, 269.103], [886.23, 866.955, 7.7417], [450.798, 356.609, 127.651], [748.302, 47.7649, 215.871], [511.641, 789.662, 359.038], [464.355, 719.037, 225.301], [1094.59, 790.142, 165.669]], 16.3886, 0.843376, 16.3886],\n", + "[[[905.23, 271.857, 245.529], [1413.42, 485.66, 333.419], [-1.23448, 108.321, 125.66], [50.2613, 1065.14, 310.426], [1204.19, 649.753, 358.766], [623.727, 1491.32, 108.321], [533.564, 707.286, 164.341], [568.771, 510.162, 50.2613], [743.604, 1333.34, 345.14], [176.755, 1091.51, 342.54], [175.095, 164.803, 124.192], [1033.45, 1296.67, 289.753], [184.107, 1049.43, 44.8065], [194.725, 1181.48, 263.727], [929.491, 874.471, 51.3198], [422.712, 390.36, 99.1461], [713.694, 20.7414, 173.564], [555.54, 790.545, 347.286], [434.643, 686.708, 197.638], [1051.67, 799.433, 208.771]], 2.11409, 43.9085, 2.11409],\n", + "[[[879.508, 216.401, 244.703], [1467.89, 457.912, 27.8911], [-36.5139, 158.246, 97.9125], [89.5671, 1018.32, 332.593], [1265.3, 647.995, 323.486], [604.93, 1549.49, 158.246], [474.822, 724.21, 124.834], [608.189, 556.887, 89.5671], [802.577, 1317.23, 298.32], [234.937, 1072.75, 309.6], [141.106, 215.615, 185.299], [1053.7, 1238.98, 287.995], [227.789, 1092.19, 357.939], [187.608, 1120.76, 244.93], [968.04, 921.916, 109.49], [413.431, 450.783, 107.495], [652.999, 28.0316, 114.822], [615.074, 776.661, 4.21045], [376.253, 668.605, 163.515], [997.876, 770.397, 248.189]], -0.413049, 61.1319, -0.413049],\n", + "[[[856.638, 168.865, 243.913], [1514.68, 482.267, 74.6831], [-43.415, 210.543, 122.267], [136.228, 993.715, 27.1005], [1307.48, 616.316, 316.585], [556.072, 1569.38, 210.543], [444.99, 767.716, 97.1219], [608.952, 609.633, 136.228], [827.28, 1270.63, 273.715], [268.28, 1031.87, 331.802], [88.5479, 211.105, 227.478], [1069.65, 1188.7, 256.316], [280.492, 1089.93, 322.695], [164.927, 1073.13, 196.072], [950.783, 971.765, 129.378], [397.92, 501.202, 157.455], [631.185, 76.0609, 84.9896], [667.708, 780.171, 47.7158], [325.775, 683.923, 124.043], [977.939, 721.559, 248.952]], -0.39528, 52.7508, -0.39528],\n", + "[[[828.255, 112.102, 242.953], [1531.96, 543.334, 91.9595], [-76.8456, 264.489, 183.334], [192.965, 1022.15, 73.7238], [1353.21, 572.314, 283.154], [501.145, 1537.59, 264.489], [437.649, 830.754, 121.307], [563.493, 653.919, 192.965], [830.862, 1207.26, 302.153], [323.959, 1001.42, 26.1412], [45.264, 164.691, 273.211], [1054.12, 1127.17, 212.314], [330.649, 1051.05, 315.626], [103.798, 1056.07, 141.145], [910.931, 1021.16, 97.5854], [339.512, 526.024, 209.584], [637.257, 139.234, 77.6488], [710.799, 826.764, 110.754], [290.688, 736.806, 96.1626], [954.65, 662.522, 203.493]], -0.479665, 63.4643, -0.479665],\n", + "[[[802.998, 63.5656, 242.065], [1530.51, 598.029, 90.5127], [-131.49, 261.73, 238.029], [208.706, 1074.55, 91.0712], [1365.25, 518.94, 228.51], [495.468, 1483.17, 261.73], [409.581, 877.72, 182.446], [510.08, 642.057, 208.706], [859.62, 1160.72, 354.554], [373.262, 1025.14, 72.8355], [47.9056, 110.041, 285.25], [1007.65, 1098.28, 158.94], [369.46, 1012.48, 282.266], [61.4574, 1090.73, 135.468], [904.129, 1075.45, 43.1665], [291.722, 499.382, 263.6], [649.374, 192.59, 49.5809], [691.808, 878.077, 157.72], [285.236, 791.248, 120.419], [904.304, 641.101, 150.08]], -0.444139, 54.7143, -0.444139],\n", + "[[[771.821, 6.01371, 241.044], [1530.51, 663.483, 90.5103], [-166.641, 206.515, 303.483], [208.066, 1140.0, 89.4912], [1321.45, 470.299, 193.359], [485.476, 1418.48, 206.515], [344.164, 875.51, 237.008], [452.393, 611.131, 208.066], [924.72, 1153.92, 60.0044], [393.136, 1087.51, 90.0497], [64.5585, 46.7407, 241.452], [946.781, 1122.34, 110.299], [382.795, 948.401, 227.488], [15.2086, 1137.05, 125.476], [952.266, 1119.8, 338.479], [283.847, 434.403, 260.708], [692.256, 242.041, 344.164], [631.464, 903.431, 155.51], [252.6, 847.985, 181.424], [847.866, 674.253, 92.3926]], -0.510755, 65.4542, -0.510755],\n", + "[[[745.731, -40.3032, 240.173], [1530.44, 716.643, 90.4409], [-137.651, 161.956, 356.643], [208.942, 1193.16, 89.6397], [1269.64, 458.41, 222.349], [437.73, 1395.11, 161.956], [314.88, 831.144, 302.613], [405.296, 586.478, 208.942], [951.645, 1199.76, 113.157], [393.494, 1140.66, 88.6207], [38.7997, 0.239159, 189.639], [928.718, 1172.34, 98.41], [346.577, 909.489, 192.489], [-15.3136, 1180.57, 77.7296], [1001.57, 1099.92, 315.11], [274.865, 382.008, 205.644], [743.286, 227.147, 314.88], [583.256, 925.834, 111.144], [199.449, 847.068, 236.137], [846.051, 727.381, 45.2959]], -0.435255, 53.1593, -0.435255],\n", + "[[[714.391, -93.8924, 239.187], [1530.5, 778.723, 90.4971], [-75.7103, 157.787, 58.7234], [209.866, 1255.23, 89.4549], [1223.4, 416.986, 284.29], [378.87, 1414.85, 157.787], [347.888, 778.566, 355.657], [350.712, 556.904, 209.866], [927.725, 1257.05, 175.23], [395.522, 1202.71, 88.6537], [-22.4916, -9.62879, 143.4], [920.167, 1233.83, 56.9858], [285.852, 896.586, 221.363], [-1.59844, 1241.12, 18.8698], [1045.17, 1055.73, 334.846], [218.671, 355.623, 160.97], [786.711, 182.782, 347.888], [561.361, 983.926, 58.5659], [164.415, 795.817, 301.627], [890.099, 771.127, 350.712]], -0.492992, 62.0807, -0.492992],\n", + "[[[685.801, -143.805, 241.203], [1528.99, 836.225, 88.9863], [-46.7166, 207.467, 116.225], [209.401, 1312.75, 92.5135], [1238.58, 361.503, 313.283], [325.243, 1435.65, 207.467], [405.311, 775.219, 60.7398], [301.342, 527.386, 209.401], [870.327, 1260.82, 232.75], [395.861, 1260.23, 91.4713], [-69.2668, 23.849, 158.576], [950.654, 1282.61, 1.50281], [243.356, 857.821, 286.306], [52.4955, 1260.67, 325.243], [1097.66, 1032.2, 355.651], [163.972, 373.419, 159.804], [843.155, 171.703, 45.3113], [590.491, 1033.53, 55.2195], [195.435, 747.377, 357.673], [947.021, 762.844, 301.342]], 1.00819, 57.5211, 1.00819],\n", + "[[[655.222, -195.074, 237.171], [1532.14, 895.837, 92.1416], [-71.195, 261.913, 175.837], [208.883, 1372.44, 84.9536], [1277.95, 316.633, 288.805], [271.341, 1410.0, 261.913], [436.303, 826.239, 112.192], [248.336, 499.928, 208.883], [832.544, 1214.6, 292.443], [396.429, 1319.92, 88.4807], [-124.036, 47.5953, 197.949], [1010.35, 1282.07, 316.633], [258.09, 799.972, 309.25], [100.312, 1224.94, 271.341], [1156.99, 1025.58, 329.998], [108.706, 395.986, 203.434], [886.603, 212.64, 76.3033], [626.248, 1081.33, 106.239], [254.959, 742.856, 56.707], [976.258, 710.798, 248.336]], -2.01638, 59.6955, -2.01638],\n", + "[[[620.105, -248.49, 236.185], [1530.3, 959.736, 90.3027], [-134.91, 267.102, 239.736], [215.054, 1436.07, 91.1556], [1298.03, 255.945, 225.09], [261.803, 1346.79, 267.102], [412.668, 885.635, 174.851], [192.099, 469.533, 215.054], [856.439, 1155.31, 356.07], [398.674, 1383.81, 83.9676], [-185.018, 28.4192, 218.034], [1056.44, 1237.78, 255.945], [298.109, 750.123, 287.819], [101.258, 1161.02, 261.803], [1212.07, 993.143, 266.788], [49.837, 371.069, 260.927], [902.274, 274.615, 52.6683], [608.9, 1142.85, 165.635], [290.508, 795.986, 111.206], [952.149, 651.593, 192.099]], -0.49299, 63.9255, -0.49299],\n", + "[[[589.045, -294.045, 235.243], [1530.46, 1014.87, 90.4644], [-163.088, 219.711, 294.871], [214.395, 1491.2, 89.3611], [1258.79, 217.217, 196.912], [258.564, 1291.75, 219.711], [357.797, 891.035, 238.794], [146.706, 438.238, 214.395], [911.413, 1151.08, 51.2021], [404.918, 1438.59, 90.214], [-228.723, -5.19387, 178.789], [1042.61, 1184.4, 217.217], [314.549, 697.495, 224.149], [92.9489, 1106.51, 258.564], [1208.53, 938.121, 211.747], [40.6953, 316.696, 266.161], [936.069, 318.179, 357.797], [555.602, 1156.97, 171.035], [270.987, 847.55, 173.909], [898.144, 640.48, 146.706]], -0.470786, 55.136, -0.470786],\n", + "[[[550.998, -347.757, 234.133], [1530.57, 1080.69, 90.5688], [-135.984, 159.727, 0.694336], [215.767, 1557.01, 89.354], [1195.63, 198.68, 224.016], [207.522, 1250.18, 159.727], [323.149, 835.069, 293.761], [92.0332, 401.583, 215.767], [953.151, 1201.98, 117.011], [405.31, 1504.41, 88.2508], [-294.515, -3.16525, 115.63], [989.809, 1145.1, 198.68], [266.877, 652.108, 195.802], [79.273, 1042.13, 207.522], [1152.22, 904.031, 170.185], [35.6515, 251.067, 218.6], [1001.82, 315.012, 323.149], [490.685, 1167.86, 115.069], [205.606, 855.169, 237.684], [843.478, 677.145, 92.0332]], -0.555168, 65.8231, -0.555168],\n", + "[[[518.28, -392.235, 233.191], [1530.47, 1135.91, 90.4741], [-80.7692, 159.942, 55.9092], [216.843, 1612.22, 89.6273], [1155.61, 160.641, 279.231], [155.886, 1269.74, 159.942], [344.981, 784.353, 359.753], [46.9679, 369.679, 216.843], [928.479, 1251.37, 172.215], [407.449, 1559.59, 88.4124], [-317.989, 46.8114, 75.6089], [937.359, 1127.85, 160.641], [213.627, 637.509, 223.075], [30.0985, 1017.02, 155.886], [1097.9, 913.891, 189.741], [-7.7815, 216.975, 158.785], [1045.73, 281.536, 344.981], [467.702, 1218.06, 64.353], [175.706, 808.75, 292.819], [841.972, 732.339, 46.9679]], -0.470786, 55.215, -0.470786],\n", + "[[[478.294, -444.653, 232.134], [1530.54, 1201.84, 90.5371], [-43.3137, 214.198, 121.838], [217.88, 1678.14, 89.4171], [1165.58, 95.4714, 316.686], [94.1679, 1292.92, 214.198], [410.903, 783.46, 54.8521], [-6.15586, 330.635, 217.88], [863.244, 1260.91, 238.136], [409.884, 1625.47, 88.5702], [-301.014, 110.517, 85.584], [875.362, 1150.27, 95.4714], [165.055, 592.929, 278.174], [-29.826, 1044.5, 94.1679], [1032.82, 903.335, 212.923], [-69.0195, 241.398, 158.885], [1109.24, 263.865, 50.9033], [496.784, 1277.23, 63.4602], [200.713, 747.748, 358.696], [887.405, 780.114, 353.844]], -0.528523, 65.9286, -0.528523],\n", + "[[[443.998, -488.043, 231.219], [1530.46, 1257.15, 90.46], [-72.1133, 261.415, 177.145], [218.884, 1733.43, 89.6222], [1205.52, 57.2109, 287.887], [48.1764, 1262.2, 261.415], [443.103, 828.428, 120.923], [-50.0795, 297.026, 218.884], [833.672, 1214.17, 293.434], [411.705, 1680.75, 88.5021], [-296.316, 165.625, 125.522], [870.529, 1205.37, 57.2109], [172.481, 538.123, 315.771], [-33.4051, 1099.7, 48.1764], [986.154, 873.647, 182.203], [-120.453, 261.733, 213.283], [1144.46, 306.508, 83.1032], [521.891, 1326.51, 108.428], [255.995, 746.048, 53.9372], [942.344, 773.744, 309.92]], -0.457461, 55.3073, -0.457461],\n", + "[[[403.288, -537.756, 230.153], [1530.54, 1321.4, 90.542], [-136.256, 265.213, 241.4], [219.906, 1797.68, 89.394], [1224.69, -4.11922, 223.744], [37.9944, 1198.76, 265.213], [410.598, 883.854, 176.079], [-100.47, 257.156, 219.906], [858.677, 1154.98, 357.681], [413.982, 1744.96, 88.5562], [-333.161, 218.266, 144.687], [905.827, 1259.06, 355.881], [218.105, 492.877, 286.821], [9.88617, 1147.18, 37.9944], [921.926, 871.774, 118.76], [-174.494, 226.972, 260.349], [1152.77, 370.223, 50.5977], [502.147, 1387.66, 163.854], [294.301, 797.636, 119.857], [983.118, 724.083, 259.53]], -0.532964, 64.2549, -0.532964],\n", + "[[[367.49, -579.967, 229.247], [1530.46, 1376.75, 90.4561], [-163.133, 216.83, 296.747], [220.929, 1853.02, 89.636], [1184.4, -42.0708, 196.867], [32.9392, 1143.64, 216.83], [355.412, 888.075, 240.494], [-143.206, 221.987, 220.929], [913.959, 1152.3, 53.0181], [415.814, 1800.28, 88.488], [-378.07, 250.615, 104.401], [960.997, 1254.65, 317.929], [233.702, 439.773, 222.838], [53.7714, 1180.9, 32.9392], [895.68, 920.503, 63.6445], [-184.203, 172.484, 264.306], [1188.24, 412.711, 355.412], [449.107, 1403.47, 168.075], [267.128, 845.853, 175.173], [972.631, 669.739, 216.794]], -0.45302, 55.3468, -0.45302],\n", + "[[[325.086, -628.297, 228.226], [1530.52, 1441.04, 90.5176], [-134.711, 159.159, 1.0415], [221.91, 1917.31, 89.4345], [1122.71, -60.1763, 225.289], [-18.8647, 1105.56, 159.159], [323.248, 832.404, 295.725], [-192.155, 180.301, 221.91], [953.092, 1203.31, 117.305], [418.083, 1864.53, 88.6144], [-393.505, 313.029, 42.709], [1008.34, 1211.14, 299.824], [186.168, 396.48, 195.845], [108.04, 1215.38, 341.135], [924.736, 977.857, 25.564], [-191.152, 108.566, 215.809], [1252.28, 406.997, 323.248], [386.321, 1417.31, 112.404], [203.112, 851.834, 239.472], [920.803, 631.691, 167.845]], -0.510755, 64.2945, -0.510755],\n", + "[[[287.859, -669.288, 227.284], [1530.47, 1496.41, 90.4722], [-79.3405, 159.711, 56.4146], [222.912, 1972.67, 89.576], [1083.43, -99.2067, 280.659], [-70.4512, 1125.69, 159.711], [346.873, 782.323, 0.0999372], [-233.666, 143.654, 222.912], [928.096, 1252.73, 172.669], [419.877, 1919.88, 88.493], [-352.509, 350.252, 3.43018], [1035.48, 1162.88, 260.793], [132.776, 381.799, 224.348], [160.29, 1197.05, 289.549], [974.883, 1001.34, 45.689], [-236.323, 76.5384, 158.217], [1296.37, 373.502, 346.873], [365.638, 1468.68, 62.3232], [174.594, 804.369, 294.783], [866.769, 643.795, 126.334]], -0.470783, 55.3731, -0.470783],\n", + "[[[243.792, -716.142, 226.227], [1530.54, 1560.74, 90.5357], [-43.2668, 212.963, 120.735], [223.981, 2036.98, 89.4151], [1094.74, -162.525, 316.733], [-130.573, 1148.55, 212.963], [411.192, 781.842, 55.3575], [-281.177, 100.296, 223.981], [864.379, 1261.52, 236.981], [422.162, 1984.16, 88.5189], [-288.271, 353.508, 14.7441], [1024.61, 1099.49, 197.475], [86.3671, 337.264, 279.602], [181.252, 1136.24, 229.427], [1020.24, 1046.95, 68.5483], [-295.828, 100.957, 158.654], [1358.88, 358.316, 51.1916], [396.038, 1525.36, 61.842], [201.017, 745.726, 359.043], [829.139, 695.959, 78.8229]], -0.528523, 64.3209, -0.528523],\n", + "[[[205.157, -755.846, 225.339], [1530.45, 1616.13, 90.4468], [-71.21, 260.799, 176.135], [224.976, 2092.37, 89.6474], [1134.79, -200.807, 288.79], [-177.286, 1118.77, 260.799], [443.036, 827.175, 119.847], [-321.338, 62.1359, 224.976], [833.832, 1215.3, 292.371], [424.023, 2039.53, 88.5268], [-234.588, 367.192, 54.7886], [971.635, 1083.26, 159.193], [95.1845, 282.571, 315.845], [144.894, 1094.44, 182.714], [1040.9, 1098.35, 38.7666], [-347.269, 121.522, 212.075], [1393.93, 401.215, 83.0361], [422.559, 1574.0, 107.175], [256.4, 744.371, 54.4692], [840.299, 750.223, 38.662]], -0.444136, 55.3995, -0.444136],\n", + "]\n", + "\n", + "heading_poses_over_time = np.array([\n", + " item[0] for item in data_with_headings\n", + "])\n", + "motion_over_time = np.array([\n", + " item[1:] for item in data_with_headings\n", + "])\n", + "\n", + "heading_poses_over_time\n", + "fig, ax = plt.subplots()\n", + "for pose_index in range(heading_poses_over_time.shape[1]):\n", + " ax.scatter(heading_poses_over_time[:, pose_index, 0], heading_poses_over_time[:, pose_index, 1])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Poses over time (24, 20, 3) (3,)\n", + "(3,)\n", + "Original pose: [925.478 311.719 208.524] -> calculated: [924.95827968 311.4334462 209.048082 ] on robot: [924.88 311.124 241.301]\n", + "0.262041 0.593001 0.262041\n" + ] + } + ], + "source": [ + "def transform_poses(poses: np.array, rot1: float, trans: float, rot2: float) -> np.array:\n", + " \"\"\"Rot1 -> degrees,\n", + " trans -> mm,\n", + " rot2 -> degrees \"\"\"\n", + " new_poses = poses.copy()\n", + " print(new_poses[0].shape)\n", + " new_poses[:,2] += rot1\n", + " rotation_radians = np.radians(new_poses[:, 2])\n", + " new_poses[:,0] += trans * np.cos(rotation_radians)\n", + " new_poses[:,1] += trans * np.sin(rotation_radians)\n", + " new_poses[:,2] += rot2\n", + " return new_poses\n", + "\n", + "print(\"Poses over time\", heading_poses_over_time.shape, motion_over_time[0].shape)\n", + "new_poses = transform_poses(heading_poses_over_time[0], motion_over_time[0,0], motion_over_time[0,1], motion_over_time[0,2])\n", + "print(\"Original pose:\", heading_poses_over_time[0,0], \"-> calculated:\", new_poses[0], \"on robot:\", heading_poses_over_time[1, 0])\n", + "print(motion_over_time[0,0], motion_over_time[0,1], motion_over_time[0,2])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The robot one and the code one I here look nothing alike. Is it the constraint? Try adding it." + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Poses over time (24, 20, 3) (3,)\n", + "(3,)\n", + "Original pose: [925.478 311.719 208.524] -> calculated: [924.95827968 311.4334462 209.048082 ] on robot: [924.88 311.124 241.301]\n", + "0.262041 0.593001 0.262041\n" + ] + } + ], + "source": [ + "\n", + "constrain_360 = np.vectorize(lambda n: float(n % 360))\n", + "def constrain_transform_poses(poses: np.array, rot1: float, trans: float, rot2: float) -> np.array:\n", + " \"\"\"Rot1 -> degrees,\n", + " trans -> mm,\n", + " rot2 -> degrees \"\"\"\n", + " new_poses = poses.copy()\n", + " print(new_poses[0].shape)\n", + " new_poses[:,2] += rot1\n", + " rotation_radians = np.radians(new_poses[:, 2])\n", + " new_poses[:,0] += trans * np.cos(rotation_radians)\n", + " new_poses[:,1] += trans * np.sin(rotation_radians)\n", + " new_poses[:,2] += rot2\n", + " new_poses[:,2] = constrain_360(new_poses[:,2])\n", + " return new_poses\n", + "\n", + "print(\"Poses over time\", heading_poses_over_time.shape, motion_over_time[0].shape)\n", + "new_poses = constrain_transform_poses(heading_poses_over_time[0], motion_over_time[0,0], motion_over_time[0,1], motion_over_time[0,2])\n", + "print(\"Original pose:\", heading_poses_over_time[0,0], \"-> calculated:\", new_poses[0], \"on robot:\", heading_poses_over_time[1, 0])\n", + "print(motion_over_time[0,0], motion_over_time[0,1], motion_over_time[0,2])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Not the constraint. How else is my scenario different?\n", + "- We are making a copy, but that should not matter.\n", + "- Is the += operator on a list the same on the robot?" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the robot:\n", + "```python\n", + ">>> d = np.arange(20, dtype=np.float)\n", + ">>> d\n", + "array([0.0, 1.0, 2.0, ..., 17.0, 18.0, 19.0], dtype=float32)\n", + ">>> d += 0.13\n", + ">>> d\n", + "array([0.13, 1.13, 2.13, ..., 17.13, 18.13, 19.13], dtype=float32)\n", + "```" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ok - I tried a bit of code on the robot - and got the 209 (not 241) heading. Whaaaaa?" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Simply put, the heading diffs between pose row 0 and 1 should be the same as the motion row 0 heading delta." + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 3.27770000e+01, 6.64000000e-01, -5.20000000e-01, 1.19787000e+02,\n", + " -8.42200000e-01, 4.38000000e-02, 8.86000000e-01, -4.84790000e-01,\n", + " 3.59310473e+02, -5.82230000e+01, 4.49200000e-01, 7.13000000e-01,\n", + " -7.93262000e+01, -3.05000000e-01, 7.86130000e-01, -5.68730000e+01,\n", + " -7.38000000e-01, -4.08000000e-01, 9.37770000e+01, 7.59000000e-01])" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# heading_diffs\n", + "heading_poses_over_time[1, :, 2] - heading_poses_over_time[0, :, 2]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "And they are so clearly not. What is going on?\n", + "rot1 or 2 are not lists? we dumped them above - clearly not.\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Okay - reran code on my bot - based on the motion model - and it's doing the correct thing. What else is wrong there? This works correctly on the robot.\n", + "```python\n", + "def constrain_transform_poses(poses: np.array, rot1: float, trans: float, rot2: float) -> np.array:\n", + " \"\"\"Rot1 -> degrees,\n", + " trans -> mm,\n", + " rot2 -> degrees \"\"\"\n", + " new_poses = poses.copy()\n", + " print(new_poses[0].shape)\n", + " new_poses[:,2] += rot1\n", + " rotation_radians = np.radians(new_poses[:, 2])\n", + " new_poses[:,0] += trans * np.cos(rotation_radians)\n", + " new_poses[:,1] += trans * np.sin(rotation_radians)\n", + " new_poses[:,2] += rot2\n", + " new_poses[:,2] = constrain_360(new_poses[:,2])\n", + " return new_poses\n", + "```\n", + "- Try making it async...\n", + " - With it awaiting and returning a result - same thing.\n", + "- Try setting the original poses - no copy. - same result.\n", + "- try putting in a class and put the poses as a class member - which is now mutated instead of returned. - still the same.\n", + "- Its not the ulab.numpy.array.tolist.\n", + "\n", + "Oh fgs - I'm looking at the poses POST transform - not pre - aaaarrrg! Lets confirm that." + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 3.27770000e+01, 6.64000000e-01, -5.20000000e-01, 1.19787000e+02,\n", + " -8.42200000e-01, 4.38000000e-02, 8.86000000e-01, -4.84790000e-01,\n", + " 3.59310473e+02, -5.82230000e+01, 4.49200000e-01, 7.13000000e-01,\n", + " -7.93262000e+01, -3.05000000e-01, 7.86130000e-01, -5.68730000e+01,\n", + " -7.38000000e-01, -4.08000000e-01, 9.37770000e+01, 7.59000000e-01])" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "heading_poses_over_time[1, :, 2] - heading_poses_over_time[0, :, 2]" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "16.3886" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "motion_over_time[1, 2]" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Wait - so it's still not this value... What are we now getting on the robot simplified poses code? Lets' put in motion item 1.\n", + "- I get the exact same result on the robot. And do I get that here?" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(3,)\n", + "Transform: 16.3886 0.843376 16.3886\n", + "Original pose: [925.478 311.719 208.524] -> calculated: [924.88073411 311.1235535 241.3012 ] on robot: [924.88 311.124 241.301]\n", + "Original pose: [1385.53 520.633 305.534] -> calculated: [1386.19388733 520.11286858 338.3112 ] on robot: [1386.2 520.113 306.198]\n", + "Original pose: [ 41.4205 94.8741 160.633 ] -> calculated: [ 40.57826324 94.91792138 193.4102 ] on robot: [ 40.5783 94.9179 160.113 ]\n" + ] + } + ], + "source": [ + "def transform_poses(poses: np.array, rot1: float, trans: float, rot2: float) -> np.array:\n", + " \"\"\"Rot1 -> degrees,\n", + " trans -> mm,\n", + " rot2 -> degrees \"\"\"\n", + " new_poses = poses.copy()\n", + " print(new_poses[0].shape)\n", + " new_poses[:,2] += rot1\n", + " rotation_radians = np.radians(new_poses[:, 2])\n", + " new_poses[:,0] += trans * np.cos(rotation_radians)\n", + " new_poses[:,1] += trans * np.sin(rotation_radians)\n", + " new_poses[:,2] += rot2\n", + " return new_poses\n", + "\n", + "new_poses = transform_poses(heading_poses_over_time[0], motion_over_time[1,0], motion_over_time[1,1], motion_over_time[1,2])\n", + "print(\"Transform:\", motion_over_time[1,0], motion_over_time[1,1], motion_over_time[1,2])\n", + "print(\"Original pose:\", heading_poses_over_time[0,0], \"-> calculated:\", new_poses[0], \"on robot:\", heading_poses_over_time[1, 0])\n", + "print(\"Original pose:\", heading_poses_over_time[0,1], \"-> calculated:\", new_poses[1], \"on robot:\", heading_poses_over_time[1, 1])\n", + "print(\"Original pose:\", heading_poses_over_time[0,2], \"-> calculated:\", new_poses[2], \"on robot:\", heading_poses_over_time[1, 2])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Ok - this works here, but not on the robot (example code, what about test code). What is going on?" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "32.77719999999999" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "241.3012 - 208.524" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "32.77719999999999" + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "338.3112 - 305.534" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Going back to simplified code on the robot, not using the constraint 360, or classes. And it behaves as above - we get 338.3112, not 306.198.\n", + "- Add the constrain in - and it goes wrong again! Same here?" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(3,)\n", + "Transform: 16.3886 0.843376 16.3886\n", + "Original pose: [925.478 311.719 208.524] -> calculated: [924.88073411 311.1235535 241.3012 ] on robot: [924.88 311.124 241.301]\n", + "Original pose: [1385.53 520.633 305.534] -> calculated: [1386.19388733 520.11286858 338.3112 ] on robot: [1386.2 520.113 306.198]\n", + "Original pose: [ 41.4205 94.8741 160.633 ] -> calculated: [ 40.57826324 94.91792138 193.4102 ] on robot: [ 40.5783 94.9179 160.113 ]\n" + ] + } + ], + "source": [ + "constrain_360 = np.vectorize(lambda n: float(n % 360))\n", + "def transform_poses111(poses: np.array, rot1: float, trans: float, rot2: float) -> np.array:\n", + " \"\"\"Rot1 -> degrees,\n", + " trans -> mm,\n", + " rot2 -> degrees \"\"\"\n", + " new_poses = poses.copy()\n", + " print(new_poses[0].shape)\n", + " new_poses[:,2] += rot1\n", + " rotation_radians = np.radians(new_poses[:, 2])\n", + " new_poses[:,0] += trans * np.cos(rotation_radians)\n", + " new_poses[:,1] += trans * np.sin(rotation_radians)\n", + " new_poses[:,2] += rot2\n", + " new_poses[:,2] = constrain_360(new_poses[:,2])\n", + " return new_poses\n", + "\n", + "new_poses = transform_poses111(heading_poses_over_time[0], motion_over_time[1,0], motion_over_time[1,1], motion_over_time[1,2])\n", + "print(\"Transform:\", motion_over_time[1,0], motion_over_time[1,1], motion_over_time[1,2])\n", + "print(\"Original pose:\", heading_poses_over_time[0,0], \"-> calculated:\", new_poses[0], \"on robot:\", heading_poses_over_time[1, 0])\n", + "print(\"Original pose:\", heading_poses_over_time[0,1], \"-> calculated:\", new_poses[1], \"on robot:\", heading_poses_over_time[1, 1])\n", + "print(\"Original pose:\", heading_poses_over_time[0,2], \"-> calculated:\", new_poses[2], \"on robot:\", heading_poses_over_time[1, 2])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Almost like vectorize doesn't work on the robot?\n", + "- Add a dumb constrain without vectorize:\n", + "```python\n", + "def dumb_constrain_360(items):\n", + " return np.array([float(item % 360) for item in items])\n", + "```\n", + "That works.\n", + "\n", + "Ok - trying plain vectorize test in CircuitPython:\n", + "```python\n", + "from ulab import numpy as np\n", + "headings = np.array([\n", + " 241.301,\n", + " 338.311,\n", + " 193.41,\n", + " 51.301,\n", + " 4.1977,\n", + " 127.651,\n", + " 225.301,\n", + " 42.1525,\n", + " 33.3177,\n", + " 342.301,\n", + " 124.247,\n", + " 292.044,\n", + " 186.301,\n", + " 302.185,\n", + " 9.7328,\n", + " 217.301,\n", + " 249.386,\n", + " 2.2231,\n", + " 164.301,\n", + " 197.687\n", + "])\n", + "\n", + "constrain_360 = np.vectorize(lambda n: float(n % 360))\n", + "print(repr(constrain_360(headings).tolist()))\n", + "```\n", + "That works.\n", + "- Maybe the combo of vectorise and a numpy list slice?\n", + "`output = constrain_360(new_poses[:,2])` - yes - that does it.\n", + "- Just printing the slice, gives the right result. Is this something todo with being a numpy array?\n", + " - What about storing the result in an intermediate? - doesn't help\n", + "\n", + "If vectorise is making strange behaviour, and if according to numpy doc it's not for performance (only convenience), then my code is simpler, book easier to explain and no slower by using a list comprehension. Let's do that.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "241.301,\n", + "338.311,\n", + "193.41,\n", + "51.301,\n", + "4.1977,\n", + "127.651,\n", + "225.301,\n", + "42.1525,\n", + "33.3177,\n", + "342.301,\n", + "124.247,\n", + "292.044,\n", + "186.301,\n", + "302.185,\n", + "9.7328,\n", + "217.301,\n", + "249.386,\n", + "2.2231,\n", + "164.301,\n", + "197.687" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "With vectorise: [241.301, 338.311, 193.41, 251.301, 74.1977, 127.651, 225.301, 42.1525, 33.3177, 342.301, 124.247, 292.044, 186.301, 302.185, 39.7328, 217.301, 249.386, 32.2231, 164.301, 197.687]\n", + "With list comprehension: [241.301, 338.311, 193.41, 251.301, 74.1977, 127.651, 225.301, 42.1525, 33.3177, 342.301, 124.247, 292.044, 186.301, 302.185, 39.7328, 217.301, 249.386, 32.2231, 164.301, 197.687]\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/87/nv1zkt0s2nq86764_c0jf94h0000gn/T/ipykernel_98694/638229896.py:24: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.\n", + "Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations\n", + " ], dtype=np.float)\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "\n", + "new_poses = np.array([\n", + " [924.881, 311.124, 241.301],\n", + " [1386.19, 520.113, 338.311],\n", + " [40.5783, 94.9179, 193.41],\n", + " [8.8905, 1079.85, 251.301],\n", + " [1171.92, 619.98, 74.1977],\n", + " [629.102, 1447.75, 127.651],\n", + " [575.871, 719.038, 225.301],\n", + " [525.669, 501.781, 42.1525],\n", + " [699.721, 1331.84, 33.3177],\n", + " [189.287, 1133.59, 342.301],\n", + " [178.183, 121.003, 124.247],\n", + " [1039.49, 1340.16, 292.044],\n", + " [173.717, 1006.77, 186.301],\n", + " [193.793, 1225.38, 302.185],\n", + " [886.23, 866.955, 39.7328],\n", + " [450.798, 356.609, 217.301],\n", + " [748.301, 47.7649, 249.386],\n", + " [511.64, 789.662, 32.2231],\n", + " [464.355, 719.037, 164.301],\n", + " [1094.59, 790.142, 197.687]\n", + "], dtype=np.float)\n", + "\n", + "constrain_360 = np.vectorize(lambda n: n % 360)\n", + "intermediate = new_poses[:,2]\n", + "output = constrain_360(intermediate)\n", + "output2 = np.array([n % 360 for n in intermediate])\n", + "print(\"With vectorise:\", repr(output.tolist()))\n", + "print(\"With list comprehension:\", repr(output2.tolist()))\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "modelling-space-PK-9Kbkb-py3.9", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.15" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "0e849ea89ee47e1132ea7296f1ee1190d374e3d2d90c5960d8a36248408ee6b5" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/ch-13/2.3-movement-uncertainty/banana_shaped.py b/ch-13/2.3-movement-uncertainty/banana_shaped.py new file mode 100644 index 0000000..924f9c0 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/banana_shaped.py @@ -0,0 +1,50 @@ +import numpy as np +from matplotlib import pyplot as plt, patches +from robot import arena +import random + +fig, ax = plt.subplots() + +# for line in arena.boundary_lines: +# plt.plot([line[0][0], line[1][0]], [line[0][1], line[1][1]], color="black") + +poses = np.random.normal([250, 300], [2, 2], size=(200, 2)) +ax.scatter(poses[:, 0], poses[:, 1]) + +# create a line for a motion vector +motion_angle = 30 +motion_scale = 300 +motion_line = np.array([[250, 300], + [motion_scale * np.cos(np.radians(motion_angle)), motion_scale * np.sin(np.radians(motion_angle))]]) + + +def get_scaled_sample_around_mean(mean, scale): + return mean + (random.uniform(-scale, scale) + random.uniform(-scale, scale)) / 2 + +rotation_scale = 0.05 * abs(motion_angle) + 0.01 * abs(motion_scale) +translation_scale = 0.05 * abs(motion_scale) + 0.01 * abs(motion_angle) + +motion_rotation = np.array([get_scaled_sample_around_mean(motion_angle, rotation_scale) for _ in range(poses.shape[0])]) +motion_translation = np.array([get_scaled_sample_around_mean(motion_scale, translation_scale) for _ in range(poses.shape[0])]) + +new_poses = np.zeros_like(poses) +new_poses[:, 0] = poses[:, 0] + motion_translation * np.cos(np.radians(motion_rotation)) +new_poses[:, 1] = poses[:, 1] + motion_translation * np.sin(np.radians(motion_rotation)) +# new_poses[:, 0] = poses[:, 0] + motion_scale * np.cos(np.radians(motion_angle)) +# new_poses[:, 1] = poses[:, 1] + motion_scale * np.sin(np.radians(motion_angle)) + +ax.scatter(new_poses[:, 0], new_poses[:, 1]) + +# plot the vector arrow +ax.arrow(*motion_line[0], *motion_line[1], color="red", width=5) + +# plot the angles on top +# line from original cluster middle, going east. +ax.plot([250, 250+100], [300, 300], color="black") + +angle = patches.Wedge((250, 300), 100, 0, motion_angle, width=20, color=(0.3, 0.3, 0.3, 0.3)) +ax.add_patch(angle) +ax.text(370, 330, f"{motion_angle}°", horizontalalignment="center", verticalalignment="center", + fontsize="x-large") + +plt.show() diff --git a/ch-13/2.3-movement-uncertainty/display_from_robot.py b/ch-13/2.3-movement-uncertainty/display_from_robot.py new file mode 100644 index 0000000..cef09c3 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/display_from_robot.py @@ -0,0 +1,73 @@ +import asyncio +import json +import numpy as np +import matplotlib.pyplot as plt +from matplotlib.widgets import Button + +from robot_ble_connection import BleConnection + + +class RobotDisplay: + def __init__(self): + self.ble_connection = BleConnection(self.handle_data) + self.buffer = "" + self.arena = {} + self.closed = False + self.fig, self.ax = plt.subplots() + self.poses = None + + def handle_close(self, _): + self.closed = True + + def handle_data(self, data): + self.buffer += data.decode("utf-8") + while "\n" in self.buffer: + line, self.buffer = self.buffer.split("\n", 1) + print(f"Received data: {line}") + try: + message = json.loads(line) + except ValueError: + print("Error parsing JSON") + return + if "arena" in message: + self.arena = message + if "poses" in message: + self.poses = np.array(message["poses"], dtype=np.int16) + + def draw(self): + self.ax.clear() + if self.arena: + for line in self.arena["arena"]: + self.ax.plot( + [line[0][0], line[1][0]], [line[0][1], line[1][1]], color="black" + ) + if self.poses is not None: + self.ax.scatter(self.poses[:,0], self.poses[:,1], color="blue") + + async def send_command(self, command): + request = (json.dumps({"command": command}) ).encode() + print(f"Sending request: {request}") + await self.ble_connection.send_uart_data(request) + + def start(self, _): + self.button_task = asyncio.create_task(self.send_command("start")) + + async def main(self): + plt.ion() + await self.ble_connection.connect() + try: + await self.send_command("arena") + self.fig.canvas.mpl_connect("close_event", self.handle_close) + start_button = Button(plt.axes([0.7, 0.05, 0.1, 0.075]), "Start") + start_button.on_clicked(self.start) + while not self.closed: + self.draw() + plt.draw() + plt.pause(0.05) + await asyncio.sleep(0.01) + finally: + await self.ble_connection.close() + + +robot_display = RobotDisplay() +asyncio.run(robot_display.main()) diff --git a/ch-13/2.3-movement-uncertainty/poetry.lock b/ch-13/2.3-movement-uncertainty/poetry.lock new file mode 100644 index 0000000..d4e15d9 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/poetry.lock @@ -0,0 +1,2572 @@ +[[package]] +name = "anyio" +version = "3.6.2" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +category = "main" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +idna = ">=2.8" +sniffio = ">=1.1" + +[package.extras] +doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"] +trio = ["trio (>=0.16,<0.22)"] + +[[package]] +name = "appnope" +version = "0.1.3" +description = "Disable App Nap on macOS >= 10.9" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "argon2-cffi" +version = "21.3.0" +description = "The secure Argon2 password hashing algorithm." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +argon2-cffi-bindings = "*" + +[package.extras] +dev = ["cogapp", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "pre-commit", "pytest", "sphinx", "sphinx-notfound-page", "tomli"] +docs = ["furo", "sphinx", "sphinx-notfound-page"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest"] + +[[package]] +name = "argon2-cffi-bindings" +version = "21.2.0" +description = "Low-level CFFI bindings for Argon2" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +cffi = ">=1.0.1" + +[package.extras] +dev = ["cogapp", "pre-commit", "pytest", "wheel"] +tests = ["pytest"] + +[[package]] +name = "arrow" +version = "1.2.3" +description = "Better dates & times for Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +python-dateutil = ">=2.7.0" + +[[package]] +name = "asttokens" +version = "2.2.1" +description = "Annotate AST trees with source code positions" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +six = "*" + +[package.extras] +test = ["astroid", "pytest"] + +[[package]] +name = "async-timeout" +version = "4.0.2" +description = "Timeout context manager for asyncio programs" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "attrs" +version = "22.2.0" +description = "Classes Without Boilerplate" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] +dev = ["attrs[docs,tests]"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] +tests = ["attrs[tests-no-zope]", "zope.interface"] +tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=0.971,<0.990)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests_no_zope = ["cloudpickle", "hypothesis", "mypy (>=0.971,<0.990)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] + +[[package]] +name = "backcall" +version = "0.2.0" +description = "Specifications for callback functions passed in to an API" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "beautifulsoup4" +version = "4.11.1" +description = "Screen-scraping library" +category = "main" +optional = false +python-versions = ">=3.6.0" + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +html5lib = ["html5lib"] +lxml = ["lxml"] + +[[package]] +name = "black" +version = "22.10.0" +description = "The uncompromising code formatter." +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""} +typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "bleach" +version = "5.0.1" +description = "An easy safelist-based HTML-sanitizing tool." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +six = ">=1.9.0" +webencodings = "*" + +[package.extras] +css = ["tinycss2 (>=1.1.0,<1.2)"] +dev = ["Sphinx (==4.3.2)", "black (==22.3.0)", "build (==0.8.0)", "flake8 (==4.0.1)", "hashin (==0.17.0)", "mypy (==0.961)", "pip-tools (==6.6.2)", "pytest (==7.1.2)", "tox (==3.25.0)", "twine (==4.0.1)", "wheel (==0.37.1)"] + +[[package]] +name = "bleak" +version = "0.19.0" +description = "Bluetooth Low Energy platform Agnostic Klient" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" + +[package.dependencies] +async-timeout = ">=3.0.0,<5" +bleak-winrt = {version = ">=1.2.0,<2.0.0", markers = "platform_system == \"Windows\""} +dbus-fast = {version = ">=1.22.0,<2.0.0", markers = "platform_system == \"Linux\""} +pyobjc-core = {version = ">=8.5.1,<9.0.0", markers = "platform_system == \"Darwin\""} +pyobjc-framework-CoreBluetooth = {version = ">=8.5.1,<9.0.0", markers = "platform_system == \"Darwin\""} +pyobjc-framework-libdispatch = {version = ">=8.5.1,<9.0.0", markers = "platform_system == \"Darwin\""} + +[[package]] +name = "bleak-winrt" +version = "1.2.0" +description = "Python WinRT bindings for Bleak" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "cffi" +version = "1.15.1" +description = "Foreign Function Interface for Python calling C code." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +pycparser = "*" + +[[package]] +name = "click" +version = "8.1.3" +description = "Composable command line interface toolkit" +category = "dev" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" + +[[package]] +name = "comm" +version = "0.1.2" +description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +traitlets = ">=5.3" + +[package.extras] +test = ["pytest"] + +[[package]] +name = "contourpy" +version = "1.0.6" +description = "Python library for calculating contours of 2D quadrilateral grids" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +numpy = ">=1.16" + +[package.extras] +bokeh = ["bokeh", "selenium"] +docs = ["docutils (<0.18)", "sphinx (<=5.2.0)", "sphinx-rtd-theme"] +test = ["Pillow", "flake8", "isort", "matplotlib", "pytest"] +test-minimal = ["pytest"] +test-no-codebase = ["Pillow", "matplotlib", "pytest"] + +[[package]] +name = "cycler" +version = "0.11.0" +description = "Composable style cycles" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "dbus-fast" +version = "1.64.0" +description = "A faster version of dbus-next" +category = "main" +optional = false +python-versions = ">=3.7,<4.0" + +[package.dependencies] +async-timeout = {version = ">=3.0.0", markers = "python_version < \"3.11\""} + +[[package]] +name = "debugpy" +version = "1.6.4" +description = "An implementation of the Debug Adapter Protocol for Python" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "decorator" +version = "5.1.1" +description = "Decorators for Humans" +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "defusedxml" +version = "0.7.1" +description = "XML bomb protection for Python stdlib modules" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "entrypoints" +version = "0.4" +description = "Discover and load entry points from installed packages." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "executing" +version = "1.2.0" +description = "Get the currently executing AST node of a frame, and other information" +category = "main" +optional = false +python-versions = "*" + +[package.extras] +tests = ["asttokens", "littleutils", "pytest", "rich"] + +[[package]] +name = "fastjsonschema" +version = "2.16.2" +description = "Fastest Python implementation of JSON schema" +category = "main" +optional = false +python-versions = "*" + +[package.extras] +devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"] + +[[package]] +name = "fonttools" +version = "4.38.0" +description = "Tools to manipulate font files" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=14.0.0)", "xattr", "zopfli (>=0.1.4)"] +graphite = ["lz4 (>=1.7.4.2)"] +interpolatable = ["munkres", "scipy"] +lxml = ["lxml (>=4.0,<5)"] +pathops = ["skia-pathops (>=0.5.0)"] +plot = ["matplotlib"] +repacker = ["uharfbuzz (>=0.23.0)"] +symfont = ["sympy"] +type1 = ["xattr"] +ufo = ["fs (>=2.2.0,<3)"] +unicode = ["unicodedata2 (>=14.0.0)"] +woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] + +[[package]] +name = "fqdn" +version = "1.5.1" +description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" + +[[package]] +name = "idna" +version = "3.4" +description = "Internationalized Domain Names in Applications (IDNA)" +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "importlib-metadata" +version = "5.2.0" +description = "Read metadata from Python packages" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +zipp = ">=0.5" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +perf = ["ipython"] +testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"] + +[[package]] +name = "ipykernel" +version = "6.19.4" +description = "IPython Kernel for Jupyter" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +appnope = {version = "*", markers = "platform_system == \"Darwin\""} +comm = ">=0.1.1" +debugpy = ">=1.0" +ipython = ">=7.23.1" +jupyter-client = ">=6.1.12" +matplotlib-inline = ">=0.1" +nest-asyncio = "*" +packaging = "*" +psutil = "*" +pyzmq = ">=17" +tornado = ">=6.1" +traitlets = ">=5.4.0" + +[package.extras] +cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt"] +test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "ipython" +version = "8.7.0" +description = "IPython: Productive Interactive Computing" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +appnope = {version = "*", markers = "sys_platform == \"darwin\""} +backcall = "*" +colorama = {version = "*", markers = "sys_platform == \"win32\""} +decorator = "*" +jedi = ">=0.16" +matplotlib-inline = "*" +pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} +pickleshare = "*" +prompt-toolkit = ">=3.0.11,<3.1.0" +pygments = ">=2.4.0" +stack-data = "*" +traitlets = ">=5" + +[package.extras] +all = ["black", "curio", "docrepr", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.20)", "pandas", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"] +black = ["black"] +doc = ["docrepr", "ipykernel", "matplotlib", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"] +kernel = ["ipykernel"] +nbconvert = ["nbconvert"] +nbformat = ["nbformat"] +notebook = ["ipywidgets", "notebook"] +parallel = ["ipyparallel"] +qtconsole = ["qtconsole"] +test = ["pytest (<7.1)", "pytest-asyncio", "testpath"] +test_extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.20)", "pandas", "pytest (<7.1)", "pytest-asyncio", "testpath", "trio"] + +[[package]] +name = "ipython_genutils" +version = "0.2.0" +description = "Vestigial utilities from IPython" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "ipywidgets" +version = "8.0.4" +description = "Jupyter interactive widgets" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +ipykernel = ">=4.5.1" +ipython = ">=6.1.0" +jupyterlab-widgets = ">=3.0,<4.0" +traitlets = ">=4.3.1" +widgetsnbextension = ">=4.0,<5.0" + +[package.extras] +test = ["jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] + +[[package]] +name = "isoduration" +version = "20.11.0" +description = "Operations with ISO 8601 durations" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +arrow = ">=0.15.0" + +[[package]] +name = "jedi" +version = "0.18.2" +description = "An autocompletion tool for Python that can be used for text editors." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +parso = ">=0.8.0,<0.9.0" + +[package.extras] +docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["Django (<3.1)", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] + +[[package]] +name = "Jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "jsonpointer" +version = "2.3" +description = "Identify specific nodes in a JSON document (RFC 6901)" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "jsonschema" +version = "4.17.3" +description = "An implementation of JSON Schema validation for Python" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +attrs = ">=17.4.0" +fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""} +pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" +rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""} +uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} +webcolors = {version = ">=1.11", optional = true, markers = "extra == \"format-nongpl\""} + +[package.extras] +format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] + +[[package]] +name = "jupyter" +version = "1.0.0" +description = "Jupyter metapackage. Install all the Jupyter components in one go." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +ipykernel = "*" +ipywidgets = "*" +jupyter-console = "*" +nbconvert = "*" +notebook = "*" +qtconsole = "*" + +[[package]] +name = "jupyter-client" +version = "7.4.8" +description = "Jupyter protocol implementation and client libraries" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +entrypoints = "*" +jupyter-core = ">=4.9.2" +nest-asyncio = ">=1.5.4" +python-dateutil = ">=2.8.2" +pyzmq = ">=23.0" +tornado = ">=6.2" +traitlets = "*" + +[package.extras] +doc = ["ipykernel", "myst-parser", "sphinx (>=1.3.6)", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] +test = ["codecov", "coverage", "ipykernel (>=6.12)", "ipython", "mypy", "pre-commit", "pytest", "pytest-asyncio (>=0.18)", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "jupyter-console" +version = "6.4.4" +description = "Jupyter terminal console" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +ipykernel = "*" +ipython = "*" +jupyter-client = ">=7.0.0" +prompt-toolkit = ">=2.0.0,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.1.0" +pygments = "*" + +[package.extras] +test = ["pexpect"] + +[[package]] +name = "jupyter-core" +version = "5.1.1" +description = "Jupyter core package. A base package on which Jupyter projects rely." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +platformdirs = ">=2.5" +pywin32 = {version = ">=1.0", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} +traitlets = ">=5.3" + +[package.extras] +docs = ["myst-parser", "sphinxcontrib-github-alt", "traitlets"] +test = ["ipykernel", "pre-commit", "pytest", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "jupyter-events" +version = "0.5.0" +description = "Jupyter Event System library" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +jsonschema = {version = ">=4.3.0", extras = ["format-nongpl"]} +python-json-logger = "*" +pyyaml = "*" +traitlets = "*" + +[package.extras] +cli = ["click", "rich"] +test = ["click", "coverage", "pre-commit", "pytest (>=6.1.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "pytest-cov", "rich"] + +[[package]] +name = "jupyter-server" +version = "2.0.5" +description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +anyio = ">=3.1.0,<4" +argon2-cffi = "*" +jinja2 = "*" +jupyter-client = ">=7.4.4" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +jupyter-events = ">=0.4.0" +jupyter-server-terminals = "*" +nbconvert = ">=6.4.4" +nbformat = ">=5.3.0" +packaging = "*" +prometheus-client = "*" +pywinpty = {version = "*", markers = "os_name == \"nt\""} +pyzmq = ">=24" +send2trash = "*" +terminado = ">=0.8.3" +tornado = ">=6.2.0" +traitlets = ">=5.6.0" +websocket-client = "*" + +[package.extras] +docs = ["docutils (<0.20)", "ipykernel", "jinja2", "jupyter-client", "jupyter-server", "mistune (<1.0.0)", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxemoji", "tornado"] +test = ["ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.4)", "pytest-timeout", "requests"] + +[[package]] +name = "jupyter-server-terminals" +version = "0.4.3" +description = "A Jupyter Server Extension Providing Terminals." +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} +terminado = ">=0.8.3" + +[package.extras] +docs = ["jinja2", "jupyter-server", "mistune (<3.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxemoji", "tornado"] +test = ["coverage", "jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-cov", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] + +[[package]] +name = "jupyterlab-pygments" +version = "0.2.2" +description = "Pygments theme using JupyterLab CSS variables" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.5" +description = "Jupyter interactive widgets for JupyterLab" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "kiwisolver" +version = "1.4.4" +description = "A fast implementation of the Cassowary constraint solver" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "MarkupSafe" +version = "2.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "matplotlib" +version = "3.6.1" +description = "Python plotting package" +category = "main" +optional = false +python-versions = ">=3.8" + +[package.dependencies] +contourpy = ">=1.0.1" +cycler = ">=0.10" +fonttools = ">=4.22.0" +kiwisolver = ">=1.0.1" +numpy = ">=1.19" +packaging = ">=20.0" +pillow = ">=6.2.0" +pyparsing = ">=2.2.1" +python-dateutil = ">=2.7" +setuptools_scm = ">=7" + +[[package]] +name = "matplotlib-inline" +version = "0.1.6" +description = "Inline Matplotlib backend for Jupyter" +category = "main" +optional = false +python-versions = ">=3.5" + +[package.dependencies] +traitlets = "*" + +[[package]] +name = "mistune" +version = "2.0.4" +description = "A sane Markdown parser with useful plugins and renderers" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "mypy-extensions" +version = "0.4.3" +description = "Experimental type system extensions for programs checked with the mypy typechecker." +category = "dev" +optional = false +python-versions = "*" + +[[package]] +name = "nbclassic" +version = "0.4.8" +description = "A web-based notebook environment for interactive computing" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +argon2-cffi = "*" +ipykernel = "*" +ipython-genutils = "*" +jinja2 = "*" +jupyter-client = ">=6.1.1" +jupyter-core = ">=4.6.1" +jupyter-server = ">=1.8" +nbconvert = ">=5" +nbformat = "*" +nest-asyncio = ">=1.5" +notebook-shim = ">=0.1.0" +prometheus-client = "*" +pyzmq = ">=17" +Send2Trash = ">=1.8.0" +terminado = ">=0.8.3" +tornado = ">=6.1" +traitlets = ">=4.2.1" + +[package.extras] +docs = ["myst-parser", "nbsphinx", "sphinx", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] +json-logging = ["json-logging"] +test = ["coverage", "nbval", "pytest", "pytest-cov", "pytest-playwright", "pytest-tornasync", "requests", "requests-unixsocket", "testpath"] + +[[package]] +name = "nbclient" +version = "0.7.2" +description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." +category = "main" +optional = false +python-versions = ">=3.7.0" + +[package.dependencies] +jupyter-client = ">=6.1.12" +jupyter-core = ">=4.12,<5.0.0 || >=5.1.0" +nbformat = ">=5.1" +traitlets = ">=5.3" + +[package.extras] +dev = ["pre-commit"] +docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme"] +test = ["ipykernel", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] + +[[package]] +name = "nbconvert" +version = "7.2.7" +description = "Converting Jupyter Notebooks" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +beautifulsoup4 = "*" +bleach = "*" +defusedxml = "*" +importlib-metadata = {version = ">=3.6", markers = "python_version < \"3.10\""} +jinja2 = ">=3.0" +jupyter-core = ">=4.7" +jupyterlab-pygments = "*" +markupsafe = ">=2.0" +mistune = ">=2.0.3,<3" +nbclient = ">=0.5.0" +nbformat = ">=5.1" +packaging = "*" +pandocfilters = ">=1.4.1" +pygments = ">=2.4.1" +tinycss2 = "*" +traitlets = ">=5.0" + +[package.extras] +all = ["nbconvert[docs,qtpdf,serve,test,webpdf]"] +docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)"] +qtpdf = ["nbconvert[qtpng]"] +qtpng = ["pyqtwebengine (>=5.15)"] +serve = ["tornado (>=6.1)"] +test = ["ipykernel", "ipywidgets (>=7)", "pre-commit", "pytest", "pytest-dependency"] +webpdf = ["pyppeteer (>=1,<1.1)"] + +[[package]] +name = "nbformat" +version = "5.7.1" +description = "The Jupyter Notebook format" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +fastjsonschema = "*" +jsonschema = ">=2.6" +jupyter-core = "*" +traitlets = ">=5.1" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt"] +test = ["pep440", "pre-commit", "pytest", "testpath"] + +[[package]] +name = "nest-asyncio" +version = "1.5.6" +description = "Patch asyncio to allow nested event loops" +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "notebook" +version = "6.5.2" +description = "A web-based notebook environment for interactive computing" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +argon2-cffi = "*" +ipykernel = "*" +ipython-genutils = "*" +jinja2 = "*" +jupyter-client = ">=5.3.4" +jupyter-core = ">=4.6.1" +nbclassic = ">=0.4.7" +nbconvert = ">=5" +nbformat = "*" +nest-asyncio = ">=1.5" +prometheus-client = "*" +pyzmq = ">=17" +Send2Trash = ">=1.8.0" +terminado = ">=0.8.3" +tornado = ">=6.1" +traitlets = ">=4.2.1" + +[package.extras] +docs = ["myst-parser", "nbsphinx", "sphinx", "sphinx-rtd-theme", "sphinxcontrib-github-alt"] +json-logging = ["json-logging"] +test = ["coverage", "nbval", "pytest", "pytest-cov", "requests", "requests-unixsocket", "selenium (==4.1.5)", "testpath"] + +[[package]] +name = "notebook-shim" +version = "0.2.2" +description = "A shim layer for notebook traits and config" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +jupyter-server = ">=1.8,<3" + +[package.extras] +test = ["pytest", "pytest-console-scripts", "pytest-tornasync"] + +[[package]] +name = "numpy" +version = "1.23.4" +description = "NumPy is the fundamental package for array computing with Python." +category = "main" +optional = false +python-versions = ">=3.8" + +[[package]] +name = "packaging" +version = "21.3" +description = "Core utilities for Python packages" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" + +[[package]] +name = "pandocfilters" +version = "1.5.0" +description = "Utilities for writing pandoc filters in python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "parso" +version = "0.8.3" +description = "A Python Parser" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +qa = ["flake8 (==3.8.3)", "mypy (==0.782)"] +testing = ["docopt", "pytest (<6.0.0)"] + +[[package]] +name = "pathspec" +version = "0.10.1" +description = "Utility library for gitignore style pattern matching of file paths." +category = "dev" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "pexpect" +version = "4.8.0" +description = "Pexpect allows easy control of interactive console applications." +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +ptyprocess = ">=0.5" + +[[package]] +name = "pickleshare" +version = "0.7.5" +description = "Tiny 'shelve'-like database with concurrency support" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "Pillow" +version = "9.3.0" +description = "Python Imaging Library (Fork)" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinxext-opengraph"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] + +[[package]] +name = "platformdirs" +version = "2.5.2" +description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx (>=4)", "sphinx-autodoc-typehints (>=1.12)"] +test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"] + +[[package]] +name = "prometheus-client" +version = "0.15.0" +description = "Python client for the Prometheus monitoring system." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +twisted = ["twisted"] + +[[package]] +name = "prompt-toolkit" +version = "3.0.36" +description = "Library for building powerful interactive command lines in Python" +category = "main" +optional = false +python-versions = ">=3.6.2" + +[package.dependencies] +wcwidth = "*" + +[[package]] +name = "psutil" +version = "5.9.4" +description = "Cross-platform lib for process and system monitoring in Python." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[package.extras] +test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +description = "Run a subprocess in a pseudo terminal" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "pure-eval" +version = "0.2.2" +description = "Safely evaluate AST nodes without side effects" +category = "main" +optional = false +python-versions = "*" + +[package.extras] +tests = ["pytest"] + +[[package]] +name = "py" +version = "1.11.0" +description = "library with cross-python path, ini-parsing, io, code, log facilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "pycparser" +version = "2.21" +description = "C parser in Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "Pygments" +version = "2.13.0" +description = "Pygments is a syntax highlighting package written in Python." +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +plugins = ["importlib-metadata"] + +[[package]] +name = "pyobjc-core" +version = "8.5.1" +description = "Python<->ObjC Interoperability Module" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "pyobjc-framework-Cocoa" +version = "8.5.1" +description = "Wrappers for the Cocoa frameworks on macOS" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyobjc-core = ">=8.5.1" + +[[package]] +name = "pyobjc-framework-CoreBluetooth" +version = "8.5.1" +description = "Wrappers for the framework CoreBluetooth on macOS" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyobjc-core = ">=8.5.1" +pyobjc-framework-Cocoa = ">=8.5.1" + +[[package]] +name = "pyobjc-framework-libdispatch" +version = "8.5.1" +description = "Wrappers for libdispatch on macOS" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyobjc-core = ">=8.5.1" + +[[package]] +name = "pyparsing" +version = "3.0.9" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "main" +optional = false +python-versions = ">=3.6.8" + +[package.extras] +diagrams = ["jinja2", "railroad-diagrams"] + +[[package]] +name = "pyrsistent" +version = "0.19.2" +description = "Persistent/Functional/Immutable data structures" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +category = "main" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "python-json-logger" +version = "2.0.4" +description = "A python library adding a json log formatter" +category = "main" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "pywin32" +version = "305" +description = "Python for Window Extensions" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "pywinpty" +version = "2.0.9" +description = "Pseudo terminal support for Windows from Python." +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "PyYAML" +version = "6.0" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "pyzmq" +version = "24.0.1" +description = "Python bindings for 0MQ" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +cffi = {version = "*", markers = "implementation_name == \"pypy\""} +py = {version = "*", markers = "implementation_name == \"pypy\""} + +[[package]] +name = "qtconsole" +version = "5.4.0" +description = "Jupyter Qt console" +category = "main" +optional = false +python-versions = ">= 3.7" + +[package.dependencies] +ipykernel = ">=4.1" +ipython-genutils = "*" +jupyter-client = ">=4.1" +jupyter-core = "*" +pygments = "*" +pyzmq = ">=17.1" +qtpy = ">=2.0.1" +traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2" + +[package.extras] +doc = ["Sphinx (>=1.3)"] +test = ["flaky", "pytest", "pytest-qt"] + +[[package]] +name = "QtPy" +version = "2.3.0" +description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +packaging = "*" + +[package.extras] +test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +description = "A pure python RFC3339 validator" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.dependencies] +six = "*" + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +description = "Pure python rfc3986 validator" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "Send2Trash" +version = "1.8.0" +description = "Send file to trash natively under Mac OS X, Windows and Linux." +category = "main" +optional = false +python-versions = "*" + +[package.extras] +nativelib = ["pyobjc-framework-Cocoa", "pywin32"] +objc = ["pyobjc-framework-Cocoa"] +win32 = ["pywin32"] + +[[package]] +name = "setuptools" +version = "65.5.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] + +[[package]] +name = "setuptools-scm" +version = "7.0.5" +description = "the blessed package to manage your versions by scm tags" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +packaging = ">=20.0" +setuptools = "*" +tomli = ">=1.0.0" +typing-extensions = "*" + +[package.extras] +test = ["pytest (>=6.2)", "virtualenv (>20)"] +toml = ["setuptools (>=42)"] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" + +[[package]] +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "soupsieve" +version = "2.3.2.post1" +description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "stack-data" +version = "0.6.2" +description = "Extract data from python stack frames and tracebacks for informative displays" +category = "main" +optional = false +python-versions = "*" + +[package.dependencies] +asttokens = ">=2.1.0" +executing = ">=1.2.0" +pure-eval = "*" + +[package.extras] +tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] + +[[package]] +name = "terminado" +version = "0.17.1" +description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +ptyprocess = {version = "*", markers = "os_name != \"nt\""} +pywinpty = {version = ">=1.1.0", markers = "os_name == \"nt\""} +tornado = ">=6.1.0" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] + +[[package]] +name = "tinycss2" +version = "1.2.1" +description = "A tiny CSS parser" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +webencodings = ">=0.4" + +[package.extras] +doc = ["sphinx", "sphinx_rtd_theme"] +test = ["flake8", "isort", "pytest"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "tornado" +version = "6.2" +description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." +category = "main" +optional = false +python-versions = ">= 3.7" + +[[package]] +name = "traitlets" +version = "5.8.0" +description = "Traitlets Python configuration system" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] +test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"] + +[[package]] +name = "typing-extensions" +version = "4.4.0" +description = "Backported and Experimental Type Hints for Python 3.7+" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "uri-template" +version = "1.2.0" +description = "RFC 6570 URI Template Processor" +category = "main" +optional = false +python-versions = ">=3.6" + +[package.extras] +dev = ["flake8 (<4.0.0)", "flake8-annotations", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-noqa", "flake8-requirements", "flake8-type-annotations", "flake8-use-fstring", "mypy", "pep8-naming"] + +[[package]] +name = "wcwidth" +version = "0.2.5" +description = "Measures the displayed width of unicode strings in a terminal" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "webcolors" +version = "1.12" +description = "A library for working with color names and color values formats defined by HTML and CSS." +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "webencodings" +version = "0.5.1" +description = "Character encoding aliases for legacy web content" +category = "main" +optional = false +python-versions = "*" + +[[package]] +name = "websocket-client" +version = "1.4.2" +description = "WebSocket client for Python with low level API options" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["Sphinx (>=3.4)", "sphinx-rtd-theme (>=0.5)"] +optional = ["python-socks", "wsaccel"] +test = ["websockets"] + +[[package]] +name = "widgetsnbextension" +version = "4.0.5" +description = "Jupyter interactive widgets for Jupyter Notebook" +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "zipp" +version = "3.11.0" +description = "Backport of pathlib-compatible object wrapper for zip files" +category = "main" +optional = false +python-versions = ">=3.7" + +[package.extras] +docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +testing = ["flake8 (<5)", "func-timeout", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] + +[metadata] +lock-version = "1.1" +python-versions = "^3.9" +content-hash = "d840857060a2396d6f1dfc8d2fdbdfc646e4043d8b4809259ef0f9b6f0c94c3d" + +[metadata.files] +anyio = [ + {file = "anyio-3.6.2-py3-none-any.whl", hash = "sha256:fbbe32bd270d2a2ef3ed1c5d45041250284e31fc0a4df4a5a6071842051a51e3"}, + {file = "anyio-3.6.2.tar.gz", hash = "sha256:25ea0d673ae30af41a0c442f81cf3b38c7e79fdc7b60335a4c14e05eb0947421"}, +] +appnope = [ + {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"}, + {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"}, +] +argon2-cffi = [ + {file = "argon2-cffi-21.3.0.tar.gz", hash = "sha256:d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b"}, + {file = "argon2_cffi-21.3.0-py3-none-any.whl", hash = "sha256:8c976986f2c5c0e5000919e6de187906cfd81fb1c72bf9d88c01177e77da7f80"}, +] +argon2-cffi-bindings = [ + {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"}, + {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"}, + {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"}, + {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"}, + {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"}, +] +arrow = [ + {file = "arrow-1.2.3-py3-none-any.whl", hash = "sha256:5a49ab92e3b7b71d96cd6bfcc4df14efefc9dfa96ea19045815914a6ab6b1fe2"}, + {file = "arrow-1.2.3.tar.gz", hash = "sha256:3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1"}, +] +asttokens = [ + {file = "asttokens-2.2.1-py2.py3-none-any.whl", hash = "sha256:6b0ac9e93fb0335014d382b8fa9b3afa7df546984258005da0b9e7095b3deb1c"}, + {file = "asttokens-2.2.1.tar.gz", hash = "sha256:4622110b2a6f30b77e1473affaa97e711bc2f07d3f10848420ff1898edbe94f3"}, +] +async-timeout = [ + {file = "async-timeout-4.0.2.tar.gz", hash = "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15"}, + {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, +] +attrs = [ + {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, + {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, +] +backcall = [ + {file = "backcall-0.2.0-py2.py3-none-any.whl", hash = "sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255"}, + {file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"}, +] +beautifulsoup4 = [ + {file = "beautifulsoup4-4.11.1-py3-none-any.whl", hash = "sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30"}, + {file = "beautifulsoup4-4.11.1.tar.gz", hash = "sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693"}, +] +black = [ + {file = "black-22.10.0-1fixedarch-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:5cc42ca67989e9c3cf859e84c2bf014f6633db63d1cbdf8fdb666dcd9e77e3fa"}, + {file = "black-22.10.0-1fixedarch-cp311-cp311-macosx_11_0_x86_64.whl", hash = "sha256:5d8f74030e67087b219b032aa33a919fae8806d49c867846bfacde57f43972ef"}, + {file = "black-22.10.0-1fixedarch-cp37-cp37m-macosx_10_16_x86_64.whl", hash = "sha256:197df8509263b0b8614e1df1756b1dd41be6738eed2ba9e9769f3880c2b9d7b6"}, + {file = "black-22.10.0-1fixedarch-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:2644b5d63633702bc2c5f3754b1b475378fbbfb481f62319388235d0cd104c2d"}, + {file = "black-22.10.0-1fixedarch-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:e41a86c6c650bcecc6633ee3180d80a025db041a8e2398dcc059b3afa8382cd4"}, + {file = "black-22.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2039230db3c6c639bd84efe3292ec7b06e9214a2992cd9beb293d639c6402edb"}, + {file = "black-22.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14ff67aec0a47c424bc99b71005202045dc09270da44a27848d534600ac64fc7"}, + {file = "black-22.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:819dc789f4498ecc91438a7de64427c73b45035e2e3680c92e18795a839ebb66"}, + {file = "black-22.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5b9b29da4f564ba8787c119f37d174f2b69cdfdf9015b7d8c5c16121ddc054ae"}, + {file = "black-22.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8b49776299fece66bffaafe357d929ca9451450f5466e997a7285ab0fe28e3b"}, + {file = "black-22.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:21199526696b8f09c3997e2b4db8d0b108d801a348414264d2eb8eb2532e540d"}, + {file = "black-22.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e464456d24e23d11fced2bc8c47ef66d471f845c7b7a42f3bd77bf3d1789650"}, + {file = "black-22.10.0-cp37-cp37m-win_amd64.whl", hash = "sha256:9311e99228ae10023300ecac05be5a296f60d2fd10fff31cf5c1fa4ca4b1988d"}, + {file = "black-22.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fba8a281e570adafb79f7755ac8721b6cf1bbf691186a287e990c7929c7692ff"}, + {file = "black-22.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:915ace4ff03fdfff953962fa672d44be269deb2eaf88499a0f8805221bc68c87"}, + {file = "black-22.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:444ebfb4e441254e87bad00c661fe32df9969b2bf224373a448d8aca2132b395"}, + {file = "black-22.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:974308c58d057a651d182208a484ce80a26dac0caef2895836a92dd6ebd725e0"}, + {file = "black-22.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72ef3925f30e12a184889aac03d77d031056860ccae8a1e519f6cbb742736383"}, + {file = "black-22.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:432247333090c8c5366e69627ccb363bc58514ae3e63f7fc75c54b1ea80fa7de"}, + {file = "black-22.10.0-py3-none-any.whl", hash = "sha256:c957b2b4ea88587b46cf49d1dc17681c1e672864fd7af32fc1e9664d572b3458"}, + {file = "black-22.10.0.tar.gz", hash = "sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1"}, +] +bleach = [ + {file = "bleach-5.0.1-py3-none-any.whl", hash = "sha256:085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a"}, + {file = "bleach-5.0.1.tar.gz", hash = "sha256:0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c"}, +] +bleak = [ + {file = "bleak-0.19.0-py3-none-any.whl", hash = "sha256:ccdba0d17dcceb1326e4e46600b37e9019cd52ce01948e2a3dbd6c94d1e4de01"}, + {file = "bleak-0.19.0.tar.gz", hash = "sha256:cce5200ca9bac7daaa74dd009c867c8c2b161a124e234c74307462e86caf50e6"}, +] +bleak-winrt = [ + {file = "bleak-winrt-1.2.0.tar.gz", hash = "sha256:0577d070251b9354fc6c45ffac57e39341ebb08ead014b1bdbd43e211d2ce1d6"}, + {file = "bleak_winrt-1.2.0-cp310-cp310-win32.whl", hash = "sha256:a2ae3054d6843ae0cfd3b94c83293a1dfd5804393977dd69bde91cb5099fc47c"}, + {file = "bleak_winrt-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:677df51dc825c6657b3ae94f00bd09b8ab88422b40d6a7bdbf7972a63bc44e9a"}, + {file = "bleak_winrt-1.2.0-cp311-cp311-win32.whl", hash = "sha256:9449cdb942f22c9892bc1ada99e2ccce9bea8a8af1493e81fefb6de2cb3a7b80"}, + {file = "bleak_winrt-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:98c1b5a6a6c431ac7f76aa4285b752fe14a1c626bd8a1dfa56f66173ff120bee"}, + {file = "bleak_winrt-1.2.0-cp37-cp37m-win32.whl", hash = "sha256:623ac511696e1f58d83cb9c431e32f613395f2199b3db7f125a3d872cab968a4"}, + {file = "bleak_winrt-1.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:13ab06dec55469cf51a2c187be7b630a7a2922e1ea9ac1998135974a7239b1e3"}, + {file = "bleak_winrt-1.2.0-cp38-cp38-win32.whl", hash = "sha256:5a36ff8cd53068c01a795a75d2c13054ddc5f99ce6de62c1a97cd343fc4d0727"}, + {file = "bleak_winrt-1.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:810c00726653a962256b7acd8edf81ab9e4a3c66e936a342ce4aec7dbd3a7263"}, + {file = "bleak_winrt-1.2.0-cp39-cp39-win32.whl", hash = "sha256:dd740047a08925bde54bec357391fcee595d7b8ca0c74c87170a5cbc3f97aa0a"}, + {file = "bleak_winrt-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:63130c11acfe75c504a79c01f9919e87f009f5e742bfc7b7a5c2a9c72bf591a7"}, +] +cffi = [ + {file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2"}, + {file = "cffi-1.15.1-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914"}, + {file = "cffi-1.15.1-cp27-cp27m-win32.whl", hash = "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3"}, + {file = "cffi-1.15.1-cp27-cp27m-win_amd64.whl", hash = "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162"}, + {file = "cffi-1.15.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21"}, + {file = "cffi-1.15.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e"}, + {file = "cffi-1.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01"}, + {file = "cffi-1.15.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e"}, + {file = "cffi-1.15.1-cp310-cp310-win32.whl", hash = "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2"}, + {file = "cffi-1.15.1-cp310-cp310-win_amd64.whl", hash = "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac"}, + {file = "cffi-1.15.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325"}, + {file = "cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef"}, + {file = "cffi-1.15.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8"}, + {file = "cffi-1.15.1-cp311-cp311-win32.whl", hash = "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d"}, + {file = "cffi-1.15.1-cp311-cp311-win_amd64.whl", hash = "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104"}, + {file = "cffi-1.15.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405"}, + {file = "cffi-1.15.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e"}, + {file = "cffi-1.15.1-cp36-cp36m-win32.whl", hash = "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf"}, + {file = "cffi-1.15.1-cp36-cp36m-win_amd64.whl", hash = "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497"}, + {file = "cffi-1.15.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c"}, + {file = "cffi-1.15.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426"}, + {file = "cffi-1.15.1-cp37-cp37m-win32.whl", hash = "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9"}, + {file = "cffi-1.15.1-cp37-cp37m-win_amd64.whl", hash = "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045"}, + {file = "cffi-1.15.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02"}, + {file = "cffi-1.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192"}, + {file = "cffi-1.15.1-cp38-cp38-win32.whl", hash = "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314"}, + {file = "cffi-1.15.1-cp38-cp38-win_amd64.whl", hash = "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585"}, + {file = "cffi-1.15.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35"}, + {file = "cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76"}, + {file = "cffi-1.15.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3"}, + {file = "cffi-1.15.1-cp39-cp39-win32.whl", hash = "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee"}, + {file = "cffi-1.15.1-cp39-cp39-win_amd64.whl", hash = "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c"}, + {file = "cffi-1.15.1.tar.gz", hash = "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9"}, +] +click = [ + {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, + {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, +] +colorama = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] +comm = [ + {file = "comm-0.1.2-py3-none-any.whl", hash = "sha256:9f3abf3515112fa7c55a42a6a5ab358735c9dccc8b5910a9d8e3ef5998130666"}, + {file = "comm-0.1.2.tar.gz", hash = "sha256:3e2f5826578e683999b93716285b3b1f344f157bf75fa9ce0a797564e742f062"}, +] +contourpy = [ + {file = "contourpy-1.0.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:613c665529899b5d9fade7e5d1760111a0b011231277a0d36c49f0d3d6914bd6"}, + {file = "contourpy-1.0.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:78ced51807ccb2f45d4ea73aca339756d75d021069604c2fccd05390dc3c28eb"}, + {file = "contourpy-1.0.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b3b1bd7577c530eaf9d2bc52d1a93fef50ac516a8b1062c3d1b9bcec9ebe329b"}, + {file = "contourpy-1.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8834c14b8c3dd849005e06703469db9bf96ba2d66a3f88ecc539c9a8982e0ee"}, + {file = "contourpy-1.0.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4052a8a4926d4468416fc7d4b2a7b2a3e35f25b39f4061a7e2a3a2748c4fc48"}, + {file = "contourpy-1.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c0e1308307a75e07d1f1b5f0f56b5af84538a5e9027109a7bcf6cb47c434e72"}, + {file = "contourpy-1.0.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9fc4e7973ed0e1fe689435842a6e6b330eb7ccc696080dda9a97b1a1b78e41db"}, + {file = "contourpy-1.0.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:08e8d09d96219ace6cb596506fb9b64ea5f270b2fb9121158b976d88871fcfd1"}, + {file = "contourpy-1.0.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f33da6b5d19ad1bb5e7ad38bb8ba5c426d2178928bc2b2c44e8823ea0ecb6ff3"}, + {file = "contourpy-1.0.6-cp310-cp310-win32.whl", hash = "sha256:12a7dc8439544ed05c6553bf026d5e8fa7fad48d63958a95d61698df0e00092b"}, + {file = "contourpy-1.0.6-cp310-cp310-win_amd64.whl", hash = "sha256:eadad75bf91897f922e0fb3dca1b322a58b1726a953f98c2e5f0606bd8408621"}, + {file = "contourpy-1.0.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:913bac9d064cff033cf3719e855d4f1db9f1c179e0ecf3ba9fdef21c21c6a16a"}, + {file = "contourpy-1.0.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46deb310a276cc5c1fd27958e358cce68b1e8a515fa5a574c670a504c3a3fe30"}, + {file = "contourpy-1.0.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b64f747e92af7da3b85631a55d68c45a2d728b4036b03cdaba4bd94bcc85bd6f"}, + {file = "contourpy-1.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50627bf76abb6ba291ad08db583161939c2c5fab38c38181b7833423ab9c7de3"}, + {file = "contourpy-1.0.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:358f6364e4873f4d73360b35da30066f40387dd3c427a3e5432c6b28dd24a8fa"}, + {file = "contourpy-1.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c78bfbc1a7bff053baf7e508449d2765964d67735c909b583204e3240a2aca45"}, + {file = "contourpy-1.0.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e43255a83835a129ef98f75d13d643844d8c646b258bebd11e4a0975203e018f"}, + {file = "contourpy-1.0.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:375d81366afd547b8558c4720337218345148bc2fcffa3a9870cab82b29667f2"}, + {file = "contourpy-1.0.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b98c820608e2dca6442e786817f646d11057c09a23b68d2b3737e6dcb6e4a49b"}, + {file = "contourpy-1.0.6-cp311-cp311-win32.whl", hash = "sha256:0e4854cc02006ad6684ce092bdadab6f0912d131f91c2450ce6dbdea78ee3c0b"}, + {file = "contourpy-1.0.6-cp311-cp311-win_amd64.whl", hash = "sha256:d2eff2af97ea0b61381828b1ad6cd249bbd41d280e53aea5cccd7b2b31b8225c"}, + {file = "contourpy-1.0.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5b117d29433fc8393b18a696d794961464e37afb34a6eeb8b2c37b5f4128a83e"}, + {file = "contourpy-1.0.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:341330ed19074f956cb20877ad8d2ae50e458884bfa6a6df3ae28487cc76c768"}, + {file = "contourpy-1.0.6-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:371f6570a81dfdddbb837ba432293a63b4babb942a9eb7aaa699997adfb53278"}, + {file = "contourpy-1.0.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9447c45df407d3ecb717d837af3b70cfef432138530712263730783b3d016512"}, + {file = "contourpy-1.0.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:730c27978a0003b47b359935478b7d63fd8386dbb2dcd36c1e8de88cbfc1e9de"}, + {file = "contourpy-1.0.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:da1ef35fd79be2926ba80fbb36327463e3656c02526e9b5b4c2b366588b74d9a"}, + {file = "contourpy-1.0.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:cd2bc0c8f2e8de7dd89a7f1c10b8844e291bca17d359373203ef2e6100819edd"}, + {file = "contourpy-1.0.6-cp37-cp37m-win32.whl", hash = "sha256:3a1917d3941dd58732c449c810fa7ce46cc305ce9325a11261d740118b85e6f3"}, + {file = "contourpy-1.0.6-cp37-cp37m-win_amd64.whl", hash = "sha256:06ca79e1efbbe2df795822df2fa173d1a2b38b6e0f047a0ec7903fbca1d1847e"}, + {file = "contourpy-1.0.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e626cefff8491bce356221c22af5a3ea528b0b41fbabc719c00ae233819ea0bf"}, + {file = "contourpy-1.0.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:dbe6fe7a1166b1ddd7b6d887ea6fa8389d3f28b5ed3f73a8f40ece1fc5a3d340"}, + {file = "contourpy-1.0.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e13b31d1b4b68db60b3b29f8e337908f328c7f05b9add4b1b5c74e0691180109"}, + {file = "contourpy-1.0.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a79d239fc22c3b8d9d3de492aa0c245533f4f4c7608e5749af866949c0f1b1b9"}, + {file = "contourpy-1.0.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e8e686a6db92a46111a1ee0ee6f7fbfae4048f0019de207149f43ac1812cf95"}, + {file = "contourpy-1.0.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2bd02f1a7adff3a1f33e431eb96ab6d7987b039d2946a9b39fe6fb16a1036"}, + {file = "contourpy-1.0.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:03d1b9c6b44a9e30d554654c72be89af94fab7510b4b9f62356c64c81cec8b7d"}, + {file = "contourpy-1.0.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b48d94386f1994db7c70c76b5808c12e23ed7a4ee13693c2fc5ab109d60243c0"}, + {file = "contourpy-1.0.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:208bc904889c910d95aafcf7be9e677726df9ef71e216780170dbb7e37d118fa"}, + {file = "contourpy-1.0.6-cp38-cp38-win32.whl", hash = "sha256:444fb776f58f4906d8d354eb6f6ce59d0a60f7b6a720da6c1ccb839db7c80eb9"}, + {file = "contourpy-1.0.6-cp38-cp38-win_amd64.whl", hash = "sha256:9bc407a6af672da20da74823443707e38ece8b93a04009dca25856c2d9adadb1"}, + {file = "contourpy-1.0.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:aa4674cf3fa2bd9c322982644967f01eed0c91bb890f624e0e0daf7a5c3383e9"}, + {file = "contourpy-1.0.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f56515e7c6fae4529b731f6c117752247bef9cdad2b12fc5ddf8ca6a50965a5"}, + {file = "contourpy-1.0.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:344cb3badf6fc7316ad51835f56ac387bdf86c8e1b670904f18f437d70da4183"}, + {file = "contourpy-1.0.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b1e66346acfb17694d46175a0cea7d9036f12ed0c31dfe86f0f405eedde2bdd"}, + {file = "contourpy-1.0.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8468b40528fa1e15181cccec4198623b55dcd58306f8815a793803f51f6c474a"}, + {file = "contourpy-1.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1dedf4c64185a216c35eb488e6f433297c660321275734401760dafaeb0ad5c2"}, + {file = "contourpy-1.0.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:494efed2c761f0f37262815f9e3c4bb9917c5c69806abdee1d1cb6611a7174a0"}, + {file = "contourpy-1.0.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:75a2e638042118118ab39d337da4c7908c1af74a8464cad59f19fbc5bbafec9b"}, + {file = "contourpy-1.0.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a628bba09ba72e472bf7b31018b6281fd4cc903f0888049a3724afba13b6e0b8"}, + {file = "contourpy-1.0.6-cp39-cp39-win32.whl", hash = "sha256:e1739496c2f0108013629aa095cc32a8c6363444361960c07493818d0dea2da4"}, + {file = "contourpy-1.0.6-cp39-cp39-win_amd64.whl", hash = "sha256:a457ee72d9032e86730f62c5eeddf402e732fdf5ca8b13b41772aa8ae13a4563"}, + {file = "contourpy-1.0.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d912f0154a20a80ea449daada904a7eb6941c83281a9fab95de50529bfc3a1da"}, + {file = "contourpy-1.0.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4081918147fc4c29fad328d5066cfc751da100a1098398742f9f364be63803fc"}, + {file = "contourpy-1.0.6-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0537cc1195245bbe24f2913d1f9211b8f04eb203de9044630abd3664c6cc339c"}, + {file = "contourpy-1.0.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcd556c8fc37a342dd636d7eef150b1399f823a4462f8c968e11e1ebeabee769"}, + {file = "contourpy-1.0.6-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:f6ca38dd8d988eca8f07305125dec6f54ac1c518f1aaddcc14d08c01aebb6efc"}, + {file = "contourpy-1.0.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c1baa49ab9fedbf19d40d93163b7d3e735d9cd8d5efe4cce9907902a6dad391f"}, + {file = "contourpy-1.0.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:211dfe2bd43bf5791d23afbe23a7952e8ac8b67591d24be3638cabb648b3a6eb"}, + {file = "contourpy-1.0.6-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c38c6536c2d71ca2f7e418acaf5bca30a3af7f2a2fa106083c7d738337848dbe"}, + {file = "contourpy-1.0.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b1ee48a130da4dd0eb8055bbab34abf3f6262957832fd575e0cab4979a15a41"}, + {file = "contourpy-1.0.6-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5641927cc5ae66155d0c80195dc35726eae060e7defc18b7ab27600f39dd1fe7"}, + {file = "contourpy-1.0.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7ee394502026d68652c2824348a40bf50f31351a668977b51437131a90d777ea"}, + {file = "contourpy-1.0.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b97454ed5b1368b66ed414c754cba15b9750ce69938fc6153679787402e4cdf"}, + {file = "contourpy-1.0.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0236875c5a0784215b49d00ebbe80c5b6b5d5244b3655a36dda88105334dea17"}, + {file = "contourpy-1.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84c593aeff7a0171f639da92cb86d24954bbb61f8a1b530f74eb750a14685832"}, + {file = "contourpy-1.0.6-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:9b0e7fe7f949fb719b206548e5cde2518ffb29936afa4303d8a1c4db43dcb675"}, + {file = "contourpy-1.0.6.tar.gz", hash = "sha256:6e459ebb8bb5ee4c22c19cc000174f8059981971a33ce11e17dddf6aca97a142"}, +] +cycler = [ + {file = "cycler-0.11.0-py3-none-any.whl", hash = "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3"}, + {file = "cycler-0.11.0.tar.gz", hash = "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f"}, +] +dbus-fast = [ + {file = "dbus_fast-1.64.0-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:d6ee2acd48a6f22836a0782786c0f617a70bd33353100028a26b351e653c83a4"}, + {file = "dbus_fast-1.64.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff97c83a30ccf9ffe43df1721f0bff90fdfbe39a583c77a52932046b5f707b9c"}, + {file = "dbus_fast-1.64.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6d912844d3763140fdb4d9c474d1d86e8129c9a498e1cbcdf54ac71811a081df"}, + {file = "dbus_fast-1.64.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:48248467c8cc25af0bf42676f337ee8b56a2c8c3b9df1eb7a51f649e74401343"}, + {file = "dbus_fast-1.64.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f44e5b3025db2f0c689afc34478fa3d522c45af5721aacebcfc4c3e9c268b23a"}, + {file = "dbus_fast-1.64.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:939417ecc4ea438ba9287f2a8df92329eb87179c69f627d3eb27af609ac59446"}, + {file = "dbus_fast-1.64.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3cace85b55be5f82f2bb51f98d834f92e572668a05f6492e96ea90a8728a2983"}, + {file = "dbus_fast-1.64.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fa2e77bef181d3e9f72176ad750da2b448b2000238cef56dafa1b08093a78a90"}, + {file = "dbus_fast-1.64.0-cp37-cp37m-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:5b04c84d0345fba5ceb6bb56bfa5c3f34a3a9995a2d1ea17857c1e2e50cc4a26"}, + {file = "dbus_fast-1.64.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72275f7054c683b2c340d0a6baf922fa0d0cef9ec00cb2262d2242d3c428b8d8"}, + {file = "dbus_fast-1.64.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b235c111dd9746f3d2a4c2ce1f9d7c255fe6ba64537551154d10599f9aef279c"}, + {file = "dbus_fast-1.64.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fad7108eddd552ccca7a7b49bd61848bc6936bdaf1dd9a4e4c6b031c25b61c9c"}, + {file = "dbus_fast-1.64.0-cp38-cp38-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:76301537ebf0ca4fe9b42f1463038386728d5655817639b1f62737126f85ed09"}, + {file = "dbus_fast-1.64.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99eda460d32673d1261cfa9422d356f5d09dc10dd094158a9e8e19903991af3c"}, + {file = "dbus_fast-1.64.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:78cee1896db352fbddac0c3eb91f0c97f93627b6f010b4987ac0b724a88020fa"}, + {file = "dbus_fast-1.64.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:660f824f3a13d5b18140ee356823ae0fb263d4c182451130fd2b1e594b9bad1a"}, + {file = "dbus_fast-1.64.0-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:838254b626427d919c652fe3fc5841a6c6f20b3c12e5335d7d32124111161461"}, + {file = "dbus_fast-1.64.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb73f5a364ab22151892d349991ae57a3d4e18fa4c6a6d0134f5a0b8cfaefc8"}, + {file = "dbus_fast-1.64.0-cp39-cp39-manylinux_2_31_x86_64.whl", hash = "sha256:c0d3e18a2b793e7e774773190db631b729bd7ca0b88c63415e286fbe7f4c8320"}, + {file = "dbus_fast-1.64.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a0a4e64ac5a994239cb1200cfc7ce9d2173233c9a5f3f48dca3bf3ca3e8e132a"}, + {file = "dbus_fast-1.64.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d27260f6998f614dfb9c9fa2c9674402134e8a221b57f52a7dfecce2bed2df37"}, + {file = "dbus_fast-1.64.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:735feead084951a1daf9c71480f4bfe84b127cacd9af0fddf70cdf7043f7a29c"}, + {file = "dbus_fast-1.64.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:025583c613beb58abd24e993e3be6098002eac9d01afff1e7180e5ddbbf74772"}, + {file = "dbus_fast-1.64.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:09488197ffc535ad62d048e532e127d12e4878a3af8b7cd5cf34819f1bd6ddca"}, + {file = "dbus_fast-1.64.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9d395687bcd0098cdacdfb8c1897c81998aabd07c13dd599e8fa2e73f04f704"}, + {file = "dbus_fast-1.64.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:830f028efa0753f6833a7f6491789436cfc63debdfac697465e334f3dd7c14d6"}, + {file = "dbus_fast-1.64.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d2cec285c42c1fe4921ae879e975693376bd9c815494c354aa1b63fb40bbfaf"}, + {file = "dbus_fast-1.64.0.tar.gz", hash = "sha256:794d67fc6369962bb291edf68c76a4b10a5f019c6c9b0458ca22c0d318cea659"}, +] +debugpy = [ + {file = "debugpy-1.6.4-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:6ae238943482c78867ac707c09122688efb700372b617ffd364261e5e41f7a2f"}, + {file = "debugpy-1.6.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a39e7da178e1f22f4bc04b57f085e785ed1bcf424aaf318835a1a7129eefe35"}, + {file = "debugpy-1.6.4-cp310-cp310-win32.whl", hash = "sha256:143f79d0798a9acea21cd1d111badb789f19d414aec95fa6389cfea9485ddfb1"}, + {file = "debugpy-1.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:563f148f94434365ec0ce94739c749aabf60bf67339e68a9446499f3582d62f3"}, + {file = "debugpy-1.6.4-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:1caee68f7e254267df908576c0d0938f8f88af16383f172cb9f0602e24c30c01"}, + {file = "debugpy-1.6.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40e2a83d31a16b83666f19fa06d97b2cc311af88e6266590579737949971a17e"}, + {file = "debugpy-1.6.4-cp37-cp37m-win32.whl", hash = "sha256:82229790442856962aec4767b98ba2559fe0998f897e9f21fb10b4fd24b6c436"}, + {file = "debugpy-1.6.4-cp37-cp37m-win_amd64.whl", hash = "sha256:67edf033f9e512958f7b472975ff9d9b7ff64bf4440f6f6ae44afdc66b89e6b6"}, + {file = "debugpy-1.6.4-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:4ab5e938925e5d973f567d6ef32751b17d10f3be3a8c4d73c52f53e727f69bf1"}, + {file = "debugpy-1.6.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8df268e9f72fc06efc2e75e8dc8e2b881d6a397356faec26efb2ee70b6863b7"}, + {file = "debugpy-1.6.4-cp38-cp38-win32.whl", hash = "sha256:86bd25f38f8b6c5d430a5e2931eebbd5f580c640f4819fcd236d0498790c7204"}, + {file = "debugpy-1.6.4-cp38-cp38-win_amd64.whl", hash = "sha256:62ba4179b372a62abf9c89b56997d70a4100c6dea6c2a4e0e4be5f45920b3253"}, + {file = "debugpy-1.6.4-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d2968e589bda4e485a9c61f113754a28e48d88c5152ed8e0b2564a1fadbe50a5"}, + {file = "debugpy-1.6.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e62b8034ede98932b92268669318848a0d42133d857087a3b9cec03bb844c615"}, + {file = "debugpy-1.6.4-cp39-cp39-win32.whl", hash = "sha256:3d9c31baf64bf959a593996c108e911c5a9aa1693a296840e5469473f064bcec"}, + {file = "debugpy-1.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:ea4bf208054e6d41749f17612066da861dff10102729d32c85b47f155223cf2b"}, + {file = "debugpy-1.6.4-py2.py3-none-any.whl", hash = "sha256:e886a1296cd20a10172e94788009ce74b759e54229ebd64a43fa5c2b4e62cd76"}, + {file = "debugpy-1.6.4.zip", hash = "sha256:d5ab9bd3f4e7faf3765fd52c7c43c074104ab1e109621dc73219099ed1a5399d"}, +] +decorator = [ + {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, + {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, +] +defusedxml = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] +entrypoints = [ + {file = "entrypoints-0.4-py3-none-any.whl", hash = "sha256:f174b5ff827504fd3cd97cc3f8649f3693f51538c7e4bdf3ef002c8429d42f9f"}, + {file = "entrypoints-0.4.tar.gz", hash = "sha256:b706eddaa9218a19ebcd67b56818f05bb27589b1ca9e8d797b74affad4ccacd4"}, +] +executing = [ + {file = "executing-1.2.0-py2.py3-none-any.whl", hash = "sha256:0314a69e37426e3608aada02473b4161d4caf5a4b244d1d0c48072b8fee7bacc"}, + {file = "executing-1.2.0.tar.gz", hash = "sha256:19da64c18d2d851112f09c287f8d3dbbdf725ab0e569077efb6cdcbd3497c107"}, +] +fastjsonschema = [ + {file = "fastjsonschema-2.16.2-py3-none-any.whl", hash = "sha256:21f918e8d9a1a4ba9c22e09574ba72267a6762d47822db9add95f6454e51cc1c"}, + {file = "fastjsonschema-2.16.2.tar.gz", hash = "sha256:01e366f25d9047816fe3d288cbfc3e10541daf0af2044763f3d0ade42476da18"}, +] +fonttools = [ + {file = "fonttools-4.38.0-py3-none-any.whl", hash = "sha256:820466f43c8be8c3009aef8b87e785014133508f0de64ec469e4efb643ae54fb"}, + {file = "fonttools-4.38.0.zip", hash = "sha256:2bb244009f9bf3fa100fc3ead6aeb99febe5985fa20afbfbaa2f8946c2fbdaf1"}, +] +fqdn = [ + {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, + {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, +] +idna = [ + {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, + {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, +] +importlib-metadata = [ + {file = "importlib_metadata-5.2.0-py3-none-any.whl", hash = "sha256:0eafa39ba42bf225fc00e67f701d71f85aead9f878569caf13c3724f704b970f"}, + {file = "importlib_metadata-5.2.0.tar.gz", hash = "sha256:404d48d62bba0b7a77ff9d405efd91501bef2e67ff4ace0bed40a0cf28c3c7cd"}, +] +ipykernel = [ + {file = "ipykernel-6.19.4-py3-none-any.whl", hash = "sha256:0ecdae0060da61c5222ad221681f3b99b5bef739e11a3b1eb5778aa47f056f1f"}, + {file = "ipykernel-6.19.4.tar.gz", hash = "sha256:4140c282a6c71cdde59abe5eae2c71bf1eeb4a69316ab76e1c4c25150a49722b"}, +] +ipython = [ + {file = "ipython-8.7.0-py3-none-any.whl", hash = "sha256:352042ddcb019f7c04e48171b4dd78e4c4bb67bf97030d170e154aac42b656d9"}, + {file = "ipython-8.7.0.tar.gz", hash = "sha256:882899fe78d5417a0aa07f995db298fa28b58faeba2112d2e3a4c95fe14bb738"}, +] +ipython_genutils = [ + {file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"}, + {file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"}, +] +ipywidgets = [ + {file = "ipywidgets-8.0.4-py3-none-any.whl", hash = "sha256:ebb195e743b16c3947fe8827190fb87b4d00979c0fbf685afe4d2c4927059fa1"}, + {file = "ipywidgets-8.0.4.tar.gz", hash = "sha256:c0005a77a47d77889cafed892b58e33b4a2a96712154404c6548ec22272811ea"}, +] +isoduration = [ + {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, + {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, +] +jedi = [ + {file = "jedi-0.18.2-py2.py3-none-any.whl", hash = "sha256:203c1fd9d969ab8f2119ec0a3342e0b49910045abe6af0a3ae83a5764d54639e"}, + {file = "jedi-0.18.2.tar.gz", hash = "sha256:bae794c30d07f6d910d32a7048af09b5a39ed740918da923c6b780790ebac612"}, +] +Jinja2 = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] +jsonpointer = [ + {file = "jsonpointer-2.3-py2.py3-none-any.whl", hash = "sha256:51801e558539b4e9cd268638c078c6c5746c9ac96bc38152d443400e4f3793e9"}, + {file = "jsonpointer-2.3.tar.gz", hash = "sha256:97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a"}, +] +jsonschema = [ + {file = "jsonschema-4.17.3-py3-none-any.whl", hash = "sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6"}, + {file = "jsonschema-4.17.3.tar.gz", hash = "sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d"}, +] +jupyter = [ + {file = "jupyter-1.0.0-py2.py3-none-any.whl", hash = "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78"}, + {file = "jupyter-1.0.0.tar.gz", hash = "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f"}, + {file = "jupyter-1.0.0.zip", hash = "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7"}, +] +jupyter-client = [ + {file = "jupyter_client-7.4.8-py3-none-any.whl", hash = "sha256:d4a67ae86ee014bcb96bd8190714f6af921f2b0f52f4208b086aa5acfd9f8d65"}, + {file = "jupyter_client-7.4.8.tar.gz", hash = "sha256:109a3c33b62a9cf65aa8325850a0999a795fac155d9de4f7555aef5f310ee35a"}, +] +jupyter-console = [ + {file = "jupyter_console-6.4.4-py3-none-any.whl", hash = "sha256:756df7f4f60c986e7bc0172e4493d3830a7e6e75c08750bbe59c0a5403ad6dee"}, + {file = "jupyter_console-6.4.4.tar.gz", hash = "sha256:172f5335e31d600df61613a97b7f0352f2c8250bbd1092ef2d658f77249f89fb"}, +] +jupyter-core = [ + {file = "jupyter_core-5.1.1-py3-none-any.whl", hash = "sha256:f1038179d0f179b0e92c8fa2289c012b29dafdc9484b41821079f1a496f5a0f2"}, + {file = "jupyter_core-5.1.1.tar.gz", hash = "sha256:f342d29eb6edb06f8dffa69adea987b3a9ee2b6702338a8cb6911516ea0b432d"}, +] +jupyter-events = [ + {file = "jupyter_events-0.5.0-py3-none-any.whl", hash = "sha256:6f7b67bf42b8a370c992187194ed02847dfa02307a7aebe9913e2d3979b9b6b8"}, + {file = "jupyter_events-0.5.0.tar.gz", hash = "sha256:e27ffdd6138699d47d42cb65ae6d79334ff7c0d923694381c991ce56a140f2cd"}, +] +jupyter-server = [ + {file = "jupyter_server-2.0.5-py3-none-any.whl", hash = "sha256:18a952c0b75c18f801e91221798fd3e91aef09562896f03877db39db332f7cd2"}, + {file = "jupyter_server-2.0.5.tar.gz", hash = "sha256:0d9e63d40412334dfa348cef8bfe8415b973752d12ca3afd64f0ea478e52aa4a"}, +] +jupyter-server-terminals = [ + {file = "jupyter_server_terminals-0.4.3-py3-none-any.whl", hash = "sha256:ec67d3f1895d25cfb586a87a50b8eee13b709898a4afd721058e551e0a0f480d"}, + {file = "jupyter_server_terminals-0.4.3.tar.gz", hash = "sha256:8421438d95a1f1f6994c48dd5dc10ad167ea7c196972bb5d1d7a9da1e30fde02"}, +] +jupyterlab-pygments = [ + {file = "jupyterlab_pygments-0.2.2-py2.py3-none-any.whl", hash = "sha256:2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f"}, + {file = "jupyterlab_pygments-0.2.2.tar.gz", hash = "sha256:7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d"}, +] +jupyterlab-widgets = [ + {file = "jupyterlab_widgets-3.0.5-py3-none-any.whl", hash = "sha256:a04a42e50231b355b7087e16a818f541e53589f7647144ea0344c4bf16f300e5"}, + {file = "jupyterlab_widgets-3.0.5.tar.gz", hash = "sha256:eeaecdeaf6c03afc960ddae201ced88d5979b4ca9c3891bcb8f6631af705f5ef"}, +] +kiwisolver = [ + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2f5e60fabb7343a836360c4f0919b8cd0d6dbf08ad2ca6b9cf90bf0c76a3c4f6"}, + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:10ee06759482c78bdb864f4109886dff7b8a56529bc1609d4f1112b93fe6423c"}, + {file = "kiwisolver-1.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c79ebe8f3676a4c6630fd3f777f3cfecf9289666c84e775a67d1d358578dc2e3"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abbe9fa13da955feb8202e215c4018f4bb57469b1b78c7a4c5c7b93001699938"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7577c1987baa3adc4b3c62c33bd1118c3ef5c8ddef36f0f2c950ae0b199e100d"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8ad8285b01b0d4695102546b342b493b3ccc6781fc28c8c6a1bb63e95d22f09"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed58b8acf29798b036d347791141767ccf65eee7f26bde03a71c944449e53de"}, + {file = "kiwisolver-1.4.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a68b62a02953b9841730db7797422f983935aeefceb1679f0fc85cbfbd311c32"}, + {file = "kiwisolver-1.4.4-cp310-cp310-win32.whl", hash = "sha256:e92a513161077b53447160b9bd8f522edfbed4bd9759e4c18ab05d7ef7e49408"}, + {file = "kiwisolver-1.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:3fe20f63c9ecee44560d0e7f116b3a747a5d7203376abeea292ab3152334d004"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e0ea21f66820452a3f5d1655f8704a60d66ba1191359b96541eaf457710a5fc6"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:bc9db8a3efb3e403e4ecc6cd9489ea2bac94244f80c78e27c31dcc00d2790ac2"}, + {file = "kiwisolver-1.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d5b61785a9ce44e5a4b880272baa7cf6c8f48a5180c3e81c59553ba0cb0821ca"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c2dbb44c3f7e6c4d3487b31037b1bdbf424d97687c1747ce4ff2895795c9bf69"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6295ecd49304dcf3bfbfa45d9a081c96509e95f4b9d0eb7ee4ec0530c4a96514"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bd472dbe5e136f96a4b18f295d159d7f26fd399136f5b17b08c4e5f498cd494"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf7d9fce9bcc4752ca4a1b80aabd38f6d19009ea5cbda0e0856983cf6d0023f5"}, + {file = "kiwisolver-1.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78d6601aed50c74e0ef02f4204da1816147a6d3fbdc8b3872d263338a9052c51"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:877272cf6b4b7e94c9614f9b10140e198d2186363728ed0f701c6eee1baec1da"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:db608a6757adabb32f1cfe6066e39b3706d8c3aa69bbc353a5b61edad36a5cb4"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:5853eb494c71e267912275e5586fe281444eb5e722de4e131cddf9d442615626"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f0a1dbdb5ecbef0d34eb77e56fcb3e95bbd7e50835d9782a45df81cc46949750"}, + {file = "kiwisolver-1.4.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:283dffbf061a4ec60391d51e6155e372a1f7a4f5b15d59c8505339454f8989e4"}, + {file = "kiwisolver-1.4.4-cp311-cp311-win32.whl", hash = "sha256:d06adcfa62a4431d404c31216f0f8ac97397d799cd53800e9d3efc2fbb3cf14e"}, + {file = "kiwisolver-1.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:e7da3fec7408813a7cebc9e4ec55afed2d0fd65c4754bc376bf03498d4e92686"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:62ac9cc684da4cf1778d07a89bf5f81b35834cb96ca523d3a7fb32509380cbf6"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41dae968a94b1ef1897cb322b39360a0812661dba7c682aa45098eb8e193dbdf"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02f79693ec433cb4b5f51694e8477ae83b3205768a6fb48ffba60549080e295b"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0611a0a2a518464c05ddd5a3a1a0e856ccc10e67079bb17f265ad19ab3c7597"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:db5283d90da4174865d520e7366801a93777201e91e79bacbac6e6927cbceede"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1041feb4cda8708ce73bb4dcb9ce1ccf49d553bf87c3954bdfa46f0c3f77252c"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-win32.whl", hash = "sha256:a553dadda40fef6bfa1456dc4be49b113aa92c2a9a9e8711e955618cd69622e3"}, + {file = "kiwisolver-1.4.4-cp37-cp37m-win_amd64.whl", hash = "sha256:03baab2d6b4a54ddbb43bba1a3a2d1627e82d205c5cf8f4c924dc49284b87166"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:841293b17ad704d70c578f1f0013c890e219952169ce8a24ebc063eecf775454"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f4f270de01dd3e129a72efad823da90cc4d6aafb64c410c9033aba70db9f1ff0"}, + {file = "kiwisolver-1.4.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f9f39e2f049db33a908319cf46624a569b36983c7c78318e9726a4cb8923b26c"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97528e64cb9ebeff9701e7938653a9951922f2a38bd847787d4a8e498cc83ae"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d1573129aa0fd901076e2bfb4275a35f5b7aa60fbfb984499d661ec950320b0"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ad881edc7ccb9d65b0224f4e4d05a1e85cf62d73aab798943df6d48ab0cd79a1"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b428ef021242344340460fa4c9185d0b1f66fbdbfecc6c63eff4b7c29fad429d"}, + {file = "kiwisolver-1.4.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2e407cb4bd5a13984a6c2c0fe1845e4e41e96f183e5e5cd4d77a857d9693494c"}, + {file = "kiwisolver-1.4.4-cp38-cp38-win32.whl", hash = "sha256:75facbe9606748f43428fc91a43edb46c7ff68889b91fa31f53b58894503a191"}, + {file = "kiwisolver-1.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:5bce61af018b0cb2055e0e72e7d65290d822d3feee430b7b8203d8a855e78766"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8c808594c88a025d4e322d5bb549282c93c8e1ba71b790f539567932722d7bd8"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f0a71d85ecdd570ded8ac3d1c0f480842f49a40beb423bb8014539a9f32a5897"}, + {file = "kiwisolver-1.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b533558eae785e33e8c148a8d9921692a9fe5aa516efbdff8606e7d87b9d5824"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:efda5fc8cc1c61e4f639b8067d118e742b812c930f708e6667a5ce0d13499e29"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7c43e1e1206cd421cd92e6b3280d4385d41d7166b3ed577ac20444b6995a445f"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc8d3bd6c72b2dd9decf16ce70e20abcb3274ba01b4e1c96031e0c4067d1e7cd"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4ea39b0ccc4f5d803e3337dd46bcce60b702be4d86fd0b3d7531ef10fd99a1ac"}, + {file = "kiwisolver-1.4.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:968f44fdbf6dd757d12920d63b566eeb4d5b395fd2d00d29d7ef00a00582aac9"}, + {file = "kiwisolver-1.4.4-cp39-cp39-win32.whl", hash = "sha256:da7e547706e69e45d95e116e6939488d62174e033b763ab1496b4c29b76fabea"}, + {file = "kiwisolver-1.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:ba59c92039ec0a66103b1d5fe588fa546373587a7d68f5c96f743c3396afc04b"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:91672bacaa030f92fc2f43b620d7b337fd9a5af28b0d6ed3f77afc43c4a64b5a"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:787518a6789009c159453da4d6b683f468ef7a65bbde796bcea803ccf191058d"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da152d8cdcab0e56e4f45eb08b9aea6455845ec83172092f09b0e077ece2cf7a"}, + {file = "kiwisolver-1.4.4-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ecb1fa0db7bf4cff9dac752abb19505a233c7f16684c5826d1f11ebd9472b871"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:28bc5b299f48150b5f822ce68624e445040595a4ac3d59251703779836eceff9"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:81e38381b782cc7e1e46c4e14cd997ee6040768101aefc8fa3c24a4cc58e98f8"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2a66fdfb34e05b705620dd567f5a03f239a088d5a3f321e7b6ac3239d22aa286"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:872b8ca05c40d309ed13eb2e582cab0c5a05e81e987ab9c521bf05ad1d5cf5cb"}, + {file = "kiwisolver-1.4.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:70e7c2e7b750585569564e2e5ca9845acfaa5da56ac46df68414f29fea97be9f"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9f85003f5dfa867e86d53fac6f7e6f30c045673fa27b603c397753bebadc3008"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e307eb9bd99801f82789b44bb45e9f541961831c7311521b13a6c85afc09767"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1792d939ec70abe76f5054d3f36ed5656021dcad1322d1cc996d4e54165cef9"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6cb459eea32a4e2cf18ba5fcece2dbdf496384413bc1bae15583f19e567f3b2"}, + {file = "kiwisolver-1.4.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:36dafec3d6d6088d34e2de6b85f9d8e2324eb734162fba59d2ba9ed7a2043d5b"}, + {file = "kiwisolver-1.4.4.tar.gz", hash = "sha256:d41997519fcba4a1e46eb4a2fe31bc12f0ff957b2b81bac28db24744f333e955"}, +] +MarkupSafe = [ + {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, + {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, +] +matplotlib = [ + {file = "matplotlib-3.6.1-cp310-cp310-macosx_10_12_universal2.whl", hash = "sha256:7730e60e751cfcfe7fcb223cf03c0b979e9a064c239783ad37929d340a364cef"}, + {file = "matplotlib-3.6.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9dd40505ccc526acaf9a5db1b3029e237c64b58f1249983b28a291c2d6a1d0fa"}, + {file = "matplotlib-3.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:85948b303534b69fd771126764cf883fde2af9b003eb5778cb60f3b46f93d3f6"}, + {file = "matplotlib-3.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71eced071825005011cdc64efbae2e2c76b8209c18aa487dedf69796fe4b1e40"}, + {file = "matplotlib-3.6.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:220314c2d6b9ca11570d7cd4b841c9f3137546f188336003b9fb8def4dcb804d"}, + {file = "matplotlib-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2cc5d726d4d42865f909c5208a7841109d76584950dd0587b01a77cc279d4ab7"}, + {file = "matplotlib-3.6.1-cp310-cp310-win32.whl", hash = "sha256:183bf3ac6a6023ee590aa4b677f391ceed65ec0d6b930901a8483c267bd12995"}, + {file = "matplotlib-3.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:a68b91ac7e6bb26100a540a033f54c95fe06d9c0aa51312c2a52d07d1bde78f4"}, + {file = "matplotlib-3.6.1-cp311-cp311-macosx_10_12_universal2.whl", hash = "sha256:4648f0d79a87bf50ee740058305c91091ee5e1fbb71a7d2f5fe6707bfe328d1c"}, + {file = "matplotlib-3.6.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:9403764017d20ff570f7ce973a8b9637f08a6109118f4e0ce6c7493d8849a0d3"}, + {file = "matplotlib-3.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e4c8b5a243dd29d50289d694e931bd6cb6ae0b5bd654d12c647543d63862540c"}, + {file = "matplotlib-3.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1effccef0cea2d4da9feeed22079adf6786f92c800a7d0d2ef2104318a1c66c"}, + {file = "matplotlib-3.6.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dc25473319afabe49150267e54648ac559c33b0fc2a80c8caecfbbc2948a820"}, + {file = "matplotlib-3.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47cb088bbce82ae9fc2edf3c25e56a5c6142ce2553fea2b781679f960a70c207"}, + {file = "matplotlib-3.6.1-cp311-cp311-win32.whl", hash = "sha256:4d3b0e0a4611bd22065bbf47e9b2f689ac9e575bcb850a9f0ae2bbed75cab956"}, + {file = "matplotlib-3.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:e3c116e779fbbf421a9e4d3060db259a9bb486d98f4e3c5a0877c599bd173582"}, + {file = "matplotlib-3.6.1-cp38-cp38-macosx_10_12_universal2.whl", hash = "sha256:565f514dec81a41cbed10eb6011501879695087fc2787fb89423a466508abbbd"}, + {file = "matplotlib-3.6.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:05e86446562063d6186ff6d700118c0dbd5dccc403a6187351ee526c48878f10"}, + {file = "matplotlib-3.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:8245e85fd793f58edf29b8a9e3be47e8ecf76ea1a1e8240545f2746181ca5787"}, + {file = "matplotlib-3.6.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:1e2c75d5d1ff6b7ef9870360bfa23bea076b8dc0945a60d19453d7619ed9ea8f"}, + {file = "matplotlib-3.6.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c9756a8e69f6e1f76d47eb42132175b6814da1fbeae0545304c6d0fc2aae252a"}, + {file = "matplotlib-3.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6f5788168da2661b42f7468063b725cc73fdbeeb80f2704cb2d8c415e9a57c50"}, + {file = "matplotlib-3.6.1-cp38-cp38-win32.whl", hash = "sha256:0bab7564aafd5902128d54b68dca04f5755413fb6b502100bb0235a545882c48"}, + {file = "matplotlib-3.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:3c53486278a0629fd892783271dc994b962fba8dfe207445d039e14f1928ea46"}, + {file = "matplotlib-3.6.1-cp39-cp39-macosx_10_12_universal2.whl", hash = "sha256:27337bcb38d5db7430c14f350924542d75416ec1546d5d9d9f39b362b71db3fb"}, + {file = "matplotlib-3.6.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:fad858519bd6d52dbfeebdbe04d00dd8e932ed436f1c535e61bcc970a96c11e4"}, + {file = "matplotlib-3.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a3d903588b519b38ed085d0ae762a1dcd4b70164617292175cfd91b90d6c415"}, + {file = "matplotlib-3.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87bdbd37d0a41e025879863fe9b17bab15c0421313bc33e77e5e1aa54215c9c5"}, + {file = "matplotlib-3.6.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e632f66218811d4cf8b7a2a649e25ec15406c3c498f72d19e2bcf8377f38445d"}, + {file = "matplotlib-3.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ddd58324dc9a77e2e56d7b7aea7dbd0575b6f7cd1333c3ca9d388ac70978344"}, + {file = "matplotlib-3.6.1-cp39-cp39-win32.whl", hash = "sha256:12ab21d0cad122f5b23688d453a0280676e7c42f634f0dbd093d15d42d142b1f"}, + {file = "matplotlib-3.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:563896ba269324872ace436a57775dcc8322678a9496b28a8c25cdafa5ec2b92"}, + {file = "matplotlib-3.6.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:52935b7d4ccbf0dbc9cf454dbb10ca99c11cbe8da9467596b96e5e21fd4dfc5c"}, + {file = "matplotlib-3.6.1-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87027ff7b2edeb14476900261ef04d4beae949e1dfa0a3eb3ad6a6efbf9d0e1d"}, + {file = "matplotlib-3.6.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4de03085afb3b80fab341afaf8e60dfe06ce439b6dfed55d657cf34a7bc3c40"}, + {file = "matplotlib-3.6.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:b53387d4e59432ff221540a4ffb5ee9669c69417805e4faf0148a00d701c61f9"}, + {file = "matplotlib-3.6.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:02561141c434154f7bae8e5449909d152367cb40aa57bfb2a27f2748b9c5f95f"}, + {file = "matplotlib-3.6.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0161ebf87518ecfe0980c942d5f0d5df0e080c1746ebaab2027a969967014b7"}, + {file = "matplotlib-3.6.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2469f57e4c5cc0e85eddc7b30995ea9c404a78c0b1856da75d1a5887156ca350"}, + {file = "matplotlib-3.6.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5f97141e05baf160c3ec125f06ceb2a44c9bb62f42fcb8ee1c05313c73e99432"}, + {file = "matplotlib-3.6.1.tar.gz", hash = "sha256:e2d1b7225666f7e1bcc94c0bc9c587a82e3e8691da4757e357e5c2515222ee37"}, +] +matplotlib-inline = [ + {file = "matplotlib-inline-0.1.6.tar.gz", hash = "sha256:f887e5f10ba98e8d2b150ddcf4702c1e5f8b3a20005eb0f74bfdbd360ee6f304"}, + {file = "matplotlib_inline-0.1.6-py3-none-any.whl", hash = "sha256:f1f41aab5328aa5aaea9b16d083b128102f8712542f819fe7e6a420ff581b311"}, +] +mistune = [ + {file = "mistune-2.0.4-py2.py3-none-any.whl", hash = "sha256:182cc5ee6f8ed1b807de6b7bb50155df7b66495412836b9a74c8fbdfc75fe36d"}, + {file = "mistune-2.0.4.tar.gz", hash = "sha256:9ee0a66053e2267aba772c71e06891fa8f1af6d4b01d5e84e267b4570d4d9808"}, +] +mypy-extensions = [ + {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, + {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, +] +nbclassic = [ + {file = "nbclassic-0.4.8-py3-none-any.whl", hash = "sha256:cbf05df5842b420d5cece0143462380ea9d308ff57c2dc0eb4d6e035b18fbfb3"}, + {file = "nbclassic-0.4.8.tar.gz", hash = "sha256:c74d8a500f8e058d46b576a41e5bc640711e1032cf7541dde5f73ea49497e283"}, +] +nbclient = [ + {file = "nbclient-0.7.2-py3-none-any.whl", hash = "sha256:d97ac6257de2794f5397609df754fcbca1a603e94e924eb9b99787c031ae2e7c"}, + {file = "nbclient-0.7.2.tar.gz", hash = "sha256:884a3f4a8c4fc24bb9302f263e0af47d97f0d01fe11ba714171b320c8ac09547"}, +] +nbconvert = [ + {file = "nbconvert-7.2.7-py3-none-any.whl", hash = "sha256:e057f1f87a6ac50629b724d9a46b40e2ba394d6f20ee7f33f4acef1928a15af3"}, + {file = "nbconvert-7.2.7.tar.gz", hash = "sha256:8b727b0503bf4e0ff3907c8bea030d3fc4015fbee8669ac6ac2a5a6668b49d5e"}, +] +nbformat = [ + {file = "nbformat-5.7.1-py3-none-any.whl", hash = "sha256:e52ab802ce7f7a2863861e914642f021b9d7c23ad9726d14c36df92a79acd754"}, + {file = "nbformat-5.7.1.tar.gz", hash = "sha256:3810a0130453ed031970521d20989b8a592f3c2e73283a8280ae34ae1f75b3f8"}, +] +nest-asyncio = [ + {file = "nest_asyncio-1.5.6-py3-none-any.whl", hash = "sha256:b9a953fb40dceaa587d109609098db21900182b16440652454a146cffb06e8b8"}, + {file = "nest_asyncio-1.5.6.tar.gz", hash = "sha256:d267cc1ff794403f7df692964d1d2a3fa9418ffea2a3f6859a439ff482fef290"}, +] +notebook = [ + {file = "notebook-6.5.2-py3-none-any.whl", hash = "sha256:e04f9018ceb86e4fa841e92ea8fb214f8d23c1cedfde530cc96f92446924f0e4"}, + {file = "notebook-6.5.2.tar.gz", hash = "sha256:c1897e5317e225fc78b45549a6ab4b668e4c996fd03a04e938fe5e7af2bfffd0"}, +] +notebook-shim = [ + {file = "notebook_shim-0.2.2-py3-none-any.whl", hash = "sha256:9c6c30f74c4fbea6fce55c1be58e7fd0409b1c681b075dcedceb005db5026949"}, + {file = "notebook_shim-0.2.2.tar.gz", hash = "sha256:090e0baf9a5582ff59b607af523ca2db68ff216da0c69956b62cab2ef4fc9c3f"}, +] +numpy = [ + {file = "numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2"}, + {file = "numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f"}, + {file = "numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71"}, + {file = "numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3"}, + {file = "numpy-1.23.4-cp310-cp310-win32.whl", hash = "sha256:2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd"}, + {file = "numpy-1.23.4-cp310-cp310-win_amd64.whl", hash = "sha256:d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329"}, + {file = "numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db"}, + {file = "numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f"}, + {file = "numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0"}, + {file = "numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488"}, + {file = "numpy-1.23.4-cp311-cp311-win32.whl", hash = "sha256:5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79"}, + {file = "numpy-1.23.4-cp311-cp311-win_amd64.whl", hash = "sha256:7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d"}, + {file = "numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5"}, + {file = "numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6"}, + {file = "numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f"}, + {file = "numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68"}, + {file = "numpy-1.23.4-cp38-cp38-win32.whl", hash = "sha256:dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba"}, + {file = "numpy-1.23.4-cp38-cp38-win_amd64.whl", hash = "sha256:0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8"}, + {file = "numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894"}, + {file = "numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7"}, + {file = "numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735"}, + {file = "numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0"}, + {file = "numpy-1.23.4-cp39-cp39-win32.whl", hash = "sha256:f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef"}, + {file = "numpy-1.23.4-cp39-cp39-win_amd64.whl", hash = "sha256:f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e"}, + {file = "numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911"}, + {file = "numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810"}, + {file = "numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962"}, + {file = "numpy-1.23.4.tar.gz", hash = "sha256:ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c"}, +] +packaging = [ + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, +] +pandocfilters = [ + {file = "pandocfilters-1.5.0-py2.py3-none-any.whl", hash = "sha256:33aae3f25fd1a026079f5d27bdd52496f0e0803b3469282162bafdcbdf6ef14f"}, + {file = "pandocfilters-1.5.0.tar.gz", hash = "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38"}, +] +parso = [ + {file = "parso-0.8.3-py2.py3-none-any.whl", hash = "sha256:c001d4636cd3aecdaf33cbb40aebb59b094be2a74c556778ef5576c175e19e75"}, + {file = "parso-0.8.3.tar.gz", hash = "sha256:8c07be290bb59f03588915921e29e8a50002acaf2cdc5fa0e0114f91709fafa0"}, +] +pathspec = [ + {file = "pathspec-0.10.1-py3-none-any.whl", hash = "sha256:46846318467efc4556ccfd27816e004270a9eeeeb4d062ce5e6fc7a87c573f93"}, + {file = "pathspec-0.10.1.tar.gz", hash = "sha256:7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d"}, +] +pexpect = [ + {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, + {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, +] +pickleshare = [ + {file = "pickleshare-0.7.5-py2.py3-none-any.whl", hash = "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"}, + {file = "pickleshare-0.7.5.tar.gz", hash = "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca"}, +] +Pillow = [ + {file = "Pillow-9.3.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:0b7257127d646ff8676ec8a15520013a698d1fdc48bc2a79ba4e53df792526f2"}, + {file = "Pillow-9.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b90f7616ea170e92820775ed47e136208e04c967271c9ef615b6fbd08d9af0e3"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68943d632f1f9e3dce98908e873b3a090f6cba1cbb1b892a9e8d97c938871fbe"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be55f8457cd1eac957af0c3f5ece7bc3f033f89b114ef30f710882717670b2a8"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d77adcd56a42d00cc1be30843d3426aa4e660cab4a61021dc84467123f7a00c"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:829f97c8e258593b9daa80638aee3789b7df9da5cf1336035016d76f03b8860c"}, + {file = "Pillow-9.3.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:801ec82e4188e935c7f5e22e006d01611d6b41661bba9fe45b60e7ac1a8f84de"}, + {file = "Pillow-9.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:871b72c3643e516db4ecf20efe735deb27fe30ca17800e661d769faab45a18d7"}, + {file = "Pillow-9.3.0-cp310-cp310-win32.whl", hash = "sha256:655a83b0058ba47c7c52e4e2df5ecf484c1b0b0349805896dd350cbc416bdd91"}, + {file = "Pillow-9.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:9f47eabcd2ded7698106b05c2c338672d16a6f2a485e74481f524e2a23c2794b"}, + {file = "Pillow-9.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:57751894f6618fd4308ed8e0c36c333e2f5469744c34729a27532b3db106ee20"}, + {file = "Pillow-9.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7db8b751ad307d7cf238f02101e8e36a128a6cb199326e867d1398067381bff4"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3033fbe1feb1b59394615a1cafaee85e49d01b51d54de0cbf6aa8e64182518a1"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22b012ea2d065fd163ca096f4e37e47cd8b59cf4b0fd47bfca6abb93df70b34c"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9a65733d103311331875c1dca05cb4606997fd33d6acfed695b1232ba1df193"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:502526a2cbfa431d9fc2a079bdd9061a2397b842bb6bc4239bb176da00993812"}, + {file = "Pillow-9.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:90fb88843d3902fe7c9586d439d1e8c05258f41da473952aa8b328d8b907498c"}, + {file = "Pillow-9.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:89dca0ce00a2b49024df6325925555d406b14aa3efc2f752dbb5940c52c56b11"}, + {file = "Pillow-9.3.0-cp311-cp311-win32.whl", hash = "sha256:3168434d303babf495d4ba58fc22d6604f6e2afb97adc6a423e917dab828939c"}, + {file = "Pillow-9.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:18498994b29e1cf86d505edcb7edbe814d133d2232d256db8c7a8ceb34d18cef"}, + {file = "Pillow-9.3.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:772a91fc0e03eaf922c63badeca75e91baa80fe2f5f87bdaed4280662aad25c9"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa4107d1b306cdf8953edde0534562607fe8811b6c4d9a486298ad31de733b2"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4012d06c846dc2b80651b120e2cdd787b013deb39c09f407727ba90015c684f"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77ec3e7be99629898c9a6d24a09de089fa5356ee408cdffffe62d67bb75fdd72"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:6c738585d7a9961d8c2821a1eb3dcb978d14e238be3d70f0a706f7fa9316946b"}, + {file = "Pillow-9.3.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:828989c45c245518065a110434246c44a56a8b2b2f6347d1409c787e6e4651ee"}, + {file = "Pillow-9.3.0-cp37-cp37m-win32.whl", hash = "sha256:82409ffe29d70fd733ff3c1025a602abb3e67405d41b9403b00b01debc4c9a29"}, + {file = "Pillow-9.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:41e0051336807468be450d52b8edd12ac60bebaa97fe10c8b660f116e50b30e4"}, + {file = "Pillow-9.3.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:b03ae6f1a1878233ac620c98f3459f79fd77c7e3c2b20d460284e1fb370557d4"}, + {file = "Pillow-9.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4390e9ce199fc1951fcfa65795f239a8a4944117b5935a9317fb320e7767b40f"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40e1ce476a7804b0fb74bcfa80b0a2206ea6a882938eaba917f7a0f004b42502"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0a06a052c5f37b4ed81c613a455a81f9a3a69429b4fd7bb913c3fa98abefc20"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03150abd92771742d4a8cd6f2fa6246d847dcd2e332a18d0c15cc75bf6703040"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:15c42fb9dea42465dfd902fb0ecf584b8848ceb28b41ee2b58f866411be33f07"}, + {file = "Pillow-9.3.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:51e0e543a33ed92db9f5ef69a0356e0b1a7a6b6a71b80df99f1d181ae5875636"}, + {file = "Pillow-9.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3dd6caf940756101205dffc5367babf288a30043d35f80936f9bfb37f8355b32"}, + {file = "Pillow-9.3.0-cp38-cp38-win32.whl", hash = "sha256:f1ff2ee69f10f13a9596480335f406dd1f70c3650349e2be67ca3139280cade0"}, + {file = "Pillow-9.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:276a5ca930c913f714e372b2591a22c4bd3b81a418c0f6635ba832daec1cbcfc"}, + {file = "Pillow-9.3.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:73bd195e43f3fadecfc50c682f5055ec32ee2c933243cafbfdec69ab1aa87cad"}, + {file = "Pillow-9.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1c7c8ae3864846fc95f4611c78129301e203aaa2af813b703c55d10cc1628535"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e0918e03aa0c72ea56edbb00d4d664294815aa11291a11504a377ea018330d3"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0915e734b33a474d76c28e07292f196cdf2a590a0d25bcc06e64e545f2d146c"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af0372acb5d3598f36ec0914deed2a63f6bcdb7b606da04dc19a88d31bf0c05b"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:ad58d27a5b0262c0c19b47d54c5802db9b34d38bbf886665b626aff83c74bacd"}, + {file = "Pillow-9.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:97aabc5c50312afa5e0a2b07c17d4ac5e865b250986f8afe2b02d772567a380c"}, + {file = "Pillow-9.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9aaa107275d8527e9d6e7670b64aabaaa36e5b6bd71a1015ddd21da0d4e06448"}, + {file = "Pillow-9.3.0-cp39-cp39-win32.whl", hash = "sha256:bac18ab8d2d1e6b4ce25e3424f709aceef668347db8637c2296bcf41acb7cf48"}, + {file = "Pillow-9.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:b472b5ea442148d1c3e2209f20f1e0bb0eb556538690fa70b5e1f79fa0ba8dc2"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-macosx_10_10_x86_64.whl", hash = "sha256:ab388aaa3f6ce52ac1cb8e122c4bd46657c15905904b3120a6248b5b8b0bc228"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbb8e7f2abee51cef77673be97760abff1674ed32847ce04b4af90f610144c7b"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca31dd6014cb8b0b2db1e46081b0ca7d936f856da3b39744aef499db5d84d02"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:c7025dce65566eb6e89f56c9509d4f628fddcedb131d9465cacd3d8bac337e7e"}, + {file = "Pillow-9.3.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ebf2029c1f464c59b8bdbe5143c79fa2045a581ac53679733d3a91d400ff9efb"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b59430236b8e58840a0dfb4099a0e8717ffb779c952426a69ae435ca1f57210c"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12ce4932caf2ddf3e41d17fc9c02d67126935a44b86df6a206cf0d7161548627"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae5331c23ce118c53b172fa64a4c037eb83c9165aba3a7ba9ddd3ec9fa64a699"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:0b07fffc13f474264c336298d1b4ce01d9c5a011415b79d4ee5527bb69ae6f65"}, + {file = "Pillow-9.3.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:073adb2ae23431d3b9bcbcff3fe698b62ed47211d0716b067385538a1b0f28b8"}, + {file = "Pillow-9.3.0.tar.gz", hash = "sha256:c935a22a557a560108d780f9a0fc426dd7459940dc54faa49d83249c8d3e760f"}, +] +platformdirs = [ + {file = "platformdirs-2.5.2-py3-none-any.whl", hash = "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788"}, + {file = "platformdirs-2.5.2.tar.gz", hash = "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19"}, +] +prometheus-client = [ + {file = "prometheus_client-0.15.0-py3-none-any.whl", hash = "sha256:db7c05cbd13a0f79975592d112320f2605a325969b270a94b71dcabc47b931d2"}, + {file = "prometheus_client-0.15.0.tar.gz", hash = "sha256:be26aa452490cfcf6da953f9436e95a9f2b4d578ca80094b4458930e5f584ab1"}, +] +prompt-toolkit = [ + {file = "prompt_toolkit-3.0.36-py3-none-any.whl", hash = "sha256:aa64ad242a462c5ff0363a7b9cfe696c20d55d9fc60c11fd8e632d064804d305"}, + {file = "prompt_toolkit-3.0.36.tar.gz", hash = "sha256:3e163f254bef5a03b146397d7c1963bd3e2812f0964bb9a24e6ec761fd28db63"}, +] +psutil = [ + {file = "psutil-5.9.4-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c1ca331af862803a42677c120aff8a814a804e09832f166f226bfd22b56feee8"}, + {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:68908971daf802203f3d37e78d3f8831b6d1014864d7a85937941bb35f09aefe"}, + {file = "psutil-5.9.4-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:3ff89f9b835100a825b14c2808a106b6fdcc4b15483141482a12c725e7f78549"}, + {file = "psutil-5.9.4-cp27-cp27m-win32.whl", hash = "sha256:852dd5d9f8a47169fe62fd4a971aa07859476c2ba22c2254d4a1baa4e10b95ad"}, + {file = "psutil-5.9.4-cp27-cp27m-win_amd64.whl", hash = "sha256:9120cd39dca5c5e1c54b59a41d205023d436799b1c8c4d3ff71af18535728e94"}, + {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6b92c532979bafc2df23ddc785ed116fced1f492ad90a6830cf24f4d1ea27d24"}, + {file = "psutil-5.9.4-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:efeae04f9516907be44904cc7ce08defb6b665128992a56957abc9b61dca94b7"}, + {file = "psutil-5.9.4-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:54d5b184728298f2ca8567bf83c422b706200bcbbfafdc06718264f9393cfeb7"}, + {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16653106f3b59386ffe10e0bad3bb6299e169d5327d3f187614b1cb8f24cf2e1"}, + {file = "psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:54c0d3d8e0078b7666984e11b12b88af2db11d11249a8ac8920dd5ef68a66e08"}, + {file = "psutil-5.9.4-cp36-abi3-win32.whl", hash = "sha256:149555f59a69b33f056ba1c4eb22bb7bf24332ce631c44a319cec09f876aaeff"}, + {file = "psutil-5.9.4-cp36-abi3-win_amd64.whl", hash = "sha256:fd8522436a6ada7b4aad6638662966de0d61d241cb821239b2ae7013d41a43d4"}, + {file = "psutil-5.9.4-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:6001c809253a29599bc0dfd5179d9f8a5779f9dffea1da0f13c53ee568115e1e"}, + {file = "psutil-5.9.4.tar.gz", hash = "sha256:3d7f9739eb435d4b1338944abe23f49584bde5395f27487d2ee25ad9a8774a62"}, +] +ptyprocess = [ + {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, + {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, +] +pure-eval = [ + {file = "pure_eval-0.2.2-py3-none-any.whl", hash = "sha256:01eaab343580944bc56080ebe0a674b39ec44a945e6d09ba7db3cb8cec289350"}, + {file = "pure_eval-0.2.2.tar.gz", hash = "sha256:2b45320af6dfaa1750f543d714b6d1c520a1688dec6fd24d339063ce0aaa9ac3"}, +] +py = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] +pycparser = [ + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, +] +Pygments = [ + {file = "Pygments-2.13.0-py3-none-any.whl", hash = "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42"}, + {file = "Pygments-2.13.0.tar.gz", hash = "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1"}, +] +pyobjc-core = [ + {file = "pyobjc-core-8.5.1.tar.gz", hash = "sha256:f8592a12de076c27006700c4a46164478564fa33d7da41e7cbdd0a3bf9ddbccf"}, + {file = "pyobjc_core-8.5.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b62dcf987cc511188fc2aa5b4d3b9fd895361ea4984380463497ce4b0752ddf4"}, + {file = "pyobjc_core-8.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0accc653501a655f66c13f149a1d3d30e6cb65824edf852f7960a00c4f930d5b"}, + {file = "pyobjc_core-8.5.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f82b32affc898e9e5af041c1cecde2c99f2ce160b87df77f678c99f1550a4655"}, + {file = "pyobjc_core-8.5.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:f7b2f6b6f3caeb882c658fe0c7098be2e8b79893d84daa8e636cb3e58a07df00"}, + {file = "pyobjc_core-8.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:872c0202c911a5a2f1269261c168e36569f6ddac17e5d854ac19e581726570cc"}, + {file = "pyobjc_core-8.5.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:21f92e231a4bae7f2d160d065f5afbf5e859a1e37f29d34ac12592205fc8c108"}, + {file = "pyobjc_core-8.5.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:315334dd09781129af6a39641248891c4caa57043901750b0139c6614ce84ec0"}, +] +pyobjc-framework-Cocoa = [ + {file = "pyobjc-framework-Cocoa-8.5.1.tar.gz", hash = "sha256:9a3de5cdb4644e85daf53f2ed912ef6c16ea5804a9e65552eafe62c2e139eb8c"}, + {file = "pyobjc_framework_Cocoa-8.5.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:aa572acc2628488a47be8d19f4701fc96fce7377cc4da18316e1e08c3918521a"}, + {file = "pyobjc_framework_Cocoa-8.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cb3ae21c8d81b7f02a891088c623cef61bca89bd671eff58c632d2f926b649f3"}, + {file = "pyobjc_framework_Cocoa-8.5.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:88f08f5bd94c66d373d8413c1d08218aff4cff0b586e0cc4249b2284023e7577"}, + {file = "pyobjc_framework_Cocoa-8.5.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:063683b57e4bd88cb0f9631ae65d25ec4eecf427d2fe8d0c578f88da9c896f3f"}, + {file = "pyobjc_framework_Cocoa-8.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8f8806ddfac40620fb27f185d0f8937e69e330617319ecc2eccf6b9c8451bdd1"}, + {file = "pyobjc_framework_Cocoa-8.5.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:7733a9a201df9e0cc2a0cf7bf54d76bd7981cba9b599353b243e3e0c9eefec10"}, + {file = "pyobjc_framework_Cocoa-8.5.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f0ab227f99d3e25dd3db73f8cde0999914a5f0dd6a08600349d25f95eaa0da63"}, +] +pyobjc-framework-CoreBluetooth = [ + {file = "pyobjc-framework-CoreBluetooth-8.5.1.tar.gz", hash = "sha256:b4f621fc3b5bf289db58e64fd746773b18297f87a0ffc5502de74f69133301c1"}, + {file = "pyobjc_framework_CoreBluetooth-8.5.1-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:bc720f2987a4d28dc73b13146e7c104d717100deb75c244da68f1d0849096661"}, + {file = "pyobjc_framework_CoreBluetooth-8.5.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2167f22886beb5b3ae69e475e055403f28eab065c49a25e2b98b050b483be799"}, + {file = "pyobjc_framework_CoreBluetooth-8.5.1-cp36-abi3-macosx_11_0_universal2.whl", hash = "sha256:aa9587a36eca143701731e8bb6c369148f8cc48c28168d41e7323828e5117f2d"}, +] +pyobjc-framework-libdispatch = [ + {file = "pyobjc-framework-libdispatch-8.5.1.tar.gz", hash = "sha256:066fb34fceb326307559104d45532ec2c7b55426f9910b70dbefd5d1b8fd530f"}, + {file = "pyobjc_framework_libdispatch-8.5.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a316646ab30ba2a97bc828f8e27e7bb79efdf993d218a9c5118396b4f81dc762"}, + {file = "pyobjc_framework_libdispatch-8.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7730a29e4d9c7d8c2e8d9ffb60af0ab6699b2186296d2bff0a2dd54527578bc3"}, + {file = "pyobjc_framework_libdispatch-8.5.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:76208d9d2b0071df2950800495ac0300360bb5f25cbe9ab880b65cb809764979"}, + {file = "pyobjc_framework_libdispatch-8.5.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:1ad9aa4773ff1d89bf4385c081824c4f8708b50e3ac2fe0a9d590153242c0f67"}, + {file = "pyobjc_framework_libdispatch-8.5.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:81e1833bd26f15930faba678f9efdffafc79ec04e2ea8b6d1b88cafc0883af97"}, + {file = "pyobjc_framework_libdispatch-8.5.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:73226e224436eb6383e7a8a811c90ed597995adb155b4f46d727881a383ac550"}, + {file = "pyobjc_framework_libdispatch-8.5.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d115355ce446fc073c75cedfd7ab0a13958adda8e3a3b1e421e1f1e5f65640da"}, +] +pyparsing = [ + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, +] +pyrsistent = [ + {file = "pyrsistent-0.19.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a"}, + {file = "pyrsistent-0.19.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win32.whl", hash = "sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41"}, + {file = "pyrsistent-0.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win32.whl", hash = "sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2"}, + {file = "pyrsistent-0.19.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73"}, + {file = "pyrsistent-0.19.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584"}, + {file = "pyrsistent-0.19.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win32.whl", hash = "sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a"}, + {file = "pyrsistent-0.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab"}, + {file = "pyrsistent-0.19.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95"}, + {file = "pyrsistent-0.19.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win32.whl", hash = "sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b"}, + {file = "pyrsistent-0.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291"}, + {file = "pyrsistent-0.19.2-py3-none-any.whl", hash = "sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0"}, + {file = "pyrsistent-0.19.2.tar.gz", hash = "sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2"}, +] +python-dateutil = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] +python-json-logger = [ + {file = "python-json-logger-2.0.4.tar.gz", hash = "sha256:764d762175f99fcc4630bd4853b09632acb60a6224acb27ce08cd70f0b1b81bd"}, + {file = "python_json_logger-2.0.4-py3-none-any.whl", hash = "sha256:3b03487b14eb9e4f77e4fc2a023358b5394b82fd89cecf5586259baed57d8c6f"}, +] +pywin32 = [ + {file = "pywin32-305-cp310-cp310-win32.whl", hash = "sha256:421f6cd86e84bbb696d54563c48014b12a23ef95a14e0bdba526be756d89f116"}, + {file = "pywin32-305-cp310-cp310-win_amd64.whl", hash = "sha256:73e819c6bed89f44ff1d690498c0a811948f73777e5f97c494c152b850fad478"}, + {file = "pywin32-305-cp310-cp310-win_arm64.whl", hash = "sha256:742eb905ce2187133a29365b428e6c3b9001d79accdc30aa8969afba1d8470f4"}, + {file = "pywin32-305-cp311-cp311-win32.whl", hash = "sha256:19ca459cd2e66c0e2cc9a09d589f71d827f26d47fe4a9d09175f6aa0256b51c2"}, + {file = "pywin32-305-cp311-cp311-win_amd64.whl", hash = "sha256:326f42ab4cfff56e77e3e595aeaf6c216712bbdd91e464d167c6434b28d65990"}, + {file = "pywin32-305-cp311-cp311-win_arm64.whl", hash = "sha256:4ecd404b2c6eceaca52f8b2e3e91b2187850a1ad3f8b746d0796a98b4cea04db"}, + {file = "pywin32-305-cp36-cp36m-win32.whl", hash = "sha256:48d8b1659284f3c17b68587af047d110d8c44837736b8932c034091683e05863"}, + {file = "pywin32-305-cp36-cp36m-win_amd64.whl", hash = "sha256:13362cc5aa93c2beaf489c9c9017c793722aeb56d3e5166dadd5ef82da021fe1"}, + {file = "pywin32-305-cp37-cp37m-win32.whl", hash = "sha256:a55db448124d1c1484df22fa8bbcbc45c64da5e6eae74ab095b9ea62e6d00496"}, + {file = "pywin32-305-cp37-cp37m-win_amd64.whl", hash = "sha256:109f98980bfb27e78f4df8a51a8198e10b0f347257d1e265bb1a32993d0c973d"}, + {file = "pywin32-305-cp38-cp38-win32.whl", hash = "sha256:9dd98384da775afa009bc04863426cb30596fd78c6f8e4e2e5bbf4edf8029504"}, + {file = "pywin32-305-cp38-cp38-win_amd64.whl", hash = "sha256:56d7a9c6e1a6835f521788f53b5af7912090674bb84ef5611663ee1595860fc7"}, + {file = "pywin32-305-cp39-cp39-win32.whl", hash = "sha256:9d968c677ac4d5cbdaa62fd3014ab241718e619d8e36ef8e11fb930515a1e918"}, + {file = "pywin32-305-cp39-cp39-win_amd64.whl", hash = "sha256:50768c6b7c3f0b38b7fb14dd4104da93ebced5f1a50dc0e834594bff6fbe1271"}, +] +pywinpty = [ + {file = "pywinpty-2.0.9-cp310-none-win_amd64.whl", hash = "sha256:30a7b371446a694a6ce5ef906d70ac04e569de5308c42a2bdc9c3bc9275ec51f"}, + {file = "pywinpty-2.0.9-cp311-none-win_amd64.whl", hash = "sha256:d78ef6f4bd7a6c6f94dc1a39ba8fb028540cc39f5cb593e756506db17843125f"}, + {file = "pywinpty-2.0.9-cp37-none-win_amd64.whl", hash = "sha256:5ed36aa087e35a3a183f833631b3e4c1ae92fe2faabfce0fa91b77ed3f0f1382"}, + {file = "pywinpty-2.0.9-cp38-none-win_amd64.whl", hash = "sha256:2352f44ee913faaec0a02d3c112595e56b8af7feeb8100efc6dc1a8685044199"}, + {file = "pywinpty-2.0.9-cp39-none-win_amd64.whl", hash = "sha256:ba75ec55f46c9e17db961d26485b033deb20758b1731e8e208e1e8a387fcf70c"}, + {file = "pywinpty-2.0.9.tar.gz", hash = "sha256:01b6400dd79212f50a2f01af1c65b781290ff39610853db99bf03962eb9a615f"}, +] +PyYAML = [ + {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, + {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, + {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, + {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, + {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, + {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, + {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, + {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, + {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, + {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, + {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, + {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, + {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, + {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, + {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, + {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, + {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, + {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, + {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, + {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, +] +pyzmq = [ + {file = "pyzmq-24.0.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:28b119ba97129d3001673a697b7cce47fe6de1f7255d104c2f01108a5179a066"}, + {file = "pyzmq-24.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bcbebd369493d68162cddb74a9c1fcebd139dfbb7ddb23d8f8e43e6c87bac3a6"}, + {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae61446166983c663cee42c852ed63899e43e484abf080089f771df4b9d272ef"}, + {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:87f7ac99b15270db8d53f28c3c7b968612993a90a5cf359da354efe96f5372b4"}, + {file = "pyzmq-24.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca7c3956b03b7663fac4d150f5e6d4f6f38b2462c1e9afd83bcf7019f17913"}, + {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:8c78bfe20d4c890cb5580a3b9290f700c570e167d4cdcc55feec07030297a5e3"}, + {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:48f721f070726cd2a6e44f3c33f8ee4b24188e4b816e6dd8ba542c8c3bb5b246"}, + {file = "pyzmq-24.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:afe1f3bc486d0ce40abb0a0c9adb39aed3bbac36ebdc596487b0cceba55c21c1"}, + {file = "pyzmq-24.0.1-cp310-cp310-win32.whl", hash = "sha256:3e6192dbcefaaa52ed81be88525a54a445f4b4fe2fffcae7fe40ebb58bd06bfd"}, + {file = "pyzmq-24.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:86de64468cad9c6d269f32a6390e210ca5ada568c7a55de8e681ca3b897bb340"}, + {file = "pyzmq-24.0.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:838812c65ed5f7c2bd11f7b098d2e5d01685a3f6d1f82849423b570bae698c00"}, + {file = "pyzmq-24.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dfb992dbcd88d8254471760879d48fb20836d91baa90f181c957122f9592b3dc"}, + {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7abddb2bd5489d30ffeb4b93a428130886c171b4d355ccd226e83254fcb6b9ef"}, + {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94010bd61bc168c103a5b3b0f56ed3b616688192db7cd5b1d626e49f28ff51b3"}, + {file = "pyzmq-24.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8242543c522d84d033fe79be04cb559b80d7eb98ad81b137ff7e0a9020f00ace"}, + {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ccb94342d13e3bf3ffa6e62f95b5e3f0bc6bfa94558cb37f4b3d09d6feb536ff"}, + {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6640f83df0ae4ae1104d4c62b77e9ef39be85ebe53f636388707d532bee2b7b8"}, + {file = "pyzmq-24.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a180dbd5ea5d47c2d3b716d5c19cc3fb162d1c8db93b21a1295d69585bfddac1"}, + {file = "pyzmq-24.0.1-cp311-cp311-win32.whl", hash = "sha256:624321120f7e60336be8ec74a172ae7fba5c3ed5bf787cc85f7e9986c9e0ebc2"}, + {file = "pyzmq-24.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:1724117bae69e091309ffb8255412c4651d3f6355560d9af312d547f6c5bc8b8"}, + {file = "pyzmq-24.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:15975747462ec49fdc863af906bab87c43b2491403ab37a6d88410635786b0f4"}, + {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b947e264f0e77d30dcbccbb00f49f900b204b922eb0c3a9f0afd61aaa1cedc3d"}, + {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0ec91f1bad66f3ee8c6deb65fa1fe418e8ad803efedd69c35f3b5502f43bd1dc"}, + {file = "pyzmq-24.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:db03704b3506455d86ec72c3358a779e9b1d07b61220dfb43702b7b668edcd0d"}, + {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:e7e66b4e403c2836ac74f26c4b65d8ac0ca1eef41dfcac2d013b7482befaad83"}, + {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:7a23ccc1083c260fa9685c93e3b170baba45aeed4b524deb3f426b0c40c11639"}, + {file = "pyzmq-24.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:fa0ae3275ef706c0309556061185dd0e4c4cd3b7d6f67ae617e4e677c7a41e2e"}, + {file = "pyzmq-24.0.1-cp36-cp36m-win32.whl", hash = "sha256:f01de4ec083daebf210531e2cca3bdb1608dbbbe00a9723e261d92087a1f6ebc"}, + {file = "pyzmq-24.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:de4217b9eb8b541cf2b7fde4401ce9d9a411cc0af85d410f9d6f4333f43640be"}, + {file = "pyzmq-24.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:78068e8678ca023594e4a0ab558905c1033b2d3e806a0ad9e3094e231e115a33"}, + {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77c2713faf25a953c69cf0f723d1b7dd83827b0834e6c41e3fb3bbc6765914a1"}, + {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8bb4af15f305056e95ca1bd086239b9ebc6ad55e9f49076d27d80027f72752f6"}, + {file = "pyzmq-24.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0f14cffd32e9c4c73da66db97853a6aeceaac34acdc0fae9e5bbc9370281864c"}, + {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:0108358dab8c6b27ff6b985c2af4b12665c1bc659648284153ee501000f5c107"}, + {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d66689e840e75221b0b290b0befa86f059fb35e1ee6443bce51516d4d61b6b99"}, + {file = "pyzmq-24.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ae08ac90aa8fa14caafc7a6251bd218bf6dac518b7bff09caaa5e781119ba3f2"}, + {file = "pyzmq-24.0.1-cp37-cp37m-win32.whl", hash = "sha256:8421aa8c9b45ea608c205db9e1c0c855c7e54d0e9c2c2f337ce024f6843cab3b"}, + {file = "pyzmq-24.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:54d8b9c5e288362ec8595c1d98666d36f2070fd0c2f76e2b3c60fbad9bd76227"}, + {file = "pyzmq-24.0.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:acbd0a6d61cc954b9f535daaa9ec26b0a60a0d4353c5f7c1438ebc88a359a47e"}, + {file = "pyzmq-24.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:47b11a729d61a47df56346283a4a800fa379ae6a85870d5a2e1e4956c828eedc"}, + {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:abe6eb10122f0d746a0d510c2039ae8edb27bc9af29f6d1b05a66cc2401353ff"}, + {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:07bec1a1b22dacf718f2c0e71b49600bb6a31a88f06527dfd0b5aababe3fa3f7"}, + {file = "pyzmq-24.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0d945a85b70da97ae86113faf9f1b9294efe66bd4a5d6f82f2676d567338b66"}, + {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1b7928bb7580736ffac5baf814097be342ba08d3cfdfb48e52773ec959572287"}, + {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:b946da90dc2799bcafa682692c1d2139b2a96ec3c24fa9fc6f5b0da782675330"}, + {file = "pyzmq-24.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:c8840f064b1fb377cffd3efeaad2b190c14d4c8da02316dae07571252d20b31f"}, + {file = "pyzmq-24.0.1-cp38-cp38-win32.whl", hash = "sha256:4854f9edc5208f63f0841c0c667260ae8d6846cfa233c479e29fdc85d42ebd58"}, + {file = "pyzmq-24.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:42d4f97b9795a7aafa152a36fe2ad44549b83a743fd3e77011136def512e6c2a"}, + {file = "pyzmq-24.0.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:52afb0ac962963fff30cf1be775bc51ae083ef4c1e354266ab20e5382057dd62"}, + {file = "pyzmq-24.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bad8210ad4df68c44ff3685cca3cda448ee46e20d13edcff8909eba6ec01ca4"}, + {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:dabf1a05318d95b1537fd61d9330ef4313ea1216eea128a17615038859da3b3b"}, + {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5bd3d7dfd9cd058eb68d9a905dec854f86649f64d4ddf21f3ec289341386c44b"}, + {file = "pyzmq-24.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8012bce6836d3f20a6c9599f81dfa945f433dab4dbd0c4917a6fb1f998ab33d"}, + {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c31805d2c8ade9b11feca4674eee2b9cce1fec3e8ddb7bbdd961a09dc76a80ea"}, + {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3104f4b084ad5d9c0cb87445cc8cfd96bba710bef4a66c2674910127044df209"}, + {file = "pyzmq-24.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:df0841f94928f8af9c7a1f0aaaffba1fb74607af023a152f59379c01c53aee58"}, + {file = "pyzmq-24.0.1-cp39-cp39-win32.whl", hash = "sha256:a435ef8a3bd95c8a2d316d6e0ff70d0db524f6037411652803e118871d703333"}, + {file = "pyzmq-24.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:2032d9cb994ce3b4cba2b8dfae08c7e25bc14ba484c770d4d3be33c27de8c45b"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bb5635c851eef3a7a54becde6da99485eecf7d068bd885ac8e6d173c4ecd68b0"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:83ea1a398f192957cb986d9206ce229efe0ee75e3c6635baff53ddf39bd718d5"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:941fab0073f0a54dc33d1a0460cb04e0d85893cb0c5e1476c785000f8b359409"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e8f482c44ccb5884bf3f638f29bea0f8dc68c97e38b2061769c4cb697f6140d"}, + {file = "pyzmq-24.0.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:613010b5d17906c4367609e6f52e9a2595e35d5cc27d36ff3f1b6fa6e954d944"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:65c94410b5a8355cfcf12fd600a313efee46ce96a09e911ea92cf2acf6708804"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:20e7eeb1166087db636c06cae04a1ef59298627f56fb17da10528ab52a14c87f"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a2712aee7b3834ace51738c15d9ee152cc5a98dc7d57dd93300461b792ab7b43"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a7c280185c4da99e0cc06c63bdf91f5b0b71deb70d8717f0ab870a43e376db8"}, + {file = "pyzmq-24.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:858375573c9225cc8e5b49bfac846a77b696b8d5e815711b8d4ba3141e6e8879"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:80093b595921eed1a2cead546a683b9e2ae7f4a4592bb2ab22f70d30174f003a"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f3f3154fde2b1ff3aa7b4f9326347ebc89c8ef425ca1db8f665175e6d3bd42f"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abb756147314430bee5d10919b8493c0ccb109ddb7f5dfd2fcd7441266a25b75"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44e706bac34e9f50779cb8c39f10b53a4d15aebb97235643d3112ac20bd577b4"}, + {file = "pyzmq-24.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:687700f8371643916a1d2c61f3fdaa630407dd205c38afff936545d7b7466066"}, + {file = "pyzmq-24.0.1.tar.gz", hash = "sha256:216f5d7dbb67166759e59b0479bca82b8acf9bed6015b526b8eb10143fb08e77"}, +] +qtconsole = [ + {file = "qtconsole-5.4.0-py3-none-any.whl", hash = "sha256:be13560c19bdb3b54ed9741a915aa701a68d424519e8341ac479a91209e694b2"}, + {file = "qtconsole-5.4.0.tar.gz", hash = "sha256:57748ea2fd26320a0b77adba20131cfbb13818c7c96d83fafcb110ff55f58b35"}, +] +QtPy = [ + {file = "QtPy-2.3.0-py3-none-any.whl", hash = "sha256:8d6d544fc20facd27360ea189592e6135c614785f0dec0b4f083289de6beb408"}, + {file = "QtPy-2.3.0.tar.gz", hash = "sha256:0603c9c83ccc035a4717a12908bf6bc6cb22509827ea2ec0e94c2da7c9ed57c5"}, +] +rfc3339-validator = [ + {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, + {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, +] +rfc3986-validator = [ + {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, + {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, +] +Send2Trash = [ + {file = "Send2Trash-1.8.0-py3-none-any.whl", hash = "sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08"}, + {file = "Send2Trash-1.8.0.tar.gz", hash = "sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d"}, +] +setuptools = [ + {file = "setuptools-65.5.0-py3-none-any.whl", hash = "sha256:f62ea9da9ed6289bfe868cd6845968a2c854d1427f8548d52cae02a42b4f0356"}, + {file = "setuptools-65.5.0.tar.gz", hash = "sha256:512e5536220e38146176efb833d4a62aa726b7bbff82cfbc8ba9eaa3996e0b17"}, +] +setuptools-scm = [ + {file = "setuptools_scm-7.0.5-py3-none-any.whl", hash = "sha256:7930f720905e03ccd1e1d821db521bff7ec2ac9cf0ceb6552dd73d24a45d3b02"}, + {file = "setuptools_scm-7.0.5.tar.gz", hash = "sha256:031e13af771d6f892b941adb6ea04545bbf91ebc5ce68c78aaf3fff6e1fb4844"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +sniffio = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] +soupsieve = [ + {file = "soupsieve-2.3.2.post1-py3-none-any.whl", hash = "sha256:3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759"}, + {file = "soupsieve-2.3.2.post1.tar.gz", hash = "sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d"}, +] +stack-data = [ + {file = "stack_data-0.6.2-py3-none-any.whl", hash = "sha256:cbb2a53eb64e5785878201a97ed7c7b94883f48b87bfb0bbe8b623c74679e4a8"}, + {file = "stack_data-0.6.2.tar.gz", hash = "sha256:32d2dd0376772d01b6cb9fc996f3c8b57a357089dec328ed4b6553d037eaf815"}, +] +terminado = [ + {file = "terminado-0.17.1-py3-none-any.whl", hash = "sha256:8650d44334eba354dd591129ca3124a6ba42c3d5b70df5051b6921d506fdaeae"}, + {file = "terminado-0.17.1.tar.gz", hash = "sha256:6ccbbcd3a4f8a25a5ec04991f39a0b8db52dfcd487ea0e578d977e6752380333"}, +] +tinycss2 = [ + {file = "tinycss2-1.2.1-py3-none-any.whl", hash = "sha256:2b80a96d41e7c3914b8cda8bc7f705a4d9c49275616e886103dd839dfc847847"}, + {file = "tinycss2-1.2.1.tar.gz", hash = "sha256:8cff3a8f066c2ec677c06dbc7b45619804a6938478d9d73c284b29d14ecb0627"}, +] +tomli = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] +tornado = [ + {file = "tornado-6.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:20f638fd8cc85f3cbae3c732326e96addff0a15e22d80f049e00121651e82e72"}, + {file = "tornado-6.2-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:87dcafae3e884462f90c90ecc200defe5e580a7fbbb4365eda7c7c1eb809ebc9"}, + {file = "tornado-6.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba09ef14ca9893954244fd872798b4ccb2367c165946ce2dd7376aebdde8e3ac"}, + {file = "tornado-6.2-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8150f721c101abdef99073bf66d3903e292d851bee51910839831caba341a75"}, + {file = "tornado-6.2-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e"}, + {file = "tornado-6.2-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:5f8c52d219d4995388119af7ccaa0bcec289535747620116a58d830e7c25d8a8"}, + {file = "tornado-6.2-cp37-abi3-musllinux_1_1_i686.whl", hash = "sha256:6fdfabffd8dfcb6cf887428849d30cf19a3ea34c2c248461e1f7d718ad30b66b"}, + {file = "tornado-6.2-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:1d54d13ab8414ed44de07efecb97d4ef7c39f7438cf5e976ccd356bebb1b5fca"}, + {file = "tornado-6.2-cp37-abi3-win32.whl", hash = "sha256:5c87076709343557ef8032934ce5f637dbb552efa7b21d08e89ae7619ed0eb23"}, + {file = "tornado-6.2-cp37-abi3-win_amd64.whl", hash = "sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b"}, + {file = "tornado-6.2.tar.gz", hash = "sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13"}, +] +traitlets = [ + {file = "traitlets-5.8.0-py3-none-any.whl", hash = "sha256:c864831efa0ba6576d09b44884b34e41defc18c0d7e720b4a2d6698c842cab3e"}, + {file = "traitlets-5.8.0.tar.gz", hash = "sha256:6cc57d6dc28c85d5365961726ffd19b538739347749e13ebe34e03323a0e8f84"}, +] +typing-extensions = [ + {file = "typing_extensions-4.4.0-py3-none-any.whl", hash = "sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e"}, + {file = "typing_extensions-4.4.0.tar.gz", hash = "sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa"}, +] +uri-template = [ + {file = "uri_template-1.2.0-py3-none-any.whl", hash = "sha256:f1699c77b73b925cf4937eae31ab282a86dc885c333f2e942513f08f691fc7db"}, + {file = "uri_template-1.2.0.tar.gz", hash = "sha256:934e4d09d108b70eb8a24410af8615294d09d279ce0e7cbcdaef1bd21f932b06"}, +] +wcwidth = [ + {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, + {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, +] +webcolors = [ + {file = "webcolors-1.12-py3-none-any.whl", hash = "sha256:d98743d81d498a2d3eaf165196e65481f0d2ea85281463d856b1e51b09f62dce"}, + {file = "webcolors-1.12.tar.gz", hash = "sha256:16d043d3a08fd6a1b1b7e3e9e62640d09790dce80d2bdd4792a175b35fe794a9"}, +] +webencodings = [ + {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, + {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, +] +websocket-client = [ + {file = "websocket-client-1.4.2.tar.gz", hash = "sha256:d6e8f90ca8e2dd4e8027c4561adeb9456b54044312dba655e7cae652ceb9ae59"}, + {file = "websocket_client-1.4.2-py3-none-any.whl", hash = "sha256:d6b06432f184438d99ac1f456eaf22fe1ade524c3dd16e661142dc54e9cba574"}, +] +widgetsnbextension = [ + {file = "widgetsnbextension-4.0.5-py3-none-any.whl", hash = "sha256:eaaaf434fb9b08bd197b2a14ffe45ddb5ac3897593d43c69287091e5f3147bf7"}, + {file = "widgetsnbextension-4.0.5.tar.gz", hash = "sha256:003f716d930d385be3fd9de42dd9bf008e30053f73bddde235d14fbeaeff19af"}, +] +zipp = [ + {file = "zipp-3.11.0-py3-none-any.whl", hash = "sha256:83a28fcb75844b5c0cdaf5aa4003c2d728c77e05f5aeabe8e95e56727005fbaa"}, + {file = "zipp-3.11.0.tar.gz", hash = "sha256:a7a22e05929290a67401440b39690ae6563279bced5f314609d9d03798f56766"}, +] diff --git a/ch-13/2.3-movement-uncertainty/pyproject.toml b/ch-13/2.3-movement-uncertainty/pyproject.toml new file mode 100644 index 0000000..8e33d98 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/pyproject.toml @@ -0,0 +1,22 @@ +[tool.poetry] +name = "modelling-space" +version = "0.1.0" +description = "" +authors = ["Danny Staple "] +readme = "README.md" +packages = [{include = "modelling_space"}] + +[tool.poetry.dependencies] +python = "^3.9" +matplotlib = "3.6.1" +numpy = "1.23.4" +bleak = "0.19.0" +jupyter = "^1.0.0" + + +[tool.poetry.group.dev.dependencies] +black = "^22.10.0" + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" diff --git a/ch-13/2.3-movement-uncertainty/requirements.txt b/ch-13/2.3-movement-uncertainty/requirements.txt new file mode 100644 index 0000000..01fedac --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/requirements.txt @@ -0,0 +1,3 @@ +matplotlib==3.6.1 +numpy==1.23.4 +bleak==0.19.0 diff --git a/ch-13/2.3-movement-uncertainty/robot/arena.py b/ch-13/2.3-movement-uncertainty/robot/arena.py new file mode 100644 index 0000000..49129fb --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/robot/arena.py @@ -0,0 +1,77 @@ +"""Represent the lines of the arena""" +try: + from ulab import numpy as np +except ImportError: + import numpy as np + +boundary_lines = [ + [(0,0), (0, 1500)], + [(0, 1500), (1500, 1500)], + [(1500, 1500), (1500, 500)], + [(1500, 500), (1000, 500)], + [(1000, 500), (1000, 0)], + [(1000, 0), (0, 0)], +] + +width = 1500 +height = 1500 + + +grid_cell_size = 50 +overscan = 10 # 10 each way + + +def get_distance_to_segment(x, y, segment): + """Return the distance from the point to the segment. + Segment -> ((x1, y1), (x2, y2)) + All segments are horizontal or vertical. + """ + x1, y1 = segment[0] + x2, y2 = segment[1] + # if the segment is horizontal, the point will be closest to the y value of the segment + if y1 == y2 and x >= min(x1, x2) and x <= max(x1, x2): + return abs(y - y1) + # if the segment is vertical, the point will be closest to the x value of the segment + if x1 == x2 and y >= min(y1, y2) and y <= max(y1, y2): + return abs(x - x1) + # the point will be closest to one of the end points + return np.sqrt( + min( + (x - x1) ** 2 + (y - y1) ** 2, + (x - x2) ** 2 + (y - y2) ** 2 + ) + ) + + +def get_distance_likelihood(x, y): + """Return the distance from the point to the nearest segment as a decay function.""" + min_distance = None + for segment in boundary_lines: + distance = get_distance_to_segment(x, y, segment) + if min_distance is None or distance < min_distance: + min_distance = distance + return 1.0 / (1 + min_distance/250) ** 2 + + +grid_cell_size = 50 +overscan = 10 # 10 each way + +# beam endpoint model +def make_distance_grid(): + """Take the boundary lines. With and overscan of 10 cells, and grid cell size of 5cm (50mm), + make a grid of the distance to the nearest boundary line. + """ + grid = np.zeros(( + width // grid_cell_size + 2 * overscan, + height // grid_cell_size + 2 * overscan + ), dtype=np.float) + for x in range(grid.shape[0]): + column_x = x * grid_cell_size - (overscan * grid_cell_size) + for y in range(grid.shape[1]): + row_y = y * grid_cell_size - (overscan * grid_cell_size) + grid[x, y] = get_distance_likelihood( + column_x, row_y + ) + return grid + +distance_grid = make_distance_grid() diff --git a/ch-13/2.3-movement-uncertainty/robot/code.py b/ch-13/2.3-movement-uncertainty/robot/code.py new file mode 100644 index 0000000..440cc48 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/robot/code.py @@ -0,0 +1,182 @@ +import asyncio +import json +import random +from ulab import numpy as np + +import arena +import robot + +class DistanceSensorTracker: + def __init__(self): + robot.left_distance.distance_mode = 2 + robot.right_distance.distance_mode = 2 + robot.left_distance.timing_budget = 50 + robot.right_distance.timing_budget = 50 + self.left = 300 + self.right = 300 + + async def main(self): + robot.left_distance.start_ranging() + robot.right_distance.start_ranging() + while True: + if robot.left_distance.data_ready and robot.left_distance.distance: + self.left = robot.left_distance.distance * 10 # convert to mm + robot.left_distance.clear_interrupt() + if robot.right_distance.data_ready and robot.right_distance.distance: + self.right = robot.right_distance.distance * 10 + robot.right_distance.clear_interrupt() + await asyncio.sleep(0.01) + + +class CollisionAvoid: + def __init__(self, distance_sensors): + self.speed = 0.6 + self.distance_sensors = distance_sensors + + async def main(self): + while True: + robot.set_right(self.speed) + while self.distance_sensors.left < 300 or \ + self.distance_sensors.right < 300: + robot.set_left(-self.speed) + await asyncio.sleep(0.3) + robot.set_left(self.speed) + await asyncio.sleep(0) + +def get_scaled_sample_around_mean(mean, scale): + return mean + (random.uniform(-scale, scale) + random.uniform(-scale, scale)) / 2 + +def send_json(data): + robot.uart.write((json.dumps(data) + "\n").encode()) + +def read_json(): + try: + data = robot.uart.readline() + decoded = data.decode() + return json.loads(decoded) + except (UnicodeError, ValueError): + print("Invalid data") + return None + + +def send_poses(samples): + send_json({ + "poses": np.array(samples[:,:2], dtype=np.int16).tolist(), + }) + + +class Simulation: + def __init__(self): + self.population_size = 20 + self.poses = np.array( + [( + int(random.uniform(0, arena.width)), + int(random.uniform(0, arena.height)), + int(random.uniform(0, 360))) for _ in range(self.population_size)], + dtype=np.float, + ) + self.distance_sensors = DistanceSensorTracker() + self.collision_avoider = CollisionAvoid(self.distance_sensors) + self.last_encoder_left = robot.left_encoder.read() + self.last_encoder_right = robot.right_encoder.read() + self.alpha_rot = 0.05 + self.alpha_rot_trans = 0.01 + self.alpha_trans = 0.05 + self.alpha_trans_rot = 0.01 + + def convert_odometry_to_motion(self, left_encoder_delta, right_encoder_delta): + """ + left_encoder is the change in the left encoder + right_encoder is the change in the right encoder + returns rot1, trans, rot2 + rot1 is the rotation of the robot in degrees before the translation + trans is the distance the robot has moved in mm + rot2 is the rotation of the robot in degrees + """ + left_mm = left_encoder_delta * robot.ticks_to_mm + right_mm = right_encoder_delta * robot.ticks_to_mm + + if left_mm == right_mm: + return 0, left_mm, 0 + + # calculate the radius of the arc + radius = (robot.wheelbase_mm / 2) * (left_mm + right_mm) / (right_mm - left_mm) + ## angle = difference in steps / wheelbase + d_theta = (right_mm - left_mm) / robot.wheelbase_mm + # For a small enough motion, assume that the chord length = arc length + arc_length = d_theta * radius + rot1 = np.degrees(d_theta/2) + rot2 = rot1 + return rot1, arc_length, rot2 + + def apply_motion_to_poses(self, rot1, trans, rot2): + self.poses[:,2] += rot1 + rot1_radians = np.radians(self.poses[:,2]) + self.poses[:,0] += trans * np.cos(rot1_radians) + self.poses[:,1] += trans * np.sin(rot1_radians) + self.poses[:,2] += rot2 + self.poses[:,2] = np.array([float(theta % 360) for theta in self.poses[:,2]]) + + def apply_randomness_to_motion(self, rot1, trans, rot2): + rot1_scale = self.alpha_rot * abs(rot1) + self.alpha_rot_trans * abs(trans) + trans_scale = self.alpha_trans * abs(trans) + self.alpha_trans_rot * (abs(rot1) + abs(rot2)) + rot2_scale = self.alpha_rot * abs(rot2) + self.alpha_rot_trans * abs(trans) + rot1_model = np.array([get_scaled_sample_around_mean(rot1, rot1_scale) for _ in range(self.poses.shape[0])]) + trans_model = np.array([get_scaled_sample_around_mean(trans, trans_scale) for _ in range(self.poses.shape[0])]) + rot2_model = np.array([get_scaled_sample_around_mean(rot2, rot2_scale) for _ in range(self.poses.shape[0])]) + return rot1_model, trans_model, rot2_model + + def motion_model(self): + """Apply the motion model""" + new_encoder_left = robot.left_encoder.read() + new_encoder_right = robot.right_encoder.read() + + rot1, trans, rot2 = self.convert_odometry_to_motion( + new_encoder_left - self.last_encoder_left, + new_encoder_right - self.last_encoder_right) + self.last_encoder_left = new_encoder_left + self.last_encoder_right = new_encoder_right + + rot1_model, trans_model, rot2_model = self.apply_randomness_to_motion(rot1, trans, rot2) + self.apply_motion_to_poses(rot1_model, trans_model, rot2_model) + + print( + json.dumps( + [self.poses.tolist(), rot1, trans, rot2] + ) + ) + + async def main(self): + asyncio.create_task(self.distance_sensors.main()) + asyncio.create_task(self.collision_avoider.main()) + try: + while True: + send_poses(self.poses) + await asyncio.sleep(0.05) + self.motion_model() + finally: + robot.stop() + + +async def command_handler(simulation): + print("Starting handler") + simulation_task = None + while True: + if robot.uart.in_waiting: + request = read_json() + if not request: + continue + print("Received: ", request) + if request["command"] == "arena": + send_json({ + "arena": arena.boundary_lines, + }) + elif request["command"] == "start": + if not simulation_task: + simulation_task = asyncio.create_task(simulation.main()) + + await asyncio.sleep(0.1) + + +simulation = Simulation() +asyncio.run(command_handler(simulation)) diff --git a/ch-13/2.3-movement-uncertainty/robot/pid_controller.py b/ch-13/2.3-movement-uncertainty/robot/pid_controller.py new file mode 100644 index 0000000..a09358f --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/robot/pid_controller.py @@ -0,0 +1,27 @@ +class PIDController: + def __init__(self, kp, ki, kd, d_filter_gain=0.1, imax=None, imin=None): + self.kp = kp + self.ki = ki + self.kd = kd + self.d_filter_gain = d_filter_gain + self.imax = imax + self.imin = imin + self.reset() + + def reset(self): + self.integral = 0 + self.error_prev = 0 + self.derivative = 0 + + def calculate(self, error, dt): + self.integral += error * dt + if self.imax is not None and self.integral > self.imax: + self.integral = self.imax + if self.imin is not None and self.integral < self.imin: + self.integral = self.imin + # Add a low pass filter to the difference + difference = (error - self.error_prev) * self.d_filter_gain + self.error_prev += difference + self.derivative = difference / dt + + return self.kp * error + self.ki * self.integral + self.kd * self.derivative diff --git a/ch-13/2.3-movement-uncertainty/robot/pio_encoder.py b/ch-13/2.3-movement-uncertainty/robot/pio_encoder.py new file mode 100644 index 0000000..b831bf4 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/robot/pio_encoder.py @@ -0,0 +1,84 @@ +import rp2pio +import adafruit_pioasm +import array +import asyncio + + +program = """ +; use the osr for count +; input pins c1 c2 + + set y, 0 ; clear y + mov osr, y ; and clear osr +read: + ; x will be the old value + ; y the new values + mov x, y ; store old Y in x + in null, 32 ; Clear ISR - using y + in pins, 2 ; read two pins into y + mov y, isr + jmp x!=y, different ; Jump if its different + jmp read ; otherwise loop back to read + +different: + ; x has old value, y has new. + ; extract the upper bit of X. + in x, 31 ; get bit 31 - old p1 (remember which direction it came in) + in null, 31 ; keep only 1 bit + mov x, isr ; put this back in x + jmp !x, c1_old_zero + +c1_old_not_zero: + jmp pin, count_up + jmp count_down + +c1_old_zero: + jmp pin, count_down + ; fall through +count_up: + ; for a clockwise move - we'll add 1 by inverting + mov x, ~ osr ; store inverted OSR on x + jmp x--, fake ; use jump to take off 1 +fake: + mov x, ~ x ; invert back + jmp send +count_down: + ; for a clockwise move, just take one off + mov x, osr ; store osr in x + jmp x--, send ; dec and send +send: + ; send x. + mov isr, x ; send it + push noblock ; put ISR into input FIFO + mov osr, x ; put X back in OSR + jmp read ; loop back +""" + +assembled = adafruit_pioasm.assemble(program) + + +class QuadratureEncoder: + def __init__(self, first_pin, second_pin, reversed=False): + """Encoder with 2 pins. Must use sequential pins on the board""" + self.sm = rp2pio.StateMachine( + assembled, + frequency=0, + first_in_pin=first_pin, + jmp_pin=second_pin, + in_pin_count=2, + ) + self.reversed = reversed + self._buffer = array.array("i", [0]) + asyncio.create_task(self.poll_loop()) + + async def poll_loop(self): + while True: + await asyncio.sleep(0) + while self.sm.in_waiting: + self.sm.readinto(self._buffer) + + def read(self): + if self.reversed: + return -self._buffer[0] + else: + return self._buffer[0] diff --git a/ch-13/2.3-movement-uncertainty/robot/robot.py b/ch-13/2.3-movement-uncertainty/robot/robot.py new file mode 100755 index 0000000..d1e8430 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/robot/robot.py @@ -0,0 +1,76 @@ +import board +import pwmio +import pio_encoder +import busio +import adafruit_vl53l1x +import math +import adafruit_bno055 + +uart = busio.UART(board.GP12, board.GP13, baudrate=9600) + +wheel_diameter_mm = 69.5 +wheel_circumference_mm = math.pi * wheel_diameter_mm +gear_ratio = 298 +encoder_poles = 28 +ticks_per_revolution = encoder_poles * gear_ratio +ticks_to_mm = wheel_circumference_mm / ticks_per_revolution +ticks_to_m = ticks_to_mm / 1000 +m_to_ticks = 1 / ticks_to_m +wheelbase_mm = 170 +distance_sensor_from_middle = 40 # approx mm + +motor_A2 = pwmio.PWMOut(board.GP17, frequency=100) +motor_A1 = pwmio.PWMOut(board.GP16, frequency=100) +motor_B2 = pwmio.PWMOut(board.GP18, frequency=100) +motor_B1 = pwmio.PWMOut(board.GP19, frequency=100) + +right_motor = motor_A1, motor_A2 +left_motor = motor_B1, motor_B2 + +right_encoder = pio_encoder.QuadratureEncoder(board.GP20, board.GP21) +left_encoder = pio_encoder.QuadratureEncoder(board.GP26, board.GP27, reversed=True) + +i2c0 = busio.I2C(sda=board.GP0, scl=board.GP1) +i2c1 = busio.I2C(sda=board.GP2, scl=board.GP3) + +left_distance = adafruit_vl53l1x.VL53L1X(i2c0) +right_distance = adafruit_vl53l1x.VL53L1X(i2c1) + +imu = adafruit_bno055.BNO055_I2C(i2c0) + +def stop(): + motor_A1.duty_cycle = 0 + motor_A2.duty_cycle = 0 + motor_B1.duty_cycle = 0 + motor_B2.duty_cycle = 0 + + +def set_speed(motor, speed): + # Swap motor pins if we reverse the speed + if abs(speed) < 0.1: + motor[0].duty_cycle = 0 + motor[1].duty_cycle = 1 + return + if speed < 0: + direction = motor[1], motor[0] + speed = -speed + else: + direction = motor + speed = min(speed, 1) # limit to 1.0 + max_speed = 2 ** 16 - 1 + + direction[0].duty_cycle = int(max_speed * speed) + direction[1].duty_cycle = 0 + + +def set_left(speed): + set_speed(left_motor, speed) + + +def set_right(speed): + set_speed(right_motor, speed) + +def check_imu_status(): + sys_status, gyro, accel, mag = imu.calibration_status + uart.write(f"Sys: {sys_status}, Gyro: {gyro}, Accel: {accel}, Mag: {mag}\n".encode()) + return sys_status == 3 diff --git a/ch-13/2.3-movement-uncertainty/robot_ble_connection.py b/ch-13/2.3-movement-uncertainty/robot_ble_connection.py new file mode 100644 index 0000000..66dd100 --- /dev/null +++ b/ch-13/2.3-movement-uncertainty/robot_ble_connection.py @@ -0,0 +1,38 @@ +import asyncio + +import bleak + + +class BleConnection: + # See https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend/uart-service + ble_uuid = "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" + rx_gatt = "6E400003-B5A3-F393-E0A9-E50E24DCCA9E" + tx_gatt = "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" + ble_name = "Adafruit Bluefruit LE" + + def __init__(self, receive_handler): + self.ble_client = None + self.receive_handler = receive_handler + + def _uart_handler(self, _, data: bytes): + self.receive_handler(data) + + async def connect(self): + print("Scanning for devices...") + devices = await bleak.BleakScanner.discover(service_uuids=[self.ble_uuid]) + print(f"Found {len(devices)} devices") + print([device.name for device in devices]) + ble_device_info = [device for device in devices if device.name==self.ble_name][0] + print(f"Connecting to {ble_device_info.name}...") + self.ble_client = bleak.BleakClient(ble_device_info.address) + await self.ble_client.connect() + print("Connected to {}".format(ble_device_info.name)) + self.notify_task = asyncio.create_task( + self.ble_client.start_notify(self.rx_gatt, self._uart_handler) + ) + + async def close(self): + await self.ble_client.disconnect() + + async def send_uart_data(self, data): + await self.ble_client.write_gatt_char(self.tx_gatt, data)