2025-12-21T09:00:08.118 [INFO] [Dummy-19623] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:00:08.133 [INFO] [Dummy-19617] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:00:33.136 [INFO] [Dummy-19624] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:00:33.152 [INFO] [Dummy-19617] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:00:58.188 [INFO] [Dummy-19625] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:00:58.203 [INFO] [Dummy-19626] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:01:23.206 [INFO] [Dummy-19627] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:01:23.223 [INFO] [Dummy-19626] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:01:48.226 [INFO] [Dummy-19628] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:01:48.244 [INFO] [Dummy-19629] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:02:13.247 [INFO] [Dummy-19630] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:02:13.262 [INFO] [Dummy-19629] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:02:38.264 [INFO] [Dummy-19631] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:02:38.286 [INFO] [Dummy-19629] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:03:03.289 [INFO] [Dummy-19632] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:03:03.306 [INFO] [Dummy-19633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:03:28.310 [INFO] [Dummy-19634] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:03:28.327 [INFO] [Dummy-19633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:03:53.329 [INFO] [Dummy-19635] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:03:53.346 [INFO] [Dummy-19633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:04:18.348 [INFO] [Dummy-19636] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:04:18.363 [INFO] [Dummy-19633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:04:43.364 [INFO] [Dummy-19637] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:04:43.382 [INFO] [Dummy-19633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:05:08.384 [INFO] [Dummy-19638] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:05:08.400 [INFO] [Dummy-19639] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:05:33.404 [INFO] [Dummy-19640] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:05:33.421 [INFO] [Dummy-19639] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:05:58.423 [INFO] [Dummy-19641] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:05:58.441 [INFO] [Dummy-19642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:06:23.443 [INFO] [Dummy-19643] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:06:23.460 [INFO] [Dummy-19644] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:06:48.463 [INFO] [Dummy-19645] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:06:48.481 [INFO] [Dummy-19646] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:07:13.484 [INFO] [Dummy-19647] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:07:13.502 [INFO] [Dummy-19646] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:07:38.504 [INFO] [Dummy-19648] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:07:38.521 [INFO] [Dummy-19649] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:08:03.524 [INFO] [Dummy-19650] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:08:03.542 [INFO] [Dummy-19649] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:08:28.544 [INFO] [Dummy-19651] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:08:28.562 [INFO] [Dummy-19649] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:08:53.564 [INFO] [Dummy-19652] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:08:53.580 [INFO] [Dummy-19653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:09:18.581 [INFO] [Dummy-19654] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:09:18.599 [INFO] [Dummy-19653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:09:43.601 [INFO] [Dummy-19655] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:09:43.618 [INFO] [Dummy-19653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:10:08.620 [INFO] [Dummy-19656] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:10:08.637 [INFO] [Dummy-19653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:10:33.640 [INFO] [Dummy-19657] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:10:33.656 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:10:58.659 [INFO] [Dummy-19659] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:10:58.676 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:11:23.678 [INFO] [Dummy-19660] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:11:23.694 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:11:48.695 [INFO] [Dummy-19661] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:11:48.712 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:12:13.713 [INFO] [Dummy-19662] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:12:13.731 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:12:38.733 [INFO] [Dummy-19663] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:12:38.750 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:13:03.753 [INFO] [Dummy-19664] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:13:03.770 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:13:28.772 [INFO] [Dummy-19665] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:13:28.787 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:13:53.788 [INFO] [Dummy-19666] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:13:53.806 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:14:18.809 [INFO] [Dummy-19667] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:14:18.825 [INFO] [Dummy-19658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:14:43.828 [INFO] [Dummy-19668] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:14:43.845 [INFO] [Dummy-19669] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:15:08.847 [INFO] [Dummy-19670] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:15:08.862 [INFO] [Dummy-19669] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:15:33.863 [INFO] [Dummy-19671] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:15:33.879 [INFO] [Dummy-19669] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:15:58.881 [INFO] [Dummy-19672] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:15:58.896 [INFO] [Dummy-19673] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:16:23.897 [INFO] [Dummy-19674] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:16:23.913 [INFO] [Dummy-19673] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:16:48.949 [INFO] [Dummy-19675] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:16:48.971 [INFO] [Dummy-19676] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:17:13.972 [INFO] [Dummy-19677] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:17:13.991 [INFO] [Dummy-19676] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:17:38.993 [INFO] [Dummy-19678] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:17:39.010 [INFO] [Dummy-19676] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:18:04.012 [INFO] [Dummy-19679] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:18:04.028 [INFO] [Dummy-19680] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:18:29.030 [INFO] [Dummy-19681] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:18:29.051 [INFO] [Dummy-19680] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:18:54.054 [INFO] [Dummy-19682] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:18:54.070 [INFO] [Dummy-19680] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:19:19.074 [INFO] [Dummy-19683] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:19:19.090 [INFO] [Dummy-19680] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:19:44.093 [INFO] [Dummy-19684] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:19:44.109 [INFO] [Dummy-19680] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:20:09.112 [INFO] [Dummy-19685] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:20:09.128 [INFO] [Dummy-19686] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:20:34.132 [INFO] [Dummy-19687] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:20:34.151 [INFO] [Dummy-19686] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:20:59.154 [INFO] [Dummy-19688] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:20:59.171 [INFO] [Dummy-19689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:21:24.174 [INFO] [Dummy-19690] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:21:24.189 [INFO] [Dummy-19689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:21:49.191 [INFO] [Dummy-19691] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:21:49.210 [INFO] [Dummy-19689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:22:14.214 [INFO] [Dummy-19692] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:22:14.232 [INFO] [Dummy-19693] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:22:39.235 [INFO] [Dummy-19694] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:22:39.252 [INFO] [Dummy-19693] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:23:04.255 [INFO] [Dummy-19695] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:23:04.272 [INFO] [Dummy-19696] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:23:29.275 [INFO] [Dummy-19697] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:23:29.292 [INFO] [Dummy-19698] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:23:54.295 [INFO] [Dummy-19699] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:23:54.310 [INFO] [Dummy-19698] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:24:19.312 [INFO] [Dummy-19700] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:24:19.329 [INFO] [Dummy-19698] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:24:44.332 [INFO] [Dummy-19701] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:24:44.349 [INFO] [Dummy-19698] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:25:09.352 [INFO] [Dummy-19702] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:25:09.369 [INFO] [Dummy-19703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:25:34.372 [INFO] [Dummy-19704] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:25:34.387 [INFO] [Dummy-19703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:25:59.390 [INFO] [Dummy-19705] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:25:59.412 [INFO] [Dummy-19706] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:26:24.414 [INFO] [Dummy-19707] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:26:24.430 [INFO] [Dummy-19708] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:26:49.433 [INFO] [Dummy-19709] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:26:49.449 [INFO] [Dummy-19708] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:27:14.452 [INFO] [Dummy-19710] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:27:14.469 [INFO] [Dummy-19708] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:27:39.470 [INFO] [Dummy-19711] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:27:39.485 [INFO] [Dummy-19712] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:28:04.487 [INFO] [Dummy-19713] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:28:04.504 [INFO] [Dummy-19714] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:28:29.506 [INFO] [Dummy-19715] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:28:29.525 [INFO] [Dummy-19716] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:28:54.527 [INFO] [Dummy-19717] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:28:54.544 [INFO] [Dummy-19718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:29:19.547 [INFO] [Dummy-19719] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:29:19.564 [INFO] [Dummy-19718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:29:44.566 [INFO] [Dummy-19720] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:29:44.583 [INFO] [Dummy-19721] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:30:09.586 [INFO] [Dummy-19722] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:30:09.603 [INFO] [Dummy-19721] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:30:34.605 [INFO] [Dummy-19723] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:30:34.618 [INFO] [Dummy-19721] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:30:59.621 [INFO] [Dummy-19724] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:30:59.638 [INFO] [Dummy-19725] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:31:24.641 [INFO] [Dummy-19726] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:31:24.657 [INFO] [Dummy-19725] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:31:49.659 [INFO] [Dummy-19727] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:31:49.676 [INFO] [Dummy-19725] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:32:14.678 [INFO] [Dummy-19728] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:32:14.695 [INFO] [Dummy-19729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:32:39.697 [INFO] [Dummy-19730] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:32:39.715 [INFO] [Dummy-19729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:33:04.717 [INFO] [Dummy-19731] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:33:04.734 [INFO] [Dummy-19729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:33:29.736 [INFO] [Dummy-19732] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:33:29.752 [INFO] [Dummy-19729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:33:54.754 [INFO] [Dummy-19733] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:33:54.770 [INFO] [Dummy-19729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:34:19.773 [INFO] [Dummy-19734] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:34:19.789 [INFO] [Dummy-19729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:34:44.793 [INFO] [Dummy-19735] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:34:44.809 [INFO] [Dummy-19729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:35:09.812 [INFO] [Dummy-19736] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:35:09.832 [INFO] [Dummy-19729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:35:34.835 [INFO] [Dummy-19737] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:35:34.849 [INFO] [Dummy-19738] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:35:59.852 [INFO] [Dummy-19739] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:35:59.869 [INFO] [Dummy-19738] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:36:24.873 [INFO] [Dummy-19740] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:36:24.889 [INFO] [Dummy-19738] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:36:49.892 [INFO] [Dummy-19741] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:36:49.916 [INFO] [Dummy-19738] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:37:14.921 [INFO] [Dummy-19742] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:37:14.938 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:37:39.941 [INFO] [Dummy-19744] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:37:39.959 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:38:04.962 [INFO] [Dummy-19745] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:38:04.977 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:38:29.980 [INFO] [Dummy-19746] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:38:29.997 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:38:55.000 [INFO] [Dummy-19747] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:38:55.018 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:39:20.021 [INFO] [Dummy-19748] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:39:20.038 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:39:45.041 [INFO] [Dummy-19749] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:39:45.057 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:40:10.060 [INFO] [Dummy-19750] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:40:10.077 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:40:35.080 [INFO] [Dummy-19751] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:40:35.096 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:41:00.099 [INFO] [Dummy-19752] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:41:00.116 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:41:25.118 [INFO] [Dummy-19753] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:41:25.134 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:41:50.137 [INFO] [Dummy-19754] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:41:50.153 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:42:15.156 [INFO] [Dummy-19755] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:42:15.173 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:42:40.176 [INFO] [Dummy-19756] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:42:40.195 [INFO] [Dummy-19743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:43:05.198 [INFO] [Dummy-19757] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:43:05.214 [INFO] [Dummy-19758] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:43:30.216 [INFO] [Dummy-19759] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:43:30.233 [INFO] [Dummy-19758] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:43:55.236 [INFO] [Dummy-19760] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:43:55.252 [INFO] [Dummy-19758] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:44:20.254 [INFO] [Dummy-19761] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:44:20.271 [INFO] [Dummy-19758] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:44:45.274 [INFO] [Dummy-19762] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:44:45.291 [INFO] [Dummy-19758] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:45:10.293 [INFO] [Dummy-19763] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:45:10.308 [INFO] [Dummy-19758] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:45:35.310 [INFO] [Dummy-19764] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:45:35.324 [INFO] [Dummy-19758] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:46:00.327 [INFO] [Dummy-19765] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:46:00.344 [INFO] [Dummy-19766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:46:25.346 [INFO] [Dummy-19767] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:46:25.363 [INFO] [Dummy-19766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:46:50.365 [INFO] [Dummy-19768] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:46:50.379 [INFO] [Dummy-19766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:47:15.381 [INFO] [Dummy-19769] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:47:15.398 [INFO] [Dummy-19766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:47:40.401 [INFO] [Dummy-19770] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:47:40.418 [INFO] [Dummy-19766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:48:05.420 [INFO] [Dummy-19771] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:48:05.437 [INFO] [Dummy-19772] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:48:30.439 [INFO] [Dummy-19773] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:48:30.456 [INFO] [Dummy-19772] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:48:55.459 [INFO] [Dummy-19774] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:48:55.477 [INFO] [Dummy-19772] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:49:20.479 [INFO] [Dummy-19775] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:49:20.495 [INFO] [Dummy-19772] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:49:45.498 [INFO] [Dummy-19776] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:49:45.517 [INFO] [Dummy-19772] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:50:10.519 [INFO] [Dummy-19777] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:50:10.535 [INFO] [Dummy-19778] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:50:35.537 [INFO] [Dummy-19779] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:50:35.555 [INFO] [Dummy-19778] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:51:00.557 [INFO] [Dummy-19780] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:51:00.574 [INFO] [Dummy-19778] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:51:25.576 [INFO] [Dummy-19781] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:51:25.594 [INFO] [Dummy-19778] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:51:50.596 [INFO] [Dummy-19782] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:51:50.613 [INFO] [Dummy-19783] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:52:15.616 [INFO] [Dummy-19784] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:52:15.632 [INFO] [Dummy-19783] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:52:40.636 [INFO] [Dummy-19785] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:52:40.653 [INFO] [Dummy-19783] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:53:05.656 [INFO] [Dummy-19786] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:53:05.673 [INFO] [Dummy-19783] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:53:30.676 [INFO] [Dummy-19787] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:53:30.694 [INFO] [Dummy-19788] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:53:55.697 [INFO] [Dummy-19789] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:53:55.715 [INFO] [Dummy-19790] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:54:20.718 [INFO] [Dummy-19791] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:54:20.736 [INFO] [Dummy-19790] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:54:45.739 [INFO] [Dummy-19792] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:54:45.790 [INFO] [Dummy-19790] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:55:10.792 [INFO] [Dummy-19793] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:55:10.809 [INFO] [Dummy-19794] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:55:35.812 [INFO] [Dummy-19795] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:55:35.828 [INFO] [Dummy-19794] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:56:00.831 [INFO] [Dummy-19796] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:56:00.848 [INFO] [Dummy-19794] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:56:25.850 [INFO] [Dummy-19797] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:56:25.865 [INFO] [Dummy-19794] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:56:50.866 [INFO] [Dummy-19798] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:56:50.883 [INFO] [Dummy-19794] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:57:15.885 [INFO] [Dummy-19799] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:57:15.902 [INFO] [Dummy-19794] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:57:40.904 [INFO] [Dummy-19800] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:57:40.926 [INFO] [Dummy-19801] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:58:05.956 [INFO] [Dummy-19802] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:58:05.970 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:58:30.972 [INFO] [Dummy-19804] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:58:30.990 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:58:55.993 [INFO] [Dummy-19805] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:58:56.009 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:59:21.012 [INFO] [Dummy-19806] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:59:21.029 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T09:59:46.031 [INFO] [Dummy-19807] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T09:59:46.050 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:00:11.052 [INFO] [Dummy-19808] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:00:11.068 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:00:36.072 [INFO] [Dummy-19809] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:00:36.089 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:01:01.092 [INFO] [Dummy-19810] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:01:01.110 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:01:26.112 [INFO] [Dummy-19811] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:01:26.129 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:01:51.131 [INFO] [Dummy-19812] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:01:51.147 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:02:16.149 [INFO] [Dummy-19813] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:02:16.166 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:02:41.169 [INFO] [Dummy-19814] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:02:41.186 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:03:06.189 [INFO] [Dummy-19815] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:03:06.205 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:03:31.207 [INFO] [Dummy-19816] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:03:31.223 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:03:56.226 [INFO] [Dummy-19817] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:03:56.241 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:04:21.243 [INFO] [Dummy-19818] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:04:21.259 [INFO] [Dummy-19803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:04:46.262 [INFO] [Dummy-19819] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:04:46.279 [INFO] [Dummy-19820] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:05:11.281 [INFO] [Dummy-19821] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:05:11.297 [INFO] [Dummy-19822] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:05:36.300 [INFO] [Dummy-19823] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:05:36.316 [INFO] [Dummy-19822] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:06:01.318 [INFO] [Dummy-19824] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:06:01.334 [INFO] [Dummy-19822] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:06:26.337 [INFO] [Dummy-19825] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:06:26.352 [INFO] [Dummy-19826] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:06:51.355 [INFO] [Dummy-19827] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:06:51.373 [INFO] [Dummy-19826] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:07:16.376 [INFO] [Dummy-19828] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:07:16.393 [INFO] [Dummy-19826] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:07:41.396 [INFO] [Dummy-19829] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:07:41.411 [INFO] [Dummy-19830] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:08:06.413 [INFO] [Dummy-19831] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:08:06.430 [INFO] [Dummy-19830] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:08:31.433 [INFO] [Dummy-19832] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:08:31.450 [INFO] [Dummy-19833] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:08:56.452 [INFO] [Dummy-19834] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:08:56.468 [INFO] [Dummy-19833] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:09:21.471 [INFO] [Dummy-19835] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:09:21.489 [INFO] [Dummy-19836] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:09:46.491 [INFO] [Dummy-19837] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:09:46.507 [INFO] [Dummy-19836] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:10:11.510 [INFO] [Dummy-19838] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:10:11.534 [INFO] [Dummy-19836] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:10:36.539 [INFO] [Dummy-19839] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:10:36.560 [INFO] [Dummy-19836] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:11:01.564 [INFO] [Dummy-19840] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:11:01.584 [INFO] [Dummy-19836] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:11:26.587 [INFO] [Dummy-19841] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:11:26.604 [INFO] [Dummy-19842] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:11:51.608 [INFO] [Dummy-19843] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:11:51.625 [INFO] [Dummy-19844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:12:16.628 [INFO] [Dummy-19845] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:12:16.648 [INFO] [Dummy-19846] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:12:41.652 [INFO] [Dummy-19847] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:12:41.668 [INFO] [Dummy-19846] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:13:06.671 [INFO] [Dummy-19848] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:13:06.687 [INFO] [Dummy-19846] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:13:31.690 [INFO] [Dummy-19849] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:13:31.707 [INFO] [Dummy-19846] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:13:56.709 [INFO] [Dummy-19850] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:13:56.726 [INFO] [Dummy-19846] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:14:21.728 [INFO] [Dummy-19851] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:14:21.745 [INFO] [Dummy-19852] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:14:46.748 [INFO] [Dummy-19853] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:14:46.770 [INFO] [Dummy-19852] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:15:11.773 [INFO] [Dummy-19854] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:15:11.789 [INFO] [Dummy-19855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:15:36.792 [INFO] [Dummy-19856] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:15:36.809 [INFO] [Dummy-19855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:16:01.811 [INFO] [Dummy-19857] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:16:01.827 [INFO] [Dummy-19855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:16:26.830 [INFO] [Dummy-19858] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:16:26.848 [INFO] [Dummy-19859] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:16:51.850 [INFO] [Dummy-19860] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:16:51.868 [INFO] [Dummy-19859] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:17:16.870 [INFO] [Dummy-19861] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:17:16.885 [INFO] [Dummy-19862] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:17:41.887 [INFO] [Dummy-19863] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:17:41.903 [INFO] [Dummy-19862] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:18:06.906 [INFO] [Dummy-19864] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:18:06.922 [INFO] [Dummy-19862] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:18:31.925 [INFO] [Dummy-19865] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:18:31.941 [INFO] [Dummy-19866] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:18:56.944 [INFO] [Dummy-19867] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:18:56.959 [INFO] [Dummy-19868] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:19:21.961 [INFO] [Dummy-19869] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:19:21.977 [INFO] [Dummy-19868] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:19:46.979 [INFO] [Dummy-19870] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:19:46.995 [INFO] [Dummy-19868] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:20:11.999 [INFO] [Dummy-19871] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:20:12.015 [INFO] [Dummy-19868] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:20:37.017 [INFO] [Dummy-19872] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:20:37.034 [INFO] [Dummy-19873] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:21:02.037 [INFO] [Dummy-19874] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:21:02.055 [INFO] [Dummy-19873] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:21:27.057 [INFO] [Dummy-19875] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:21:27.074 [INFO] [Dummy-19873] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:21:52.077 [INFO] [Dummy-19876] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:21:52.093 [INFO] [Dummy-19873] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:22:17.097 [INFO] [Dummy-19877] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:22:17.114 [INFO] [Dummy-19878] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:22:42.117 [INFO] [Dummy-19879] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:22:42.133 [INFO] [Dummy-19878] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:23:07.135 [INFO] [Dummy-19880] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:23:07.153 [INFO] [Dummy-19878] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:23:32.156 [INFO] [Dummy-19881] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:23:32.172 [INFO] [Dummy-19882] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:23:57.174 [INFO] [Dummy-19883] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:23:57.191 [INFO] [Dummy-19882] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:24:22.194 [INFO] [Dummy-19884] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:24:22.210 [INFO] [Dummy-19885] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:24:47.212 [INFO] [Dummy-19886] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:24:47.229 [INFO] [Dummy-19887] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:25:12.232 [INFO] [Dummy-19888] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:25:12.248 [INFO] [Dummy-19887] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:25:37.251 [INFO] [Dummy-19889] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:25:37.269 [INFO] [Dummy-19887] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:26:02.272 [INFO] [Dummy-19890] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:26:02.289 [INFO] [Dummy-19891] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:26:27.292 [INFO] [Dummy-19892] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:26:27.308 [INFO] [Dummy-19891] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:26:52.310 [INFO] [Dummy-19893] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:26:52.326 [INFO] [Dummy-19891] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:27:17.328 [INFO] [Dummy-19894] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:27:17.344 [INFO] [Dummy-19895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:27:42.347 [INFO] [Dummy-19896] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:27:42.364 [INFO] [Dummy-19895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:28:07.366 [INFO] [Dummy-19897] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:28:07.382 [INFO] [Dummy-19895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:28:32.384 [INFO] [Dummy-19898] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:28:32.399 [INFO] [Dummy-19895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:28:57.401 [INFO] [Dummy-19899] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:28:57.418 [INFO] [Dummy-19895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:29:22.421 [INFO] [Dummy-19900] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:29:22.440 [INFO] [Dummy-19895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:29:47.443 [INFO] [Dummy-19901] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:29:47.459 [INFO] [Dummy-19902] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:30:12.462 [INFO] [Dummy-19903] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:30:12.476 [INFO] [Dummy-19904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:30:37.478 [INFO] [Dummy-19905] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:30:37.495 [INFO] [Dummy-19904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:31:02.498 [INFO] [Dummy-19906] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:31:02.516 [INFO] [Dummy-19904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:31:27.520 [INFO] [Dummy-19907] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:31:27.537 [INFO] [Dummy-19904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:31:52.539 [INFO] [Dummy-19908] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:31:52.554 [INFO] [Dummy-19904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:32:17.557 [INFO] [Dummy-19909] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:32:17.574 [INFO] [Dummy-19904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:32:42.577 [INFO] [Dummy-19910] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:32:42.595 [INFO] [Dummy-19904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:33:07.598 [INFO] [Dummy-19911] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:33:07.615 [INFO] [Dummy-19904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:33:32.617 [INFO] [Dummy-19912] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:33:32.634 [INFO] [Dummy-19913] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:33:57.636 [INFO] [Dummy-19914] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:33:57.652 [INFO] [Dummy-19913] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:34:22.656 [INFO] [Dummy-19915] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:34:22.672 [INFO] [Dummy-19913] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:34:47.674 [INFO] [Dummy-19916] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:34:47.692 [INFO] [Dummy-19917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:35:12.695 [INFO] [Dummy-19918] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:35:12.711 [INFO] [Dummy-19917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:35:37.715 [INFO] [Dummy-19919] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:35:37.731 [INFO] [Dummy-19917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:36:02.735 [INFO] [Dummy-19920] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:36:02.753 [INFO] [Dummy-19917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:36:27.756 [INFO] [Dummy-19921] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:36:27.772 [INFO] [Dummy-19922] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:36:52.775 [INFO] [Dummy-19923] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:36:52.792 [INFO] [Dummy-19922] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:37:17.794 [INFO] [Dummy-19924] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:37:17.812 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:37:42.815 [INFO] [Dummy-19926] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:37:42.831 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:38:07.834 [INFO] [Dummy-19927] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:38:07.850 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:38:32.853 [INFO] [Dummy-19928] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:38:32.869 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:38:57.872 [INFO] [Dummy-19929] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:38:57.888 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:39:22.890 [INFO] [Dummy-19930] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:39:22.907 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:39:47.909 [INFO] [Dummy-19931] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:39:47.925 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:40:12.926 [INFO] [Dummy-19932] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:40:12.943 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:40:37.945 [INFO] [Dummy-19933] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:40:37.962 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:41:02.964 [INFO] [Dummy-19934] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:41:02.980 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:41:27.982 [INFO] [Dummy-19935] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:41:27.999 [INFO] [Dummy-19925] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:41:53.000 [INFO] [Dummy-19936] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:41:53.015 [INFO] [Dummy-19937] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:42:18.017 [INFO] [Dummy-19938] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:42:18.035 [INFO] [Dummy-19937] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:42:43.036 [INFO] [Dummy-19939] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:42:43.052 [INFO] [Dummy-19940] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:43:08.052 [INFO] [Dummy-19941] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:43:08.069 [INFO] [Dummy-19940] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:43:33.071 [INFO] [Dummy-19942] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:43:33.088 [INFO] [Dummy-19940] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:43:58.091 [INFO] [Dummy-19943] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:43:58.108 [INFO] [Dummy-19944] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:44:23.110 [INFO] [Dummy-19945] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:44:23.126 [INFO] [Dummy-19944] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:44:48.128 [INFO] [Dummy-19946] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:44:48.143 [INFO] [Dummy-19944] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:45:13.146 [INFO] [Dummy-19947] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:45:13.162 [INFO] [Dummy-19944] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:45:38.165 [INFO] [Dummy-19948] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:45:38.181 [INFO] [Dummy-19944] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:46:03.184 [INFO] [Dummy-19949] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:46:03.201 [INFO] [Dummy-19950] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:46:28.204 [INFO] [Dummy-19951] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:46:28.221 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:46:53.225 [INFO] [Dummy-19953] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:46:53.241 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:47:18.244 [INFO] [Dummy-19954] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:47:18.260 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:47:43.263 [INFO] [Dummy-19955] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:47:43.279 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:48:08.282 [INFO] [Dummy-19956] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:48:08.299 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:48:33.303 [INFO] [Dummy-19957] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:48:33.320 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:48:58.323 [INFO] [Dummy-19958] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:48:58.343 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:49:23.346 [INFO] [Dummy-19959] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:49:23.364 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:49:48.368 [INFO] [Dummy-19960] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:49:48.385 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:50:02.546 [INFO] [Dummy-19961] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet OPEN data {'sid': 'tyOnekZvXOM3k8L_AAA0', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T10:50:02.578 [INFO] [Dummy-19961] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet MESSAGE data 0
2025-12-21T10:50:02.579 [INFO] [Dummy-19961] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet MESSAGE data 0{"sid":"H9MVusFrOdHkgZSnAAA1"}
2025-12-21T10:50:02.609 [INFO] [Dummy-19962] [socket.py] [handle_get_request()] tyOnekZvXOM3k8L_AAA0: Received request to upgrade to websocket
2025-12-21T10:50:13.388 [INFO] [Dummy-19963] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:50:13.405 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:50:27.548 [INFO] [Dummy-19964] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:50:27.570 [INFO] [Dummy-19961] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:50:38.409 [INFO] [Dummy-19965] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:50:38.426 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:50:52.572 [INFO] [Dummy-19966] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:50:52.598 [INFO] [Dummy-19967] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:51:03.429 [INFO] [Dummy-19968] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:51:03.445 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:51:17.601 [INFO] [Dummy-19969] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:51:17.643 [INFO] [Dummy-19970] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:51:28.447 [INFO] [Dummy-19971] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:51:28.464 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:51:42.645 [INFO] [Dummy-19972] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:51:42.669 [INFO] [Dummy-19973] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:51:53.468 [INFO] [Dummy-19974] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:51:53.484 [INFO] [Dummy-19952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:52:07.671 [INFO] [Dummy-19975] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:52:07.703 [INFO] [Dummy-19976] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:52:18.520 [INFO] [Dummy-19977] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:52:18.536 [INFO] [Dummy-19978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:52:32.705 [INFO] [Dummy-19979] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:52:32.731 [INFO] [Dummy-19980] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:52:43.539 [INFO] [Dummy-19981] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:52:43.553 [INFO] [Dummy-19978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:52:57.734 [INFO] [Dummy-19982] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:52:57.775 [INFO] [Dummy-19983] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:53:08.556 [INFO] [Dummy-19984] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:53:08.572 [INFO] [Dummy-19978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:53:22.779 [INFO] [Dummy-19985] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:53:22.820 [INFO] [Dummy-19983] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:53:33.575 [INFO] [Dummy-19986] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:53:33.592 [INFO] [Dummy-19978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:53:47.823 [INFO] [Dummy-19987] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:53:47.850 [INFO] [Dummy-19988] [socket.py] [receive()] tyOnekZvXOM3k8L_AAA0: Received packet PONG data 
2025-12-21T10:53:58.627 [INFO] [Dummy-19989] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:53:58.645 [INFO] [Dummy-19990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:54:12.854 [INFO] [Dummy-19991] [socket.py] [send()] tyOnekZvXOM3k8L_AAA0: Sending packet PING data None
2025-12-21T10:54:23.647 [INFO] [Dummy-19992] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:54:23.664 [INFO] [Dummy-19990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:54:39.150 [INFO] [Dummy-908] [socket.py] [check_ping_timeout()] tyOnekZvXOM3k8L_AAA0: Client is gone, closing socket
2025-12-21T10:54:39.152 [INFO] [Dummy-908] [socket.py] [check_ping_timeout()] tyOnekZvXOM3k8L_AAA0: Client is gone, closing socket
2025-12-21T10:54:48.700 [INFO] [Dummy-19993] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:54:48.717 [INFO] [Dummy-19994] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:55:13.719 [INFO] [Dummy-19995] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:55:13.735 [INFO] [Dummy-19994] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:55:38.738 [INFO] [Dummy-19996] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:55:38.755 [INFO] [Dummy-19994] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:56:03.758 [INFO] [Dummy-19997] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:56:03.775 [INFO] [Dummy-19994] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:56:28.777 [INFO] [Dummy-19998] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:56:28.794 [INFO] [Dummy-19994] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:56:53.797 [INFO] [Dummy-19999] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:56:53.812 [INFO] [Dummy-19994] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:57:18.815 [INFO] [Dummy-20000] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:57:18.833 [INFO] [Dummy-19994] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:57:43.836 [INFO] [Dummy-20001] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:57:43.851 [INFO] [Dummy-20002] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:58:06.537 [INFO] [Dummy-20003] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet OPEN data {'sid': 'NJujSumvFb88xgQAAAA2', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T10:58:06.568 [INFO] [Dummy-20003] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet MESSAGE data 0
2025-12-21T10:58:06.570 [INFO] [Dummy-20003] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet MESSAGE data 0{"sid":"6zULHsmUtWmX--JaAAA3"}
2025-12-21T10:58:06.587 [INFO] [Dummy-20004] [socket.py] [handle_get_request()] NJujSumvFb88xgQAAAA2: Received request to upgrade to websocket
2025-12-21T10:58:08.853 [INFO] [Dummy-20005] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:58:08.872 [INFO] [Dummy-20002] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:58:31.540 [INFO] [Dummy-20006] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T10:58:31.564 [INFO] [Dummy-20003] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T10:58:33.904 [INFO] [Dummy-20007] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:58:33.920 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:58:56.565 [INFO] [Dummy-20009] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T10:58:56.588 [INFO] [Dummy-20010] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T10:58:58.922 [INFO] [Dummy-20011] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:58:58.939 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:59:21.590 [INFO] [Dummy-20012] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T10:59:21.628 [INFO] [Dummy-20013] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T10:59:23.942 [INFO] [Dummy-20014] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:59:23.958 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T10:59:46.631 [INFO] [Dummy-20015] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T10:59:46.663 [INFO] [Dummy-20016] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T10:59:48.960 [INFO] [Dummy-20017] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T10:59:48.977 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:00:11.666 [INFO] [Dummy-20018] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:00:12.719 [INFO] [Dummy-20019] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:00:13.979 [INFO] [Dummy-20020] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:00:13.996 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:00:37.721 [INFO] [Dummy-20021] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:00:38.601 [INFO] [Dummy-20022] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:00:38.998 [INFO] [Dummy-20023] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:00:39.014 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:01:03.605 [INFO] [Dummy-20024] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:01:03.628 [INFO] [Dummy-20025] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:01:04.016 [INFO] [Dummy-20026] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:01:04.033 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:01:28.631 [INFO] [Dummy-20027] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:01:28.662 [INFO] [Dummy-20028] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:01:29.035 [INFO] [Dummy-20029] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:01:29.051 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:01:53.666 [INFO] [Dummy-20030] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:01:53.702 [INFO] [Dummy-20031] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:01:54.052 [INFO] [Dummy-20032] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:01:54.069 [INFO] [Dummy-20008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:02:18.718 [INFO] [Dummy-20033] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:02:18.744 [INFO] [Dummy-20034] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:02:19.071 [INFO] [Dummy-20035] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:02:19.085 [INFO] [Dummy-20036] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:02:43.746 [INFO] [Dummy-20037] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:02:43.789 [INFO] [Dummy-20038] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:02:44.087 [INFO] [Dummy-20039] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:02:44.103 [INFO] [Dummy-20036] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:03:08.792 [INFO] [Dummy-20040] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:03:08.815 [INFO] [Dummy-20041] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:03:09.105 [INFO] [Dummy-20042] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:03:09.120 [INFO] [Dummy-20036] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:03:33.818 [INFO] [Dummy-20043] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:03:33.845 [INFO] [Dummy-20044] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:03:34.123 [INFO] [Dummy-20045] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:03:34.140 [INFO] [Dummy-20046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:03:58.848 [INFO] [Dummy-20047] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:03:58.869 [INFO] [Dummy-20048] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:03:59.141 [INFO] [Dummy-20049] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:03:59.158 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:04:23.871 [INFO] [Dummy-20051] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:04:23.901 [INFO] [Dummy-20048] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:04:24.160 [INFO] [Dummy-20052] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:04:24.176 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:04:48.904 [INFO] [Dummy-20053] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:04:48.928 [INFO] [Dummy-20054] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:04:49.178 [INFO] [Dummy-20055] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:04:49.195 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:05:13.931 [INFO] [Dummy-20056] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:05:13.971 [INFO] [Dummy-20057] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:05:14.197 [INFO] [Dummy-20058] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:05:14.215 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:05:38.975 [INFO] [Dummy-20059] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:05:39.001 [INFO] [Dummy-20060] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:05:39.218 [INFO] [Dummy-20061] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:05:39.236 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:06:04.004 [INFO] [Dummy-20062] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:06:04.036 [INFO] [Dummy-20063] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:06:04.238 [INFO] [Dummy-20064] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:06:04.254 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:06:29.038 [INFO] [Dummy-20065] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:06:29.072 [INFO] [Dummy-20066] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:06:29.255 [INFO] [Dummy-20067] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:06:29.273 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:06:54.075 [INFO] [Dummy-20068] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:06:54.109 [INFO] [Dummy-20069] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:06:54.276 [INFO] [Dummy-20070] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:06:54.292 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:07:19.113 [INFO] [Dummy-20071] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:07:19.148 [INFO] [Dummy-20072] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:07:19.295 [INFO] [Dummy-20073] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:07:19.312 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:07:44.151 [INFO] [Dummy-20074] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:07:44.177 [INFO] [Dummy-20075] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:07:44.315 [INFO] [Dummy-20076] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:07:44.331 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:08:09.179 [INFO] [Dummy-20077] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:08:09.209 [INFO] [Dummy-20078] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:08:09.333 [INFO] [Dummy-20079] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:08:09.350 [INFO] [Dummy-20050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:08:34.212 [INFO] [Dummy-20080] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:08:34.235 [INFO] [Dummy-20081] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:08:34.353 [INFO] [Dummy-20082] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:08:34.371 [INFO] [Dummy-20083] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:08:59.238 [INFO] [Dummy-20084] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:08:59.262 [INFO] [Dummy-20085] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:08:59.373 [INFO] [Dummy-20086] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:08:59.389 [INFO] [Dummy-20083] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:09:24.265 [INFO] [Dummy-20087] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:09:24.291 [INFO] [Dummy-20088] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:09:24.392 [INFO] [Dummy-20089] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:09:24.408 [INFO] [Dummy-20083] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:09:49.294 [INFO] [Dummy-20090] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:09:49.326 [INFO] [Dummy-20091] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:09:49.410 [INFO] [Dummy-20092] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:09:49.426 [INFO] [Dummy-20093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:10:14.329 [INFO] [Dummy-20094] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:10:14.356 [INFO] [Dummy-20095] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:10:14.428 [INFO] [Dummy-20096] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:10:14.446 [INFO] [Dummy-20093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:10:39.357 [INFO] [Dummy-20097] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:10:39.381 [INFO] [Dummy-20095] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:10:39.448 [INFO] [Dummy-20098] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:10:39.464 [INFO] [Dummy-20093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:11:04.383 [INFO] [Dummy-20099] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:11:04.409 [INFO] [Dummy-20100] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:11:04.467 [INFO] [Dummy-20101] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:11:04.484 [INFO] [Dummy-20093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:11:29.411 [INFO] [Dummy-20102] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:11:29.455 [INFO] [Dummy-20103] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:11:29.486 [INFO] [Dummy-20104] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:11:29.503 [INFO] [Dummy-20093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:11:54.457 [INFO] [Dummy-20105] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:11:54.485 [INFO] [Dummy-20106] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:11:54.505 [INFO] [Dummy-20107] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:11:54.521 [INFO] [Dummy-20093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:12:19.487 [INFO] [Dummy-20108] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:12:19.520 [INFO] [Dummy-20109] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:12:19.523 [INFO] [Dummy-20110] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:12:19.539 [INFO] [Dummy-20093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:12:44.522 [INFO] [Dummy-20111] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:12:44.541 [INFO] [Dummy-20112] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:12:44.547 [INFO] [Dummy-20109] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:12:44.558 [INFO] [Dummy-20113] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:13:09.549 [INFO] [Dummy-20114] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:13:09.560 [INFO] [Dummy-20115] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:13:09.576 [INFO] [Dummy-20116] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:13:09.582 [INFO] [Dummy-20117] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:13:34.579 [INFO] [Dummy-20118] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:13:34.584 [INFO] [Dummy-20119] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:13:34.594 [INFO] [Dummy-20116] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:13:34.607 [INFO] [Dummy-20120] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:13:59.596 [INFO] [Dummy-20121] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:13:59.608 [INFO] [Dummy-20122] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:13:59.612 [INFO] [Dummy-20116] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:13:59.633 [INFO] [Dummy-20123] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:14:24.615 [INFO] [Dummy-20124] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:14:24.632 [INFO] [Dummy-20116] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:14:24.635 [INFO] [Dummy-20125] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:14:24.659 [INFO] [Dummy-20126] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:14:49.635 [INFO] [Dummy-20127] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:14:49.651 [INFO] [Dummy-20128] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:14:49.660 [INFO] [Dummy-20129] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:14:49.680 [INFO] [Dummy-20130] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:15:14.653 [INFO] [Dummy-20131] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:15:14.669 [INFO] [Dummy-20128] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:15:14.682 [INFO] [Dummy-20132] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:15:14.719 [INFO] [Dummy-20133] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:15:39.671 [INFO] [Dummy-20134] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:15:39.689 [INFO] [Dummy-20128] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:15:39.720 [INFO] [Dummy-20135] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:15:39.750 [INFO] [Dummy-20136] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:16:04.692 [INFO] [Dummy-20137] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:16:04.709 [INFO] [Dummy-20138] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:16:04.752 [INFO] [Dummy-20139] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:16:04.789 [INFO] [Dummy-20140] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:16:29.712 [INFO] [Dummy-20141] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:16:29.728 [INFO] [Dummy-20138] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:16:29.790 [INFO] [Dummy-20142] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:16:29.814 [INFO] [Dummy-20143] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:16:54.731 [INFO] [Dummy-20144] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:16:54.749 [INFO] [Dummy-20138] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:16:54.816 [INFO] [Dummy-20145] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:16:54.842 [INFO] [Dummy-20146] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:17:19.751 [INFO] [Dummy-20147] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:17:19.769 [INFO] [Dummy-20148] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:17:19.843 [INFO] [Dummy-20149] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:17:19.870 [INFO] [Dummy-20150] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:17:44.772 [INFO] [Dummy-20151] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:17:44.791 [INFO] [Dummy-20148] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:17:44.872 [INFO] [Dummy-20152] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:17:44.904 [INFO] [Dummy-20153] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:18:09.794 [INFO] [Dummy-20154] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:18:09.810 [INFO] [Dummy-20155] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:18:09.906 [INFO] [Dummy-20156] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:18:09.928 [INFO] [Dummy-20157] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:18:34.813 [INFO] [Dummy-20158] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:18:34.829 [INFO] [Dummy-20155] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:18:34.930 [INFO] [Dummy-20159] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:18:34.968 [INFO] [Dummy-20160] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:18:59.832 [INFO] [Dummy-20161] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:18:59.848 [INFO] [Dummy-20155] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:18:59.970 [INFO] [Dummy-20162] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:18:59.995 [INFO] [Dummy-20163] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:19:24.850 [INFO] [Dummy-20164] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:19:24.869 [INFO] [Dummy-20155] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:19:24.997 [INFO] [Dummy-20165] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:19:25.029 [INFO] [Dummy-20166] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:19:49.872 [INFO] [Dummy-20167] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:19:49.889 [INFO] [Dummy-20155] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:19:50.032 [INFO] [Dummy-20168] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:19:50.065 [INFO] [Dummy-20169] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:20:14.891 [INFO] [Dummy-20170] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:20:14.908 [INFO] [Dummy-20155] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:20:15.066 [INFO] [Dummy-20171] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:20:15.102 [INFO] [Dummy-20172] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:20:39.910 [INFO] [Dummy-20173] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:20:39.927 [INFO] [Dummy-20155] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:20:40.104 [INFO] [Dummy-20174] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:20:40.130 [INFO] [Dummy-20175] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:21:04.930 [INFO] [Dummy-20176] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:21:04.947 [INFO] [Dummy-20155] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:21:05.133 [INFO] [Dummy-20177] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:21:05.163 [INFO] [Dummy-20178] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:21:29.949 [INFO] [Dummy-20179] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:21:29.966 [INFO] [Dummy-20180] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:21:30.166 [INFO] [Dummy-20181] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:21:30.200 [INFO] [Dummy-20178] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:21:54.968 [INFO] [Dummy-20182] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:21:54.985 [INFO] [Dummy-20180] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:21:55.202 [INFO] [Dummy-20183] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:21:55.229 [INFO] [Dummy-20184] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:22:19.987 [INFO] [Dummy-20185] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:22:20.004 [INFO] [Dummy-20180] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:22:20.232 [INFO] [Dummy-20186] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:22:20.278 [INFO] [Dummy-20187] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:22:45.006 [INFO] [Dummy-20188] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:22:45.022 [INFO] [Dummy-20189] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:22:45.281 [INFO] [Dummy-20190] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:22:45.302 [INFO] [Dummy-20191] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:23:10.024 [INFO] [Dummy-20192] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:23:10.040 [INFO] [Dummy-20193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:23:10.304 [INFO] [Dummy-20194] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:23:10.332 [INFO] [Dummy-20195] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:23:35.041 [INFO] [Dummy-20196] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:23:35.057 [INFO] [Dummy-20193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:23:35.335 [INFO] [Dummy-20197] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:23:35.362 [INFO] [Dummy-20198] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:24:00.059 [INFO] [Dummy-20199] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:24:00.076 [INFO] [Dummy-20193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:24:00.365 [INFO] [Dummy-20200] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:24:00.391 [INFO] [Dummy-20201] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:24:25.079 [INFO] [Dummy-20202] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:24:25.096 [INFO] [Dummy-20193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:24:25.393 [INFO] [Dummy-20203] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:24:25.423 [INFO] [Dummy-20204] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:24:50.098 [INFO] [Dummy-20205] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:24:50.113 [INFO] [Dummy-20193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:24:50.426 [INFO] [Dummy-20206] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:24:50.451 [INFO] [Dummy-20204] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:25:15.116 [INFO] [Dummy-20207] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:25:15.132 [INFO] [Dummy-20193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:25:15.453 [INFO] [Dummy-20208] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:25:15.486 [INFO] [Dummy-20209] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:25:40.136 [INFO] [Dummy-20210] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:25:40.153 [INFO] [Dummy-20193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:25:40.488 [INFO] [Dummy-20211] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:25:40.512 [INFO] [Dummy-20212] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:26:05.157 [INFO] [Dummy-20213] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:26:05.173 [INFO] [Dummy-20214] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:26:05.515 [INFO] [Dummy-20215] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:26:05.539 [INFO] [Dummy-20216] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:26:30.175 [INFO] [Dummy-20217] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:26:30.189 [INFO] [Dummy-20218] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:26:30.541 [INFO] [Dummy-20219] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:26:30.565 [INFO] [Dummy-20220] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:26:55.192 [INFO] [Dummy-20221] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:26:55.208 [INFO] [Dummy-20218] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:26:55.566 [INFO] [Dummy-20222] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:26:55.593 [INFO] [Dummy-20223] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:27:20.211 [INFO] [Dummy-20224] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:27:20.228 [INFO] [Dummy-20218] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:27:20.595 [INFO] [Dummy-20225] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:27:20.627 [INFO] [Dummy-20226] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:27:45.232 [INFO] [Dummy-20227] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:27:45.248 [INFO] [Dummy-20228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:27:45.629 [INFO] [Dummy-20229] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:27:45.650 [INFO] [Dummy-20230] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:28:10.251 [INFO] [Dummy-20231] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:28:10.261 [INFO] [Dummy-20228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:28:10.652 [INFO] [Dummy-20232] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:28:10.676 [INFO] [Dummy-20233] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:28:35.263 [INFO] [Dummy-20234] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:28:35.281 [INFO] [Dummy-20228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:28:35.677 [INFO] [Dummy-20235] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:28:35.702 [INFO] [Dummy-20236] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:29:00.284 [INFO] [Dummy-20237] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:29:00.301 [INFO] [Dummy-20238] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:29:00.705 [INFO] [Dummy-20239] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:29:00.754 [INFO] [Dummy-20240] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:29:25.304 [INFO] [Dummy-20241] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:29:25.321 [INFO] [Dummy-20238] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:29:25.756 [INFO] [Dummy-20242] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:29:25.779 [INFO] [Dummy-20243] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:29:50.325 [INFO] [Dummy-20244] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:29:50.341 [INFO] [Dummy-20238] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:29:50.781 [INFO] [Dummy-20245] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:29:50.803 [INFO] [Dummy-20246] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:30:15.344 [INFO] [Dummy-20247] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:30:15.361 [INFO] [Dummy-20238] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:30:15.805 [INFO] [Dummy-20248] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:30:15.839 [INFO] [Dummy-20249] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:30:40.364 [INFO] [Dummy-20250] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:30:40.381 [INFO] [Dummy-20238] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:30:40.841 [INFO] [Dummy-20251] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:30:40.861 [INFO] [Dummy-20252] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:31:05.384 [INFO] [Dummy-20253] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:31:05.401 [INFO] [Dummy-20238] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:31:05.864 [INFO] [Dummy-20254] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:31:05.889 [INFO] [Dummy-20255] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:31:30.404 [INFO] [Dummy-20256] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:31:30.419 [INFO] [Dummy-20257] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:31:30.891 [INFO] [Dummy-20258] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:31:30.915 [INFO] [Dummy-20259] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:31:55.422 [INFO] [Dummy-20260] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:31:55.439 [INFO] [Dummy-20257] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:31:55.918 [INFO] [Dummy-20261] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:31:55.943 [INFO] [Dummy-20262] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:32:20.442 [INFO] [Dummy-20263] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:32:20.459 [INFO] [Dummy-20264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:32:20.946 [INFO] [Dummy-20265] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:32:20.984 [INFO] [Dummy-20266] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:32:45.462 [INFO] [Dummy-20267] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:32:45.480 [INFO] [Dummy-20264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:32:45.985 [INFO] [Dummy-20268] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:32:46.009 [INFO] [Dummy-20269] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:33:10.482 [INFO] [Dummy-20270] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:33:10.499 [INFO] [Dummy-20264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:33:11.011 [INFO] [Dummy-20271] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:33:11.046 [INFO] [Dummy-20272] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:33:35.502 [INFO] [Dummy-20273] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:33:35.519 [INFO] [Dummy-20274] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:33:36.049 [INFO] [Dummy-20275] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:33:36.076 [INFO] [Dummy-20276] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:34:00.522 [INFO] [Dummy-20277] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:34:00.541 [INFO] [Dummy-20274] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:34:01.079 [INFO] [Dummy-20278] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:34:01.101 [INFO] [Dummy-20279] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:34:25.544 [INFO] [Dummy-20280] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:34:25.560 [INFO] [Dummy-20274] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:34:26.103 [INFO] [Dummy-20281] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:34:26.130 [INFO] [Dummy-20282] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:34:50.562 [INFO] [Dummy-20283] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:34:50.579 [INFO] [Dummy-20274] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:34:51.132 [INFO] [Dummy-20284] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:34:51.157 [INFO] [Dummy-20285] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:35:15.581 [INFO] [Dummy-20286] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:35:15.597 [INFO] [Dummy-20287] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:35:16.159 [INFO] [Dummy-20288] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:35:16.194 [INFO] [Dummy-20289] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:35:40.600 [INFO] [Dummy-20290] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:35:40.616 [INFO] [Dummy-20291] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:35:41.197 [INFO] [Dummy-20292] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:35:41.245 [INFO] [Dummy-20293] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:36:05.619 [INFO] [Dummy-20294] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:36:05.636 [INFO] [Dummy-20295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:36:06.248 [INFO] [Dummy-20296] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:36:06.272 [INFO] [Dummy-20297] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:36:30.638 [INFO] [Dummy-20298] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:36:30.655 [INFO] [Dummy-20295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:36:31.275 [INFO] [Dummy-20299] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:36:31.305 [INFO] [Dummy-20300] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:36:55.657 [INFO] [Dummy-20301] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:36:55.674 [INFO] [Dummy-20295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:36:56.308 [INFO] [Dummy-20302] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:36:56.330 [INFO] [Dummy-20303] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:37:20.677 [INFO] [Dummy-20304] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:37:20.693 [INFO] [Dummy-20295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:37:21.333 [INFO] [Dummy-20305] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:37:21.357 [INFO] [Dummy-20306] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:37:45.695 [INFO] [Dummy-20307] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:37:45.709 [INFO] [Dummy-20295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:37:46.359 [INFO] [Dummy-20308] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:37:46.381 [INFO] [Dummy-20309] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:38:10.711 [INFO] [Dummy-20310] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:38:10.728 [INFO] [Dummy-20295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:38:11.382 [INFO] [Dummy-20311] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:38:11.405 [INFO] [Dummy-20312] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:38:35.731 [INFO] [Dummy-20313] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:38:35.748 [INFO] [Dummy-20314] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:38:36.408 [INFO] [Dummy-20315] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:38:36.450 [INFO] [Dummy-20316] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:39:00.750 [INFO] [Dummy-20317] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:39:00.767 [INFO] [Dummy-20314] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:39:01.453 [INFO] [Dummy-20318] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:39:01.474 [INFO] [Dummy-20319] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:39:25.769 [INFO] [Dummy-20320] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:39:25.783 [INFO] [Dummy-20314] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:39:26.478 [INFO] [Dummy-20321] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:39:26.498 [INFO] [Dummy-20322] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:39:50.785 [INFO] [Dummy-20323] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:39:50.802 [INFO] [Dummy-20314] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:39:51.499 [INFO] [Dummy-20324] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:39:51.533 [INFO] [Dummy-20325] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:40:15.804 [INFO] [Dummy-20326] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:40:15.822 [INFO] [Dummy-20327] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:40:16.536 [INFO] [Dummy-20328] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:40:16.590 [INFO] [Dummy-20329] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:40:40.824 [INFO] [Dummy-20330] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:40:40.841 [INFO] [Dummy-20327] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:40:41.593 [INFO] [Dummy-20331] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:40:41.617 [INFO] [Dummy-20332] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:41:05.843 [INFO] [Dummy-20333] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:41:05.860 [INFO] [Dummy-20327] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:41:06.620 [INFO] [Dummy-20334] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:41:06.673 [INFO] [Dummy-20335] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:41:30.863 [INFO] [Dummy-20336] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:41:30.879 [INFO] [Dummy-20337] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:41:31.676 [INFO] [Dummy-20338] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:41:31.699 [INFO] [Dummy-20339] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:41:55.881 [INFO] [Dummy-20340] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:41:55.898 [INFO] [Dummy-20337] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:41:56.702 [INFO] [Dummy-20341] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:41:56.725 [INFO] [Dummy-20342] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:42:20.899 [INFO] [Dummy-20343] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:42:20.915 [INFO] [Dummy-20337] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:42:21.728 [INFO] [Dummy-20344] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:42:21.765 [INFO] [Dummy-20345] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:42:45.917 [INFO] [Dummy-20346] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:42:45.934 [INFO] [Dummy-20337] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:42:46.769 [INFO] [Dummy-20347] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:42:46.794 [INFO] [Dummy-20348] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:43:10.937 [INFO] [Dummy-20349] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:43:10.953 [INFO] [Dummy-20337] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:43:11.798 [INFO] [Dummy-20350] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:43:11.828 [INFO] [Dummy-20351] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:43:35.956 [INFO] [Dummy-20352] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:43:35.973 [INFO] [Dummy-20337] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:43:36.831 [INFO] [Dummy-20353] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:43:36.861 [INFO] [Dummy-20351] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:44:00.976 [INFO] [Dummy-20354] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:44:00.995 [INFO] [Dummy-20337] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:44:01.863 [INFO] [Dummy-20355] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:44:01.886 [INFO] [Dummy-20356] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:44:25.998 [INFO] [Dummy-20357] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:44:26.014 [INFO] [Dummy-20358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:44:26.890 [INFO] [Dummy-20359] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:44:26.921 [INFO] [Dummy-20360] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:44:51.018 [INFO] [Dummy-20361] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:44:51.034 [INFO] [Dummy-20358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:44:51.924 [INFO] [Dummy-20362] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:44:51.946 [INFO] [Dummy-20363] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:45:16.037 [INFO] [Dummy-20364] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:45:16.053 [INFO] [Dummy-20358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:45:16.949 [INFO] [Dummy-20365] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:45:16.976 [INFO] [Dummy-20366] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:45:41.056 [INFO] [Dummy-20367] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:45:41.073 [INFO] [Dummy-20358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:45:41.979 [INFO] [Dummy-20368] [socket.py] [send()] NJujSumvFb88xgQAAAA2: Sending packet PING data None
2025-12-21T11:45:42.029 [INFO] [Dummy-20369] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet PONG data 
2025-12-21T11:46:01.249 [INFO] [Dummy-20370] [socket.py] [receive()] NJujSumvFb88xgQAAAA2: Received packet CLOSE data 
2025-12-21T11:46:06.075 [INFO] [Dummy-20371] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:46:06.092 [INFO] [Dummy-20358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:46:15.979 [INFO] [Dummy-20372] [socket.py] [send()] lz7XHeOYB-Z7BMY1AAA4: Sending packet OPEN data {'sid': 'lz7XHeOYB-Z7BMY1AAA4', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T11:46:16.006 [INFO] [Dummy-20372] [socket.py] [receive()] lz7XHeOYB-Z7BMY1AAA4: Received packet MESSAGE data 0
2025-12-21T11:46:16.007 [INFO] [Dummy-20372] [socket.py] [send()] lz7XHeOYB-Z7BMY1AAA4: Sending packet MESSAGE data 0{"sid":"78EhsuNX-8TmrpIfAAA5"}
2025-12-21T11:46:16.030 [INFO] [Dummy-20373] [socket.py] [handle_get_request()] lz7XHeOYB-Z7BMY1AAA4: Received request to upgrade to websocket
2025-12-21T11:46:31.096 [INFO] [Dummy-20374] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:46:31.113 [INFO] [Dummy-20358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:46:40.982 [INFO] [Dummy-20375] [socket.py] [send()] lz7XHeOYB-Z7BMY1AAA4: Sending packet PING data None
2025-12-21T11:46:56.116 [INFO] [Dummy-20376] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:46:56.134 [INFO] [Dummy-20377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:47:19.655 [INFO] [Dummy-908] [socket.py] [check_ping_timeout()] lz7XHeOYB-Z7BMY1AAA4: Client is gone, closing socket
2025-12-21T11:47:19.656 [INFO] [Dummy-908] [socket.py] [check_ping_timeout()] lz7XHeOYB-Z7BMY1AAA4: Client is gone, closing socket
2025-12-21T11:47:21.137 [INFO] [Dummy-20378] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:47:21.155 [INFO] [Dummy-20377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:47:46.158 [INFO] [Dummy-20379] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:47:46.175 [INFO] [Dummy-20377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:48:11.177 [INFO] [Dummy-20380] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:48:11.195 [INFO] [Dummy-20377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:48:36.197 [INFO] [Dummy-20381] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:48:36.214 [INFO] [Dummy-20382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:49:01.217 [INFO] [Dummy-20383] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:49:01.232 [INFO] [Dummy-20382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:49:26.233 [INFO] [Dummy-20384] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:49:26.252 [INFO] [Dummy-20382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:49:51.254 [INFO] [Dummy-20385] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:49:51.270 [INFO] [Dummy-20386] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:50:16.273 [INFO] [Dummy-20387] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:50:16.288 [INFO] [Dummy-20386] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:50:41.290 [INFO] [Dummy-20388] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:50:41.306 [INFO] [Dummy-20386] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:51:06.308 [INFO] [Dummy-20389] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:51:06.325 [INFO] [Dummy-20386] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:51:31.328 [INFO] [Dummy-20390] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:51:31.345 [INFO] [Dummy-20391] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:51:56.347 [INFO] [Dummy-20392] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:51:56.366 [INFO] [Dummy-20391] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:52:21.369 [INFO] [Dummy-20393] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:52:21.386 [INFO] [Dummy-20394] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:52:46.388 [INFO] [Dummy-20395] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:52:46.405 [INFO] [Dummy-20394] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:53:11.408 [INFO] [Dummy-20396] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:53:11.425 [INFO] [Dummy-20397] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:53:36.428 [INFO] [Dummy-20398] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:53:36.444 [INFO] [Dummy-20397] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:54:01.446 [INFO] [Dummy-20399] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:54:01.463 [INFO] [Dummy-20400] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:54:26.466 [INFO] [Dummy-20401] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:54:26.482 [INFO] [Dummy-20400] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:54:51.484 [INFO] [Dummy-20402] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:54:51.501 [INFO] [Dummy-20400] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:55:16.504 [INFO] [Dummy-20403] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:55:16.521 [INFO] [Dummy-20400] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:55:41.524 [INFO] [Dummy-20404] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:55:41.542 [INFO] [Dummy-20400] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:56:06.545 [INFO] [Dummy-20405] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:56:06.561 [INFO] [Dummy-20400] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:56:31.564 [INFO] [Dummy-20406] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:56:31.581 [INFO] [Dummy-20400] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:56:56.583 [INFO] [Dummy-20407] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:56:56.600 [INFO] [Dummy-20408] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:57:21.602 [INFO] [Dummy-20409] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:57:21.620 [INFO] [Dummy-20408] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:57:46.622 [INFO] [Dummy-20410] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:57:46.638 [INFO] [Dummy-20408] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:58:11.640 [INFO] [Dummy-20411] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:58:11.656 [INFO] [Dummy-20408] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:58:36.659 [INFO] [Dummy-20412] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:58:36.676 [INFO] [Dummy-20408] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:59:01.678 [INFO] [Dummy-20413] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:59:01.695 [INFO] [Dummy-20414] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:59:26.698 [INFO] [Dummy-20415] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:59:26.714 [INFO] [Dummy-20416] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T11:59:51.718 [INFO] [Dummy-20417] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T11:59:51.737 [INFO] [Dummy-20416] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:00:16.739 [INFO] [Dummy-20418] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:00:16.755 [INFO] [Dummy-20419] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:00:41.757 [INFO] [Dummy-20420] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:00:41.774 [INFO] [Dummy-20419] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:01:06.777 [INFO] [Dummy-20421] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:01:06.792 [INFO] [Dummy-20419] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:01:31.795 [INFO] [Dummy-20422] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:01:31.812 [INFO] [Dummy-20419] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:01:56.814 [INFO] [Dummy-20423] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:01:56.830 [INFO] [Dummy-20419] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:02:21.832 [INFO] [Dummy-20424] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:02:21.852 [INFO] [Dummy-20419] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:02:46.855 [INFO] [Dummy-20425] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:02:46.873 [INFO] [Dummy-20419] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:03:11.876 [INFO] [Dummy-20426] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:03:11.893 [INFO] [Dummy-20427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:03:36.895 [INFO] [Dummy-20428] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:03:36.912 [INFO] [Dummy-20427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:04:01.915 [INFO] [Dummy-20429] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:04:01.931 [INFO] [Dummy-20427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:04:26.934 [INFO] [Dummy-20430] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:04:26.950 [INFO] [Dummy-20427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:04:51.953 [INFO] [Dummy-20431] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:04:51.969 [INFO] [Dummy-20427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:05:16.971 [INFO] [Dummy-20432] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:05:16.988 [INFO] [Dummy-20427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:05:41.990 [INFO] [Dummy-20433] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:05:42.007 [INFO] [Dummy-20434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:06:07.010 [INFO] [Dummy-20435] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:06:07.027 [INFO] [Dummy-20434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:06:32.029 [INFO] [Dummy-20436] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:06:32.045 [INFO] [Dummy-20434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:06:57.048 [INFO] [Dummy-20437] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:06:57.065 [INFO] [Dummy-20434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:07:22.067 [INFO] [Dummy-20438] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:07:22.083 [INFO] [Dummy-20434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:07:47.086 [INFO] [Dummy-20439] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:07:47.104 [INFO] [Dummy-20434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:08:12.107 [INFO] [Dummy-20440] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:08:12.126 [INFO] [Dummy-20441] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:08:37.129 [INFO] [Dummy-20442] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:08:37.145 [INFO] [Dummy-20443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:09:02.148 [INFO] [Dummy-20444] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:09:02.165 [INFO] [Dummy-20443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:09:27.167 [INFO] [Dummy-20445] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:09:27.185 [INFO] [Dummy-20443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:09:52.187 [INFO] [Dummy-20446] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:09:52.204 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:10:17.206 [INFO] [Dummy-20448] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:10:17.223 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:10:42.225 [INFO] [Dummy-20449] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:10:42.242 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:11:07.244 [INFO] [Dummy-20450] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:11:07.260 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:11:32.262 [INFO] [Dummy-20451] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:11:32.278 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:11:57.279 [INFO] [Dummy-20452] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:11:57.296 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:12:22.299 [INFO] [Dummy-20453] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:12:22.316 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:12:47.319 [INFO] [Dummy-20454] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:12:47.337 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:13:12.339 [INFO] [Dummy-20455] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:13:12.354 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:13:37.356 [INFO] [Dummy-20456] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:13:37.372 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:14:02.374 [INFO] [Dummy-20457] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:14:02.390 [INFO] [Dummy-20447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:14:27.392 [INFO] [Dummy-20458] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:14:27.409 [INFO] [Dummy-20459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:14:52.411 [INFO] [Dummy-20460] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:14:52.428 [INFO] [Dummy-20459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:15:17.430 [INFO] [Dummy-20461] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:15:17.446 [INFO] [Dummy-20459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:15:42.449 [INFO] [Dummy-20462] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:15:42.465 [INFO] [Dummy-20459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:16:07.468 [INFO] [Dummy-20463] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:16:07.485 [INFO] [Dummy-20459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:16:32.487 [INFO] [Dummy-20464] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:16:32.504 [INFO] [Dummy-20459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:16:57.507 [INFO] [Dummy-20465] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:16:57.525 [INFO] [Dummy-20459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:17:22.526 [INFO] [Dummy-20466] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:17:22.542 [INFO] [Dummy-20467] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:17:47.545 [INFO] [Dummy-20468] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:17:47.562 [INFO] [Dummy-20469] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:18:12.565 [INFO] [Dummy-20470] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:18:12.581 [INFO] [Dummy-20469] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:18:37.584 [INFO] [Dummy-20471] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:18:37.600 [INFO] [Dummy-20472] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:19:02.604 [INFO] [Dummy-20473] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:19:02.623 [INFO] [Dummy-20474] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:19:27.626 [INFO] [Dummy-20475] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:19:27.644 [INFO] [Dummy-20476] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:19:52.647 [INFO] [Dummy-20477] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:19:52.664 [INFO] [Dummy-20478] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:20:17.668 [INFO] [Dummy-20479] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:20:17.684 [INFO] [Dummy-20480] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:20:42.688 [INFO] [Dummy-20481] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:20:42.705 [INFO] [Dummy-20480] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:21:07.709 [INFO] [Dummy-20482] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:21:07.726 [INFO] [Dummy-20480] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:21:32.730 [INFO] [Dummy-20483] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:21:32.746 [INFO] [Dummy-20480] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:21:57.749 [INFO] [Dummy-20484] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:21:57.765 [INFO] [Dummy-20480] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:22:22.767 [INFO] [Dummy-20485] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:22:22.784 [INFO] [Dummy-20480] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:22:47.787 [INFO] [Dummy-20486] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:22:47.802 [INFO] [Dummy-20487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:23:12.804 [INFO] [Dummy-20488] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:23:12.820 [INFO] [Dummy-20487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:23:37.823 [INFO] [Dummy-20489] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:23:37.840 [INFO] [Dummy-20487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:24:02.843 [INFO] [Dummy-20490] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:24:02.860 [INFO] [Dummy-20487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:24:27.863 [INFO] [Dummy-20491] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:24:27.881 [INFO] [Dummy-20487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:24:52.884 [INFO] [Dummy-20492] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:24:52.900 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:25:17.902 [INFO] [Dummy-20494] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:25:17.919 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:25:42.921 [INFO] [Dummy-20495] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:25:42.935 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:26:07.938 [INFO] [Dummy-20496] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:26:07.954 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:26:32.956 [INFO] [Dummy-20497] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:26:32.973 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:26:57.976 [INFO] [Dummy-20498] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:26:57.992 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:27:22.995 [INFO] [Dummy-20499] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:27:23.012 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:27:48.015 [INFO] [Dummy-20500] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:27:48.032 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:28:13.033 [INFO] [Dummy-20501] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:28:13.050 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:28:38.052 [INFO] [Dummy-20502] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:28:38.067 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:29:03.069 [INFO] [Dummy-20503] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:29:03.086 [INFO] [Dummy-20493] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:29:28.088 [INFO] [Dummy-20504] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:29:28.104 [INFO] [Dummy-20505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:29:53.106 [INFO] [Dummy-20506] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:29:53.124 [INFO] [Dummy-20505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:30:18.126 [INFO] [Dummy-20507] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:30:18.141 [INFO] [Dummy-20505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:30:43.143 [INFO] [Dummy-20508] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:30:43.159 [INFO] [Dummy-20505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:31:08.161 [INFO] [Dummy-20509] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:31:08.177 [INFO] [Dummy-20505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:31:33.178 [INFO] [Dummy-20510] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:31:33.195 [INFO] [Dummy-20505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:31:58.198 [INFO] [Dummy-20511] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:31:58.213 [INFO] [Dummy-20505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:32:23.215 [INFO] [Dummy-20512] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:32:23.231 [INFO] [Dummy-20505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:32:48.233 [INFO] [Dummy-20513] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:32:48.249 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:33:13.251 [INFO] [Dummy-20515] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:33:13.269 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:33:38.271 [INFO] [Dummy-20516] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:33:38.288 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:34:03.290 [INFO] [Dummy-20517] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:34:03.304 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:34:28.306 [INFO] [Dummy-20518] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:34:28.322 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:34:53.325 [INFO] [Dummy-20519] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:34:53.342 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:35:18.343 [INFO] [Dummy-20520] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:35:18.360 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:35:43.363 [INFO] [Dummy-20521] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:35:43.379 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:36:08.381 [INFO] [Dummy-20522] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:36:08.398 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:36:33.401 [INFO] [Dummy-20523] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:36:33.418 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:36:58.421 [INFO] [Dummy-20524] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:36:58.439 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:37:23.442 [INFO] [Dummy-20525] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:37:23.459 [INFO] [Dummy-20514] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:37:48.495 [INFO] [Dummy-20526] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:37:48.513 [INFO] [Dummy-20527] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:38:13.516 [INFO] [Dummy-20528] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:38:13.532 [INFO] [Dummy-20527] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:38:38.535 [INFO] [Dummy-20529] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:38:38.552 [INFO] [Dummy-20527] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:39:03.555 [INFO] [Dummy-20530] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:39:03.572 [INFO] [Dummy-20531] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:39:28.575 [INFO] [Dummy-20532] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:39:28.592 [INFO] [Dummy-20531] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:39:53.595 [INFO] [Dummy-20533] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:39:53.612 [INFO] [Dummy-20531] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:40:18.615 [INFO] [Dummy-20534] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:40:18.631 [INFO] [Dummy-20531] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:40:43.634 [INFO] [Dummy-20535] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:40:43.651 [INFO] [Dummy-20531] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:41:08.654 [INFO] [Dummy-20536] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:41:08.671 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:41:33.674 [INFO] [Dummy-20538] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:41:33.690 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:41:58.693 [INFO] [Dummy-20539] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:41:58.710 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:42:23.713 [INFO] [Dummy-20540] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:42:23.729 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:42:48.731 [INFO] [Dummy-20541] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:42:48.748 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:43:13.750 [INFO] [Dummy-20542] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:43:13.767 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:43:38.770 [INFO] [Dummy-20543] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:43:38.786 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:44:03.789 [INFO] [Dummy-20544] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:44:03.807 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:44:28.809 [INFO] [Dummy-20545] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:44:28.827 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:44:53.829 [INFO] [Dummy-20546] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:44:53.846 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:45:18.848 [INFO] [Dummy-20547] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:45:18.862 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:45:43.864 [INFO] [Dummy-20548] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:45:43.882 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:46:08.884 [INFO] [Dummy-20549] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:46:08.901 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:46:33.903 [INFO] [Dummy-20550] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:46:33.919 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:46:58.921 [INFO] [Dummy-20551] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:46:58.935 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:47:23.937 [INFO] [Dummy-20552] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:47:23.954 [INFO] [Dummy-20537] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:47:48.956 [INFO] [Dummy-20553] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:47:48.972 [INFO] [Dummy-20554] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:48:13.975 [INFO] [Dummy-20555] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:48:13.992 [INFO] [Dummy-20554] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:48:38.995 [INFO] [Dummy-20556] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:48:39.012 [INFO] [Dummy-20554] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:49:04.014 [INFO] [Dummy-20557] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:49:04.030 [INFO] [Dummy-20554] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:49:29.032 [INFO] [Dummy-20558] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:49:29.050 [INFO] [Dummy-20559] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:49:54.051 [INFO] [Dummy-20560] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:49:54.070 [INFO] [Dummy-20559] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:50:19.072 [INFO] [Dummy-20561] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:50:19.089 [INFO] [Dummy-20562] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:50:44.092 [INFO] [Dummy-20563] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:50:44.110 [INFO] [Dummy-20562] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:51:09.111 [INFO] [Dummy-20564] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:51:09.129 [INFO] [Dummy-20562] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:51:34.130 [INFO] [Dummy-20565] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:51:34.147 [INFO] [Dummy-20562] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:51:59.150 [INFO] [Dummy-20566] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:51:59.166 [INFO] [Dummy-20567] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:52:24.168 [INFO] [Dummy-20568] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:52:24.186 [INFO] [Dummy-20567] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:52:49.188 [INFO] [Dummy-20569] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:52:49.207 [INFO] [Dummy-20570] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:53:14.210 [INFO] [Dummy-20571] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:53:14.227 [INFO] [Dummy-20572] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:53:39.229 [INFO] [Dummy-20573] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:53:39.247 [INFO] [Dummy-20572] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:54:04.250 [INFO] [Dummy-20574] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:54:04.267 [INFO] [Dummy-20572] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:54:29.270 [INFO] [Dummy-20575] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:54:29.287 [INFO] [Dummy-20572] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:54:54.289 [INFO] [Dummy-20576] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:54:54.305 [INFO] [Dummy-20572] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:55:19.308 [INFO] [Dummy-20577] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:55:19.326 [INFO] [Dummy-20572] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:55:44.329 [INFO] [Dummy-20578] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:55:44.345 [INFO] [Dummy-20579] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:56:09.348 [INFO] [Dummy-20580] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:56:09.366 [INFO] [Dummy-20579] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:56:34.369 [INFO] [Dummy-20581] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:56:34.383 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:56:59.386 [INFO] [Dummy-20583] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:56:59.402 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:57:24.405 [INFO] [Dummy-20584] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:57:24.421 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:57:49.424 [INFO] [Dummy-20585] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:57:49.441 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:58:14.443 [INFO] [Dummy-20586] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:58:14.458 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:58:39.460 [INFO] [Dummy-20587] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:58:39.477 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:59:04.480 [INFO] [Dummy-20588] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:59:04.499 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:59:29.502 [INFO] [Dummy-20589] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:59:29.518 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T12:59:54.521 [INFO] [Dummy-20590] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T12:59:54.538 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:00:19.540 [INFO] [Dummy-20591] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:00:19.557 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:00:44.559 [INFO] [Dummy-20592] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:00:44.576 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:01:09.580 [INFO] [Dummy-20593] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:01:09.596 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:01:34.599 [INFO] [Dummy-20594] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:01:34.614 [INFO] [Dummy-20582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:01:59.617 [INFO] [Dummy-20595] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:01:59.634 [INFO] [Dummy-20596] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:02:24.637 [INFO] [Dummy-20597] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:02:24.655 [INFO] [Dummy-20596] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:02:49.658 [INFO] [Dummy-20598] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:02:49.675 [INFO] [Dummy-20596] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:03:14.678 [INFO] [Dummy-20599] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:03:14.694 [INFO] [Dummy-20600] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:03:39.697 [INFO] [Dummy-20601] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:03:39.715 [INFO] [Dummy-20600] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:04:04.718 [INFO] [Dummy-20602] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:04:04.737 [INFO] [Dummy-20603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:04:29.739 [INFO] [Dummy-20604] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:04:29.754 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:04:54.757 [INFO] [Dummy-20606] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:04:54.773 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:05:19.776 [INFO] [Dummy-20607] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:05:19.792 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:05:44.795 [INFO] [Dummy-20608] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:05:44.811 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:06:09.813 [INFO] [Dummy-20609] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:06:09.828 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:06:34.830 [INFO] [Dummy-20610] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:06:34.846 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:06:59.848 [INFO] [Dummy-20611] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:06:59.865 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:07:24.868 [INFO] [Dummy-20612] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:07:24.884 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:07:49.886 [INFO] [Dummy-20613] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:07:49.904 [INFO] [Dummy-20605] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:08:14.906 [INFO] [Dummy-20614] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:08:14.921 [INFO] [Dummy-20615] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:08:39.923 [INFO] [Dummy-20616] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:08:39.941 [INFO] [Dummy-20615] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:09:04.944 [INFO] [Dummy-20617] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:09:04.960 [INFO] [Dummy-20618] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:09:29.961 [INFO] [Dummy-20619] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:09:29.979 [INFO] [Dummy-20620] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:09:54.982 [INFO] [Dummy-20621] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:09:54.999 [INFO] [Dummy-20620] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:10:20.002 [INFO] [Dummy-20622] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:10:20.022 [INFO] [Dummy-20620] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:10:45.024 [INFO] [Dummy-20623] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:10:45.041 [INFO] [Dummy-20624] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:11:10.043 [INFO] [Dummy-20625] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:11:10.061 [INFO] [Dummy-20624] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:11:35.065 [INFO] [Dummy-20626] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:11:35.083 [INFO] [Dummy-20627] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:12:00.086 [INFO] [Dummy-20628] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:12:00.103 [INFO] [Dummy-20627] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:12:25.106 [INFO] [Dummy-20629] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:12:25.124 [INFO] [Dummy-20630] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:12:50.127 [INFO] [Dummy-20631] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:12:50.144 [INFO] [Dummy-20630] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:13:15.147 [INFO] [Dummy-20632] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:13:15.164 [INFO] [Dummy-20633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:13:40.167 [INFO] [Dummy-20634] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:13:40.185 [INFO] [Dummy-20635] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:14:05.188 [INFO] [Dummy-20636] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:14:05.204 [INFO] [Dummy-20637] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:14:30.207 [INFO] [Dummy-20638] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:14:30.226 [INFO] [Dummy-20637] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:14:55.228 [INFO] [Dummy-20639] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:14:55.246 [INFO] [Dummy-20640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:15:20.249 [INFO] [Dummy-20641] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:15:20.266 [INFO] [Dummy-20642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:15:45.268 [INFO] [Dummy-20643] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:15:45.286 [INFO] [Dummy-20642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:16:10.287 [INFO] [Dummy-20644] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:16:10.305 [INFO] [Dummy-20642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:16:35.307 [INFO] [Dummy-20645] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:16:35.324 [INFO] [Dummy-20646] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:17:00.327 [INFO] [Dummy-20647] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:17:00.347 [INFO] [Dummy-20648] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:17:25.350 [INFO] [Dummy-20649] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:17:25.366 [INFO] [Dummy-20650] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:17:50.368 [INFO] [Dummy-20651] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:17:50.385 [INFO] [Dummy-20652] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:18:15.387 [INFO] [Dummy-20653] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:18:15.404 [INFO] [Dummy-20652] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:18:40.407 [INFO] [Dummy-20654] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:18:40.424 [INFO] [Dummy-20652] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:19:05.426 [INFO] [Dummy-20655] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:19:05.443 [INFO] [Dummy-20652] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:19:30.445 [INFO] [Dummy-20656] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:19:30.462 [INFO] [Dummy-20652] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:19:55.465 [INFO] [Dummy-20657] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:19:55.481 [INFO] [Dummy-20658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:20:20.483 [INFO] [Dummy-20659] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:20:20.501 [INFO] [Dummy-20658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:20:45.503 [INFO] [Dummy-20660] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:20:45.520 [INFO] [Dummy-20658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:21:10.523 [INFO] [Dummy-20661] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:21:10.539 [INFO] [Dummy-20658] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:21:35.574 [INFO] [Dummy-20662] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:21:35.590 [INFO] [Dummy-20663] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:22:00.593 [INFO] [Dummy-20664] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:22:00.609 [INFO] [Dummy-20663] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:22:25.611 [INFO] [Dummy-20665] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:22:25.628 [INFO] [Dummy-20666] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:22:50.631 [INFO] [Dummy-20667] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:22:50.647 [INFO] [Dummy-20668] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:23:15.649 [INFO] [Dummy-20669] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:23:15.665 [INFO] [Dummy-20668] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:23:40.668 [INFO] [Dummy-20670] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:23:40.686 [INFO] [Dummy-20668] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:24:05.688 [INFO] [Dummy-20671] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:24:05.705 [INFO] [Dummy-20672] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:24:30.707 [INFO] [Dummy-20673] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:24:30.723 [INFO] [Dummy-20672] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:24:55.726 [INFO] [Dummy-20674] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:24:55.742 [INFO] [Dummy-20675] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:25:20.744 [INFO] [Dummy-20676] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:25:20.759 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:25:45.761 [INFO] [Dummy-20678] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:25:45.778 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:26:10.781 [INFO] [Dummy-20679] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:26:10.797 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:26:35.800 [INFO] [Dummy-20680] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:26:35.816 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:27:00.817 [INFO] [Dummy-20681] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:27:00.832 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:27:25.834 [INFO] [Dummy-20682] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:27:25.852 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:27:50.854 [INFO] [Dummy-20683] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:27:50.871 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:28:15.874 [INFO] [Dummy-20684] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:28:15.891 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:28:40.892 [INFO] [Dummy-20685] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:28:40.909 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:29:05.912 [INFO] [Dummy-20686] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:29:05.929 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:29:30.931 [INFO] [Dummy-20687] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:29:30.948 [INFO] [Dummy-20677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:29:55.951 [INFO] [Dummy-20688] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:29:55.970 [INFO] [Dummy-20689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:30:20.972 [INFO] [Dummy-20690] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:30:20.989 [INFO] [Dummy-20689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:30:45.991 [INFO] [Dummy-20691] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:30:46.007 [INFO] [Dummy-20689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:31:11.010 [INFO] [Dummy-20692] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:31:11.028 [INFO] [Dummy-20689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:31:36.031 [INFO] [Dummy-20693] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:31:36.047 [INFO] [Dummy-20689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:32:01.050 [INFO] [Dummy-20694] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:32:01.067 [INFO] [Dummy-20689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:32:26.071 [INFO] [Dummy-20695] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:32:26.088 [INFO] [Dummy-20689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:32:51.091 [INFO] [Dummy-20696] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:32:51.109 [INFO] [Dummy-20689] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:33:16.112 [INFO] [Dummy-20697] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:33:16.128 [INFO] [Dummy-20698] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:33:41.131 [INFO] [Dummy-20699] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:33:41.148 [INFO] [Dummy-20698] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:34:06.150 [INFO] [Dummy-20700] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:34:06.166 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:34:31.169 [INFO] [Dummy-20702] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:34:31.186 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:34:56.189 [INFO] [Dummy-20703] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:34:56.206 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:35:21.209 [INFO] [Dummy-20704] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:35:21.227 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:35:46.230 [INFO] [Dummy-20705] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:35:46.246 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:36:11.248 [INFO] [Dummy-20706] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:36:11.265 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:36:36.267 [INFO] [Dummy-20707] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:36:36.284 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:37:01.286 [INFO] [Dummy-20708] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:37:01.302 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:37:26.304 [INFO] [Dummy-20709] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:37:26.321 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:37:51.323 [INFO] [Dummy-20710] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:37:51.340 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:38:16.342 [INFO] [Dummy-20711] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:38:16.357 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:38:41.359 [INFO] [Dummy-20712] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:38:41.376 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:39:06.379 [INFO] [Dummy-20713] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:39:06.395 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:39:31.396 [INFO] [Dummy-20714] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:39:31.413 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:39:56.415 [INFO] [Dummy-20715] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:39:56.434 [INFO] [Dummy-20701] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:40:21.435 [INFO] [Dummy-20716] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:40:21.452 [INFO] [Dummy-20717] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:40:46.455 [INFO] [Dummy-20718] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:40:46.471 [INFO] [Dummy-20717] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:41:11.474 [INFO] [Dummy-20719] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:41:11.492 [INFO] [Dummy-20717] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:41:36.494 [INFO] [Dummy-20720] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:41:36.510 [INFO] [Dummy-20717] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:42:01.512 [INFO] [Dummy-20721] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:42:01.528 [INFO] [Dummy-20717] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:42:26.531 [INFO] [Dummy-20722] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:42:26.548 [INFO] [Dummy-20723] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:42:51.550 [INFO] [Dummy-20724] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:42:51.566 [INFO] [Dummy-20725] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:43:16.568 [INFO] [Dummy-20726] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:43:16.585 [INFO] [Dummy-20727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:43:41.588 [INFO] [Dummy-20728] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:43:41.605 [INFO] [Dummy-20727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:44:06.608 [INFO] [Dummy-20729] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:44:06.624 [INFO] [Dummy-20727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:44:31.627 [INFO] [Dummy-20730] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:44:31.643 [INFO] [Dummy-20727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:44:56.645 [INFO] [Dummy-20731] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:44:56.662 [INFO] [Dummy-20727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:45:21.664 [INFO] [Dummy-20732] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:45:21.681 [INFO] [Dummy-20733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:45:46.682 [INFO] [Dummy-20734] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:45:46.699 [INFO] [Dummy-20733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:46:11.701 [INFO] [Dummy-20735] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:46:11.717 [INFO] [Dummy-20733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:46:36.720 [INFO] [Dummy-20736] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:46:36.738 [INFO] [Dummy-20733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:47:01.740 [INFO] [Dummy-20737] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:47:01.759 [INFO] [Dummy-20738] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:47:26.762 [INFO] [Dummy-20739] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:47:26.782 [INFO] [Dummy-20738] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:47:51.784 [INFO] [Dummy-20740] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:47:51.799 [INFO] [Dummy-20741] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:48:16.801 [INFO] [Dummy-20742] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:48:16.818 [INFO] [Dummy-20741] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:48:41.821 [INFO] [Dummy-20743] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:48:41.838 [INFO] [Dummy-20741] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:49:06.841 [INFO] [Dummy-20744] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:49:06.859 [INFO] [Dummy-20741] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:49:31.893 [INFO] [Dummy-20745] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:49:31.907 [INFO] [Dummy-20746] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:49:56.909 [INFO] [Dummy-20747] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:49:56.925 [INFO] [Dummy-20746] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:50:21.928 [INFO] [Dummy-20748] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:50:21.945 [INFO] [Dummy-20746] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:50:46.948 [INFO] [Dummy-20749] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:50:46.964 [INFO] [Dummy-20746] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:51:11.967 [INFO] [Dummy-20750] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:51:11.986 [INFO] [Dummy-20746] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:51:36.989 [INFO] [Dummy-20751] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:51:37.005 [INFO] [Dummy-20752] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:52:02.007 [INFO] [Dummy-20753] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:52:02.022 [INFO] [Dummy-20752] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:52:27.024 [INFO] [Dummy-20754] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:52:27.042 [INFO] [Dummy-20752] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:52:52.045 [INFO] [Dummy-20755] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:52:52.060 [INFO] [Dummy-20756] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:53:17.062 [INFO] [Dummy-20757] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:53:17.078 [INFO] [Dummy-20756] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:53:42.081 [INFO] [Dummy-20758] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:53:42.097 [INFO] [Dummy-20756] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:54:07.099 [INFO] [Dummy-20759] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:54:07.116 [INFO] [Dummy-20760] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:54:32.119 [INFO] [Dummy-20761] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:54:32.137 [INFO] [Dummy-20760] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:54:57.139 [INFO] [Dummy-20762] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:54:57.156 [INFO] [Dummy-20763] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:55:22.191 [INFO] [Dummy-20764] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:55:22.208 [INFO] [Dummy-20765] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:55:47.211 [INFO] [Dummy-20766] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:55:47.228 [INFO] [Dummy-20765] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:56:12.231 [INFO] [Dummy-20767] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:56:12.248 [INFO] [Dummy-20768] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:56:37.251 [INFO] [Dummy-20769] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:56:37.268 [INFO] [Dummy-20768] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:57:02.271 [INFO] [Dummy-20770] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:57:02.287 [INFO] [Dummy-20771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:57:27.289 [INFO] [Dummy-20772] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:57:27.304 [INFO] [Dummy-20771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:57:52.305 [INFO] [Dummy-20773] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:57:52.322 [INFO] [Dummy-20771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:58:17.325 [INFO] [Dummy-20774] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:58:17.342 [INFO] [Dummy-20771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:58:42.344 [INFO] [Dummy-20775] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:58:42.364 [INFO] [Dummy-20771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:59:07.366 [INFO] [Dummy-20776] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:59:07.382 [INFO] [Dummy-20777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:59:32.384 [INFO] [Dummy-20778] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:59:32.400 [INFO] [Dummy-20777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T13:59:57.403 [INFO] [Dummy-20779] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T13:59:57.419 [INFO] [Dummy-20777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:00:22.421 [INFO] [Dummy-20780] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:00:22.437 [INFO] [Dummy-20777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:00:47.439 [INFO] [Dummy-20781] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:00:47.456 [INFO] [Dummy-20777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:01:12.459 [INFO] [Dummy-20782] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:01:12.477 [INFO] [Dummy-20777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:01:37.479 [INFO] [Dummy-20783] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:01:37.496 [INFO] [Dummy-20784] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:02:02.498 [INFO] [Dummy-20785] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:02:02.515 [INFO] [Dummy-20786] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:02:27.517 [INFO] [Dummy-20787] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:02:27.534 [INFO] [Dummy-20786] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:02:52.536 [INFO] [Dummy-20788] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:02:52.552 [INFO] [Dummy-20786] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:03:17.555 [INFO] [Dummy-20789] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:03:17.574 [INFO] [Dummy-20786] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:03:42.576 [INFO] [Dummy-20790] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:03:42.596 [INFO] [Dummy-20786] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:04:07.599 [INFO] [Dummy-20791] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:04:07.615 [INFO] [Dummy-20792] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:04:32.616 [INFO] [Dummy-20793] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:04:32.632 [INFO] [Dummy-20792] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:04:57.635 [INFO] [Dummy-20794] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:04:57.653 [INFO] [Dummy-20792] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:05:22.656 [INFO] [Dummy-20795] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:05:22.672 [INFO] [Dummy-20796] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:05:47.676 [INFO] [Dummy-20797] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:05:47.695 [INFO] [Dummy-20796] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:06:12.697 [INFO] [Dummy-20798] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:06:12.716 [INFO] [Dummy-20799] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:06:37.720 [INFO] [Dummy-20800] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:06:37.736 [INFO] [Dummy-20801] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:07:02.740 [INFO] [Dummy-20802] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:07:02.757 [INFO] [Dummy-20801] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:07:27.760 [INFO] [Dummy-20803] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:07:27.779 [INFO] [Dummy-20801] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:07:52.782 [INFO] [Dummy-20804] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:07:52.799 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:08:17.803 [INFO] [Dummy-20806] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:08:17.820 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:08:42.823 [INFO] [Dummy-20807] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:08:42.838 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:09:07.840 [INFO] [Dummy-20808] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:09:07.856 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:09:32.860 [INFO] [Dummy-20809] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:09:32.877 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:09:57.880 [INFO] [Dummy-20810] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:09:57.897 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:10:22.899 [INFO] [Dummy-20811] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:10:22.915 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:10:47.917 [INFO] [Dummy-20812] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:10:47.934 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:11:12.936 [INFO] [Dummy-20813] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:11:12.953 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:11:37.956 [INFO] [Dummy-20814] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:11:37.973 [INFO] [Dummy-20805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:12:02.975 [INFO] [Dummy-20815] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:12:02.992 [INFO] [Dummy-20816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:12:27.996 [INFO] [Dummy-20817] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:12:28.012 [INFO] [Dummy-20818] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:12:53.015 [INFO] [Dummy-20819] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:12:53.030 [INFO] [Dummy-20818] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:13:18.032 [INFO] [Dummy-20820] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:13:18.048 [INFO] [Dummy-20818] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:13:43.049 [INFO] [Dummy-20821] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:13:43.066 [INFO] [Dummy-20818] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:14:08.067 [INFO] [Dummy-20822] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:14:08.082 [INFO] [Dummy-20818] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:14:33.084 [INFO] [Dummy-20823] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:14:33.104 [INFO] [Dummy-20818] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:14:58.106 [INFO] [Dummy-20824] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:14:58.120 [INFO] [Dummy-20825] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:15:23.122 [INFO] [Dummy-20826] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:15:23.138 [INFO] [Dummy-20825] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:15:48.141 [INFO] [Dummy-20827] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:15:48.157 [INFO] [Dummy-20825] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:16:13.159 [INFO] [Dummy-20828] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:16:13.176 [INFO] [Dummy-20825] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:16:38.178 [INFO] [Dummy-20829] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:16:38.195 [INFO] [Dummy-20825] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:17:03.198 [INFO] [Dummy-20830] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:17:03.216 [INFO] [Dummy-20825] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:17:28.218 [INFO] [Dummy-20831] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:17:28.234 [INFO] [Dummy-20832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:17:53.236 [INFO] [Dummy-20833] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:17:53.254 [INFO] [Dummy-20832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:18:18.256 [INFO] [Dummy-20834] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:18:18.272 [INFO] [Dummy-20832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:18:43.274 [INFO] [Dummy-20835] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:18:43.293 [INFO] [Dummy-20832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:19:08.296 [INFO] [Dummy-20836] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:19:08.312 [INFO] [Dummy-20837] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:19:33.315 [INFO] [Dummy-20838] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:19:33.332 [INFO] [Dummy-20837] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:19:58.333 [INFO] [Dummy-20839] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:19:58.348 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:20:23.350 [INFO] [Dummy-20841] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:20:23.367 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:20:48.370 [INFO] [Dummy-20842] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:20:48.387 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:21:13.389 [INFO] [Dummy-20843] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:21:13.406 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:21:38.408 [INFO] [Dummy-20844] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:21:38.424 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:22:03.426 [INFO] [Dummy-20845] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:22:03.442 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:22:28.445 [INFO] [Dummy-20846] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:22:28.462 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:22:53.465 [INFO] [Dummy-20847] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:22:53.482 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:23:18.486 [INFO] [Dummy-20848] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:23:18.502 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:23:43.505 [INFO] [Dummy-20849] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:23:43.521 [INFO] [Dummy-20840] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:24:08.524 [INFO] [Dummy-20850] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:24:08.542 [INFO] [Dummy-20851] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:24:33.545 [INFO] [Dummy-20852] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:24:33.563 [INFO] [Dummy-20851] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:24:58.566 [INFO] [Dummy-20853] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:24:58.584 [INFO] [Dummy-20851] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:25:23.587 [INFO] [Dummy-20854] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:25:23.605 [INFO] [Dummy-20855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:25:48.607 [INFO] [Dummy-20856] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:25:48.625 [INFO] [Dummy-20855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:26:13.628 [INFO] [Dummy-20857] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:26:13.645 [INFO] [Dummy-20855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:26:38.647 [INFO] [Dummy-20858] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:26:38.664 [INFO] [Dummy-20855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:27:03.667 [INFO] [Dummy-20859] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:27:03.684 [INFO] [Dummy-20860] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:27:28.688 [INFO] [Dummy-20861] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:27:28.705 [INFO] [Dummy-20860] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:27:53.707 [INFO] [Dummy-20862] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:27:53.725 [INFO] [Dummy-20860] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:28:18.728 [INFO] [Dummy-20863] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:28:18.745 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:28:43.748 [INFO] [Dummy-20865] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:28:43.764 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:29:08.766 [INFO] [Dummy-20866] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:29:08.783 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:29:33.785 [INFO] [Dummy-20867] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:29:33.801 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:29:58.804 [INFO] [Dummy-20868] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:29:58.822 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:30:23.824 [INFO] [Dummy-20869] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:30:23.842 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:30:48.844 [INFO] [Dummy-20870] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:30:48.860 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:31:13.862 [INFO] [Dummy-20871] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:31:13.878 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:31:38.880 [INFO] [Dummy-20872] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:31:38.897 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:32:03.899 [INFO] [Dummy-20873] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:32:03.917 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:32:28.919 [INFO] [Dummy-20874] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:32:28.936 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:32:53.939 [INFO] [Dummy-20875] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:32:53.953 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:33:18.955 [INFO] [Dummy-20876] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:33:18.971 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:33:43.974 [INFO] [Dummy-20877] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:33:43.990 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:34:08.992 [INFO] [Dummy-20878] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:34:09.008 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:34:34.011 [INFO] [Dummy-20879] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:34:34.026 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:34:59.029 [INFO] [Dummy-20880] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:34:59.046 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:35:24.048 [INFO] [Dummy-20881] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:35:24.065 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:35:49.067 [INFO] [Dummy-20882] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:35:49.084 [INFO] [Dummy-20864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:36:14.086 [INFO] [Dummy-20883] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:36:14.103 [INFO] [Dummy-20884] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:36:39.105 [INFO] [Dummy-20885] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:36:39.120 [INFO] [Dummy-20884] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:37:04.123 [INFO] [Dummy-20886] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:37:04.138 [INFO] [Dummy-20884] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:37:29.140 [INFO] [Dummy-20887] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:37:29.157 [INFO] [Dummy-20884] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:37:54.193 [INFO] [Dummy-20888] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:37:54.210 [INFO] [Dummy-20889] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:38:19.212 [INFO] [Dummy-20890] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:38:19.229 [INFO] [Dummy-20889] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:38:44.232 [INFO] [Dummy-20891] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:38:44.250 [INFO] [Dummy-20889] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:39:09.252 [INFO] [Dummy-20892] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:39:09.270 [INFO] [Dummy-20893] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:39:34.272 [INFO] [Dummy-20894] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:39:34.288 [INFO] [Dummy-20893] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:39:59.291 [INFO] [Dummy-20895] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:39:59.309 [INFO] [Dummy-20893] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:40:24.312 [INFO] [Dummy-20896] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:40:24.569 [INFO] [Dummy-20893] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:40:49.571 [INFO] [Dummy-20897] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:40:49.590 [INFO] [Dummy-20898] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:41:14.593 [INFO] [Dummy-20899] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:41:14.609 [INFO] [Dummy-20900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:41:39.612 [INFO] [Dummy-20901] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:41:39.628 [INFO] [Dummy-20900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:42:04.631 [INFO] [Dummy-20902] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:42:04.649 [INFO] [Dummy-20900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:42:29.651 [INFO] [Dummy-20903] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:42:29.665 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:42:54.667 [INFO] [Dummy-20905] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:42:54.684 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:43:19.687 [INFO] [Dummy-20906] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:43:19.705 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:43:44.707 [INFO] [Dummy-20907] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:43:44.724 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:44:09.726 [INFO] [Dummy-20908] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:44:09.740 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:44:34.742 [INFO] [Dummy-20909] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:44:34.759 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:44:59.761 [INFO] [Dummy-20910] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:44:59.778 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:45:24.781 [INFO] [Dummy-20911] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:45:24.797 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:45:49.800 [INFO] [Dummy-20912] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:45:49.817 [INFO] [Dummy-20904] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:46:14.819 [INFO] [Dummy-20913] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:46:14.836 [INFO] [Dummy-20914] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:46:39.838 [INFO] [Dummy-20915] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:46:39.857 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:47:04.860 [INFO] [Dummy-20917] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:47:04.876 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:47:29.879 [INFO] [Dummy-20918] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:47:29.896 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:47:54.898 [INFO] [Dummy-20919] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:47:54.914 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:48:19.918 [INFO] [Dummy-20920] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:48:19.934 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:48:44.937 [INFO] [Dummy-20921] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:48:44.954 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:49:09.957 [INFO] [Dummy-20922] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:49:09.974 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:49:34.977 [INFO] [Dummy-20923] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:49:34.994 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:49:59.997 [INFO] [Dummy-20924] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:50:00.014 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:50:25.017 [INFO] [Dummy-20925] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:50:25.033 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:50:50.036 [INFO] [Dummy-20926] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:50:50.052 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:51:15.056 [INFO] [Dummy-20927] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:51:15.072 [INFO] [Dummy-20916] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:51:40.075 [INFO] [Dummy-20928] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:51:40.091 [INFO] [Dummy-20929] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:52:05.094 [INFO] [Dummy-20930] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:52:05.110 [INFO] [Dummy-20929] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:52:30.114 [INFO] [Dummy-20931] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:52:30.133 [INFO] [Dummy-20929] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:52:55.136 [INFO] [Dummy-20932] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:52:55.152 [INFO] [Dummy-20933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:53:20.155 [INFO] [Dummy-20934] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:53:20.172 [INFO] [Dummy-20933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:53:45.174 [INFO] [Dummy-20935] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:53:45.189 [INFO] [Dummy-20936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:54:10.190 [INFO] [Dummy-20937] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:54:10.208 [INFO] [Dummy-20936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:54:35.210 [INFO] [Dummy-20938] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:54:35.229 [INFO] [Dummy-20936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:55:00.231 [INFO] [Dummy-20939] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:55:00.247 [INFO] [Dummy-20940] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:55:25.249 [INFO] [Dummy-20941] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:55:25.264 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:55:50.267 [INFO] [Dummy-20943] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:55:50.284 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:56:15.287 [INFO] [Dummy-20944] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:56:15.304 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:56:40.307 [INFO] [Dummy-20945] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:56:40.325 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:57:05.328 [INFO] [Dummy-20946] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:57:05.345 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:57:30.348 [INFO] [Dummy-20947] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:57:30.364 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:57:55.367 [INFO] [Dummy-20948] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:57:55.384 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:58:20.386 [INFO] [Dummy-20949] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:58:20.403 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:58:45.406 [INFO] [Dummy-20950] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:58:45.423 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:59:10.425 [INFO] [Dummy-20951] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:59:10.441 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T14:59:35.444 [INFO] [Dummy-20952] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T14:59:35.461 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:00:00.464 [INFO] [Dummy-20953] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:00:00.481 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:00:25.483 [INFO] [Dummy-20954] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:00:25.500 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:00:50.503 [INFO] [Dummy-20955] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:00:50.519 [INFO] [Dummy-20942] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:01:15.522 [INFO] [Dummy-20956] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:01:15.541 [INFO] [Dummy-20957] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:01:40.544 [INFO] [Dummy-20958] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:01:40.561 [INFO] [Dummy-20959] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:02:05.563 [INFO] [Dummy-20960] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:02:05.579 [INFO] [Dummy-20959] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:02:30.582 [INFO] [Dummy-20961] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:02:30.597 [INFO] [Dummy-20959] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:02:55.599 [INFO] [Dummy-20962] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:02:55.615 [INFO] [Dummy-20959] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:03:20.618 [INFO] [Dummy-20963] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:03:20.634 [INFO] [Dummy-20959] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:03:45.636 [INFO] [Dummy-20964] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:03:45.653 [INFO] [Dummy-20959] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:04:10.655 [INFO] [Dummy-20965] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:04:10.672 [INFO] [Dummy-20966] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:04:35.674 [INFO] [Dummy-20967] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:04:35.691 [INFO] [Dummy-20966] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:05:00.694 [INFO] [Dummy-20968] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:05:00.709 [INFO] [Dummy-20969] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:05:25.711 [INFO] [Dummy-20970] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:05:25.727 [INFO] [Dummy-20969] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:05:50.729 [INFO] [Dummy-20971] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:05:50.746 [INFO] [Dummy-20972] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:06:15.750 [INFO] [Dummy-20973] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:06:15.767 [INFO] [Dummy-20972] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:06:40.771 [INFO] [Dummy-20974] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:06:40.786 [INFO] [Dummy-20972] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:07:05.788 [INFO] [Dummy-20975] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:07:05.804 [INFO] [Dummy-20972] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:07:30.806 [INFO] [Dummy-20976] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:07:30.823 [INFO] [Dummy-20972] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:07:55.827 [INFO] [Dummy-20977] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:07:55.842 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:08:20.845 [INFO] [Dummy-20979] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:08:20.861 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:08:45.864 [INFO] [Dummy-20980] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:08:45.882 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:09:10.885 [INFO] [Dummy-20981] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:09:10.902 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:09:35.905 [INFO] [Dummy-20982] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:09:35.921 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:10:00.925 [INFO] [Dummy-20983] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:10:00.941 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:10:25.943 [INFO] [Dummy-20984] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:10:25.961 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:10:50.964 [INFO] [Dummy-20985] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:10:50.980 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:11:15.983 [INFO] [Dummy-20986] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:11:15.999 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:11:41.002 [INFO] [Dummy-20987] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:11:41.018 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:12:06.020 [INFO] [Dummy-20988] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:12:06.037 [INFO] [Dummy-20978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:12:31.040 [INFO] [Dummy-20989] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:12:31.057 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:12:56.060 [INFO] [Dummy-20991] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:12:56.076 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:13:21.078 [INFO] [Dummy-20992] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:13:21.095 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:13:46.097 [INFO] [Dummy-20993] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:13:46.114 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:14:11.117 [INFO] [Dummy-20994] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:14:11.134 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:14:36.137 [INFO] [Dummy-20995] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:14:36.152 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:15:01.155 [INFO] [Dummy-20996] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:15:01.172 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:15:26.174 [INFO] [Dummy-20997] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:15:26.191 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:15:51.194 [INFO] [Dummy-20998] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:15:51.210 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:16:16.212 [INFO] [Dummy-20999] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:16:16.228 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:16:41.230 [INFO] [Dummy-21000] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:16:41.246 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:17:06.248 [INFO] [Dummy-21001] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:17:06.265 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:17:31.267 [INFO] [Dummy-21002] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:17:31.284 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:17:56.286 [INFO] [Dummy-21003] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:17:56.301 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:18:21.302 [INFO] [Dummy-21004] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:18:21.320 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:18:46.323 [INFO] [Dummy-21005] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:18:46.340 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:19:11.342 [INFO] [Dummy-21006] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:19:11.359 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:19:36.361 [INFO] [Dummy-21007] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:19:36.377 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:20:01.379 [INFO] [Dummy-21008] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:20:01.398 [INFO] [Dummy-20990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:20:26.431 [INFO] [Dummy-21009] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:20:26.449 [INFO] [Dummy-21010] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:20:51.451 [INFO] [Dummy-21011] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:20:51.469 [INFO] [Dummy-21010] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:21:16.472 [INFO] [Dummy-21012] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:21:16.489 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:21:41.491 [INFO] [Dummy-21014] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:21:41.509 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:22:06.512 [INFO] [Dummy-21015] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:22:06.528 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:22:31.530 [INFO] [Dummy-21016] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:22:31.547 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:22:56.549 [INFO] [Dummy-21017] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:22:56.565 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:23:21.567 [INFO] [Dummy-21018] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:23:21.586 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:23:46.589 [INFO] [Dummy-21019] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:23:46.606 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:24:11.609 [INFO] [Dummy-21020] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:24:11.624 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:24:36.626 [INFO] [Dummy-21021] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:24:36.643 [INFO] [Dummy-21013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:25:01.646 [INFO] [Dummy-21022] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:25:01.663 [INFO] [Dummy-21023] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:25:26.666 [INFO] [Dummy-21024] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:25:26.683 [INFO] [Dummy-21025] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:25:51.686 [INFO] [Dummy-21026] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:25:51.702 [INFO] [Dummy-21025] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:26:16.704 [INFO] [Dummy-21027] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:26:16.721 [INFO] [Dummy-21025] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:26:41.724 [INFO] [Dummy-21028] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:26:41.741 [INFO] [Dummy-21025] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:27:06.744 [INFO] [Dummy-21029] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:27:06.761 [INFO] [Dummy-21025] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:27:31.796 [INFO] [Dummy-21030] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:27:31.812 [INFO] [Dummy-21031] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:27:56.813 [INFO] [Dummy-21032] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:27:56.830 [INFO] [Dummy-21031] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:28:21.832 [INFO] [Dummy-21033] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:28:21.850 [INFO] [Dummy-21031] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:28:46.853 [INFO] [Dummy-21034] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:28:46.870 [INFO] [Dummy-21031] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:29:11.872 [INFO] [Dummy-21035] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:29:11.887 [INFO] [Dummy-21036] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:29:36.889 [INFO] [Dummy-21037] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:29:36.908 [INFO] [Dummy-21036] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:30:01.911 [INFO] [Dummy-21038] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:30:01.927 [INFO] [Dummy-21036] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:30:26.929 [INFO] [Dummy-21039] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:30:26.946 [INFO] [Dummy-21036] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:30:51.948 [INFO] [Dummy-21040] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:30:51.964 [INFO] [Dummy-21041] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:31:16.967 [INFO] [Dummy-21042] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:31:16.994 [INFO] [Dummy-21041] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:31:41.998 [INFO] [Dummy-21043] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:31:42.017 [INFO] [Dummy-21044] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:32:07.019 [INFO] [Dummy-21045] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:32:07.036 [INFO] [Dummy-21046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:32:32.039 [INFO] [Dummy-21047] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:32:32.055 [INFO] [Dummy-21046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:32:57.057 [INFO] [Dummy-21048] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:32:57.072 [INFO] [Dummy-21046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:33:22.075 [INFO] [Dummy-21049] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:33:22.092 [INFO] [Dummy-21046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:33:47.094 [INFO] [Dummy-21050] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:33:47.113 [INFO] [Dummy-21046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:34:12.116 [INFO] [Dummy-21051] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:34:12.133 [INFO] [Dummy-21046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:34:37.136 [INFO] [Dummy-21052] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:34:37.154 [INFO] [Dummy-21046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:35:02.157 [INFO] [Dummy-21053] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:35:02.173 [INFO] [Dummy-21054] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:35:27.175 [INFO] [Dummy-21055] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:35:27.192 [INFO] [Dummy-21054] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:35:52.194 [INFO] [Dummy-21056] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:35:52.212 [INFO] [Dummy-21054] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:36:17.215 [INFO] [Dummy-21057] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:36:17.232 [INFO] [Dummy-21054] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:36:42.235 [INFO] [Dummy-21058] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:36:42.251 [INFO] [Dummy-21054] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:37:07.254 [INFO] [Dummy-21059] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:37:07.269 [INFO] [Dummy-21054] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:37:32.271 [INFO] [Dummy-21060] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:37:32.287 [INFO] [Dummy-21054] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:37:57.322 [INFO] [Dummy-21061] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:37:57.341 [INFO] [Dummy-21062] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:38:22.343 [INFO] [Dummy-21063] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:38:22.360 [INFO] [Dummy-21064] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:38:47.362 [INFO] [Dummy-21065] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:38:47.378 [INFO] [Dummy-21064] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:39:12.380 [INFO] [Dummy-21066] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:39:12.399 [INFO] [Dummy-21064] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:39:37.402 [INFO] [Dummy-21067] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:39:37.419 [INFO] [Dummy-21068] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:40:02.421 [INFO] [Dummy-21069] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:40:02.439 [INFO] [Dummy-21070] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:40:27.440 [INFO] [Dummy-21071] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:40:27.455 [INFO] [Dummy-21072] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:40:52.457 [INFO] [Dummy-21073] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:40:52.474 [INFO] [Dummy-21072] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:41:17.476 [INFO] [Dummy-21074] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:41:19.017 [INFO] [Dummy-21072] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:41:44.019 [INFO] [Dummy-21075] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:41:44.036 [INFO] [Dummy-21076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:42:09.038 [INFO] [Dummy-21077] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:42:09.053 [INFO] [Dummy-21076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:42:34.055 [INFO] [Dummy-21078] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:42:34.072 [INFO] [Dummy-21076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:42:59.075 [INFO] [Dummy-21079] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:42:59.091 [INFO] [Dummy-21076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:43:24.094 [INFO] [Dummy-21080] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:43:24.110 [INFO] [Dummy-21076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:43:49.113 [INFO] [Dummy-21081] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:43:49.129 [INFO] [Dummy-21082] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:44:14.132 [INFO] [Dummy-21083] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:44:14.149 [INFO] [Dummy-21082] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:44:39.151 [INFO] [Dummy-21084] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:44:39.168 [INFO] [Dummy-21082] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:45:04.170 [INFO] [Dummy-21085] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:45:04.187 [INFO] [Dummy-21082] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:45:29.190 [INFO] [Dummy-21086] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:45:29.206 [INFO] [Dummy-21082] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:45:54.208 [INFO] [Dummy-21087] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:45:54.225 [INFO] [Dummy-21082] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:46:19.228 [INFO] [Dummy-21088] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:46:19.249 [INFO] [Dummy-21082] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:46:44.252 [INFO] [Dummy-21089] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:46:44.269 [INFO] [Dummy-21082] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:47:09.272 [INFO] [Dummy-21090] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:47:09.289 [INFO] [Dummy-21091] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:47:34.292 [INFO] [Dummy-21092] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:47:34.312 [INFO] [Dummy-21093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:47:59.314 [INFO] [Dummy-21094] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:47:59.331 [INFO] [Dummy-21093] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:48:24.333 [INFO] [Dummy-21095] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:48:24.350 [INFO] [Dummy-21096] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:48:49.353 [INFO] [Dummy-21097] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:48:49.371 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:49:14.373 [INFO] [Dummy-21099] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:49:14.391 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:49:39.394 [INFO] [Dummy-21100] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:49:39.410 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:50:04.412 [INFO] [Dummy-21101] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:50:04.429 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:50:29.431 [INFO] [Dummy-21102] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:50:29.447 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:50:54.450 [INFO] [Dummy-21103] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:50:54.467 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:51:19.469 [INFO] [Dummy-21104] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:51:19.486 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:51:44.488 [INFO] [Dummy-21105] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:51:44.504 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:52:09.506 [INFO] [Dummy-21106] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:52:09.522 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:52:34.525 [INFO] [Dummy-21107] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:52:34.576 [INFO] [Dummy-21098] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:52:59.579 [INFO] [Dummy-21108] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:52:59.596 [INFO] [Dummy-21109] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:53:24.599 [INFO] [Dummy-21110] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:53:24.613 [INFO] [Dummy-21109] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:53:49.615 [INFO] [Dummy-21111] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:53:49.632 [INFO] [Dummy-21109] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:54:14.635 [INFO] [Dummy-21112] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:54:14.650 [INFO] [Dummy-21109] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:54:39.654 [INFO] [Dummy-21113] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:54:39.670 [INFO] [Dummy-21114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:55:04.672 [INFO] [Dummy-21115] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:55:04.690 [INFO] [Dummy-21114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:55:29.692 [INFO] [Dummy-21116] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:55:29.710 [INFO] [Dummy-21114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:55:54.712 [INFO] [Dummy-21117] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:55:54.729 [INFO] [Dummy-21114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:56:19.732 [INFO] [Dummy-21118] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:56:19.749 [INFO] [Dummy-21114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:56:44.752 [INFO] [Dummy-21119] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:56:44.768 [INFO] [Dummy-21114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:57:09.771 [INFO] [Dummy-21120] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:57:09.790 [INFO] [Dummy-21114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:57:34.793 [INFO] [Dummy-21121] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:57:34.809 [INFO] [Dummy-21122] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:57:59.812 [INFO] [Dummy-21123] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:57:59.833 [INFO] [Dummy-21122] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:58:24.835 [INFO] [Dummy-21124] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:58:24.852 [INFO] [Dummy-21122] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:58:49.855 [INFO] [Dummy-21125] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:58:49.872 [INFO] [Dummy-21122] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:59:14.875 [INFO] [Dummy-21126] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:59:14.892 [INFO] [Dummy-21127] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T15:59:39.895 [INFO] [Dummy-21128] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T15:59:39.911 [INFO] [Dummy-21129] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:00:04.914 [INFO] [Dummy-21130] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:00:04.931 [INFO] [Dummy-21129] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:00:29.934 [INFO] [Dummy-21131] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:00:29.950 [INFO] [Dummy-21129] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:00:54.954 [INFO] [Dummy-21132] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:00:54.971 [INFO] [Dummy-21129] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:01:19.974 [INFO] [Dummy-21133] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:01:19.990 [INFO] [Dummy-21129] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:01:44.993 [INFO] [Dummy-21134] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:01:45.010 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:02:10.013 [INFO] [Dummy-21136] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:02:10.030 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:02:35.033 [INFO] [Dummy-21137] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:02:35.050 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:03:00.052 [INFO] [Dummy-21138] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:03:00.067 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:03:25.070 [INFO] [Dummy-21139] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:03:25.086 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:03:50.088 [INFO] [Dummy-21140] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:03:50.104 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:04:15.107 [INFO] [Dummy-21141] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:04:15.125 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:04:40.126 [INFO] [Dummy-21142] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:04:40.141 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:05:05.143 [INFO] [Dummy-21143] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:05:05.159 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:05:30.162 [INFO] [Dummy-21144] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:05:30.179 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:05:55.181 [INFO] [Dummy-21145] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:05:55.198 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:06:20.200 [INFO] [Dummy-21146] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:06:20.216 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:06:45.218 [INFO] [Dummy-21147] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:06:45.235 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:07:10.237 [INFO] [Dummy-21148] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:07:10.253 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:07:35.256 [INFO] [Dummy-21149] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:07:35.274 [INFO] [Dummy-21135] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:08:00.276 [INFO] [Dummy-21150] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:08:00.293 [INFO] [Dummy-21151] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:08:25.294 [INFO] [Dummy-21152] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:08:25.311 [INFO] [Dummy-21153] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:08:50.313 [INFO] [Dummy-21154] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:08:50.330 [INFO] [Dummy-21153] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:09:15.332 [INFO] [Dummy-21155] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:09:15.348 [INFO] [Dummy-21153] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:09:40.351 [INFO] [Dummy-21156] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:09:40.367 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:10:05.369 [INFO] [Dummy-21158] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:10:05.386 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:10:30.389 [INFO] [Dummy-21159] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:10:30.405 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:10:55.408 [INFO] [Dummy-21160] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:10:55.425 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:11:20.428 [INFO] [Dummy-21161] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:11:20.445 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:11:45.448 [INFO] [Dummy-21162] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:11:45.464 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:12:10.467 [INFO] [Dummy-21163] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:12:10.483 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:12:35.486 [INFO] [Dummy-21164] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:12:35.502 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:13:00.505 [INFO] [Dummy-21165] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:13:00.521 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:13:25.524 [INFO] [Dummy-21166] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:13:25.540 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:13:50.542 [INFO] [Dummy-21167] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:13:50.559 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:14:15.562 [INFO] [Dummy-21168] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:14:15.578 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:14:40.580 [INFO] [Dummy-21169] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:14:40.597 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:15:05.600 [INFO] [Dummy-21170] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:15:05.617 [INFO] [Dummy-21157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:15:30.619 [INFO] [Dummy-21171] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:15:30.636 [INFO] [Dummy-21172] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:15:55.638 [INFO] [Dummy-21173] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:15:55.655 [INFO] [Dummy-21174] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:16:20.657 [INFO] [Dummy-21175] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:16:20.674 [INFO] [Dummy-21174] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:16:45.677 [INFO] [Dummy-21176] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:16:45.692 [INFO] [Dummy-21177] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:17:10.696 [INFO] [Dummy-21178] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:17:10.712 [INFO] [Dummy-21179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:17:35.715 [INFO] [Dummy-21180] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:17:35.731 [INFO] [Dummy-21179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:18:00.734 [INFO] [Dummy-21181] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:18:00.751 [INFO] [Dummy-21179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:18:25.753 [INFO] [Dummy-21182] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:18:25.770 [INFO] [Dummy-21179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:18:50.773 [INFO] [Dummy-21183] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:18:50.790 [INFO] [Dummy-21179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:19:15.792 [INFO] [Dummy-21184] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:19:15.809 [INFO] [Dummy-21185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:19:40.812 [INFO] [Dummy-21186] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:19:40.829 [INFO] [Dummy-21185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:20:05.831 [INFO] [Dummy-21187] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:20:05.855 [INFO] [Dummy-21185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:20:30.857 [INFO] [Dummy-21188] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:20:30.874 [INFO] [Dummy-21185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:20:55.877 [INFO] [Dummy-21189] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:20:55.893 [INFO] [Dummy-21190] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:21:20.895 [INFO] [Dummy-21191] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:21:20.912 [INFO] [Dummy-21190] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:21:45.916 [INFO] [Dummy-21192] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:21:45.932 [INFO] [Dummy-21193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:22:10.935 [INFO] [Dummy-21194] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:22:10.952 [INFO] [Dummy-21193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:22:35.955 [INFO] [Dummy-21195] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:22:35.970 [INFO] [Dummy-21193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:23:00.972 [INFO] [Dummy-21196] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:23:00.989 [INFO] [Dummy-21193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:23:25.992 [INFO] [Dummy-21197] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:23:26.008 [INFO] [Dummy-21198] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:23:51.010 [INFO] [Dummy-21199] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:23:51.025 [INFO] [Dummy-21198] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:24:16.027 [INFO] [Dummy-21200] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:24:16.045 [INFO] [Dummy-21198] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:24:41.047 [INFO] [Dummy-21201] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:24:41.065 [INFO] [Dummy-21198] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:25:06.067 [INFO] [Dummy-21202] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:25:06.085 [INFO] [Dummy-21198] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:25:31.086 [INFO] [Dummy-21203] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:25:31.101 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:25:56.103 [INFO] [Dummy-21205] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:25:56.120 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:26:21.123 [INFO] [Dummy-21206] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:26:21.140 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:26:46.142 [INFO] [Dummy-21207] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:26:46.159 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:27:11.162 [INFO] [Dummy-21208] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:27:11.178 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:27:36.181 [INFO] [Dummy-21209] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:27:36.199 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:28:01.201 [INFO] [Dummy-21210] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:28:01.216 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:28:26.219 [INFO] [Dummy-21211] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:28:26.235 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:28:51.237 [INFO] [Dummy-21212] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:28:51.254 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:29:16.257 [INFO] [Dummy-21213] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:29:16.273 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:29:41.276 [INFO] [Dummy-21214] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:29:41.292 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:30:06.296 [INFO] [Dummy-21215] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:30:06.312 [INFO] [Dummy-21204] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:30:31.315 [INFO] [Dummy-21216] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:30:31.332 [INFO] [Dummy-21217] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:30:56.336 [INFO] [Dummy-21218] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:30:56.353 [INFO] [Dummy-21217] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:31:21.356 [INFO] [Dummy-21219] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:31:21.372 [INFO] [Dummy-21217] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:31:46.375 [INFO] [Dummy-21220] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:31:46.397 [INFO] [Dummy-21217] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:32:11.400 [INFO] [Dummy-21221] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:32:11.417 [INFO] [Dummy-21217] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:32:36.421 [INFO] [Dummy-21222] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:32:36.437 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:33:01.441 [INFO] [Dummy-21224] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:33:01.457 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:33:26.460 [INFO] [Dummy-21225] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:33:26.476 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:33:51.479 [INFO] [Dummy-21226] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:33:51.496 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:34:16.499 [INFO] [Dummy-21227] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:34:16.516 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:34:41.518 [INFO] [Dummy-21228] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:34:41.535 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:35:06.538 [INFO] [Dummy-21229] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:35:06.553 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:35:31.554 [INFO] [Dummy-21230] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:35:31.570 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:35:56.572 [INFO] [Dummy-21231] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:35:56.594 [INFO] [Dummy-21223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:36:21.597 [INFO] [Dummy-21232] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:36:21.613 [INFO] [Dummy-21233] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:36:46.615 [INFO] [Dummy-21234] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:36:46.630 [INFO] [Dummy-21233] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:37:11.632 [INFO] [Dummy-21235] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:37:11.648 [INFO] [Dummy-21233] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:37:36.650 [INFO] [Dummy-21236] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:37:36.667 [INFO] [Dummy-21233] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:38:01.670 [INFO] [Dummy-21237] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:38:01.682 [INFO] [Dummy-21238] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:38:26.685 [INFO] [Dummy-21239] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:38:26.701 [INFO] [Dummy-21240] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:38:51.703 [INFO] [Dummy-21241] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:38:51.719 [INFO] [Dummy-21242] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:39:16.722 [INFO] [Dummy-21243] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:39:16.738 [INFO] [Dummy-21242] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:39:41.741 [INFO] [Dummy-21244] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:39:41.759 [INFO] [Dummy-21242] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:40:06.793 [INFO] [Dummy-21245] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:40:06.810 [INFO] [Dummy-21246] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:40:31.813 [INFO] [Dummy-21247] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:40:31.829 [INFO] [Dummy-21246] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:40:56.832 [INFO] [Dummy-21248] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:40:56.848 [INFO] [Dummy-21246] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:41:21.851 [INFO] [Dummy-21249] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:41:21.868 [INFO] [Dummy-21246] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:41:46.870 [INFO] [Dummy-21250] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:41:46.887 [INFO] [Dummy-21246] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:42:11.889 [INFO] [Dummy-21251] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:42:11.906 [INFO] [Dummy-21252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:42:36.908 [INFO] [Dummy-21253] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:42:36.924 [INFO] [Dummy-21252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:43:01.927 [INFO] [Dummy-21254] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:43:01.943 [INFO] [Dummy-21252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:43:26.945 [INFO] [Dummy-21255] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:43:26.963 [INFO] [Dummy-21252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:43:51.965 [INFO] [Dummy-21256] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:43:51.983 [INFO] [Dummy-21252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:44:16.985 [INFO] [Dummy-21257] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:44:17.002 [INFO] [Dummy-21252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:44:42.003 [INFO] [Dummy-21258] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:44:42.020 [INFO] [Dummy-21252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:45:07.023 [INFO] [Dummy-21259] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:45:07.042 [INFO] [Dummy-21252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:45:32.045 [INFO] [Dummy-21260] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:45:32.062 [INFO] [Dummy-21261] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:45:57.065 [INFO] [Dummy-21262] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:45:57.082 [INFO] [Dummy-21261] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:46:22.084 [INFO] [Dummy-21263] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:46:22.098 [INFO] [Dummy-21264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:46:47.101 [INFO] [Dummy-21265] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:46:47.117 [INFO] [Dummy-21264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:47:12.121 [INFO] [Dummy-21266] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:47:12.137 [INFO] [Dummy-21264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:47:37.140 [INFO] [Dummy-21267] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:47:37.158 [INFO] [Dummy-21264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:48:02.160 [INFO] [Dummy-21268] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:48:02.175 [INFO] [Dummy-21264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:48:27.177 [INFO] [Dummy-21269] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:48:27.194 [INFO] [Dummy-21270] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:48:52.196 [INFO] [Dummy-21271] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:48:52.213 [INFO] [Dummy-21272] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:49:17.216 [INFO] [Dummy-21273] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:49:17.234 [INFO] [Dummy-21272] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:49:42.237 [INFO] [Dummy-21274] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:49:42.258 [INFO] [Dummy-21275] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:50:07.261 [INFO] [Dummy-21276] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:50:07.280 [INFO] [Dummy-21275] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:50:32.282 [INFO] [Dummy-21277] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:50:32.299 [INFO] [Dummy-21278] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:50:57.302 [INFO] [Dummy-21279] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:50:57.321 [INFO] [Dummy-21278] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:51:22.324 [INFO] [Dummy-21280] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:51:22.341 [INFO] [Dummy-21278] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:51:47.344 [INFO] [Dummy-21281] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:51:47.360 [INFO] [Dummy-21282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:52:12.364 [INFO] [Dummy-21283] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:52:12.380 [INFO] [Dummy-21282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:52:37.384 [INFO] [Dummy-21284] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:52:37.400 [INFO] [Dummy-21282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:53:02.403 [INFO] [Dummy-21285] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:53:02.420 [INFO] [Dummy-21282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:53:27.424 [INFO] [Dummy-21286] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:53:27.440 [INFO] [Dummy-21282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:53:52.442 [INFO] [Dummy-21287] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:53:52.459 [INFO] [Dummy-21282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:54:17.462 [INFO] [Dummy-21288] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:54:17.478 [INFO] [Dummy-21282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:54:42.482 [INFO] [Dummy-21289] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:54:42.494 [INFO] [Dummy-21282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:55:07.496 [INFO] [Dummy-21290] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:55:07.512 [INFO] [Dummy-21291] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:55:32.515 [INFO] [Dummy-21292] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:55:32.532 [INFO] [Dummy-21291] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:55:57.534 [INFO] [Dummy-21293] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:55:57.550 [INFO] [Dummy-21291] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:56:22.553 [INFO] [Dummy-21294] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:56:22.570 [INFO] [Dummy-21291] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:56:47.572 [INFO] [Dummy-21295] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:56:47.588 [INFO] [Dummy-21291] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:57:12.591 [INFO] [Dummy-21296] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:57:12.606 [INFO] [Dummy-21291] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:57:37.609 [INFO] [Dummy-21297] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:57:37.623 [INFO] [Dummy-21298] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:58:02.625 [INFO] [Dummy-21299] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:58:02.641 [INFO] [Dummy-21298] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:58:27.644 [INFO] [Dummy-21300] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:58:27.663 [INFO] [Dummy-21298] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:58:52.665 [INFO] [Dummy-21301] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:58:52.682 [INFO] [Dummy-21298] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:59:17.684 [INFO] [Dummy-21302] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:59:17.701 [INFO] [Dummy-21298] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T16:59:42.703 [INFO] [Dummy-21303] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T16:59:42.719 [INFO] [Dummy-21298] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:00:07.721 [INFO] [Dummy-21304] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:00:07.737 [INFO] [Dummy-21298] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:00:32.740 [INFO] [Dummy-21305] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:00:32.757 [INFO] [Dummy-21306] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:00:57.760 [INFO] [Dummy-21307] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:00:57.777 [INFO] [Dummy-21308] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:01:22.779 [INFO] [Dummy-21309] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:01:22.796 [INFO] [Dummy-21308] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:01:47.798 [INFO] [Dummy-21310] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:01:47.815 [INFO] [Dummy-21308] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:02:12.817 [INFO] [Dummy-21311] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:02:12.836 [INFO] [Dummy-21308] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:02:37.838 [INFO] [Dummy-21312] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:02:37.855 [INFO] [Dummy-21313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:03:02.857 [INFO] [Dummy-21314] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:03:02.873 [INFO] [Dummy-21313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:03:27.875 [INFO] [Dummy-21315] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:03:27.892 [INFO] [Dummy-21313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:03:52.895 [INFO] [Dummy-21316] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:03:52.911 [INFO] [Dummy-21313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:04:17.913 [INFO] [Dummy-21317] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:04:17.930 [INFO] [Dummy-21313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:04:42.933 [INFO] [Dummy-21318] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:04:42.951 [INFO] [Dummy-21313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:05:07.954 [INFO] [Dummy-21319] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:05:07.971 [INFO] [Dummy-21320] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:05:32.973 [INFO] [Dummy-21321] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:05:32.991 [INFO] [Dummy-21320] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:05:57.994 [INFO] [Dummy-21322] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:05:58.010 [INFO] [Dummy-21323] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:06:23.012 [INFO] [Dummy-21324] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:06:23.030 [INFO] [Dummy-21323] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:06:48.032 [INFO] [Dummy-21325] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:06:48.046 [INFO] [Dummy-21323] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:07:13.048 [INFO] [Dummy-21326] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:07:13.064 [INFO] [Dummy-21323] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:07:38.066 [INFO] [Dummy-21327] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:07:38.084 [INFO] [Dummy-21328] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:08:03.086 [INFO] [Dummy-21329] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:08:03.103 [INFO] [Dummy-21328] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:08:28.105 [INFO] [Dummy-21330] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:08:28.120 [INFO] [Dummy-21331] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:08:53.121 [INFO] [Dummy-21332] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:08:53.137 [INFO] [Dummy-21331] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:09:18.138 [INFO] [Dummy-21333] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:09:18.154 [INFO] [Dummy-21331] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:09:43.156 [INFO] [Dummy-21334] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:09:43.173 [INFO] [Dummy-21331] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:10:08.174 [INFO] [Dummy-21335] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:10:08.190 [INFO] [Dummy-21331] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:10:33.192 [INFO] [Dummy-21336] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:10:33.210 [INFO] [Dummy-21331] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:10:58.211 [INFO] [Dummy-21337] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:10:58.232 [INFO] [Dummy-21331] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:11:23.236 [INFO] [Dummy-21338] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:11:23.252 [INFO] [Dummy-21339] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:11:48.256 [INFO] [Dummy-21340] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:11:48.272 [INFO] [Dummy-21339] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:12:13.275 [INFO] [Dummy-21341] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:12:13.294 [INFO] [Dummy-21339] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:12:38.296 [INFO] [Dummy-21342] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:12:38.314 [INFO] [Dummy-21343] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:13:03.317 [INFO] [Dummy-21344] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:13:03.333 [INFO] [Dummy-21345] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:13:28.336 [INFO] [Dummy-21346] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:13:28.353 [INFO] [Dummy-21345] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:13:53.355 [INFO] [Dummy-21347] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:13:53.372 [INFO] [Dummy-21345] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:14:18.374 [INFO] [Dummy-21348] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:14:18.391 [INFO] [Dummy-21345] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:14:43.393 [INFO] [Dummy-21349] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:14:43.412 [INFO] [Dummy-21345] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:15:08.413 [INFO] [Dummy-21350] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:15:08.431 [INFO] [Dummy-21351] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:15:33.433 [INFO] [Dummy-21352] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:15:33.449 [INFO] [Dummy-21351] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:15:58.451 [INFO] [Dummy-21353] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:15:58.469 [INFO] [Dummy-21351] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:16:23.472 [INFO] [Dummy-21354] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:16:23.488 [INFO] [Dummy-21355] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:16:48.491 [INFO] [Dummy-21356] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:16:48.508 [INFO] [Dummy-21355] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:17:13.511 [INFO] [Dummy-21357] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:17:13.527 [INFO] [Dummy-21358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:17:38.530 [INFO] [Dummy-21359] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:17:38.546 [INFO] [Dummy-21358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:18:03.548 [INFO] [Dummy-21360] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:18:03.564 [INFO] [Dummy-21358] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:18:28.567 [INFO] [Dummy-21361] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:18:28.584 [INFO] [Dummy-21362] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:18:53.586 [INFO] [Dummy-21363] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:18:53.603 [INFO] [Dummy-21362] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:19:18.605 [INFO] [Dummy-21364] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:19:18.621 [INFO] [Dummy-21362] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:19:43.623 [INFO] [Dummy-21365] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:19:43.641 [INFO] [Dummy-21362] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:20:08.643 [INFO] [Dummy-21366] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:20:08.659 [INFO] [Dummy-21362] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:20:33.660 [INFO] [Dummy-21367] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:20:33.673 [INFO] [Dummy-21362] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:20:58.675 [INFO] [Dummy-21368] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:20:58.692 [INFO] [Dummy-21369] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:21:23.694 [INFO] [Dummy-21370] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:21:23.710 [INFO] [Dummy-21371] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:21:48.712 [INFO] [Dummy-21372] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:21:48.729 [INFO] [Dummy-21371] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:22:13.731 [INFO] [Dummy-21373] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:22:13.748 [INFO] [Dummy-21371] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:22:38.751 [INFO] [Dummy-21374] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:22:38.768 [INFO] [Dummy-21371] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:23:03.769 [INFO] [Dummy-21375] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:23:03.787 [INFO] [Dummy-21371] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:23:28.790 [INFO] [Dummy-21376] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:23:28.805 [INFO] [Dummy-21371] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:23:53.807 [INFO] [Dummy-21377] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:23:53.823 [INFO] [Dummy-21371] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:24:18.859 [INFO] [Dummy-21378] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:24:18.875 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:24:43.878 [INFO] [Dummy-21380] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:24:43.895 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:25:08.899 [INFO] [Dummy-21381] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:25:08.915 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:25:33.917 [INFO] [Dummy-21382] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:25:33.934 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:25:58.937 [INFO] [Dummy-21383] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:25:58.952 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:26:23.956 [INFO] [Dummy-21384] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:26:23.973 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:26:48.976 [INFO] [Dummy-21385] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:26:48.992 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:27:13.995 [INFO] [Dummy-21386] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:27:14.012 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:27:39.015 [INFO] [Dummy-21387] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:27:39.031 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:28:04.035 [INFO] [Dummy-21388] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:28:04.052 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:28:29.055 [INFO] [Dummy-21389] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:28:29.072 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:28:54.075 [INFO] [Dummy-21390] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:28:54.093 [INFO] [Dummy-21379] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:29:19.096 [INFO] [Dummy-21391] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:29:19.112 [INFO] [Dummy-21392] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:29:44.115 [INFO] [Dummy-21393] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:29:44.132 [INFO] [Dummy-21392] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:30:09.136 [INFO] [Dummy-21394] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:30:09.152 [INFO] [Dummy-21392] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:30:34.155 [INFO] [Dummy-21395] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:30:34.173 [INFO] [Dummy-21392] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:30:59.175 [INFO] [Dummy-21396] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:30:59.191 [INFO] [Dummy-21397] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:31:24.227 [INFO] [Dummy-21398] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:31:24.242 [INFO] [Dummy-21399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:31:49.245 [INFO] [Dummy-21400] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:31:49.261 [INFO] [Dummy-21399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:32:14.264 [INFO] [Dummy-21401] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:32:14.281 [INFO] [Dummy-21399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:32:39.284 [INFO] [Dummy-21402] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:32:39.300 [INFO] [Dummy-21399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:33:04.303 [INFO] [Dummy-21403] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:33:04.320 [INFO] [Dummy-21399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:33:29.322 [INFO] [Dummy-21404] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:33:29.340 [INFO] [Dummy-21405] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:33:54.343 [INFO] [Dummy-21406] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:33:54.359 [INFO] [Dummy-21405] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:34:19.362 [INFO] [Dummy-21407] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:34:19.379 [INFO] [Dummy-21405] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:34:44.381 [INFO] [Dummy-21408] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:34:44.398 [INFO] [Dummy-21405] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:35:09.400 [INFO] [Dummy-21409] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:35:09.422 [INFO] [Dummy-21405] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:35:34.424 [INFO] [Dummy-21410] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:35:34.441 [INFO] [Dummy-21411] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:35:59.444 [INFO] [Dummy-21412] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:35:59.459 [INFO] [Dummy-21411] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:36:24.462 [INFO] [Dummy-21413] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:36:24.478 [INFO] [Dummy-21411] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:36:49.480 [INFO] [Dummy-21414] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:36:49.498 [INFO] [Dummy-21411] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:37:14.500 [INFO] [Dummy-21415] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:37:14.517 [INFO] [Dummy-21411] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:37:39.519 [INFO] [Dummy-21416] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:37:39.536 [INFO] [Dummy-21411] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:38:04.538 [INFO] [Dummy-21417] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:38:04.555 [INFO] [Dummy-21418] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:38:29.557 [INFO] [Dummy-21419] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:38:29.574 [INFO] [Dummy-21420] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:38:54.576 [INFO] [Dummy-21421] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:38:54.592 [INFO] [Dummy-21420] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:39:19.595 [INFO] [Dummy-21422] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:39:19.612 [INFO] [Dummy-21420] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:39:44.615 [INFO] [Dummy-21423] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:39:44.632 [INFO] [Dummy-21424] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:40:09.634 [INFO] [Dummy-21425] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:40:09.652 [INFO] [Dummy-21424] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:40:34.654 [INFO] [Dummy-21426] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:40:34.671 [INFO] [Dummy-21427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:40:59.673 [INFO] [Dummy-21428] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:40:59.690 [INFO] [Dummy-21427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:41:24.692 [INFO] [Dummy-21429] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:41:24.711 [INFO] [Dummy-21427] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:41:49.715 [INFO] [Dummy-21430] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:41:49.731 [INFO] [Dummy-21431] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:42:14.734 [INFO] [Dummy-21432] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:42:14.753 [INFO] [Dummy-21431] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:42:39.756 [INFO] [Dummy-21433] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:42:39.773 [INFO] [Dummy-21434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:43:04.777 [INFO] [Dummy-21435] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:43:04.794 [INFO] [Dummy-21436] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:43:29.797 [INFO] [Dummy-21437] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:43:29.813 [INFO] [Dummy-21436] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:43:54.817 [INFO] [Dummy-21438] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:43:54.834 [INFO] [Dummy-21436] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:44:19.837 [INFO] [Dummy-21439] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:44:19.851 [INFO] [Dummy-21436] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:44:44.853 [INFO] [Dummy-21440] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:44:44.869 [INFO] [Dummy-21436] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:45:09.872 [INFO] [Dummy-21441] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:45:09.889 [INFO] [Dummy-21442] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:45:34.892 [INFO] [Dummy-21443] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:45:34.908 [INFO] [Dummy-21442] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:45:59.911 [INFO] [Dummy-21444] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:45:59.925 [INFO] [Dummy-21442] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:46:24.928 [INFO] [Dummy-21445] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:46:24.944 [INFO] [Dummy-21442] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:46:49.947 [INFO] [Dummy-21446] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:46:49.964 [INFO] [Dummy-21442] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:47:14.967 [INFO] [Dummy-21447] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:47:14.984 [INFO] [Dummy-21442] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:47:39.986 [INFO] [Dummy-21448] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:47:40.004 [INFO] [Dummy-21449] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:48:05.007 [INFO] [Dummy-21450] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:48:05.023 [INFO] [Dummy-21449] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:48:30.026 [INFO] [Dummy-21451] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:48:30.047 [INFO] [Dummy-21449] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:48:55.050 [INFO] [Dummy-21452] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:48:55.066 [INFO] [Dummy-21453] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:49:20.069 [INFO] [Dummy-21454] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:49:20.085 [INFO] [Dummy-21453] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:49:45.088 [INFO] [Dummy-21455] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:49:45.105 [INFO] [Dummy-21453] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:50:10.107 [INFO] [Dummy-21456] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:50:10.122 [INFO] [Dummy-21453] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:50:35.125 [INFO] [Dummy-21457] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:50:35.143 [INFO] [Dummy-21458] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:51:00.146 [INFO] [Dummy-21459] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:51:00.162 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:51:25.164 [INFO] [Dummy-21461] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:51:25.181 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:51:50.183 [INFO] [Dummy-21462] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:51:50.199 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:52:15.202 [INFO] [Dummy-21463] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:52:15.218 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:52:40.221 [INFO] [Dummy-21464] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:52:40.238 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:53:05.241 [INFO] [Dummy-21465] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:53:05.259 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:53:30.262 [INFO] [Dummy-21466] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:53:30.278 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:53:55.280 [INFO] [Dummy-21467] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:53:55.297 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:54:20.300 [INFO] [Dummy-21468] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:54:20.317 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:54:45.319 [INFO] [Dummy-21469] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:54:45.335 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:55:10.338 [INFO] [Dummy-21470] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:55:10.355 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:55:35.357 [INFO] [Dummy-21471] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:55:35.372 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:56:00.373 [INFO] [Dummy-21472] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:56:00.391 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:56:25.394 [INFO] [Dummy-21473] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:56:25.410 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:56:50.412 [INFO] [Dummy-21474] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:56:50.429 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:57:15.431 [INFO] [Dummy-21475] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:57:15.446 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:57:40.448 [INFO] [Dummy-21476] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:57:40.464 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:58:05.466 [INFO] [Dummy-21477] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:58:05.482 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:58:30.484 [INFO] [Dummy-21478] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:58:30.500 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:58:55.503 [INFO] [Dummy-21479] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:58:55.520 [INFO] [Dummy-21460] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:59:20.522 [INFO] [Dummy-21480] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:59:20.538 [INFO] [Dummy-21481] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T17:59:45.541 [INFO] [Dummy-21482] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T17:59:45.557 [INFO] [Dummy-21481] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:00:10.560 [INFO] [Dummy-21483] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:00:10.578 [INFO] [Dummy-21484] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:00:35.581 [INFO] [Dummy-21485] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:00:35.597 [INFO] [Dummy-21486] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:01:00.601 [INFO] [Dummy-21487] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:01:00.619 [INFO] [Dummy-21488] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:01:25.622 [INFO] [Dummy-21489] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:01:25.640 [INFO] [Dummy-21488] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:01:50.643 [INFO] [Dummy-21490] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:01:50.662 [INFO] [Dummy-21491] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:02:15.665 [INFO] [Dummy-21492] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:02:15.681 [INFO] [Dummy-21491] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:02:40.685 [INFO] [Dummy-21493] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:02:40.701 [INFO] [Dummy-21491] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:03:05.705 [INFO] [Dummy-21494] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:03:05.722 [INFO] [Dummy-21491] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:03:30.725 [INFO] [Dummy-21495] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:03:30.740 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:03:55.743 [INFO] [Dummy-21497] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:03:55.759 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:04:20.761 [INFO] [Dummy-21498] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:04:20.778 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:04:45.780 [INFO] [Dummy-21499] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:04:45.797 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:05:10.799 [INFO] [Dummy-21500] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:05:10.817 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:05:35.820 [INFO] [Dummy-21501] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:05:35.836 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:06:00.839 [INFO] [Dummy-21502] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:06:00.855 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:06:25.857 [INFO] [Dummy-21503] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:06:25.874 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:06:50.876 [INFO] [Dummy-21504] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:06:50.892 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:07:15.893 [INFO] [Dummy-21505] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:07:15.909 [INFO] [Dummy-21496] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:07:40.912 [INFO] [Dummy-21506] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:07:40.928 [INFO] [Dummy-21507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:08:05.931 [INFO] [Dummy-21508] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:08:05.948 [INFO] [Dummy-21507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:08:30.951 [INFO] [Dummy-21509] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:08:30.966 [INFO] [Dummy-21507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:08:55.969 [INFO] [Dummy-21510] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:08:55.985 [INFO] [Dummy-21507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:09:20.988 [INFO] [Dummy-21511] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:09:21.006 [INFO] [Dummy-21507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:09:46.008 [INFO] [Dummy-21512] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:09:46.023 [INFO] [Dummy-21507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:10:11.026 [INFO] [Dummy-21513] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:10:11.046 [INFO] [Dummy-21507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:10:36.048 [INFO] [Dummy-21514] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:10:36.065 [INFO] [Dummy-21515] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:11:01.067 [INFO] [Dummy-21516] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:11:01.091 [INFO] [Dummy-21515] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:11:26.093 [INFO] [Dummy-21517] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:11:26.109 [INFO] [Dummy-21518] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:11:51.112 [INFO] [Dummy-21519] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:11:51.128 [INFO] [Dummy-21518] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:12:16.131 [INFO] [Dummy-21520] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:12:16.149 [INFO] [Dummy-21518] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:12:41.151 [INFO] [Dummy-21521] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:12:41.168 [INFO] [Dummy-21518] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:13:06.170 [INFO] [Dummy-21522] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:13:06.187 [INFO] [Dummy-21523] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:13:31.190 [INFO] [Dummy-21524] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:13:31.207 [INFO] [Dummy-21523] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:13:56.209 [INFO] [Dummy-21525] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:13:56.225 [INFO] [Dummy-21523] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:14:21.228 [INFO] [Dummy-21526] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:14:21.244 [INFO] [Dummy-21523] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:14:46.246 [INFO] [Dummy-21527] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:14:46.263 [INFO] [Dummy-21523] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:15:11.266 [INFO] [Dummy-21528] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:15:11.283 [INFO] [Dummy-21523] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:15:36.285 [INFO] [Dummy-21529] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:15:36.302 [INFO] [Dummy-21530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:16:01.304 [INFO] [Dummy-21531] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:16:01.322 [INFO] [Dummy-21530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:16:26.323 [INFO] [Dummy-21532] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:16:26.338 [INFO] [Dummy-21533] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:16:51.341 [INFO] [Dummy-21534] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:16:51.361 [INFO] [Dummy-21533] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:17:16.365 [INFO] [Dummy-21535] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:17:16.381 [INFO] [Dummy-21536] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:17:41.384 [INFO] [Dummy-21537] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:17:41.400 [INFO] [Dummy-21538] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:18:06.403 [INFO] [Dummy-21539] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:18:06.419 [INFO] [Dummy-21538] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:18:31.422 [INFO] [Dummy-21540] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:18:31.438 [INFO] [Dummy-21538] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:18:56.441 [INFO] [Dummy-21541] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:18:56.458 [INFO] [Dummy-21542] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:19:21.460 [INFO] [Dummy-21543] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:19:21.476 [INFO] [Dummy-21542] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:19:46.479 [INFO] [Dummy-21544] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:19:46.496 [INFO] [Dummy-21542] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:20:11.500 [INFO] [Dummy-21545] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:20:11.518 [INFO] [Dummy-21542] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:20:36.520 [INFO] [Dummy-21546] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:20:36.537 [INFO] [Dummy-21547] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:21:01.540 [INFO] [Dummy-21548] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:21:01.558 [INFO] [Dummy-21547] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:21:26.561 [INFO] [Dummy-21549] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:21:26.576 [INFO] [Dummy-21550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:21:51.579 [INFO] [Dummy-21551] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:21:51.595 [INFO] [Dummy-21550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:22:16.598 [INFO] [Dummy-21552] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:22:16.616 [INFO] [Dummy-21550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:22:41.619 [INFO] [Dummy-21553] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:22:41.636 [INFO] [Dummy-21550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:23:06.639 [INFO] [Dummy-21554] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:23:06.656 [INFO] [Dummy-21555] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:23:31.657 [INFO] [Dummy-21556] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:23:31.673 [INFO] [Dummy-21557] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:23:56.676 [INFO] [Dummy-21558] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:23:56.692 [INFO] [Dummy-21559] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:24:21.694 [INFO] [Dummy-21560] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:24:21.710 [INFO] [Dummy-21559] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:24:46.713 [INFO] [Dummy-21561] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:24:46.729 [INFO] [Dummy-21559] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:25:11.731 [INFO] [Dummy-21562] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:25:11.747 [INFO] [Dummy-21563] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:25:36.750 [INFO] [Dummy-21564] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:25:36.766 [INFO] [Dummy-21563] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:26:01.769 [INFO] [Dummy-21565] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:26:01.785 [INFO] [Dummy-21563] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:26:26.788 [INFO] [Dummy-21566] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:26:26.805 [INFO] [Dummy-21567] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:26:51.807 [INFO] [Dummy-21568] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:26:51.824 [INFO] [Dummy-21567] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:27:16.827 [INFO] [Dummy-21569] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:27:16.846 [INFO] [Dummy-21567] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:27:41.847 [INFO] [Dummy-21570] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:27:41.865 [INFO] [Dummy-21571] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:28:06.866 [INFO] [Dummy-21572] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:28:06.883 [INFO] [Dummy-21573] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:28:31.885 [INFO] [Dummy-21574] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:28:31.901 [INFO] [Dummy-21573] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:28:56.904 [INFO] [Dummy-21575] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:28:56.920 [INFO] [Dummy-21576] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:29:21.922 [INFO] [Dummy-21577] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:29:21.939 [INFO] [Dummy-21576] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:29:46.940 [INFO] [Dummy-21578] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:29:46.955 [INFO] [Dummy-21576] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:30:11.957 [INFO] [Dummy-21579] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:30:11.974 [INFO] [Dummy-21580] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:30:36.976 [INFO] [Dummy-21581] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:30:36.996 [INFO] [Dummy-21580] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:30:51.530 [INFO] [Dummy-21582] [socket.py] [send()] CAceZL52Iw4yr22HAAA6: Sending packet OPEN data {'sid': 'CAceZL52Iw4yr22HAAA6', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T18:30:51.775 [INFO] [Dummy-21582] [socket.py] [receive()] CAceZL52Iw4yr22HAAA6: Received packet MESSAGE data 0
2025-12-21T18:30:51.777 [INFO] [Dummy-21582] [socket.py] [send()] CAceZL52Iw4yr22HAAA6: Sending packet MESSAGE data 0{"sid":"auzjcYPJ20XqYuHQAAA7"}
2025-12-21T18:30:52.009 [INFO] [Dummy-21583] [socket.py] [handle_get_request()] CAceZL52Iw4yr22HAAA6: Received request to upgrade to websocket
2025-12-21T18:30:54.113 [INFO] [Dummy-21582] [socket.py] [receive()] CAceZL52Iw4yr22HAAA6: Received packet CLOSE data 
2025-12-21T18:31:01.998 [INFO] [Dummy-21584] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:31:02.016 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:31:27.019 [INFO] [Dummy-21586] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:31:27.035 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:31:52.038 [INFO] [Dummy-21587] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:31:52.054 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:32:17.057 [INFO] [Dummy-21588] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:32:17.074 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:32:42.076 [INFO] [Dummy-21589] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:32:42.092 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:33:07.094 [INFO] [Dummy-21590] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:33:07.111 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:33:32.113 [INFO] [Dummy-21591] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:33:32.131 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:33:57.133 [INFO] [Dummy-21592] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:33:57.149 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:34:22.152 [INFO] [Dummy-21593] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:34:22.168 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:34:47.171 [INFO] [Dummy-21594] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:34:47.187 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:35:12.190 [INFO] [Dummy-21595] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:35:12.206 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:35:37.208 [INFO] [Dummy-21596] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:35:37.224 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:36:02.226 [INFO] [Dummy-21597] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:36:02.243 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:36:27.246 [INFO] [Dummy-21598] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:36:27.261 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:36:52.264 [INFO] [Dummy-21599] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:36:52.281 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:37:17.284 [INFO] [Dummy-21600] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:37:17.299 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:37:42.302 [INFO] [Dummy-21601] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:37:42.320 [INFO] [Dummy-21585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:38:07.323 [INFO] [Dummy-21602] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:38:07.341 [INFO] [Dummy-21603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:38:32.344 [INFO] [Dummy-21604] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:38:32.360 [INFO] [Dummy-21603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:38:57.362 [INFO] [Dummy-21605] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:38:57.378 [INFO] [Dummy-21603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:39:22.380 [INFO] [Dummy-21606] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:39:22.396 [INFO] [Dummy-21603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:39:47.399 [INFO] [Dummy-21607] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:39:47.416 [INFO] [Dummy-21608] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:40:12.419 [INFO] [Dummy-21609] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:40:12.435 [INFO] [Dummy-21608] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:40:37.471 [INFO] [Dummy-21610] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:40:37.486 [INFO] [Dummy-21611] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:41:02.488 [INFO] [Dummy-21612] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:41:02.505 [INFO] [Dummy-21611] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:41:27.508 [INFO] [Dummy-21613] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:41:27.526 [INFO] [Dummy-21614] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:41:52.528 [INFO] [Dummy-21615] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:41:52.546 [INFO] [Dummy-21614] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:42:17.548 [INFO] [Dummy-21616] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:42:17.565 [INFO] [Dummy-21614] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:42:42.568 [INFO] [Dummy-21617] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:42:42.585 [INFO] [Dummy-21614] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:43:07.588 [INFO] [Dummy-21618] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:43:07.605 [INFO] [Dummy-21614] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:43:32.609 [INFO] [Dummy-21619] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:43:32.625 [INFO] [Dummy-21620] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:43:57.628 [INFO] [Dummy-21621] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:43:57.648 [INFO] [Dummy-21620] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:44:22.680 [INFO] [Dummy-21622] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:44:22.696 [INFO] [Dummy-21623] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:44:47.699 [INFO] [Dummy-21624] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:44:47.716 [INFO] [Dummy-21625] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:45:12.719 [INFO] [Dummy-21626] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:45:12.737 [INFO] [Dummy-21625] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:45:37.740 [INFO] [Dummy-21627] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:45:37.756 [INFO] [Dummy-21628] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:46:02.758 [INFO] [Dummy-21629] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:46:02.776 [INFO] [Dummy-21628] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:46:27.778 [INFO] [Dummy-21630] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:46:27.795 [INFO] [Dummy-21628] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:46:52.798 [INFO] [Dummy-21631] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:46:52.816 [INFO] [Dummy-21628] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:47:17.819 [INFO] [Dummy-21632] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:47:17.836 [INFO] [Dummy-21633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:47:42.838 [INFO] [Dummy-21634] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:47:42.854 [INFO] [Dummy-21633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:48:07.856 [INFO] [Dummy-21635] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:48:07.877 [INFO] [Dummy-21633] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:48:32.879 [INFO] [Dummy-21636] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:48:32.896 [INFO] [Dummy-21637] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:48:57.899 [INFO] [Dummy-21638] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:48:57.916 [INFO] [Dummy-21637] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:49:22.919 [INFO] [Dummy-21639] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:49:22.937 [INFO] [Dummy-21640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:49:47.940 [INFO] [Dummy-21641] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:49:47.957 [INFO] [Dummy-21642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:50:12.959 [INFO] [Dummy-21643] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:50:12.974 [INFO] [Dummy-21642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:50:37.975 [INFO] [Dummy-21644] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:50:37.991 [INFO] [Dummy-21642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:51:02.994 [INFO] [Dummy-21645] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:51:03.011 [INFO] [Dummy-21642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:51:28.014 [INFO] [Dummy-21646] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:51:28.031 [INFO] [Dummy-21642] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:51:53.034 [INFO] [Dummy-21647] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:51:53.048 [INFO] [Dummy-21648] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:52:18.050 [INFO] [Dummy-21649] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:52:18.064 [INFO] [Dummy-21648] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:52:43.066 [INFO] [Dummy-21650] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:52:43.082 [INFO] [Dummy-21648] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:53:08.085 [INFO] [Dummy-21651] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:53:08.099 [INFO] [Dummy-21648] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:53:33.100 [INFO] [Dummy-21652] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:53:33.116 [INFO] [Dummy-21648] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:53:58.117 [INFO] [Dummy-21653] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:53:58.134 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:54:23.136 [INFO] [Dummy-21655] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:54:23.152 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:54:48.154 [INFO] [Dummy-21656] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:54:48.169 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:55:13.171 [INFO] [Dummy-21657] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:55:13.187 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:55:38.189 [INFO] [Dummy-21658] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:55:38.205 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:56:03.207 [INFO] [Dummy-21659] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:56:03.224 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:56:28.227 [INFO] [Dummy-21660] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:56:28.244 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:56:53.246 [INFO] [Dummy-21661] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:56:53.263 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:57:18.265 [INFO] [Dummy-21662] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:57:18.282 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:57:43.285 [INFO] [Dummy-21663] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:57:43.300 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:58:08.303 [INFO] [Dummy-21664] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:58:08.319 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:58:33.322 [INFO] [Dummy-21665] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:58:33.339 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:58:58.342 [INFO] [Dummy-21666] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:58:58.358 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:59:23.361 [INFO] [Dummy-21667] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:59:23.377 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T18:59:48.380 [INFO] [Dummy-21668] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T18:59:48.397 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:00:13.400 [INFO] [Dummy-21669] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:00:13.417 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:00:38.420 [INFO] [Dummy-21670] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:00:38.436 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:01:03.439 [INFO] [Dummy-21671] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:01:03.457 [INFO] [Dummy-21654] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:01:28.459 [INFO] [Dummy-21672] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:01:28.474 [INFO] [Dummy-21673] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:01:53.476 [INFO] [Dummy-21674] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:01:53.494 [INFO] [Dummy-21673] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:02:18.497 [INFO] [Dummy-21675] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:02:18.513 [INFO] [Dummy-21673] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:02:43.515 [INFO] [Dummy-21676] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:02:43.531 [INFO] [Dummy-21673] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:03:08.534 [INFO] [Dummy-21677] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:03:08.551 [INFO] [Dummy-21673] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:03:33.554 [INFO] [Dummy-21678] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:03:33.570 [INFO] [Dummy-21679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:03:58.572 [INFO] [Dummy-21680] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:03:58.588 [INFO] [Dummy-21679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:04:23.591 [INFO] [Dummy-21681] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:04:23.608 [INFO] [Dummy-21679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:04:48.611 [INFO] [Dummy-21682] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:04:48.628 [INFO] [Dummy-21679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:05:13.630 [INFO] [Dummy-21683] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:05:13.646 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:05:38.649 [INFO] [Dummy-21685] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:05:38.665 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:06:03.667 [INFO] [Dummy-21686] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:06:03.685 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:06:28.687 [INFO] [Dummy-21687] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:06:28.703 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:06:53.706 [INFO] [Dummy-21688] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:06:53.724 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:07:18.727 [INFO] [Dummy-21689] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:07:18.744 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:07:43.746 [INFO] [Dummy-21690] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:07:43.762 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:08:08.764 [INFO] [Dummy-21691] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:08:08.781 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:08:33.783 [INFO] [Dummy-21692] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:08:33.799 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:08:58.802 [INFO] [Dummy-21693] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:08:58.818 [INFO] [Dummy-21684] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:09:23.820 [INFO] [Dummy-21694] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:09:23.837 [INFO] [Dummy-21695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:09:48.839 [INFO] [Dummy-21696] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:09:48.855 [INFO] [Dummy-21697] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:10:13.858 [INFO] [Dummy-21698] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:10:13.874 [INFO] [Dummy-21697] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:10:38.877 [INFO] [Dummy-21699] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:10:38.893 [INFO] [Dummy-21697] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:11:03.895 [INFO] [Dummy-21700] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:11:03.910 [INFO] [Dummy-21697] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:11:28.911 [INFO] [Dummy-21701] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:11:28.930 [INFO] [Dummy-21697] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:11:53.932 [INFO] [Dummy-21702] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:11:53.949 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:12:18.952 [INFO] [Dummy-21704] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:12:18.967 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:12:43.968 [INFO] [Dummy-21705] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:12:43.984 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:13:08.986 [INFO] [Dummy-21706] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:13:09.002 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:13:34.005 [INFO] [Dummy-21707] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:13:34.021 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:13:59.024 [INFO] [Dummy-21708] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:13:59.042 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:14:24.045 [INFO] [Dummy-21709] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:14:24.061 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:14:49.064 [INFO] [Dummy-21710] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:14:49.081 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:15:14.084 [INFO] [Dummy-21711] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:15:14.101 [INFO] [Dummy-21703] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:15:39.105 [INFO] [Dummy-21712] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:15:39.121 [INFO] [Dummy-21713] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:16:04.123 [INFO] [Dummy-21714] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:16:04.142 [INFO] [Dummy-21713] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:16:29.145 [INFO] [Dummy-21715] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:16:29.162 [INFO] [Dummy-21716] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:16:54.165 [INFO] [Dummy-21717] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:16:54.182 [INFO] [Dummy-21718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:17:19.185 [INFO] [Dummy-21719] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:17:19.201 [INFO] [Dummy-21718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:17:44.204 [INFO] [Dummy-21720] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:17:44.221 [INFO] [Dummy-21718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:18:09.223 [INFO] [Dummy-21721] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:18:09.240 [INFO] [Dummy-21722] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:18:34.243 [INFO] [Dummy-21723] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:18:34.261 [INFO] [Dummy-21722] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:18:59.263 [INFO] [Dummy-21724] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:18:59.283 [INFO] [Dummy-21725] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:19:24.285 [INFO] [Dummy-21726] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:19:24.301 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:19:49.304 [INFO] [Dummy-21728] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:19:49.320 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:20:14.323 [INFO] [Dummy-21729] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:20:14.340 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:20:39.342 [INFO] [Dummy-21730] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:20:39.359 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:21:04.362 [INFO] [Dummy-21731] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:21:04.378 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:21:29.380 [INFO] [Dummy-21732] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:21:29.397 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:21:54.400 [INFO] [Dummy-21733] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:21:54.416 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:22:19.418 [INFO] [Dummy-21734] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:22:19.434 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:22:44.435 [INFO] [Dummy-21735] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:22:44.453 [INFO] [Dummy-21727] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:23:09.456 [INFO] [Dummy-21736] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:23:09.472 [INFO] [Dummy-21737] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:23:34.474 [INFO] [Dummy-21738] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:23:34.490 [INFO] [Dummy-21737] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:23:59.492 [INFO] [Dummy-21739] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:23:59.506 [INFO] [Dummy-21737] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:24:24.508 [INFO] [Dummy-21740] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:24:24.524 [INFO] [Dummy-21737] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:24:49.527 [INFO] [Dummy-21741] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:24:49.543 [INFO] [Dummy-21737] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:25:14.545 [INFO] [Dummy-21742] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:25:14.562 [INFO] [Dummy-21743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:25:39.564 [INFO] [Dummy-21744] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:25:39.581 [INFO] [Dummy-21743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:26:04.584 [INFO] [Dummy-21745] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:26:04.602 [INFO] [Dummy-21743] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:26:29.604 [INFO] [Dummy-21746] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:26:29.621 [INFO] [Dummy-21747] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:26:54.623 [INFO] [Dummy-21748] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:26:54.641 [INFO] [Dummy-21747] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:27:19.643 [INFO] [Dummy-21749] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:27:19.659 [INFO] [Dummy-21747] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:27:44.661 [INFO] [Dummy-21750] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:27:44.679 [INFO] [Dummy-21747] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:28:09.681 [INFO] [Dummy-21751] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:28:09.699 [INFO] [Dummy-21747] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:28:34.700 [INFO] [Dummy-21752] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:28:34.716 [INFO] [Dummy-21747] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:28:59.719 [INFO] [Dummy-21753] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:28:59.737 [INFO] [Dummy-21747] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:29:24.740 [INFO] [Dummy-21754] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:29:24.756 [INFO] [Dummy-21755] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:29:49.758 [INFO] [Dummy-21756] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:29:49.775 [INFO] [Dummy-21755] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:30:14.778 [INFO] [Dummy-21757] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:30:14.797 [INFO] [Dummy-21755] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:30:39.801 [INFO] [Dummy-21758] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:30:39.817 [INFO] [Dummy-21759] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:31:04.820 [INFO] [Dummy-21760] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:31:04.837 [INFO] [Dummy-21761] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:31:29.841 [INFO] [Dummy-21762] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:31:29.858 [INFO] [Dummy-21761] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:31:54.861 [INFO] [Dummy-21763] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:31:54.877 [INFO] [Dummy-21761] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:32:19.880 [INFO] [Dummy-21764] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:32:19.896 [INFO] [Dummy-21761] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:32:44.899 [INFO] [Dummy-21765] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:32:44.916 [INFO] [Dummy-21761] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:33:09.919 [INFO] [Dummy-21766] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:33:09.935 [INFO] [Dummy-21761] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:33:34.938 [INFO] [Dummy-21767] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:33:34.954 [INFO] [Dummy-21768] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:33:59.956 [INFO] [Dummy-21769] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:33:59.973 [INFO] [Dummy-21768] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:34:24.976 [INFO] [Dummy-21770] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:34:24.993 [INFO] [Dummy-21768] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:34:49.995 [INFO] [Dummy-21771] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:34:50.013 [INFO] [Dummy-21768] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:35:15.016 [INFO] [Dummy-21772] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:35:15.030 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:35:40.032 [INFO] [Dummy-21774] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:35:40.048 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:36:05.050 [INFO] [Dummy-21775] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:36:05.066 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:36:30.068 [INFO] [Dummy-21776] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:36:30.085 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:36:55.087 [INFO] [Dummy-21777] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:36:55.102 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:37:20.104 [INFO] [Dummy-21778] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:37:20.120 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:37:45.123 [INFO] [Dummy-21779] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:37:45.140 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:38:10.143 [INFO] [Dummy-21780] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:38:10.159 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:38:35.162 [INFO] [Dummy-21781] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:38:35.178 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:39:00.180 [INFO] [Dummy-21782] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:39:00.197 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:39:25.199 [INFO] [Dummy-21783] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:39:25.217 [INFO] [Dummy-21773] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:39:50.220 [INFO] [Dummy-21784] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:39:50.236 [INFO] [Dummy-21785] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:40:15.239 [INFO] [Dummy-21786] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:40:15.256 [INFO] [Dummy-21787] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:40:40.258 [INFO] [Dummy-21788] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:40:40.275 [INFO] [Dummy-21787] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:41:05.277 [INFO] [Dummy-21789] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:41:05.293 [INFO] [Dummy-21787] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:41:30.296 [INFO] [Dummy-21790] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:41:30.313 [INFO] [Dummy-21787] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:41:55.316 [INFO] [Dummy-21791] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:41:55.332 [INFO] [Dummy-21792] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:42:20.335 [INFO] [Dummy-21793] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:42:20.352 [INFO] [Dummy-21792] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:42:45.354 [INFO] [Dummy-21794] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:42:45.372 [INFO] [Dummy-21792] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:43:10.375 [INFO] [Dummy-21795] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:43:10.391 [INFO] [Dummy-21792] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:43:35.394 [INFO] [Dummy-21796] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:43:35.411 [INFO] [Dummy-21792] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:44:00.413 [INFO] [Dummy-21797] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:44:00.429 [INFO] [Dummy-21798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:44:25.431 [INFO] [Dummy-21799] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:44:25.448 [INFO] [Dummy-21798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:44:50.451 [INFO] [Dummy-21800] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:44:50.468 [INFO] [Dummy-21801] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:45:15.470 [INFO] [Dummy-21802] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:45:15.487 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:45:40.489 [INFO] [Dummy-21804] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:45:40.506 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:46:05.509 [INFO] [Dummy-21805] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:46:05.526 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:46:30.527 [INFO] [Dummy-21806] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:46:30.542 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:46:55.544 [INFO] [Dummy-21807] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:46:55.559 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:47:20.562 [INFO] [Dummy-21808] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:47:20.578 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:47:45.581 [INFO] [Dummy-21809] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:47:45.599 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:48:10.600 [INFO] [Dummy-21810] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:48:10.615 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:48:35.617 [INFO] [Dummy-21811] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:48:35.634 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:49:00.638 [INFO] [Dummy-21812] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:49:00.654 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:49:25.657 [INFO] [Dummy-21813] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:49:25.674 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:49:50.677 [INFO] [Dummy-21814] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:49:50.693 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:50:15.697 [INFO] [Dummy-21815] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:50:15.714 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:50:40.717 [INFO] [Dummy-21816] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:50:40.735 [INFO] [Dummy-21803] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:51:05.737 [INFO] [Dummy-21817] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:51:05.755 [INFO] [Dummy-21818] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:51:30.757 [INFO] [Dummy-21819] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:51:30.773 [INFO] [Dummy-21818] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:51:55.776 [INFO] [Dummy-21820] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:51:55.793 [INFO] [Dummy-21821] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:52:20.796 [INFO] [Dummy-21822] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:52:20.813 [INFO] [Dummy-21823] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:52:45.816 [INFO] [Dummy-21824] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:52:45.836 [INFO] [Dummy-21823] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:53:10.839 [INFO] [Dummy-21825] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:53:10.856 [INFO] [Dummy-21826] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:53:35.859 [INFO] [Dummy-21827] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:53:35.874 [INFO] [Dummy-21826] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:54:00.877 [INFO] [Dummy-21828] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:54:00.895 [INFO] [Dummy-21826] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:54:25.897 [INFO] [Dummy-21829] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:54:25.914 [INFO] [Dummy-21826] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:54:50.917 [INFO] [Dummy-21830] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:54:50.933 [INFO] [Dummy-21826] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:55:15.936 [INFO] [Dummy-21831] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:55:15.954 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:55:40.958 [INFO] [Dummy-21833] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:55:40.974 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:56:05.976 [INFO] [Dummy-21834] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:56:05.991 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:56:30.993 [INFO] [Dummy-21835] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:56:31.011 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:56:56.014 [INFO] [Dummy-21836] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:56:56.029 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:57:21.031 [INFO] [Dummy-21837] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:57:21.047 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:57:46.050 [INFO] [Dummy-21838] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:57:46.064 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:58:11.066 [INFO] [Dummy-21839] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:58:11.084 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:58:36.087 [INFO] [Dummy-21840] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:58:36.102 [INFO] [Dummy-21832] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:59:01.105 [INFO] [Dummy-21841] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:59:01.123 [INFO] [Dummy-21842] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:59:26.125 [INFO] [Dummy-21843] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:59:26.140 [INFO] [Dummy-21842] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T19:59:51.142 [INFO] [Dummy-21844] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T19:59:51.159 [INFO] [Dummy-21842] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:00:16.162 [INFO] [Dummy-21845] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:00:16.178 [INFO] [Dummy-21842] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:00:41.181 [INFO] [Dummy-21846] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:00:41.198 [INFO] [Dummy-21842] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:01:06.201 [INFO] [Dummy-21847] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:01:06.217 [INFO] [Dummy-21842] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:01:31.220 [INFO] [Dummy-21848] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:01:31.232 [INFO] [Dummy-21849] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:01:56.234 [INFO] [Dummy-21850] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:01:56.251 [INFO] [Dummy-21851] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:02:21.253 [INFO] [Dummy-21852] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:02:21.270 [INFO] [Dummy-21851] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:02:46.272 [INFO] [Dummy-21853] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:02:46.289 [INFO] [Dummy-21851] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:03:11.291 [INFO] [Dummy-21854] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:03:11.308 [INFO] [Dummy-21855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:03:36.311 [INFO] [Dummy-21856] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:03:36.327 [INFO] [Dummy-21855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:04:01.329 [INFO] [Dummy-21857] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:04:01.347 [INFO] [Dummy-21855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:04:26.349 [INFO] [Dummy-21858] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:04:26.365 [INFO] [Dummy-21855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:04:51.368 [INFO] [Dummy-21859] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:04:51.385 [INFO] [Dummy-21855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:05:16.387 [INFO] [Dummy-21860] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:05:16.404 [INFO] [Dummy-21855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:05:41.407 [INFO] [Dummy-21861] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:05:41.425 [INFO] [Dummy-21855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:06:06.428 [INFO] [Dummy-21862] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:06:06.445 [INFO] [Dummy-21855] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:06:31.448 [INFO] [Dummy-21863] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:06:31.465 [INFO] [Dummy-21864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:06:56.468 [INFO] [Dummy-21865] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:06:56.484 [INFO] [Dummy-21864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:07:21.487 [INFO] [Dummy-21866] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:07:21.504 [INFO] [Dummy-21864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:07:46.506 [INFO] [Dummy-21867] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:07:46.523 [INFO] [Dummy-21864] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:08:11.525 [INFO] [Dummy-21868] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:08:11.541 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:08:36.543 [INFO] [Dummy-21870] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:08:36.559 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:09:01.561 [INFO] [Dummy-21871] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:09:01.578 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:09:26.580 [INFO] [Dummy-21872] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:09:26.597 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:09:51.600 [INFO] [Dummy-21873] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:09:51.616 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:10:16.618 [INFO] [Dummy-21874] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:10:16.634 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:10:41.637 [INFO] [Dummy-21875] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:10:41.651 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:11:06.653 [INFO] [Dummy-21876] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:11:06.670 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:11:31.673 [INFO] [Dummy-21877] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:11:31.690 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:11:56.693 [INFO] [Dummy-21878] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:11:56.708 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:12:21.709 [INFO] [Dummy-21879] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:12:21.724 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:12:46.726 [INFO] [Dummy-21880] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:12:46.742 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:13:11.745 [INFO] [Dummy-21881] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:13:11.761 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:13:36.763 [INFO] [Dummy-21882] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:13:36.780 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:14:01.783 [INFO] [Dummy-21883] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:14:01.799 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:14:26.801 [INFO] [Dummy-21884] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:14:26.817 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:14:51.820 [INFO] [Dummy-21885] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:14:51.837 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:15:16.839 [INFO] [Dummy-21886] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:15:16.857 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:15:41.860 [INFO] [Dummy-21887] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:15:41.877 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:16:06.879 [INFO] [Dummy-21888] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:16:06.895 [INFO] [Dummy-21869] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:16:31.898 [INFO] [Dummy-21889] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:16:31.914 [INFO] [Dummy-21890] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:16:56.917 [INFO] [Dummy-21891] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:16:56.934 [INFO] [Dummy-21892] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:17:21.937 [INFO] [Dummy-21893] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:17:21.955 [INFO] [Dummy-21892] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:17:46.957 [INFO] [Dummy-21894] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:17:46.974 [INFO] [Dummy-21892] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:18:11.977 [INFO] [Dummy-21895] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:18:11.993 [INFO] [Dummy-21892] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:18:36.995 [INFO] [Dummy-21896] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:18:37.011 [INFO] [Dummy-21897] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:19:02.013 [INFO] [Dummy-21898] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:19:02.030 [INFO] [Dummy-21897] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:19:27.032 [INFO] [Dummy-21899] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:19:27.048 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:19:52.050 [INFO] [Dummy-21901] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:19:52.066 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:20:17.068 [INFO] [Dummy-21902] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:20:17.086 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:20:42.088 [INFO] [Dummy-21903] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:20:42.105 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:21:07.108 [INFO] [Dummy-21904] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:21:07.124 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:21:32.127 [INFO] [Dummy-21905] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:21:32.145 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:21:57.147 [INFO] [Dummy-21906] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:21:57.162 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:22:22.164 [INFO] [Dummy-21907] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:22:22.181 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:22:47.183 [INFO] [Dummy-21908] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:22:47.199 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:23:12.202 [INFO] [Dummy-21909] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:23:12.218 [INFO] [Dummy-21900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:23:37.253 [INFO] [Dummy-21910] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:23:37.268 [INFO] [Dummy-21911] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:24:02.270 [INFO] [Dummy-21912] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:24:02.288 [INFO] [Dummy-21911] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:24:27.291 [INFO] [Dummy-21913] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:24:27.307 [INFO] [Dummy-21911] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:24:52.310 [INFO] [Dummy-21914] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:24:52.325 [INFO] [Dummy-21911] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:25:17.328 [INFO] [Dummy-21915] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:25:17.345 [INFO] [Dummy-21911] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:25:35.210 [INFO] [Dummy-21916] [socket.py] [send()] QB0sOHodpplQZKoKAAA8: Sending packet OPEN data {'sid': 'QB0sOHodpplQZKoKAAA8', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T20:25:35.274 [INFO] [Dummy-21916] [socket.py] [receive()] QB0sOHodpplQZKoKAAA8: Received packet MESSAGE data 0
2025-12-21T20:25:35.275 [INFO] [Dummy-21916] [socket.py] [send()] QB0sOHodpplQZKoKAAA8: Sending packet MESSAGE data 0{"sid":"R_qf8GKyX2ueJXkdAAA9"}
2025-12-21T20:25:35.283 [INFO] [Dummy-21917] [socket.py] [handle_get_request()] QB0sOHodpplQZKoKAAA8: Received request to upgrade to websocket
2025-12-21T20:25:45.416 [INFO] [Dummy-21918] [instrument.py] [send_guide_command()] Sending command pos_XYslides None None None to host 127.0.0.1 on port 12360
2025-12-21T20:25:45.416 [DEBUG] [Dummy-21918] [instrument.py] [send_guide_command()] Creating socket to 127.0.0.1
2025-12-21T20:25:45.416 [INFO] [Dummy-21919] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:25:45.416 [DEBUG] [Dummy-21918] [instrument.py] [send_guide_command()] Connected to 127.0.0.1 on port 12360
2025-12-21T20:25:45.431 [INFO] [Dummy-21911] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:25:48.418 [DEBUG] [Dummy-21918] [instrument.py] [send_guide_command()] Sending command pos_XYslides None None None
2025-12-21T20:25:48.435 [DEBUG] [Dummy-21918] [instrument.py] [send_guide_command()] Sent command pos_XYslides None None None
2025-12-21T20:25:50.438 [DEBUG] [Dummy-21918] [instrument.py] [send_guide_command()] Closed socket
2025-12-21T20:26:00.213 [INFO] [Dummy-21920] [socket.py] [send()] QB0sOHodpplQZKoKAAA8: Sending packet PING data None
2025-12-21T20:26:00.234 [INFO] [Dummy-21921] [socket.py] [receive()] QB0sOHodpplQZKoKAAA8: Received packet PONG data 
2025-12-21T20:26:10.435 [INFO] [Dummy-21922] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:26:10.451 [INFO] [Dummy-21911] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:26:25.235 [INFO] [Dummy-21923] [socket.py] [send()] QB0sOHodpplQZKoKAAA8: Sending packet PING data None
2025-12-21T20:26:25.255 [INFO] [Dummy-21916] [socket.py] [receive()] QB0sOHodpplQZKoKAAA8: Received packet PONG data 
2025-12-21T20:26:35.241 [INFO] [Dummy-21916] [socket.py] [receive()] QB0sOHodpplQZKoKAAA8: Received packet CLOSE data 
2025-12-21T20:26:35.454 [INFO] [Dummy-21924] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:26:35.475 [INFO] [Dummy-21911] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:27:00.477 [INFO] [Dummy-21925] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:27:00.492 [INFO] [Dummy-21926] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:27:25.494 [INFO] [Dummy-21927] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:27:25.510 [INFO] [Dummy-21926] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:27:30.441 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Beginning of WCS acquisition
2025-12-21T20:27:30.441 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Clearing optics out of the way
2025-12-21T20:27:30.505 [INFO] [Dummy-21918] [instrument.py] [set_filter()] Setting filter 0:0
2025-12-21T20:27:30.505 [INFO] [Dummy-21918] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 0
2025-12-21T20:27:30.569 [INFO] [Dummy-21918] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 1
2025-12-21T20:27:31.606 [INFO] [Dummy-21918] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 2
2025-12-21T20:27:32.626 [INFO] [Dummy-21918] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 3
2025-12-21T20:27:33.647 [INFO] [Dummy-21918] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 4
2025-12-21T20:27:34.693 [INFO] [Dummy-21918] [client.py] [set_filter()] Filter in slide 0  moved to position 0 successfully
2025-12-21T20:27:35.694 [INFO] [Dummy-21918] [instrument.py] [set_filter()] Setting filter 1:1
2025-12-21T20:27:35.694 [INFO] [Dummy-21918] [client.py] [set_filter()] Setting filter slide ID 1 to filter id 1
2025-12-21T20:27:35.709 [INFO] [Dummy-21918] [client.py] [set_filter()] Filter in slide 1  moved to position 0 successfully
2025-12-21T20:27:36.710 [INFO] [Dummy-21918] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 0
2025-12-21T20:27:36.762 [INFO] [Dummy-21918] [client.py] [set_filter()] Filter in slide 0  moved to position 0 successfully
2025-12-21T20:27:37.764 [INFO] [Dummy-21918] [instrument.py] [set_temp_focus()] Setting the focus by temperature
2025-12-21T20:27:37.777 [DEBUG] [Dummy-21918] [instrument.py] [set_temp_focus()] Got temperature = 23.48
2025-12-21T20:27:37.778 [DEBUG] [Dummy-21918] [instrument.py] [set_temp_focus()] Weather time stamp 2025-12-21 20:27:10
2025-12-21T20:27:37.778 [DEBUG] [Dummy-21918] [instrument.py] [set_temp_focus()] Weather time stamp iso 2025-12-21T20:27:10
2025-12-21T20:27:37.778 [DEBUG] [Dummy-21918] [instrument.py] [set_temp_focus()] Got parameters for focus at temp: -15.4, 2654
2025-12-21T20:27:37.779 [INFO] [Dummy-21918] [instrument.py] [set_temp_focus()] Setting focus to 0.0902522834645669
2025-12-21T20:27:42.848 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Taking an exposure
2025-12-21T20:27:42.848 [INFO] [Dummy-21918] [instrument.py] [start_exposure()] start_exposure called with fits_info = []
2025-12-21T20:27:42.849 [INFO] [Dummy-21918] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T20:27:42.849 [DEBUG] [Dummy-21918] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T20:27:42.849 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T20:27:42.849 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T20:27:42.858 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 100 exposures
2025-12-21T20:27:42.859 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:42.880 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:43.077 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 100 exposures
2025-12-21T20:27:43.078 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 100
2025-12-21T20:27:43.081 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341663.0817575
2025-12-21T20:27:43.093 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:50:57.76327949', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.91314453', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7407', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.417908201494', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:43.354 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 100 done. Exposure state = 0
2025-12-21T20:27:43.354 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:43.359 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:43.604 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 100
2025-12-21T20:27:43.607 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341663.6077468
2025-12-21T20:27:43.608 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:50:57.76327949', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.91314453', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7407', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.417908201494', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:43.871 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 100 done. Exposure state = 0
2025-12-21T20:27:43.871 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:43.878 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:44.093 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 100
2025-12-21T20:27:44.096 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341664.096711
2025-12-21T20:27:44.098 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:50:57.76327949', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.91314453', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7407', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.417908201494', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:44.360 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Calling go_WCS in acquire_target
2025-12-21T20:27:44.364 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 100 done. Exposure state = 0
2025-12-21T20:27:44.364 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:44.372 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:44.582 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 4 of 100
2025-12-21T20:27:44.585 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341664.5856087
2025-12-21T20:27:44.586 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:50:59.07806099', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.86641241', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7462', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3903994311167', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:44.849 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 4 of 100 done. Exposure state = 0
2025-12-21T20:27:44.849 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:44.856 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:45.071 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 5 of 100
2025-12-21T20:27:45.074 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341665.0748672
2025-12-21T20:27:45.076 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:50:59.07806099', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.86641241', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7462', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3903994311167', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:45.338 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 5 of 100 done. Exposure state = 0
2025-12-21T20:27:45.338 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:45.360 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:45.598 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 6 of 100
2025-12-21T20:27:45.601 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341665.6018875
2025-12-21T20:27:45.603 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:00.29092971', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.82330133', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7512', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.406700924673', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:45.865 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 6 of 100 done. Exposure state = 0
2025-12-21T20:27:45.865 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:45.872 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:46.087 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 7 of 100
2025-12-21T20:27:46.090 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341666.0905187
2025-12-21T20:27:46.091 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:00.29092971', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.82330133', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7512', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.406700924673', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:46.353 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 7 of 100 done. Exposure state = 0
2025-12-21T20:27:46.354 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:46.360 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:46.576 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 8 of 100
2025-12-21T20:27:46.579 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341666.579779
2025-12-21T20:27:46.580 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:00.29092971', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.82330133', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7512', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.406700924673', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:46.843 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 8 of 100 done. Exposure state = 0
2025-12-21T20:27:46.843 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:46.871 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:47.103 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 9 of 100
2025-12-21T20:27:47.106 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341667.1063945
2025-12-21T20:27:47.107 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:01.70438259', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.77305897', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7571', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3965124911992', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:47.370 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 9 of 100 done. Exposure state = 0
2025-12-21T20:27:47.371 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:47.377 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:47.629 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 10 of 100
2025-12-21T20:27:47.633 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341667.6331973
2025-12-21T20:27:47.634 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:01.70438259', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.77305897', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7571', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3965124911992', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:47.897 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 10 of 100 done. Exposure state = 0
2025-12-21T20:27:47.897 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:47.921 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:48.118 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 11 of 100
2025-12-21T20:27:48.122 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341668.12228
2025-12-21T20:27:48.123 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:02.7814876', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.73477124', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7616', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.389380587769', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:48.362 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Done calling go_WCS in acquire_target
2025-12-21T20:27:48.363 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Waiting for WCS to complete
2025-12-21T20:27:48.384 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 11 of 100 done. Exposure state = 0
2025-12-21T20:27:48.385 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:48.387 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:48.608 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 12 of 100
2025-12-21T20:27:48.611 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341668.6113555
2025-12-21T20:27:48.612 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:02.7814876', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.73477124', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7616', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.389380587769', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:48.876 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 12 of 100 done. Exposure state = 0
2025-12-21T20:27:48.876 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:48.883 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:49.097 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 13 of 100
2025-12-21T20:27:49.100 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341669.100517
2025-12-21T20:27:49.101 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:02.7814876', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.73477124', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7616', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.389380587769', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:49.363 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 13 of 100 done. Exposure state = 0
2025-12-21T20:27:49.364 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:49.371 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:49.586 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 14 of 100
2025-12-21T20:27:49.589 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341669.589379
2025-12-21T20:27:49.590 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:04.20286276', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.68424427', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7675', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.393455961158', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:49.853 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 14 of 100 done. Exposure state = 0
2025-12-21T20:27:49.853 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:49.860 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:50.075 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 15 of 100
2025-12-21T20:27:50.079 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341670.0792308
2025-12-21T20:27:50.080 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:04.20286276', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.68424427', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7675', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.393455961158', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:50.343 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 15 of 100 done. Exposure state = 0
2025-12-21T20:27:50.343 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:50.370 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:50.513 [INFO] [Dummy-21928] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:27:50.529 [INFO] [Dummy-21926] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:27:50.564 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 16 of 100
2025-12-21T20:27:50.567 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341670.5678592
2025-12-21T20:27:50.569 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:05.31309818', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.64477649', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7721', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.399569021243', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:50.832 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 16 of 100 done. Exposure state = 0
2025-12-21T20:27:50.832 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:50.838 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:51.053 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 17 of 100
2025-12-21T20:27:51.056 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341671.056937
2025-12-21T20:27:51.058 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:05.31309818', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.64477649', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7721', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.399569021243', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:51.320 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 17 of 100 done. Exposure state = 0
2025-12-21T20:27:51.321 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:51.327 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:51.542 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 18 of 100
2025-12-21T20:27:51.545 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341671.545793
2025-12-21T20:27:51.546 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:05.31309818', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.64477649', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7721', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3005', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.399569021243', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:51.809 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 18 of 100 done. Exposure state = 0
2025-12-21T20:27:51.810 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:51.836 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:52.032 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 19 of 100
2025-12-21T20:27:52.035 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341672.0353541
2025-12-21T20:27:52.036 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:06.69450029', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.59566755', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7779', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.4036443946316', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:52.299 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 19 of 100 done. Exposure state = 0
2025-12-21T20:27:52.300 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:52.307 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:52.521 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 20 of 100
2025-12-21T20:27:52.524 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341672.5246794
2025-12-21T20:27:52.525 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:06.69450029', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.59566755', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7779', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.4036443946316', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:52.789 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 20 of 100 done. Exposure state = 0
2025-12-21T20:27:52.789 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:52.796 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:53.010 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 21 of 100
2025-12-21T20:27:53.014 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341673.0142126
2025-12-21T20:27:53.015 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:06.69450029', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.59566755', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7779', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.4036443946316', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:53.278 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 21 of 100 done. Exposure state = 0
2025-12-21T20:27:53.278 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:53.300 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:53.499 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 22 of 100
2025-12-21T20:27:53.502 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341673.5027018
2025-12-21T20:27:53.503 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:08.21202581', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.54171754', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7842', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.393455961158', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:53.766 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 22 of 100 done. Exposure state = 0
2025-12-21T20:27:53.767 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:53.773 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:54.026 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 23 of 100
2025-12-21T20:27:54.029 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341674.0293348
2025-12-21T20:27:54.030 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:08.21202581', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.54171754', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7842', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.393455961158', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:54.293 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 23 of 100 done. Exposure state = 0
2025-12-21T20:27:54.293 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:54.299 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:54.515 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 24 of 100
2025-12-21T20:27:54.518 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341674.5186338
2025-12-21T20:27:54.519 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:08.21202581', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.54171754', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7842', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.393455961158', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:54.783 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 24 of 100 done. Exposure state = 0
2025-12-21T20:27:54.783 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:54.789 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:55.004 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 25 of 100
2025-12-21T20:27:55.007 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341675.0077827
2025-12-21T20:27:55.008 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:09.52500575', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.49503782', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7897', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.4056820813257', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:55.272 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 25 of 100 done. Exposure state = 0
2025-12-21T20:27:55.272 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:55.278 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:55.493 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 26 of 100
2025-12-21T20:27:55.497 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341675.4972038
2025-12-21T20:27:55.498 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:09.52500575', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.49503782', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7897', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.4056820813257', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:55.761 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 26 of 100 done. Exposure state = 0
2025-12-21T20:27:55.761 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:55.790 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:56.057 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 27 of 100
2025-12-21T20:27:56.061 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341676.0612385
2025-12-21T20:27:56.062 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:10.73571288', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.45199286', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7947', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.384286371034', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:56.325 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 27 of 100 done. Exposure state = 0
2025-12-21T20:27:56.326 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:56.332 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:56.584 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 28 of 100
2025-12-21T20:27:56.587 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341676.5878034
2025-12-21T20:27:56.589 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:10.73571288', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.45199286', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7947', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.384286371034', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:56.853 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 28 of 100 done. Exposure state = 0
2025-12-21T20:27:56.853 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:56.879 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:57.111 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 29 of 100
2025-12-21T20:27:57.114 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341677.1143606
2025-12-21T20:27:57.115 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:11.81317731', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.41368411', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7992', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.395493647852', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:57.378 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 29 of 100 done. Exposure state = 0
2025-12-21T20:27:57.378 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:57.385 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:57.600 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 30 of 100
2025-12-21T20:27:57.604 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341677.603977
2025-12-21T20:27:57.605 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:11.81317731', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.41368411', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7992', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.395493647852', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:57.868 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 30 of 100 done. Exposure state = 0
2025-12-21T20:27:57.868 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:57.875 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:58.125 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 31 of 100
2025-12-21T20:27:58.127 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341678.127421
2025-12-21T20:27:58.127 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:11.81317731', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.41368411', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.7992', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.395493647852', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:58.435 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 31 of 100 done. Exposure state = 0
2025-12-21T20:27:58.435 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:58.438 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:58.653 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 32 of 100
2025-12-21T20:27:58.657 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341678.6571777
2025-12-21T20:27:58.658 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:13.12795749', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.36693639', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8047', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3975313345463', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:58.921 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 32 of 100 done. Exposure state = 0
2025-12-21T20:27:58.921 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:58.928 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:59.142 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 33 of 100
2025-12-21T20:27:59.146 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341679.1462574
2025-12-21T20:27:59.147 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:13.12795749', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.36693639', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8047', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3975313345463', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:59.410 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 33 of 100 done. Exposure state = 0
2025-12-21T20:27:59.410 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:59.416 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:27:59.632 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 34 of 100
2025-12-21T20:27:59.635 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341679.6353009
2025-12-21T20:27:59.636 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:14.33974464', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.32384933', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8097', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.384286371034', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:27:59.899 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 34 of 100 done. Exposure state = 0
2025-12-21T20:27:59.899 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:27:59.906 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:00.121 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 35 of 100
2025-12-21T20:28:00.124 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341680.124324
2025-12-21T20:28:00.125 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:14.33974464', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.32384933', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8097', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.384286371034', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:00.388 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 35 of 100 done. Exposure state = 0
2025-12-21T20:28:00.388 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:00.415 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:00.647 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 36 of 100
2025-12-21T20:28:00.651 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341680.6511765
2025-12-21T20:28:00.652 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:15.34878694', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.28797026', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.814', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3802109976455', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:00.915 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 36 of 100 done. Exposure state = 0
2025-12-21T20:28:00.915 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:00.921 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:01.136 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 37 of 100
2025-12-21T20:28:01.140 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341681.140391
2025-12-21T20:28:01.141 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:15.34878694', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.28797026', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.814', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3004', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3802109976455', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:01.404 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 37 of 100 done. Exposure state = 0
2025-12-21T20:28:01.447 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:01.472 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:01.701 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 38 of 100
2025-12-21T20:28:01.704 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341681.7047772
2025-12-21T20:28:01.706 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:16.42697125', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.24963171', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8184', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3802109976455', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:01.968 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 38 of 100 done. Exposure state = 0
2025-12-21T20:28:01.969 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:01.976 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:02.190 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 39 of 100
2025-12-21T20:28:02.193 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341682.19376
2025-12-21T20:28:02.195 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:16.42697125', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.24963171', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8184', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3802109976455', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:02.457 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 39 of 100 done. Exposure state = 0
2025-12-21T20:28:02.457 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:02.464 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:02.679 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 40 of 100
2025-12-21T20:28:02.682 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341682.682678
2025-12-21T20:28:02.683 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:16.42697125', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.24963171', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8184', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3802109976455', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:02.946 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 40 of 100 done. Exposure state = 0
2025-12-21T20:28:02.946 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:02.970 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:03.168 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 41 of 100
2025-12-21T20:28:03.172 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341683.1723156
2025-12-21T20:28:03.173 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:17.94269514', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.19573328', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8248', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3720602508656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='41.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.59', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:03.436 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 41 of 100 done. Exposure state = 0
2025-12-21T20:28:03.437 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:03.443 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:03.657 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 42 of 100
2025-12-21T20:28:03.661 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341683.6613376
2025-12-21T20:28:03.662 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:17.94269514', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.19573328', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8248', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3720602508656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:03.925 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 42 of 100 done. Exposure state = 0
2025-12-21T20:28:03.925 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:03.932 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:04.146 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 43 of 100
2025-12-21T20:28:04.150 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341684.150212
2025-12-21T20:28:04.151 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:17.94269514', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.19573328', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8248', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3720602508656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:04.414 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 43 of 100 done. Exposure state = 0
2025-12-21T20:28:04.414 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:04.420 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:04.635 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 44 of 100
2025-12-21T20:28:04.639 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341684.6393251
2025-12-21T20:28:04.640 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:19.15628245', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.15257728', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8298', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.388361744422', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:04.903 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 44 of 100 done. Exposure state = 0
2025-12-21T20:28:04.903 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:04.910 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:05.124 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 45 of 100
2025-12-21T20:28:05.128 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341685.1282017
2025-12-21T20:28:05.129 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:19.15628245', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.15257728', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8298', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.388361744422', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:05.392 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 45 of 100 done. Exposure state = 0
2025-12-21T20:28:05.392 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:05.399 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:05.614 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 46 of 100
2025-12-21T20:28:05.617 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341685.6176677
2025-12-21T20:28:05.619 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:20.2668768', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.11308269', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.365947190783', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:05.881 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 46 of 100 done. Exposure state = 0
2025-12-21T20:28:05.882 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:05.888 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:06.102 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 47 of 100
2025-12-21T20:28:06.106 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341686.106055
2025-12-21T20:28:06.107 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:20.2668768', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.11308269', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.365947190783', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:06.367 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 47 of 100 done. Exposure state = 0
2025-12-21T20:28:06.367 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:06.390 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:06.667 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 48 of 100
2025-12-21T20:28:06.670 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341686.6703877
2025-12-21T20:28:06.671 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:21.34398038', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.0747781', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8389', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.381229840992', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:06.934 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 48 of 100 done. Exposure state = 0
2025-12-21T20:28:06.934 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:06.942 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:07.156 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 49 of 100
2025-12-21T20:28:07.159 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341687.1596477
2025-12-21T20:28:07.160 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:21.34398038', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.0747781', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8389', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.381229840992', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:07.423 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 49 of 100 done. Exposure state = 0
2025-12-21T20:28:07.424 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:07.450 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:07.682 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 50 of 100
2025-12-21T20:28:07.685 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341687.6849952
2025-12-21T20:28:07.685 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:22.35518286', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.03881623', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8431', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.376135624254', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:07.943 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 50 of 100 done. Exposure state = 0
2025-12-21T20:28:07.943 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:07.950 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:08.170 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 51 of 100
2025-12-21T20:28:08.172 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341688.1725752
2025-12-21T20:28:08.172 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:22.35518286', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.03881623', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8431', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.376135624254', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:08.430 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 51 of 100 done. Exposure state = 0
2025-12-21T20:28:08.431 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:08.437 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:08.698 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 52 of 100
2025-12-21T20:28:08.701 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341688.701912
2025-12-21T20:28:08.703 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:22.35518286', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:01.03881623', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8431', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.376135624254', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:08.965 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 52 of 100 done. Exposure state = 0
2025-12-21T20:28:08.966 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:08.987 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:09.187 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 53 of 100
2025-12-21T20:28:09.190 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341689.190774
2025-12-21T20:28:09.191 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:23.97317871', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.98127288', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8499', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:09.449 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 53 of 100 done. Exposure state = 0
2025-12-21T20:28:09.449 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:09.457 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:09.676 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 54 of 100
2025-12-21T20:28:09.680 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341689.6801746
2025-12-21T20:28:09.681 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:23.97317871', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.98127288', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8499', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:09.944 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 54 of 100 done. Exposure state = 0
2025-12-21T20:28:09.945 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:09.951 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:10.166 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 55 of 100
2025-12-21T20:28:10.170 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341690.170012
2025-12-21T20:28:10.171 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:23.97317871', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.98127288', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8499', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:10.433 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 55 of 100 done. Exposure state = 0
2025-12-21T20:28:10.434 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:10.440 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:10.692 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 56 of 100
2025-12-21T20:28:10.696 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341690.696574
2025-12-21T20:28:10.697 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:25.18388458', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.93821319', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8549', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.371041407519', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:10.960 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 56 of 100 done. Exposure state = 0
2025-12-21T20:28:10.961 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:10.967 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:11.182 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 57 of 100
2025-12-21T20:28:11.185 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341691.1852353
2025-12-21T20:28:11.186 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:25.18388458', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.93821319', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8549', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3003', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.371041407519', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:11.449 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 57 of 100 done. Exposure state = 0
2025-12-21T20:28:11.453 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:11.459 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:11.670 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 58 of 100
2025-12-21T20:28:11.674 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341691.67419
2025-12-21T20:28:11.675 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:26.36145979', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.89633063', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8598', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3690037208244', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:11.938 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 58 of 100 done. Exposure state = 0
2025-12-21T20:28:11.938 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:11.945 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:12.160 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 59 of 100
2025-12-21T20:28:12.163 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341692.1637897
2025-12-21T20:28:12.165 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:26.36145979', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.89633063', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8598', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3690037208244', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:12.428 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 59 of 100 done. Exposure state = 0
2025-12-21T20:28:12.428 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:12.451 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:12.649 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 60 of 100
2025-12-21T20:28:12.653 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341692.6529422
2025-12-21T20:28:12.654 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:27.47457437', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.85673965', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8645', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.376135624254', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:12.917 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 60 of 100 done. Exposure state = 0
2025-12-21T20:28:12.917 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:12.923 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:13.138 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 61 of 100
2025-12-21T20:28:13.141 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341693.1415572
2025-12-21T20:28:13.142 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:27.47457437', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.85673965', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8645', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.376135624254', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:13.405 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 61 of 100 done. Exposure state = 0
2025-12-21T20:28:13.406 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:13.412 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:13.627 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 62 of 100
2025-12-21T20:28:13.631 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341693.6309607
2025-12-21T20:28:13.632 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:27.47457437', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.85673965', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8645', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.376135624254', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:13.895 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 62 of 100 done. Exposure state = 0
2025-12-21T20:28:13.895 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:13.918 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:14.116 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 63 of 100
2025-12-21T20:28:14.119 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341694.119563
2025-12-21T20:28:14.120 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:28.89018518', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.80638806', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8704', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:14.383 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 63 of 100 done. Exposure state = 0
2025-12-21T20:28:14.384 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:14.390 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:14.605 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 64 of 100
2025-12-21T20:28:14.608 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341694.6086679
2025-12-21T20:28:14.609 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:28.89018518', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.80638806', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8704', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:14.873 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 64 of 100 done. Exposure state = 0
2025-12-21T20:28:14.873 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:14.880 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:15.094 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 65 of 100
2025-12-21T20:28:15.098 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341695.0979955
2025-12-21T20:28:15.099 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:28.89018518', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.80638806', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8704', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:15.362 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 65 of 100 done. Exposure state = 0
2025-12-21T20:28:15.362 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:15.384 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:15.531 [INFO] [Dummy-21929] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:28:15.549 [INFO] [Dummy-21926] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:28:15.583 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 66 of 100
2025-12-21T20:28:15.587 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341695.5869598
2025-12-21T20:28:15.588 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:30.40266669', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.75258902', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8767', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3791921542957', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:15.851 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 66 of 100 done. Exposure state = 0
2025-12-21T20:28:15.851 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:15.858 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:16.072 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 67 of 100
2025-12-21T20:28:16.076 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341696.0760279
2025-12-21T20:28:16.077 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:30.40266669', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.75258902', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8767', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3791921542957', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:16.340 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 67 of 100 done. Exposure state = 0
2025-12-21T20:28:16.341 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:16.348 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:16.561 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 68 of 100
2025-12-21T20:28:16.565 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341696.5649607
2025-12-21T20:28:16.566 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:30.40266669', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.75258902', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8767', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3791921542957', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:16.828 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 68 of 100 done. Exposure state = 0
2025-12-21T20:28:16.828 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:16.851 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:17.088 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 69 of 100
2025-12-21T20:28:17.092 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341697.0921652
2025-12-21T20:28:17.093 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:31.88201748', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.69996658', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8828', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3781733109486', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:17.356 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 69 of 100 done. Exposure state = 0
2025-12-21T20:28:17.356 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:17.362 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:17.577 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 70 of 100
2025-12-21T20:28:17.581 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341697.581191
2025-12-21T20:28:17.582 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:31.88201748', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.69996658', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8828', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3781733109486', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:17.845 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 70 of 100 done. Exposure state = 0
2025-12-21T20:28:17.845 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:17.871 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:18.102 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 71 of 100
2025-12-21T20:28:18.104 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341698.1043
2025-12-21T20:28:18.104 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:32.89213886', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.66403418', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8871', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.376135624254', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:18.362 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 71 of 100 done. Exposure state = 0
2025-12-21T20:28:18.362 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:18.369 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:18.502 [ERROR] [Dummy-21918] [instrument.py] [acquire_target()] WCS file not found after 3 seconds
2025-12-21T20:28:18.502 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Done  Waiting for WCS to complete
2025-12-21T20:28:18.502 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Nudging the telescope to the magic pixel
2025-12-21T20:28:18.502 [DEBUG] [Dummy-21918] [instrument.py] [nudge_to_slit()] Target RA 07:45:45 = 419175.0 arcseconds
2025-12-21T20:28:18.502 [DEBUG] [Dummy-21918] [instrument.py] [nudge_to_slit()] Target dec -23:08:35 = -83315.0 arcseconds
2025-12-21T20:28:18.502 [DEBUG] [Dummy-21918] [instrument.py] [nudge_to_slit()] Magic pixel:  616, 585
2025-12-21T20:28:18.520 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Started nudging the telescope to the magic pixel
2025-12-21T20:28:18.668 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 72 of 100
2025-12-21T20:28:18.672 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341698.6720097
2025-12-21T20:28:18.673 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:32.89213886', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.66403418', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8871', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.376135624254', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:18.937 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 72 of 100 done. Exposure state = 0
2025-12-21T20:28:18.937 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:18.964 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:19.195 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 73 of 100
2025-12-21T20:28:19.198 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341699.198755
2025-12-21T20:28:19.199 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:34.00165178', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.6245652', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8917', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.387342901075', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:19.462 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 73 of 100 done. Exposure state = 0
2025-12-21T20:28:19.463 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:19.469 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:19.684 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 74 of 100
2025-12-21T20:28:19.688 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341699.6881056
2025-12-21T20:28:19.689 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:34.00165178', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.6245652', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8917', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.387342901075', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:19.952 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 74 of 100 done. Exposure state = 0
2025-12-21T20:28:19.953 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:19.959 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:20.173 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 75 of 100
2025-12-21T20:28:20.177 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341700.177197
2025-12-21T20:28:20.178 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:34.00165178', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.6245652', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8917', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.387342901075', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:20.441 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 75 of 100 done. Exposure state = 0
2025-12-21T20:28:20.441 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:20.447 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:20.662 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 76 of 100
2025-12-21T20:28:20.666 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341700.6659992
2025-12-21T20:28:20.667 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:35.21235678', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.58149531', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8967', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.371041407519', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:20.930 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 76 of 100 done. Exposure state = 0
2025-12-21T20:28:20.930 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:20.936 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:21.226 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 77 of 100
2025-12-21T20:28:21.230 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341701.2304401
2025-12-21T20:28:21.231 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:35.21235678', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.58149531', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.8967', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3002', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.371041407519', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:21.494 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 77 of 100 done. Exposure state = 0
2025-12-21T20:28:21.537 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:21.562 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:21.791 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 78 of 100
2025-12-21T20:28:21.794 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341701.7945733
2025-12-21T20:28:21.795 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:36.52209315', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.53490107', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9022', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3679848774773', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:22.058 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 78 of 100 done. Exposure state = 0
2025-12-21T20:28:22.058 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:22.065 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:22.280 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 79 of 100
2025-12-21T20:28:22.284 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341702.283965
2025-12-21T20:28:22.285 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:36.52209315', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.53490107', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9022', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3679848774773', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:22.548 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 79 of 100 done. Exposure state = 0
2025-12-21T20:28:22.549 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:22.555 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:22.769 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 80 of 100
2025-12-21T20:28:22.773 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341702.773442
2025-12-21T20:28:22.774 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:36.52209315', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.53490107', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9022', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3679848774773', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:23.038 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 80 of 100 done. Exposure state = 0
2025-12-21T20:28:23.038 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:23.062 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:23.334 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 81 of 100
2025-12-21T20:28:23.337 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341703.3376417
2025-12-21T20:28:23.338 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:38.10191523', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.47869653', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9088', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3802109976455', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:23.523 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Taking image after nudge
2025-12-21T20:28:23.523 [INFO] [Dummy-21918] [instrument.py] [start_exposure()] start_exposure called with fits_info = []
2025-12-21T20:28:23.524 [INFO] [Dummy-21918] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T20:28:23.524 [DEBUG] [Dummy-21918] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T20:28:23.524 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T20:28:23.524 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T20:28:23.532 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 100 exposures
2025-12-21T20:28:23.533 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:23.539 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:23.600 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 81 of 100 done. Exposure state = 0
2025-12-21T20:28:23.601 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:23.608 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:23.823 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 100 exposures
2025-12-21T20:28:23.824 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 100
2025-12-21T20:28:23.827 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341703.8273056
2025-12-21T20:28:23.828 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:38.10191523', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.47869653', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9088', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3802109976455', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:23.973 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 82 of 100
2025-12-21T20:28:23.976 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341703.9765422
2025-12-21T20:28:23.977 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:38.10191523', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.47869653', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9088', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3802109976455', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:24.240 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 82 of 100 done. Exposure state = 0
2025-12-21T20:28:24.240 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:24.264 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:24.500 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 83 of 100
2025-12-21T20:28:24.503 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341704.5035958
2025-12-21T20:28:24.504 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:39.31370022', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.43558404', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9138', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3679848774773', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:24.767 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 83 of 100 done. Exposure state = 0
2025-12-21T20:28:24.768 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:24.774 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:24.987 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 84 of 100
2025-12-21T20:28:24.990 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341704.9901211
2025-12-21T20:28:24.990 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:39.31370022', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.43558404', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9138', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.36696603413', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:25.027 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Waiting for exposure to complete
2025-12-21T20:28:25.249 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 84 of 100 done. Exposure state = 0
2025-12-21T20:28:25.249 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:25.256 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:25.516 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 85 of 100
2025-12-21T20:28:25.520 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341705.519981
2025-12-21T20:28:25.521 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:39.31370022', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.43558404', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9138', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.36696603413', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:25.784 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 85 of 100 done. Exposure state = 0
2025-12-21T20:28:25.784 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:25.790 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:26.005 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 86 of 100
2025-12-21T20:28:26.008 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341706.0084124
2025-12-21T20:28:26.009 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:40.42465787', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.42125709', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9184', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3720602508656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:26.272 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 86 of 100 done. Exposure state = 0
2025-12-21T20:28:26.272 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:26.279 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:26.542 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 87 of 100
2025-12-21T20:28:26.545 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341706.5457063
2025-12-21T20:28:26.546 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:40.42465787', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.42125709', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9184', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3720602508656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:26.809 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 87 of 100 done. Exposure state = 0
2025-12-21T20:28:26.810 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:26.836 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:27.034 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Calling go_WCS after acquire_target
2025-12-21T20:28:27.058 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 88 of 100
2025-12-21T20:28:27.061 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341707.0618882
2025-12-21T20:28:27.063 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:41.83702635', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.37100542', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9243', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3649283474356', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:27.326 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 88 of 100 done. Exposure state = 0
2025-12-21T20:28:27.326 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:27.333 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:27.585 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 89 of 100
2025-12-21T20:28:27.589 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341707.5889716
2025-12-21T20:28:27.590 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:41.83702635', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.37100542', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9243', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3649283474356', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:27.853 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 89 of 100 done. Exposure state = 0
2025-12-21T20:28:27.853 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:27.878 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:28.095 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 89 of 100 done. Exposure state = 0
2025-12-21T20:28:28.095 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:28.097 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:28.111 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 90 of 100
2025-12-21T20:28:28.113 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341708.113246
2025-12-21T20:28:28.113 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:42.94581352', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.3063545', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9289', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3690037208244', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:28.337 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 100
2025-12-21T20:28:28.341 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341708.3412719
2025-12-21T20:28:28.342 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:42.94581352', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.3063545', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9289', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3690037208244', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:28.605 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 100 done. Exposure state = 0
2025-12-21T20:28:28.605 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:28.612 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:28.827 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 100
2025-12-21T20:28:28.830 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341708.8304906
2025-12-21T20:28:28.831 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:42.94581352', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.3063545', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9289', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3690037208244', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:29.093 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 100 done. Exposure state = 0
2025-12-21T20:28:29.093 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:29.116 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:29.315 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 4 of 100
2025-12-21T20:28:29.320 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341709.3206403
2025-12-21T20:28:29.321 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:44.12230689', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.26449283', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9338', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3730790942127', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:29.585 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 4 of 100 done. Exposure state = 0
2025-12-21T20:28:29.585 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:29.593 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:29.805 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 5 of 100
2025-12-21T20:28:29.809 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341709.8092642
2025-12-21T20:28:29.810 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:44.12230689', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.26449283', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9338', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3730790942127', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:30.074 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 5 of 100 done. Exposure state = 0
2025-12-21T20:28:30.074 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:30.081 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:30.294 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 6 of 100
2025-12-21T20:28:30.297 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341710.2979329
2025-12-21T20:28:30.299 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:44.12230689', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.26449283', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9338', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3730790942127', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:30.562 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 6 of 100 done. Exposure state = 0
2025-12-21T20:28:30.563 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:30.587 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:30.821 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 7 of 100
2025-12-21T20:28:30.824 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341710.8249052
2025-12-21T20:28:30.826 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:45.63514686', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.21066166', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9401', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3771544676015', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:31.037 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Waiting for call to WCS after acquire_target to complete
2025-12-21T20:28:31.089 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 7 of 100 done. Exposure state = 0
2025-12-21T20:28:31.090 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:31.097 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:31.310 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 8 of 100
2025-12-21T20:28:31.313 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341711.3137486
2025-12-21T20:28:31.315 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:45.63514686', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.21066166', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9401', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3771544676015', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:31.579 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 8 of 100 done. Exposure state = 0
2025-12-21T20:28:31.579 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:31.585 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:31.799 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 9 of 100
2025-12-21T20:28:31.802 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341711.8027978
2025-12-21T20:28:31.804 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:45.63514686', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.21066166', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9401', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3001', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3771544676015', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:32.067 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 9 of 100 done. Exposure state = 0
2025-12-21T20:28:32.067 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:32.091 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:32.325 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 10 of 100
2025-12-21T20:28:32.329 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341712.3292587
2025-12-21T20:28:32.330 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:47.14942712', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.15677731', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9465', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:32.594 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 10 of 100 done. Exposure state = 0
2025-12-21T20:28:32.594 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:32.601 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:32.815 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 11 of 100
2025-12-21T20:28:32.818 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341712.8183348
2025-12-21T20:28:32.819 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:47.14942712', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.15677731', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9465', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:33.082 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 11 of 100 done. Exposure state = 0
2025-12-21T20:28:33.082 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:33.089 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:33.304 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 12 of 100
2025-12-21T20:28:33.308 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341713.308108
2025-12-21T20:28:33.309 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:47.14942712', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.15677731', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9465', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3751167809073', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:33.572 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 12 of 100 done. Exposure state = 0
2025-12-21T20:28:33.572 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:33.579 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:33.830 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 13 of 100
2025-12-21T20:28:33.834 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341713.8342574
2025-12-21T20:28:33.835 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:48.56071457', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.10655614', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9523', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.360852974045', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:34.098 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 13 of 100 done. Exposure state = 0
2025-12-21T20:28:34.098 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:34.105 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:34.320 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 14 of 100
2025-12-21T20:28:34.323 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341714.3236377
2025-12-21T20:28:34.324 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:48.56071457', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.10655614', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9523', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.360852974045', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:34.588 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 14 of 100 done. Exposure state = 0
2025-12-21T20:28:34.589 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:34.616 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:34.846 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 15 of 100
2025-12-21T20:28:34.849 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341714.8498366
2025-12-21T20:28:34.851 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:49.6691459', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.06711105', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.957', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3720602508656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:35.113 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 15 of 100 done. Exposure state = 0
2025-12-21T20:28:35.113 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:35.120 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:35.335 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 16 of 100
2025-12-21T20:28:35.339 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341715.3390028
2025-12-21T20:28:35.340 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:49.6691459', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.06711105', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.957', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3720602508656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:35.603 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 16 of 100 done. Exposure state = 0
2025-12-21T20:28:35.604 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:35.610 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:35.861 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 17 of 100
2025-12-21T20:28:35.863 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341715.8634017
2025-12-21T20:28:35.863 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:49.6691459', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.06711105', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.957', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3720602508656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:27:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.17', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='12.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:36.121 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 17 of 100 done. Exposure state = 0
2025-12-21T20:28:36.122 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:36.150 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:36.351 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 18 of 100
2025-12-21T20:28:36.354 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341716.3545105
2025-12-21T20:28:36.355 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:51.14777442', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.01449036', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9631', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3598341306974', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:36.618 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 18 of 100 done. Exposure state = 0
2025-12-21T20:28:36.622 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:36.629 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:36.838 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 19 of 100
2025-12-21T20:28:36.840 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341716.8407528
2025-12-21T20:28:36.841 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:51.14777442', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.01449036', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9631', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3598341306974', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:37.099 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 19 of 100 done. Exposure state = 0
2025-12-21T20:28:37.099 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:37.106 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:37.329 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 20 of 100
2025-12-21T20:28:37.333 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341717.3330395
2025-12-21T20:28:37.334 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:51.14777442', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:18:00.01449036', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9631', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3598341306974', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:37.597 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 20 of 100 done. Exposure state = 0
2025-12-21T20:28:37.598 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:37.604 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:37.854 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 21 of 100
2025-12-21T20:28:37.856 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341717.8562253
2025-12-21T20:28:37.856 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:52.25908646', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.97494033', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9677', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.371041407519', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:38.112 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 21 of 100 done. Exposure state = 0
2025-12-21T20:28:38.113 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:38.118 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:38.345 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 22 of 100
2025-12-21T20:28:38.348 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341718.3487494
2025-12-21T20:28:38.349 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:52.25908646', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.97494033', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9677', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.371041407519', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:38.613 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 22 of 100 done. Exposure state = 0
2025-12-21T20:28:38.613 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:38.637 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:38.872 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 23 of 100
2025-12-21T20:28:38.875 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341718.8752391
2025-12-21T20:28:38.876 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:53.67145373', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.92467469', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9736', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3598341306974', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:39.138 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 23 of 100 done. Exposure state = 0
2025-12-21T20:28:39.139 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:39.146 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:39.361 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 24 of 100
2025-12-21T20:28:39.364 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341719.3647938
2025-12-21T20:28:39.366 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:53.67145373', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.92467469', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9736', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3598341306974', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:39.629 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 24 of 100 done. Exposure state = 0
2025-12-21T20:28:39.629 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:39.634 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:39.850 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 25 of 100
2025-12-21T20:28:39.853 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341719.8535657
2025-12-21T20:28:39.854 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:53.67145373', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.92467469', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9736', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3598341306974', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:40.117 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 25 of 100 done. Exposure state = 0
2025-12-21T20:28:40.117 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:40.141 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:40.339 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 26 of 100
2025-12-21T20:28:40.342 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341720.3429108
2025-12-21T20:28:40.344 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:55.18393255', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.87084425', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9799', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:40.551 [INFO] [Dummy-21930] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:28:40.568 [INFO] [Dummy-21926] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:28:40.607 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 26 of 100 done. Exposure state = 0
2025-12-21T20:28:40.608 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:40.615 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:40.828 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 27 of 100
2025-12-21T20:28:40.832 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341720.8322875
2025-12-21T20:28:40.833 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:55.18393255', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.87084425', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9799', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:41.094 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 27 of 100 done. Exposure state = 0
2025-12-21T20:28:41.095 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:41.097 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:41.318 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 28 of 100
2025-12-21T20:28:41.321 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341721.3217938
2025-12-21T20:28:41.323 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:55.18393255', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.87084425', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9799', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:41.587 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 28 of 100 done. Exposure state = 0
2025-12-21T20:28:41.587 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:41.594 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:41.806 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 29 of 100
2025-12-21T20:28:41.810 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341721.8103557
2025-12-21T20:28:41.811 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:56.3917548', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.82785543', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.985', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3618718173943', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:42.074 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 29 of 100 done. Exposure state = 0
2025-12-21T20:28:42.074 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:42.081 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:42.295 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 30 of 100
2025-12-21T20:28:42.299 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341722.299114
2025-12-21T20:28:42.300 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:56.3917548', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.82785543', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.985', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.3', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3618718173943', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:42.564 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 30 of 100 done. Exposure state = 0
2025-12-21T20:28:42.564 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:42.592 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:42.822 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 31 of 100
2025-12-21T20:28:42.826 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341722.8261087
2025-12-21T20:28:42.827 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:57.66871883', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.78240439', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9903', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.362890660742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:43.090 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 31 of 100 done. Exposure state = 0
2025-12-21T20:28:43.090 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:43.097 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:43.310 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 32 of 100
2025-12-21T20:28:43.312 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341723.3123224
2025-12-21T20:28:43.312 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:57.66871883', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.78240439', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9903', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.362890660742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:43.568 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 32 of 100 done. Exposure state = 0
2025-12-21T20:28:43.568 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:43.570 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:43.800 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 33 of 100
2025-12-21T20:28:43.804 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341723.8044674
2025-12-21T20:28:43.805 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:57.66871883', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.78240439', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9903', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.362890660742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:44.068 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 33 of 100 done. Exposure state = 0
2025-12-21T20:28:44.068 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:44.093 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:44.327 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 34 of 100
2025-12-21T20:28:44.331 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341724.3310244
2025-12-21T20:28:44.332 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:59.18227755', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.72853045', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9966', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3486268538795', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:44.596 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 34 of 100 done. Exposure state = 0
2025-12-21T20:28:44.596 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:44.603 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:44.816 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 35 of 100
2025-12-21T20:28:44.820 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341724.820501
2025-12-21T20:28:44.821 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:51:59.18227755', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.72853045', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='72.9966', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3486268538795', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:45.085 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 35 of 100 done. Exposure state = 0
2025-12-21T20:28:45.085 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:45.109 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:45.343 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 36 of 100
2025-12-21T20:28:45.346 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341725.346319
2025-12-21T20:28:45.347 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:00.19239695', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.69257497', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0008', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:45.610 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 36 of 100 done. Exposure state = 0
2025-12-21T20:28:45.611 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:45.617 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:45.832 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 37 of 100
2025-12-21T20:28:45.835 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341725.8354857
2025-12-21T20:28:45.836 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:00.19239695', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.69257497', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0008', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:46.099 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 37 of 100 done. Exposure state = 0
2025-12-21T20:28:46.099 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:46.106 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:46.398 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 37 of 100 done. Exposure state = 0
2025-12-21T20:28:46.399 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:46.399 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 38 of 100
2025-12-21T20:28:46.403 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341726.4030514
2025-12-21T20:28:46.404 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:00.19239695', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.69257497', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0008', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:46.425 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:46.622 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 91 of 100
2025-12-21T20:28:46.625 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341726.6258864
2025-12-21T20:28:46.627 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:01.50321133', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.64591491', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0063', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.360852974045', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:46.890 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 91 of 100 done. Exposure state = 0
2025-12-21T20:28:46.890 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:46.897 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:47.111 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 92 of 100
2025-12-21T20:28:47.114 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341727.1146936
2025-12-21T20:28:47.115 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:01.50321133', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.64591491', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0063', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.360852974045', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:47.379 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 92 of 100 done. Exposure state = 0
2025-12-21T20:28:47.379 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:47.386 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:47.601 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 93 of 100
2025-12-21T20:28:47.604 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341727.6046934
2025-12-21T20:28:47.606 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:01.50321133', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.64591491', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0063', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.360852974045', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:47.870 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 93 of 100 done. Exposure state = 0
2025-12-21T20:28:47.870 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:47.877 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:48.087 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 94 of 100
2025-12-21T20:28:48.089 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341728.0897157
2025-12-21T20:28:48.090 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:02.61164163', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.60645783', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0109', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3516833839208', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:48.348 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 94 of 100 done. Exposure state = 0
2025-12-21T20:28:48.349 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:48.356 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:48.578 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 95 of 100
2025-12-21T20:28:48.582 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341728.5819566
2025-12-21T20:28:48.583 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:02.61164163', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.60645783', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0109', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3516833839208', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:48.846 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 95 of 100 done. Exposure state = 0
2025-12-21T20:28:48.846 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:48.872 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:49.105 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 96 of 100
2025-12-21T20:28:49.108 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341729.1088629
2025-12-21T20:28:49.110 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:03.99087739', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.55735938', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0166', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.352702227268', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:49.372 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 96 of 100 done. Exposure state = 0
2025-12-21T20:28:49.373 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:49.380 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:49.594 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 97 of 100
2025-12-21T20:28:49.597 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341729.5974293
2025-12-21T20:28:49.598 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:03.99087739', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.55735938', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0166', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.352702227268', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:49.862 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 97 of 100 done. Exposure state = 0
2025-12-21T20:28:49.862 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:49.869 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:50.083 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 98 of 100
2025-12-21T20:28:50.086 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341730.086651
2025-12-21T20:28:50.087 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:03.99087739', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.55735938', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0166', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.352702227268', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991983', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:50.350 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 98 of 100 done. Exposure state = 0
2025-12-21T20:28:50.350 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:50.372 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:50.610 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 99 of 100
2025-12-21T20:28:50.613 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341730.61351
2025-12-21T20:28:50.614 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:05.50839668', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.50333645', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.023', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.360852974045', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:50.878 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 99 of 100 done. Exposure state = 0
2025-12-21T20:28:50.878 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:50.885 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:51.127 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 100 of 100
2025-12-21T20:28:51.129 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341731.1294909
2025-12-21T20:28:51.129 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:05.50839668', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.50333645', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.023', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.360852974045', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:51.388 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 100 of 100 done. Exposure state = 0
2025-12-21T20:28:51.388 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:51.415 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:51.683 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 100 of 100 done. Exposure state = 0
2025-12-21T20:28:51.683 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:51.690 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:51.890 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 39 of 100
2025-12-21T20:28:51.893 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341731.893325
2025-12-21T20:28:51.894 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:06.51959596', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.46733718', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0272', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.362890660742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:52.157 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 39 of 100 done. Exposure state = 0
2025-12-21T20:28:52.157 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:52.164 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:52.379 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 40 of 100
2025-12-21T20:28:52.382 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341732.3821716
2025-12-21T20:28:52.383 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:06.51959596', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.46733718', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0272', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2999', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.362890660742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:52.645 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 40 of 100 done. Exposure state = 0
2025-12-21T20:28:52.646 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:52.671 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:52.905 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 41 of 100
2025-12-21T20:28:52.909 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341732.9094636
2025-12-21T20:28:52.910 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:07.73029815', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.42423438', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0322', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3506645405737', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:53.173 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 41 of 100 done. Exposure state = 0
2025-12-21T20:28:53.173 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:53.180 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:53.394 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 42 of 100
2025-12-21T20:28:53.397 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341733.3978865
2025-12-21T20:28:53.399 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:07.73029815', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.42423438', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0322', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3506645405737', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:53.661 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 42 of 100 done. Exposure state = 0
2025-12-21T20:28:53.661 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:53.668 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:53.884 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 43 of 100
2025-12-21T20:28:53.887 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341733.8874562
2025-12-21T20:28:53.888 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:07.73029815', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.42423438', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0322', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3506645405737', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:54.151 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 43 of 100 done. Exposure state = 0
2025-12-21T20:28:54.151 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:54.176 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:54.410 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 44 of 100
2025-12-21T20:28:54.413 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341734.413626
2025-12-21T20:28:54.414 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:09.31407794', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.3678476', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0388', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:54.677 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 44 of 100 done. Exposure state = 0
2025-12-21T20:28:54.677 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:54.684 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:54.900 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 45 of 100
2025-12-21T20:28:54.903 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341734.903634
2025-12-21T20:28:54.904 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:09.31407794', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.3678476', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0388', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:55.167 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 45 of 100 done. Exposure state = 0
2025-12-21T20:28:55.168 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:55.175 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:55.388 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 46 of 100
2025-12-21T20:28:55.392 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341735.3922293
2025-12-21T20:28:55.393 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:09.31407794', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.3678476', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0388', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:55.656 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 46 of 100 done. Exposure state = 0
2025-12-21T20:28:55.656 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:55.663 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:55.877 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 47 of 100
2025-12-21T20:28:55.881 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341735.8811631
2025-12-21T20:28:55.882 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:10.72932439', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.31745929', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.355758757309', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:56.145 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 47 of 100 done. Exposure state = 0
2025-12-21T20:28:56.145 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:56.152 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:56.366 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 48 of 100
2025-12-21T20:28:56.370 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341736.3701315
2025-12-21T20:28:56.371 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:10.72932439', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.31745929', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.355758757309', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:56.633 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 48 of 100 done. Exposure state = 0
2025-12-21T20:28:56.633 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:56.662 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:56.894 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 49 of 100
2025-12-21T20:28:56.897 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341736.8973854
2025-12-21T20:28:56.898 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:11.7405233', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.28145563', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0489', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3506645405737', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:57.161 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 49 of 100 done. Exposure state = 0
2025-12-21T20:28:57.161 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:57.168 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:57.382 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 50 of 100
2025-12-21T20:28:57.386 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341737.386156
2025-12-21T20:28:57.387 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:11.7405233', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.28145563', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0489', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3506645405737', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:57.650 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 50 of 100 done. Exposure state = 0
2025-12-21T20:28:57.650 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:57.657 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:57.871 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 51 of 100
2025-12-21T20:28:57.875 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341737.8751316
2025-12-21T20:28:57.876 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:11.7405233', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.28145563', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0489', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3506645405737', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:58.136 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 51 of 100 done. Exposure state = 0
2025-12-21T20:28:58.136 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:58.158 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:58.360 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 52 of 100
2025-12-21T20:28:58.364 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341738.364013
2025-12-21T20:28:58.365 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:13.25516084', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.22752548', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0552', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3598341306974', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:58.628 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 52 of 100 done. Exposure state = 0
2025-12-21T20:28:58.628 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:58.635 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:58.925 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 53 of 100
2025-12-21T20:28:58.928 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341738.9289157
2025-12-21T20:28:58.930 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:13.25516084', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.22752548', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0552', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3598341306974', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:59.192 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 53 of 100 done. Exposure state = 0
2025-12-21T20:28:59.193 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:59.218 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:59.452 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 54 of 100
2025-12-21T20:28:59.455 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341739.4557457
2025-12-21T20:28:59.457 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:14.33226033', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.18917313', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0597', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.362890660742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:28:59.720 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 54 of 100 done. Exposure state = 0
2025-12-21T20:28:59.720 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:28:59.727 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:28:59.941 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 55 of 100
2025-12-21T20:28:59.944 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341739.9447243
2025-12-21T20:28:59.946 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:14.33226033', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.18917313', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0597', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.362890660742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:00.208 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 55 of 100 done. Exposure state = 0
2025-12-21T20:29:00.209 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:00.215 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:00.429 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 56 of 100
2025-12-21T20:29:00.433 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341740.433513
2025-12-21T20:29:00.434 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:14.33226033', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.18917313', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0597', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.362890660742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:00.697 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 56 of 100 done. Exposure state = 0
2025-12-21T20:29:00.698 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:00.723 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:00.994 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 57 of 100
2025-12-21T20:29:00.998 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341740.998114
2025-12-21T20:29:00.999 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:15.84905827', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.13516278', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.066', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:01.141 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Done calling go_WCS after acquire_target
2025-12-21T20:29:01.141 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Nudging the telescope to the magic pixel
2025-12-21T20:29:01.141 [DEBUG] [Dummy-21918] [instrument.py] [nudge_to_slit()] Target RA 07:45:45 = 419175.0 arcseconds
2025-12-21T20:29:01.141 [DEBUG] [Dummy-21918] [instrument.py] [nudge_to_slit()] Target dec -23:08:35 = -83315.0 arcseconds
2025-12-21T20:29:01.141 [DEBUG] [Dummy-21918] [instrument.py] [nudge_to_slit()] Magic pixel:  616, 585
2025-12-21T20:29:01.158 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Started nudging the telescope to the magic pixel
2025-12-21T20:29:01.262 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 57 of 100 done. Exposure state = 0
2025-12-21T20:29:01.263 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:01.270 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:01.483 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 58 of 100
2025-12-21T20:29:01.486 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341741.4869368
2025-12-21T20:29:01.488 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:15.84905827', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.13516278', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.066', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2998', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:01.751 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 58 of 100 done. Exposure state = 0
2025-12-21T20:29:01.751 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:01.775 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:02.009 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 59 of 100
2025-12-21T20:29:02.013 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341742.012965
2025-12-21T20:29:02.014 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:16.8598967', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.09916763', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0702', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.358815287351', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:02.277 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 59 of 100 done. Exposure state = 0
2025-12-21T20:29:02.277 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:02.285 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:02.498 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 60 of 100
2025-12-21T20:29:02.502 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341742.5019786
2025-12-21T20:29:02.503 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:16.8598967', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.09916763', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0702', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.358815287351', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:02.766 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 60 of 100 done. Exposure state = 0
2025-12-21T20:29:02.766 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:02.773 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:03.063 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 61 of 100
2025-12-21T20:29:03.066 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341743.0669212
2025-12-21T20:29:03.068 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:16.8598967', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.09916763', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0702', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.358815287351', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:03.331 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 61 of 100 done. Exposure state = 0
2025-12-21T20:29:03.331 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:03.338 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:03.552 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 62 of 100
2025-12-21T20:29:03.556 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341743.556109
2025-12-21T20:29:03.557 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:18.27334182', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.04883456', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0761', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3476080105324', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:03.820 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 62 of 100 done. Exposure state = 0
2025-12-21T20:29:03.821 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:03.827 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:04.041 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 63 of 100
2025-12-21T20:29:04.045 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341744.0454328
2025-12-21T20:29:04.046 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:18.27334182', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.04883456', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0761', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3476080105324', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:04.309 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 63 of 100 done. Exposure state = 0
2025-12-21T20:29:04.309 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:04.338 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:04.568 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 64 of 100
2025-12-21T20:29:04.571 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341744.5714643
2025-12-21T20:29:04.572 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:19.45271312', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.00683563', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0811', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.343532637144', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:04.835 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 64 of 100 done. Exposure state = 0
2025-12-21T20:29:04.836 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:04.842 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:05.132 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 65 of 100
2025-12-21T20:29:05.135 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341745.1358497
2025-12-21T20:29:05.137 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:19.45271312', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:59.00683563', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0811', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.343532637144', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:05.400 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 65 of 100 done. Exposure state = 0
2025-12-21T20:29:05.400 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:05.425 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:05.569 [INFO] [Dummy-21931] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:29:05.582 [INFO] [Dummy-21926] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:29:05.659 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 66 of 100
2025-12-21T20:29:05.662 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341745.6623259
2025-12-21T20:29:05.663 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:20.56618358', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.96718245', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0857', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:05.926 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 66 of 100 done. Exposure state = 0
2025-12-21T20:29:05.927 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:05.933 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:06.148 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 67 of 100
2025-12-21T20:29:06.151 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341746.1517131
2025-12-21T20:29:06.153 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:20.56618358', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.96718245', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0857', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:06.160 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Taking image to check success
2025-12-21T20:29:06.160 [INFO] [Dummy-21918] [instrument.py] [start_exposure()] start_exposure called with fits_info = []
2025-12-21T20:29:06.160 [INFO] [Dummy-21918] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T20:29:06.161 [DEBUG] [Dummy-21918] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T20:29:06.161 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T20:29:06.161 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T20:29:06.166 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 100 exposures
2025-12-21T20:29:06.166 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:06.173 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:06.373 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 100 exposures
2025-12-21T20:29:06.374 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 100
2025-12-21T20:29:06.377 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341746.3776765
2025-12-21T20:29:06.378 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:20.56618358', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.96718245', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0857', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:06.642 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 100 done. Exposure state = 0
2025-12-21T20:29:06.642 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:06.667 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:06.900 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 100
2025-12-21T20:29:06.904 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341746.9039986
2025-12-21T20:29:06.905 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:21.77904522', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.92398855', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0907', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:07.168 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 100 done. Exposure state = 0
2025-12-21T20:29:07.169 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:07.175 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:07.389 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 100
2025-12-21T20:29:07.393 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341747.3931038
2025-12-21T20:29:07.394 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:21.77904522', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.92398855', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0907', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:07.657 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 100 done. Exposure state = 0
2025-12-21T20:29:07.657 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:07.664 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:07.667 [DEBUG] [Dummy-21918] [instrument.py] [acquire_target()] Waiting for exposure to complete
2025-12-21T20:29:07.671 [INFO] [Dummy-21918] [instrument.py] [acquire_target()] Calling go_WCS again after acquire_target
2025-12-21T20:29:07.671 [ERROR] [Dummy-21918] [instrument.py] [go_WCS()] Error connecting to host 127.0.0.1 on port 12365: [Errno 111] Connection refused
2025-12-21T20:29:07.954 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 4 of 100
2025-12-21T20:29:07.957 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341747.957852
2025-12-21T20:29:07.959 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:21.77904522', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.92398855', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0907', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.353721070615', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:08.219 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 4 of 100 done. Exposure state = 0
2025-12-21T20:29:08.219 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:08.221 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:08.416 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 4 of 100 done. Exposure state = 0
2025-12-21T20:29:08.416 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:08.418 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:08.442 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 5 of 100
2025-12-21T20:29:08.444 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341748.4443092
2025-12-21T20:29:08.444 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:22.99046631', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.88084474', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0958', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3547399139625', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:08.667 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 68 of 100
2025-12-21T20:29:08.668 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341748.668887
2025-12-21T20:29:08.669 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:22.99046631', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.88084474', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.0958', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3547399139625', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:08.924 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 68 of 100 done. Exposure state = 0
2025-12-21T20:29:08.924 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:08.940 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:09.156 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 69 of 100
2025-12-21T20:29:09.158 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341749.1582305
2025-12-21T20:29:09.158 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:24.06792516', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.84247085', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1003', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3404761071', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:09.417 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 69 of 100 done. Exposure state = 0
2025-12-21T20:29:09.417 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:09.425 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:09.646 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 70 of 100
2025-12-21T20:29:09.648 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341749.6482866
2025-12-21T20:29:09.648 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:24.06792516', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.84247085', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1003', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3404761071', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:09.906 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 70 of 100 done. Exposure state = 0
2025-12-21T20:29:09.907 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:09.914 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:10.136 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 71 of 100
2025-12-21T20:29:10.140 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341750.1406782
2025-12-21T20:29:10.142 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:24.06792516', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.84247085', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1003', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3404761071', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:10.403 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 71 of 100 done. Exposure state = 0
2025-12-21T20:29:10.403 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:10.427 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:10.662 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 72 of 100
2025-12-21T20:29:10.665 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341750.6658986
2025-12-21T20:29:10.667 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:25.58544227', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.78842258', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1066', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.343532637144', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:10.930 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 72 of 100 done. Exposure state = 0
2025-12-21T20:29:10.931 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:10.937 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:11.152 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 73 of 100
2025-12-21T20:29:11.156 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341751.1561866
2025-12-21T20:29:11.157 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:25.58544227', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.78842258', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1066', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.343532637144', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:11.420 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 73 of 100 done. Exposure state = 0
2025-12-21T20:29:11.420 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:11.443 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:11.679 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 74 of 100
2025-12-21T20:29:11.682 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341751.6822867
2025-12-21T20:29:11.683 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:26.59520445', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.777657', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1108', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3506645405737', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:11.947 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 74 of 100 done. Exposure state = 0
2025-12-21T20:29:11.947 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:11.954 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:12.168 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 75 of 100
2025-12-21T20:29:12.171 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341752.1713245
2025-12-21T20:29:12.172 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:26.59520445', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.777657', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1108', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2997', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3506645405737', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:12.435 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 75 of 100 done. Exposure state = 0
2025-12-21T20:29:12.436 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:12.457 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:12.657 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 76 of 100
2025-12-21T20:29:12.660 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341752.6606615
2025-12-21T20:29:12.661 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:27.6035165', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.71654337', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.115', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:12.925 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 76 of 100 done. Exposure state = 0
2025-12-21T20:29:12.926 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:12.932 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:13.146 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 77 of 100
2025-12-21T20:29:13.150 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341753.1501305
2025-12-21T20:29:13.151 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:27.6035165', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.71654337', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.115', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:13.415 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 77 of 100 done. Exposure state = 0
2025-12-21T20:29:13.415 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:13.422 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:13.635 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 78 of 100
2025-12-21T20:29:13.639 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341753.6390097
2025-12-21T20:29:13.640 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:27.6035165', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.71654337', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.115', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:13.903 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 78 of 100 done. Exposure state = 0
2025-12-21T20:29:13.903 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:13.910 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:14.124 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 79 of 100
2025-12-21T20:29:14.128 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341754.1280332
2025-12-21T20:29:14.129 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:28.88443891', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.67091807', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1204', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3374195770584', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:14.391 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 79 of 100 done. Exposure state = 0
2025-12-21T20:29:14.392 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:14.399 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:14.614 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 80 of 100
2025-12-21T20:29:14.617 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341754.617353
2025-12-21T20:29:14.618 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:28.88443891', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.67091807', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1204', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3374195770584', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:14.879 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 80 of 100 done. Exposure state = 0
2025-12-21T20:29:14.879 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:14.904 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:15.140 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 81 of 100
2025-12-21T20:29:15.143 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341755.1438355
2025-12-21T20:29:15.145 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:30.09729983', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.62771581', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1254', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.356777600656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:15.407 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 81 of 100 done. Exposure state = 0
2025-12-21T20:29:15.408 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:15.414 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:15.705 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 82 of 100
2025-12-21T20:29:15.708 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341755.7088804
2025-12-21T20:29:15.710 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:30.09729983', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.62771581', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1254', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.356777600656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:15.718 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 82 of 100 done. Exposure state = 0
2025-12-21T20:29:15.718 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:15.726 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:15.930 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 6 of 100
2025-12-21T20:29:15.934 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341755.9341197
2025-12-21T20:29:15.935 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:30.09729983', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.62771581', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1254', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.356777600656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:16.198 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 6 of 100 done. Exposure state = 0
2025-12-21T20:29:16.198 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:16.222 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:16.457 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 7 of 100
2025-12-21T20:29:16.460 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341756.4608374
2025-12-21T20:29:16.462 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:31.40811139', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.58102315', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1309', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3547399139625', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:16.725 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 7 of 100 done. Exposure state = 0
2025-12-21T20:29:16.725 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:16.732 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:16.946 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 8 of 100
2025-12-21T20:29:16.949 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341756.9498804
2025-12-21T20:29:16.951 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:31.40811139', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.58102315', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1309', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3547399139625', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:17.214 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 8 of 100 done. Exposure state = 0
2025-12-21T20:29:17.215 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:17.221 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:17.435 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 9 of 100
2025-12-21T20:29:17.438 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341757.4386299
2025-12-21T20:29:17.439 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:31.40811139', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.58102315', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1309', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3547399139625', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:17.700 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 9 of 100 done. Exposure state = 0
2025-12-21T20:29:17.700 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:17.703 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:17.925 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 10 of 100
2025-12-21T20:29:17.928 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341757.9286292
2025-12-21T20:29:17.929 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:32.51761965', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.54150004', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1355', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3425137937966', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:18.191 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 10 of 100 done. Exposure state = 0
2025-12-21T20:29:18.191 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:18.195 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:18.412 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 11 of 100
2025-12-21T20:29:18.414 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341758.414472
2025-12-21T20:29:18.414 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:32.51761965', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.54150004', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1355', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3425137937966', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:18.673 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 11 of 100 done. Exposure state = 0
2025-12-21T20:29:18.673 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:18.701 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:18.902 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 12 of 100
2025-12-21T20:29:18.906 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341758.9060376
2025-12-21T20:29:18.907 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:33.89685246', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.49236732', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1412', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3404761071', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:19.170 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 12 of 100 done. Exposure state = 0
2025-12-21T20:29:19.171 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:19.178 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:19.392 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 13 of 100
2025-12-21T20:29:19.395 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341759.3956273
2025-12-21T20:29:19.396 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:33.89685246', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.49236732', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1412', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3404761071', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:19.659 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 13 of 100 done. Exposure state = 0
2025-12-21T20:29:19.659 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:19.666 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:19.918 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 14 of 100
2025-12-21T20:29:19.922 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341759.9222105
2025-12-21T20:29:19.923 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:33.89685246', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.49236732', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1412', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3404761071', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:20.186 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 14 of 100 done. Exposure state = 0
2025-12-21T20:29:20.186 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:20.213 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:20.445 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 15 of 100
2025-12-21T20:29:20.449 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341760.4492328
2025-12-21T20:29:20.450 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:35.41436849', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.43830669', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1476', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.341494950447', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:20.713 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 15 of 100 done. Exposure state = 0
2025-12-21T20:29:20.713 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:20.720 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:20.934 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 16 of 100
2025-12-21T20:29:20.937 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341760.9378083
2025-12-21T20:29:20.939 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:35.41436849', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.43830669', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1476', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.341494950447', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:21.202 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 16 of 100 done. Exposure state = 0
2025-12-21T20:29:21.202 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:21.209 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:21.423 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 17 of 100
2025-12-21T20:29:21.427 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341761.4269993
2025-12-21T20:29:21.428 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:35.41436849', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.43830669', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1476', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.341494950447', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:21.690 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 17 of 100 done. Exposure state = 0
2025-12-21T20:29:21.691 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:21.697 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:21.982 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 17 of 100 done. Exposure state = 0
2025-12-21T20:29:21.982 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:21.989 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:21.993 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 18 of 100
2025-12-21T20:29:21.997 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341761.997269
2025-12-21T20:29:21.998 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:36.82853196', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.38792621', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1535', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:22.214 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 83 of 100
2025-12-21T20:29:22.217 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341762.2177198
2025-12-21T20:29:22.219 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:36.82853196', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.38792621', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1535', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:22.482 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 83 of 100 done. Exposure state = 0
2025-12-21T20:29:22.482 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:22.488 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:22.703 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 84 of 100
2025-12-21T20:29:22.706 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341762.7064114
2025-12-21T20:29:22.707 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:36.82853196', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.38792621', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1535', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2996', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3455703238383', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:22.970 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 84 of 100 done. Exposure state = 0
2025-12-21T20:29:22.970 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:22.994 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:23.229 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 85 of 100
2025-12-21T20:29:23.233 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341763.2331965
2025-12-21T20:29:23.234 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:38.20884468', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.33875009', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1592', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3465891671854', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:23.497 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 85 of 100 done. Exposure state = 0
2025-12-21T20:29:23.498 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:23.504 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:23.718 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 86 of 100
2025-12-21T20:29:23.721 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341763.7218375
2025-12-21T20:29:23.723 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:38.20884468', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.33875009', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1592', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3465891671854', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:23.986 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 86 of 100 done. Exposure state = 0
2025-12-21T20:29:23.987 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:23.994 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:24.070 [INFO] [Dummy-21932] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet OPEN data {'sid': 'Q_Eo73kFfdNIHZ1WAAA-', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T20:29:24.089 [INFO] [Dummy-21932] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet MESSAGE data 0
2025-12-21T20:29:24.090 [INFO] [Dummy-21932] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data 0{"sid":"4nitIMg7IdE4TL3oAAA_"}
2025-12-21T20:29:24.111 [INFO] [Dummy-21933] [socket.py] [handle_get_request()] Q_Eo73kFfdNIHZ1WAAA-: Received request to upgrade to websocket
2025-12-21T20:29:24.263 [INFO] [Dummy-21934] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet MESSAGE data 2["data"]
2025-12-21T20:29:24.263 [INFO] [Dummy-21934] [server.py] [_handle_event()] received event "data" from 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:24.266 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 86 of 100 done. Exposure state = 0
2025-12-21T20:29:24.266 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:24.274 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:24.423 [INFO] [Dummy-21935] [server.py] [emit()] emitting event "data" to 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:24.423 [INFO] [Dummy-21935] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T20:29:24.423 [INFO] [Dummy-21935] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data <binary>
2025-12-21T20:29:24.498 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 87 of 100
2025-12-21T20:29:24.500 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341764.500167
2025-12-21T20:29:24.500 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:38.20884468', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.33875009', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1592', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3465891671854', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:24.658 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 19 of 100
2025-12-21T20:29:24.660 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341764.6608484
2025-12-21T20:29:24.661 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:39.42170479', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.29553846', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1643', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3445514804907', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:24.921 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 19 of 100 done. Exposure state = 0
2025-12-21T20:29:24.922 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:24.928 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:25.148 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 20 of 100
2025-12-21T20:29:25.151 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341765.151895
2025-12-21T20:29:25.153 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:39.42170479', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.29553846', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1643', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3445514804907', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:25.416 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 20 of 100 done. Exposure state = 0
2025-12-21T20:29:25.416 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:25.424 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:25.638 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 21 of 100
2025-12-21T20:29:25.641 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341765.6414223
2025-12-21T20:29:25.642 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:40.53409332', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.25590535', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1689', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3476080105324', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:25.906 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 21 of 100 done. Exposure state = 0
2025-12-21T20:29:25.906 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:25.913 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:26.201 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 22 of 100
2025-12-21T20:29:26.204 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341766.2040045
2025-12-21T20:29:26.204 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:40.53409332', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.25590535', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1689', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3476080105324', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:26.465 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 22 of 100 done. Exposure state = 0
2025-12-21T20:29:26.465 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:26.476 [WARNING] [Dummy-21934] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff79d3b6360>>. Trying to reconnect
2025-12-21T20:29:26.478 [WARNING] [start_exposure_worker] [client.py] [get_status()] Unable to get status: unexpected exception. Trying to reconnect
2025-12-21T20:29:26.612 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:26.758 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 22 of 100 done. Exposure state = 0
2025-12-21T20:29:26.759 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:26.770 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:26.920 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 23 of 100
2025-12-21T20:29:26.924 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341766.9242527
2025-12-21T20:29:26.925 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:41.74551277', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.21274271', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1739', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3374195770584', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:27.067 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 88 of 100
2025-12-21T20:29:27.070 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341767.070922
2025-12-21T20:29:27.072 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:41.74551277', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.21274271', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1739', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3374195770584', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:27.334 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 88 of 100 done. Exposure state = 0
2025-12-21T20:29:27.334 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:27.341 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:27.559 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 89 of 100
2025-12-21T20:29:27.562 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341767.562885
2025-12-21T20:29:27.564 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:41.74551277', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.21274271', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1739', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3374195770584', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:27.734 [INFO] [Dummy-21934] [instrument.py] [send_guide_command()] Sending command Guide_off to host 127.0.0.1 on port 12360
2025-12-21T20:29:27.735 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Creating socket to 127.0.0.1
2025-12-21T20:29:27.735 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Connected to 127.0.0.1 on port 12360
2025-12-21T20:29:27.827 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 89 of 100 done. Exposure state = 0
2025-12-21T20:29:27.827 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:27.835 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:28.044 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 90 of 100
2025-12-21T20:29:28.046 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341768.0461388
2025-12-21T20:29:28.046 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:42.85393987', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.1732486', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1786', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:28.189 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 90 of 100 done. Exposure state = 0
2025-12-21T20:29:28.189 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:28.192 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:28.305 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 90 of 100 done. Exposure state = 0
2025-12-21T20:29:28.305 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:28.313 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:28.498 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 24 of 100
2025-12-21T20:29:28.501 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341768.5012555
2025-12-21T20:29:28.502 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:42.85393987', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.1732486', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1786', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:28.647 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 91 of 100
2025-12-21T20:29:28.651 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341768.6509714
2025-12-21T20:29:28.652 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:42.85393987', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.1732486', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1786', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:28.913 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 91 of 100 done. Exposure state = 0
2025-12-21T20:29:28.914 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:28.921 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:29.137 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 92 of 100
2025-12-21T20:29:29.140 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341769.1407237
2025-12-21T20:29:29.141 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:44.13306032', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.1276713', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1839', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.332325360323', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:29.232 [INFO] [Dummy-21936] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet MESSAGE data 2["data"]
2025-12-21T20:29:29.232 [INFO] [Dummy-21936] [server.py] [_handle_event()] received event "data" from 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:29.373 [INFO] [Dummy-21937] [server.py] [emit()] emitting event "data" to 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:29.373 [INFO] [Dummy-21937] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T20:29:29.373 [INFO] [Dummy-21937] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data <binary>
2025-12-21T20:29:29.451 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 92 of 100 done. Exposure state = 0
2025-12-21T20:29:29.451 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:29.453 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:29.663 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 93 of 100
2025-12-21T20:29:29.667 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341769.6672184
2025-12-21T20:29:29.668 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:44.13306032', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.1276713', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1839', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.332325360323', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:29.931 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 93 of 100 done. Exposure state = 0
2025-12-21T20:29:29.931 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:29.960 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:30.190 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 94 of 100
2025-12-21T20:29:30.193 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341770.1939316
2025-12-21T20:29:30.195 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:45.14209613', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.09171662', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1881', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3425137937966', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:30.457 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 94 of 100 done. Exposure state = 0
2025-12-21T20:29:30.458 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:30.465 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:30.584 [INFO] [Dummy-21938] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:29:30.601 [INFO] [Dummy-21939] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:29:30.680 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 95 of 100
2025-12-21T20:29:30.683 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341770.6836388
2025-12-21T20:29:30.684 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:45.14209613', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.09171662', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1881', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3425137937966', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:30.736 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Sending command Guide_off
2025-12-21T20:29:30.736 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Sent command Guide_off
2025-12-21T20:29:30.948 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 95 of 100 done. Exposure state = 0
2025-12-21T20:29:30.948 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:30.955 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:31.171 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 96 of 100
2025-12-21T20:29:31.174 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341771.1746886
2025-12-21T20:29:31.175 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:45.14209613', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.09171662', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1881', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3425137937966', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:31.439 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 96 of 100 done. Exposure state = 0
2025-12-21T20:29:31.440 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:31.447 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:31.658 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 97 of 100
2025-12-21T20:29:31.661 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341771.6613033
2025-12-21T20:29:31.662 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:46.35495151', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.02689868', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1931', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.330287673629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:31.925 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 97 of 100 done. Exposure state = 0
2025-12-21T20:29:31.929 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:31.937 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:32.147 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 98 of 100
2025-12-21T20:29:32.150 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341772.1502519
2025-12-21T20:29:32.151 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:46.35495151', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.02689868', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1931', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2995', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.330287673629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:32.414 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 98 of 100 done. Exposure state = 0
2025-12-21T20:29:32.414 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:32.439 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:32.674 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 99 of 100
2025-12-21T20:29:32.677 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341772.6776989
2025-12-21T20:29:32.678 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:47.66864657', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.00168511', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1986', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.318061553461', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:32.737 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Closed socket
2025-12-21T20:29:32.942 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 99 of 100 done. Exposure state = 0
2025-12-21T20:29:32.942 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:32.950 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:33.165 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 100 of 100
2025-12-21T20:29:33.168 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341773.1684976
2025-12-21T20:29:33.169 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:47.66864657', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:58.00168511', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.1986', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.318061553461', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:33.432 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 100 of 100 done. Exposure state = 0
2025-12-21T20:29:33.433 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:33.439 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:33.774 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 100 of 100 done. Exposure state = 0
2025-12-21T20:29:33.774 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:33.799 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:34.028 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 25 of 100
2025-12-21T20:29:34.031 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341774.031934
2025-12-21T20:29:34.033 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:49.04895821', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.95249662', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2044', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3364007337113', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:34.296 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 25 of 100 done. Exposure state = 0
2025-12-21T20:29:34.296 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:34.302 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:34.593 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 26 of 100
2025-12-21T20:29:34.596 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341774.5965977
2025-12-21T20:29:34.597 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:49.04895821', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.95249662', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2044', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3364007337113', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:34.860 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 26 of 100 done. Exposure state = 0
2025-12-21T20:29:34.861 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:34.887 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:35.119 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 27 of 100
2025-12-21T20:29:35.123 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341775.1230998
2025-12-21T20:29:35.124 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:50.05979422', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.91647369', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2086', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3272311435876', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:35.384 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 27 of 100 done. Exposure state = 0
2025-12-21T20:29:35.384 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:35.387 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:35.608 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 28 of 100
2025-12-21T20:29:35.612 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341775.6122031
2025-12-21T20:29:35.613 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:50.05979422', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.91647369', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2086', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3272311435876', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:35.876 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 28 of 100 done. Exposure state = 0
2025-12-21T20:29:35.876 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:35.883 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:36.096 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 29 of 100
2025-12-21T20:29:36.098 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341776.0985918
2025-12-21T20:29:36.099 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:50.05979422', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.91647369', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2086', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3272311435876', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:36.357 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 29 of 100 done. Exposure state = 0
2025-12-21T20:29:36.357 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:36.381 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:36.662 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 30 of 100
2025-12-21T20:29:36.666 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341776.6662006
2025-12-21T20:29:36.667 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:51.57658828', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.86241845', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2149', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3292688302818', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:36.930 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 30 of 100 done. Exposure state = 0
2025-12-21T20:29:36.934 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:36.940 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:37.153 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 31 of 100
2025-12-21T20:29:37.157 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341777.156987
2025-12-21T20:29:37.158 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:51.57658828', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.86241845', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2149', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3292688302818', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:37.422 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 31 of 100 done. Exposure state = 0
2025-12-21T20:29:37.422 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:37.447 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:37.678 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 32 of 100
2025-12-21T20:29:37.681 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341777.6814213
2025-12-21T20:29:37.682 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:52.6850146', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.82291535', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2195', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.33334420367', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:37.945 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 32 of 100 done. Exposure state = 0
2025-12-21T20:29:37.946 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:37.952 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:38.165 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 33 of 100
2025-12-21T20:29:38.168 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341778.1680703
2025-12-21T20:29:38.168 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:52.6850146', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.82291535', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2195', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.33334420367', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:38.427 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 33 of 100 done. Exposure state = 0
2025-12-21T20:29:38.427 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:38.433 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:38.656 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 34 of 100
2025-12-21T20:29:38.659 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341778.6593797
2025-12-21T20:29:38.660 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:52.6850146', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.82291535', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2195', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.33334420367', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:38.921 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 34 of 100 done. Exposure state = 0
2025-12-21T20:29:38.921 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:38.938 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:39.147 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 35 of 100
2025-12-21T20:29:39.151 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341779.151055
2025-12-21T20:29:39.152 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:54.16327634', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.77023014', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2257', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:39.415 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 35 of 100 done. Exposure state = 0
2025-12-21T20:29:39.416 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:39.422 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:39.633 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 36 of 100
2025-12-21T20:29:39.635 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341779.6356559
2025-12-21T20:29:39.636 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:54.16327634', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.77023014', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2257', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:39.894 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 36 of 100 done. Exposure state = 0
2025-12-21T20:29:39.894 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:39.901 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:40.124 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 37 of 100
2025-12-21T20:29:40.127 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341780.1275284
2025-12-21T20:29:40.128 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:54.16327634', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.77023014', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2257', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:40.391 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 37 of 100 done. Exposure state = 0
2025-12-21T20:29:40.391 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:40.416 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:40.650 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 38 of 100
2025-12-21T20:29:40.653 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341780.6537483
2025-12-21T20:29:40.655 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:55.67790927', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.71624679', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.232', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3496456972266', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:40.918 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 38 of 100 done. Exposure state = 0
2025-12-21T20:29:40.918 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:40.925 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:41.140 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 39 of 100
2025-12-21T20:29:41.144 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341781.1442347
2025-12-21T20:29:41.145 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:55.67790927', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.71624679', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.232', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3496456972266', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:41.409 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 39 of 100 done. Exposure state = 0
2025-12-21T20:29:41.409 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:41.417 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:41.628 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 40 of 100
2025-12-21T20:29:41.632 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341781.632314
2025-12-21T20:29:41.633 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:55.67790927', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.71624679', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.232', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3496456972266', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:41.896 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 40 of 100 done. Exposure state = 0
2025-12-21T20:29:41.896 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:41.904 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:42.118 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 41 of 100
2025-12-21T20:29:42.121 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341782.1215198
2025-12-21T20:29:42.122 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:56.98979877', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.66948793', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2375', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.331306516976', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:28:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.29', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:42.385 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 41 of 100 done. Exposure state = 0
2025-12-21T20:29:42.386 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:42.393 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:42.607 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 42 of 100
2025-12-21T20:29:42.610 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341782.6105738
2025-12-21T20:29:42.611 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:56.98979877', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.66948793', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2375', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2994', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.331306516976', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:42.874 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 42 of 100 done. Exposure state = 0
2025-12-21T20:29:42.875 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:42.898 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:43.135 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 43 of 100
2025-12-21T20:29:43.138 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341783.1388235
2025-12-21T20:29:43.140 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:58.09930499', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.62994138', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2421', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.334363047017', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:43.401 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 43 of 100 done. Exposure state = 0
2025-12-21T20:29:43.401 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:43.406 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:43.546 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 44 of 100
2025-12-21T20:29:43.548 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341783.5488179
2025-12-21T20:29:43.549 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:58.09930499', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.62994138', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2421', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.334363047017', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:43.809 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 44 of 100 done. Exposure state = 0
2025-12-21T20:29:43.809 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:43.816 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:44.036 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 45 of 100
2025-12-21T20:29:44.040 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341784.0402045
2025-12-21T20:29:44.041 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:58.09930499', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.62994138', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2421', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.334363047017', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:44.304 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 45 of 100 done. Exposure state = 0
2025-12-21T20:29:44.304 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:44.329 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:44.525 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 46 of 100
2025-12-21T20:29:44.529 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341784.529403
2025-12-21T20:29:44.530 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:59.60997626', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.57609431', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2484', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.330287673629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:44.793 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 46 of 100 done. Exposure state = 0
2025-12-21T20:29:44.794 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:44.800 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:44.977 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 47 of 100
2025-12-21T20:29:44.980 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341784.9807897
2025-12-21T20:29:44.981 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:59.60997626', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.57609431', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2484', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.330287673629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:45.238 [INFO] [Dummy-21934] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet MESSAGE data 2["data"]
2025-12-21T20:29:45.238 [INFO] [Dummy-21934] [server.py] [_handle_event()] received event "data" from 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:45.246 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 47 of 100 done. Exposure state = 0
2025-12-21T20:29:45.247 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:45.254 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:45.387 [INFO] [Dummy-21940] [server.py] [emit()] emitting event "data" to 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:45.387 [INFO] [Dummy-21940] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T20:29:45.387 [INFO] [Dummy-21940] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data <binary>
2025-12-21T20:29:45.654 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 48 of 100
2025-12-21T20:29:45.658 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341785.6580045
2025-12-21T20:29:45.659 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:52:59.60997626', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.57609431', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2484', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.330287673629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:45.922 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 48 of 100 done. Exposure state = 0
2025-12-21T20:29:45.922 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:45.928 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:46.068 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 49 of 100
2025-12-21T20:29:46.072 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341786.0720396
2025-12-21T20:29:46.073 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:01.09039794', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.52332365', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2545', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3404761071', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:46.336 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 49 of 100 done. Exposure state = 0
2025-12-21T20:29:46.336 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:46.344 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:46.557 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 50 of 100
2025-12-21T20:29:46.561 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341786.561517
2025-12-21T20:29:46.562 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:01.09039794', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.52332365', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2545', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3404761071', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:46.826 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 50 of 100 done. Exposure state = 0
2025-12-21T20:29:46.826 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:46.848 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:47.084 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 51 of 100
2025-12-21T20:29:47.087 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341787.0876195
2025-12-21T20:29:47.088 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:02.10051286', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.48731637', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2588', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3129673367253', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:47.351 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 51 of 100 done. Exposure state = 0
2025-12-21T20:29:47.352 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:47.359 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:47.485 [INFO] [Dummy-21934] [instrument.py] [send_guide_command()] Sending command Guide_off to host 127.0.0.1 on port 12360
2025-12-21T20:29:47.485 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Creating socket to 127.0.0.1
2025-12-21T20:29:47.485 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Connected to 127.0.0.1 on port 12360
2025-12-21T20:29:47.573 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 52 of 100
2025-12-21T20:29:47.577 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341787.5772107
2025-12-21T20:29:47.578 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:02.10051286', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.48731637', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2588', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3129673367253', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:47.842 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 52 of 100 done. Exposure state = 0
2025-12-21T20:29:47.842 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:47.867 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:48.098 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 53 of 100
2025-12-21T20:29:48.100 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341788.100029
2025-12-21T20:29:48.101 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:03.10954736', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.45134675', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.263', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3211180835024', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:48.360 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 53 of 100 done. Exposure state = 0
2025-12-21T20:29:48.360 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:48.366 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:48.627 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 54 of 100
2025-12-21T20:29:48.630 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341788.6305633
2025-12-21T20:29:48.631 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:03.10954736', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.45134675', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.263', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3211180835024', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:48.895 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 54 of 100 done. Exposure state = 0
2025-12-21T20:29:48.895 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:48.922 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:49.072 [INFO] [Dummy-21941] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:29:49.098 [INFO] [Dummy-21942] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:29:49.116 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 55 of 100
2025-12-21T20:29:49.119 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341789.119903
2025-12-21T20:29:49.121 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:04.21977333', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.41176894', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2676', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3272311435876', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:49.384 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 55 of 100 done. Exposure state = 0
2025-12-21T20:29:49.384 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:49.390 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:49.605 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 56 of 100
2025-12-21T20:29:49.609 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341789.6090987
2025-12-21T20:29:49.610 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:04.21977333', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.41176894', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2676', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3272311435876', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:49.873 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 56 of 100 done. Exposure state = 0
2025-12-21T20:29:49.873 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:49.880 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:50.094 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 57 of 100
2025-12-21T20:29:50.097 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341790.097913
2025-12-21T20:29:50.099 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:04.21977333', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.41176894', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2676', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3272311435876', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:50.362 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 57 of 100 done. Exposure state = 0
2025-12-21T20:29:50.362 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:50.370 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:50.486 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Sending command Guide_off
2025-12-21T20:29:50.486 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Sent command Guide_off
2025-12-21T20:29:50.583 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 58 of 100
2025-12-21T20:29:50.586 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341790.586754
2025-12-21T20:29:50.587 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:05.52878112', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.36510356', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.273', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:50.850 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 58 of 100 done. Exposure state = 0
2025-12-21T20:29:50.851 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:50.858 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:51.072 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 59 of 100
2025-12-21T20:29:51.076 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341791.0761373
2025-12-21T20:29:51.077 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:05.52878112', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.36510356', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.273', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:51.340 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 59 of 100 done. Exposure state = 0
2025-12-21T20:29:51.341 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:51.347 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:51.561 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 60 of 100
2025-12-21T20:29:51.565 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341791.5649738
2025-12-21T20:29:51.566 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:06.50468507', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.33031222', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2771', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.334363047017', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:51.829 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 60 of 100 done. Exposure state = 0
2025-12-21T20:29:51.829 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:51.835 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:52.050 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 61 of 100
2025-12-21T20:29:52.054 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341792.0541675
2025-12-21T20:29:52.055 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:06.50468507', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.33031222', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2771', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2993', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.334363047017', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:52.318 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 61 of 100 done. Exposure state = 0
2025-12-21T20:29:52.318 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:52.345 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:52.415 [INFO] [Dummy-21942] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet MESSAGE data 2["data"]
2025-12-21T20:29:52.415 [INFO] [Dummy-21942] [server.py] [_handle_event()] received event "data" from 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:52.552 [INFO] [Dummy-21943] [server.py] [emit()] emitting event "data" to 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:52.552 [INFO] [Dummy-21943] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T20:29:52.552 [INFO] [Dummy-21943] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data <binary>
2025-12-21T20:29:52.627 [DEBUG] [Dummy-21934] [instrument.py] [send_guide_command()] Closed socket
2025-12-21T20:29:52.803 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 62 of 100
2025-12-21T20:29:52.806 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341792.8064594
2025-12-21T20:29:52.807 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:07.61707143', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.29065428', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2817', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3394572637526', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:53.068 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 62 of 100 done. Exposure state = 0
2025-12-21T20:29:53.069 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:53.071 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:53.292 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 63 of 100
2025-12-21T20:29:53.295 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341793.2958703
2025-12-21T20:29:53.297 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:07.61707143', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.29065428', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2817', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3394572637526', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:53.560 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 63 of 100 done. Exposure state = 0
2025-12-21T20:29:53.560 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:53.584 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:53.780 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 64 of 100
2025-12-21T20:29:53.782 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341793.7824535
2025-12-21T20:29:53.782 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:08.83100932', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.24737473', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2868', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3211180835024', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:54.041 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 64 of 100 done. Exposure state = 0
2025-12-21T20:29:54.041 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:54.047 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:54.308 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 65 of 100
2025-12-21T20:29:54.312 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341794.3119862
2025-12-21T20:29:54.313 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:08.83100932', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.24737473', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2868', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3211180835024', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:54.577 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 65 of 100 done. Exposure state = 0
2025-12-21T20:29:54.577 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:54.583 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:54.760 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 66 of 100
2025-12-21T20:29:54.763 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341794.7632916
2025-12-21T20:29:54.764 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:08.83100932', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.24737473', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2868', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3211180835024', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:55.027 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 66 of 100 done. Exposure state = 0
2025-12-21T20:29:55.027 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:55.033 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:55.210 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 67 of 100
2025-12-21T20:29:55.212 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341795.2129173
2025-12-21T20:29:55.213 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:10.04170609', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.20420953', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2918', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:55.472 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 67 of 100 done. Exposure state = 0
2025-12-21T20:29:55.473 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:55.480 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:55.603 [INFO] [Dummy-21944] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:29:55.620 [INFO] [Dummy-21939] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:29:55.700 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 68 of 100
2025-12-21T20:29:55.704 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341795.7041318
2025-12-21T20:29:55.705 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:10.04170609', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.20420953', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.2918', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3353818903643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:55.968 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 68 of 100 done. Exposure state = 0
2025-12-21T20:29:55.968 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:55.974 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:56.114 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 69 of 100
2025-12-21T20:29:56.117 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341796.1176615
2025-12-21T20:29:56.118 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:11.04930438', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.19348396', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.296', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.325193456893', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:56.384 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 69 of 100 done. Exposure state = 0
2025-12-21T20:29:56.384 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:56.392 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:56.406 [INFO] [Dummy-21934] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet MESSAGE data 2["data"]
2025-12-21T20:29:56.406 [INFO] [Dummy-21934] [server.py] [_handle_event()] received event "data" from 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:56.547 [INFO] [Dummy-21945] [server.py] [emit()] emitting event "data" to 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:29:56.547 [INFO] [Dummy-21945] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T20:29:56.547 [INFO] [Dummy-21945] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data <binary>
2025-12-21T20:29:56.753 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 70 of 100
2025-12-21T20:29:56.756 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341796.7568905
2025-12-21T20:29:56.758 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:11.04930438', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.19348396', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.296', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.325193456893', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:57.020 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 70 of 100 done. Exposure state = 0
2025-12-21T20:29:57.020 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:57.048 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:57.317 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 71 of 100
2025-12-21T20:29:57.319 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341797.3194733
2025-12-21T20:29:57.319 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:12.32626157', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.14795399', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3014', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3221369268495', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:57.578 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 71 of 100 done. Exposure state = 0
2025-12-21T20:29:57.578 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:57.585 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:57.807 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 72 of 100
2025-12-21T20:29:57.811 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341797.8113062
2025-12-21T20:29:57.812 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:12.32626157', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.14795399', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3014', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3221369268495', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:58.074 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 72 of 100 done. Exposure state = 0
2025-12-21T20:29:58.074 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:58.096 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:58.220 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 73 of 100
2025-12-21T20:29:58.223 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341798.2233021
2025-12-21T20:29:58.223 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:13.33817623', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.11187318', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3056', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.330287673629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:58.483 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 73 of 100 done. Exposure state = 0
2025-12-21T20:29:58.483 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:58.489 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:58.746 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 74 of 100
2025-12-21T20:29:58.749 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341798.7490132
2025-12-21T20:29:58.749 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:13.33817623', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.11187318', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3056', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.330287673629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:59.008 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 74 of 100 done. Exposure state = 0
2025-12-21T20:29:59.008 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:59.015 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:59.199 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 75 of 100
2025-12-21T20:29:59.202 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341799.2027922
2025-12-21T20:29:59.204 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:13.33817623', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.11187318', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3056', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.330287673629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991993', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:59.465 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 75 of 100 done. Exposure state = 0
2025-12-21T20:29:59.465 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:29:59.469 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:29:59.728 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 76 of 100
2025-12-21T20:29:59.732 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341799.7324367
2025-12-21T20:29:59.733 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:14.44695613', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.04713813', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3102', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3364007337113', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:29:59.996 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 76 of 100 done. Exposure state = 0
2025-12-21T20:29:59.996 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:00.003 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:00.138 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 77 of 100
2025-12-21T20:30:00.140 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341800.140577
2025-12-21T20:30:00.140 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:14.44695613', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.04713813', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3102', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3364007337113', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:00.399 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 77 of 100 done. Exposure state = 0
2025-12-21T20:30:00.399 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:00.423 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:00.591 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 78 of 100
2025-12-21T20:30:00.595 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341800.5949616
2025-12-21T20:30:00.596 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:15.75884385', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.00035903', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3157', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3292688302818', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:00.857 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 78 of 100 done. Exposure state = 0
2025-12-21T20:30:00.857 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:00.859 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:01.081 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 79 of 100
2025-12-21T20:30:01.084 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341801.0845273
2025-12-21T20:30:01.085 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:15.75884385', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.00035903', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3157', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3292688302818', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:01.348 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 79 of 100 done. Exposure state = 0
2025-12-21T20:30:01.349 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:01.355 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:01.532 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 80 of 100
2025-12-21T20:30:01.536 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341801.5361402
2025-12-21T20:30:01.537 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:15.75884385', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:57.00035903', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3157', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3292688302818', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:01.798 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 80 of 100 done. Exposure state = 0
2025-12-21T20:30:01.799 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:01.832 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:02.020 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 81 of 100
2025-12-21T20:30:02.023 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341802.0230436
2025-12-21T20:30:02.023 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:17.07397247', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.95346295', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3211', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.318061553461', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:02.280 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 81 of 100 done. Exposure state = 0
2025-12-21T20:30:02.280 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:02.283 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:02.510 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 82 of 100
2025-12-21T20:30:02.513 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341802.5136752
2025-12-21T20:30:02.514 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:17.07397247', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.95346295', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3211', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.318061553461', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:02.777 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 82 of 100 done. Exposure state = 0
2025-12-21T20:30:02.778 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:02.784 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:02.960 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 83 of 100
2025-12-21T20:30:02.962 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341802.9622474
2025-12-21T20:30:02.962 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:17.07397247', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.95346295', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3211', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2992', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.318061553461', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:03.220 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 83 of 100 done. Exposure state = 0
2025-12-21T20:30:03.220 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:03.225 [WARNING] [Dummy-21934] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff784afdc70>>. Trying to reconnect
2025-12-21T20:30:03.226 [WARNING] [start_exposure_worker] [client.py] [get_status()] Unable to get status: unexpected exception. Trying to reconnect
2025-12-21T20:30:03.273 [INFO] [Dummy-21934] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet MESSAGE data 2["data"]
2025-12-21T20:30:03.273 [INFO] [Dummy-21934] [server.py] [_handle_event()] received event "data" from 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:30:03.413 [INFO] [Dummy-21946] [server.py] [emit()] emitting event "data" to 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:30:03.413 [INFO] [Dummy-21946] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T20:30:03.413 [INFO] [Dummy-21946] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data <binary>
2025-12-21T20:30:03.490 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:03.714 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 84 of 100
2025-12-21T20:30:03.717 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341803.717397
2025-12-21T20:30:03.718 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:18.55547262', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.90063253', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3273', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.323155770199', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:03.981 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 84 of 100 done. Exposure state = 0
2025-12-21T20:30:03.981 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:03.988 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:04.166 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 85 of 100
2025-12-21T20:30:04.169 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341804.1693654
2025-12-21T20:30:04.170 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:18.55547262', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.90063253', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3273', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.323155770199', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:04.432 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 85 of 100 done. Exposure state = 0
2025-12-21T20:30:04.432 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:04.456 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:04.692 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 86 of 100
2025-12-21T20:30:04.696 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341804.6959813
2025-12-21T20:30:04.697 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:19.76904944', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.85735493', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3324', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3292688302818', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:04.960 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 86 of 100 done. Exposure state = 0
2025-12-21T20:30:04.961 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:04.967 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:05.181 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 87 of 100
2025-12-21T20:30:05.185 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341805.184977
2025-12-21T20:30:05.186 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:19.76904944', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.85735493', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3324', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3292688302818', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:05.449 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 87 of 100 done. Exposure state = 0
2025-12-21T20:30:05.450 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:05.456 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:05.633 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 88 of 100
2025-12-21T20:30:05.636 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341805.6367877
2025-12-21T20:30:05.638 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:19.76904944', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.85735493', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3324', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3292688302818', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:05.901 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 88 of 100 done. Exposure state = 0
2025-12-21T20:30:05.901 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:05.926 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:06.159 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 89 of 100
2025-12-21T20:30:06.163 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341806.1630588
2025-12-21T20:30:06.164 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:21.28475993', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.80330119', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3387', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.325193456893', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:06.426 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 89 of 100 done. Exposure state = 0
2025-12-21T20:30:06.427 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:06.433 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:06.611 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 90 of 100
2025-12-21T20:30:06.615 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341806.6151521
2025-12-21T20:30:06.616 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:21.28475993', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.80330119', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3387', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.325193456893', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:06.879 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 90 of 100 done. Exposure state = 0
2025-12-21T20:30:06.879 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:06.885 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:07.062 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 91 of 100
2025-12-21T20:30:07.066 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341807.0660403
2025-12-21T20:30:07.067 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:21.28475993', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.80330119', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3387', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.325193456893', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:07.330 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 91 of 100 done. Exposure state = 0
2025-12-21T20:30:07.330 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:07.336 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:07.514 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 92 of 100
2025-12-21T20:30:07.518 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341807.518002
2025-12-21T20:30:07.519 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:22.56279651', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.75772198', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.304816589946', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:07.782 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 92 of 100 done. Exposure state = 0
2025-12-21T20:30:07.782 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:07.788 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:08.040 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 93 of 100
2025-12-21T20:30:08.042 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341808.0421724
2025-12-21T20:30:08.042 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:22.56279651', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.75772198', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.304816589946', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:08.300 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 93 of 100 done. Exposure state = 0
2025-12-21T20:30:08.301 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:08.325 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:08.492 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 94 of 100
2025-12-21T20:30:08.496 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341808.4961874
2025-12-21T20:30:08.497 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:23.67482148', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.71806223', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3486', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3088919633365', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:08.760 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 94 of 100 done. Exposure state = 0
2025-12-21T20:30:08.760 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:08.767 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:08.944 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 95 of 100
2025-12-21T20:30:08.948 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341808.9480104
2025-12-21T20:30:08.949 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:23.67482148', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.71806223', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3486', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3088919633365', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:09.214 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 95 of 100 done. Exposure state = 0
2025-12-21T20:30:09.214 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:09.222 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:09.230 [INFO] [Dummy-21934] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet MESSAGE data 2["data"]
2025-12-21T20:30:09.231 [INFO] [Dummy-21934] [server.py] [_handle_event()] received event "data" from 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:30:09.378 [INFO] [Dummy-21947] [server.py] [emit()] emitting event "data" to 4nitIMg7IdE4TL3oAAA_ [/]
2025-12-21T20:30:09.378 [INFO] [Dummy-21947] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T20:30:09.378 [INFO] [Dummy-21947] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet MESSAGE data <binary>
2025-12-21T20:30:09.544 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 96 of 100
2025-12-21T20:30:09.547 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341809.5471802
2025-12-21T20:30:09.547 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:23.67482148', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.71806223', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3486', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.3088919633365', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:09.805 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 96 of 100 done. Exposure state = 0
2025-12-21T20:30:09.806 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:09.834 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:10.071 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 97 of 100
2025-12-21T20:30:10.073 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341810.0730276
2025-12-21T20:30:10.073 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:25.19053155', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.66400364', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.355', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.323155770199', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:10.331 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 97 of 100 done. Exposure state = 0
2025-12-21T20:30:10.331 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:10.337 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:10.485 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 98 of 100
2025-12-21T20:30:10.488 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341810.4883738
2025-12-21T20:30:10.489 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:25.19053155', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.66400364', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.355', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.323155770199', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:10.750 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 98 of 100 done. Exposure state = 0
2025-12-21T20:30:10.751 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:10.759 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:10.975 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 99 of 100
2025-12-21T20:30:10.979 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341810.979132
2025-12-21T20:30:10.980 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:25.19053155', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.66400364', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.355', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.323155770199', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:11.243 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 99 of 100 done. Exposure state = 0
2025-12-21T20:30:11.244 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:11.250 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:11.465 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 100 of 100
2025-12-21T20:30:11.468 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766341811.468304
2025-12-21T20:30:11.468 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='RA', valtype=2, val='04:53:26.60396974', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:17:56.61359093', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='73.3608', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2991', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2292.325193456893', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991982', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.10861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T20:29:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='42.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='23.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T01:31:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='out', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='OB', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T20:30:11.726 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 100 of 100 done. Exposure state = 0
2025-12-21T20:30:11.727 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T20:30:11.733 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T20:30:14.100 [INFO] [Dummy-21948] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:30:14.118 [INFO] [Dummy-21949] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:30:20.623 [INFO] [Dummy-21950] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:30:20.640 [INFO] [Dummy-21951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:30:36.195 [INFO] [Dummy-21949] [instrument.py] [send_guide_command()] Sending command Guide_off to host 127.0.0.1 on port 12360
2025-12-21T20:30:36.195 [DEBUG] [Dummy-21949] [instrument.py] [send_guide_command()] Creating socket to 127.0.0.1
2025-12-21T20:30:36.195 [DEBUG] [Dummy-21949] [instrument.py] [send_guide_command()] Connected to 127.0.0.1 on port 12360
2025-12-21T20:30:39.120 [INFO] [Dummy-21952] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:30:39.139 [INFO] [Dummy-21934] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:30:39.197 [DEBUG] [Dummy-21949] [instrument.py] [send_guide_command()] Sending command Guide_off
2025-12-21T20:30:39.197 [DEBUG] [Dummy-21949] [instrument.py] [send_guide_command()] Sent command Guide_off
2025-12-21T20:30:41.199 [DEBUG] [Dummy-21949] [instrument.py] [send_guide_command()] Closed socket
2025-12-21T20:30:45.643 [INFO] [Dummy-21953] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:30:45.659 [INFO] [Dummy-21951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:31:04.141 [INFO] [Dummy-21954] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:31:04.194 [INFO] [Dummy-21955] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:31:10.662 [INFO] [Dummy-21956] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:31:10.678 [INFO] [Dummy-21951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:31:29.196 [INFO] [Dummy-21957] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:31:29.218 [INFO] [Dummy-21958] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:31:35.680 [INFO] [Dummy-21959] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:31:35.696 [INFO] [Dummy-21951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:31:54.220 [INFO] [Dummy-21960] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:31:54.265 [INFO] [Dummy-21949] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:32:00.699 [INFO] [Dummy-21961] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:32:00.714 [INFO] [Dummy-21951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:32:19.268 [INFO] [Dummy-21962] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:32:19.292 [INFO] [Dummy-21958] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:32:25.716 [INFO] [Dummy-21963] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:32:25.732 [INFO] [Dummy-21951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:32:30.136 [INFO] [Dummy-21958] [instrument.py] [send_guide_command()] Sending command Guide_off to host 127.0.0.1 on port 12360
2025-12-21T20:32:30.137 [DEBUG] [Dummy-21958] [instrument.py] [send_guide_command()] Creating socket to 127.0.0.1
2025-12-21T20:32:30.137 [DEBUG] [Dummy-21958] [instrument.py] [send_guide_command()] Connected to 127.0.0.1 on port 12360
2025-12-21T20:32:33.139 [DEBUG] [Dummy-21958] [instrument.py] [send_guide_command()] Sending command Guide_off
2025-12-21T20:32:33.139 [DEBUG] [Dummy-21958] [instrument.py] [send_guide_command()] Sent command Guide_off
2025-12-21T20:32:35.140 [DEBUG] [Dummy-21958] [instrument.py] [send_guide_command()] Closed socket
2025-12-21T20:32:44.294 [INFO] [Dummy-21964] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:32:44.312 [INFO] [Dummy-21949] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:32:50.735 [INFO] [Dummy-21965] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:32:50.752 [INFO] [Dummy-21951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:33:09.314 [INFO] [Dummy-21966] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:33:09.342 [INFO] [Dummy-21967] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:33:15.755 [INFO] [Dummy-21968] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:33:15.773 [INFO] [Dummy-21951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:33:34.344 [INFO] [Dummy-21969] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:33:34.365 [INFO] [Dummy-21958] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:33:40.776 [INFO] [Dummy-21970] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:33:40.792 [INFO] [Dummy-21971] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:33:59.367 [INFO] [Dummy-21972] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:33:59.384 [INFO] [Dummy-21967] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:34:05.795 [INFO] [Dummy-21973] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:34:05.811 [INFO] [Dummy-21971] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:34:24.387 [INFO] [Dummy-21974] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:34:24.410 [INFO] [Dummy-21958] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:34:30.814 [INFO] [Dummy-21975] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:34:30.832 [INFO] [Dummy-21971] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:34:49.413 [INFO] [Dummy-21976] [socket.py] [send()] Q_Eo73kFfdNIHZ1WAAA-: Sending packet PING data None
2025-12-21T20:34:49.432 [INFO] [Dummy-21967] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet PONG data 
2025-12-21T20:34:55.835 [INFO] [Dummy-21977] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:34:55.851 [INFO] [Dummy-21971] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:35:05.302 [INFO] [Dummy-21967] [socket.py] [receive()] Q_Eo73kFfdNIHZ1WAAA-: Received packet CLOSE data 
2025-12-21T20:35:20.854 [INFO] [Dummy-21978] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:35:20.872 [INFO] [Dummy-21971] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:35:45.875 [INFO] [Dummy-21979] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:35:45.891 [INFO] [Dummy-21980] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:36:10.893 [INFO] [Dummy-21981] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:36:10.908 [INFO] [Dummy-21980] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:36:35.910 [INFO] [Dummy-21982] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:36:35.926 [INFO] [Dummy-21980] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:37:00.928 [INFO] [Dummy-21983] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:37:00.945 [INFO] [Dummy-21980] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:37:25.948 [INFO] [Dummy-21984] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:37:25.964 [INFO] [Dummy-21980] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:37:50.967 [INFO] [Dummy-21985] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:37:50.985 [INFO] [Dummy-21986] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:38:15.987 [INFO] [Dummy-21987] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:38:16.007 [INFO] [Dummy-21986] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:38:41.009 [INFO] [Dummy-21988] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:38:41.026 [INFO] [Dummy-21989] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:39:06.029 [INFO] [Dummy-21990] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:39:06.045 [INFO] [Dummy-21989] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:39:31.048 [INFO] [Dummy-21991] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:39:31.064 [INFO] [Dummy-21989] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:39:56.067 [INFO] [Dummy-21992] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:39:56.084 [INFO] [Dummy-21993] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:40:21.086 [INFO] [Dummy-21994] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:40:21.104 [INFO] [Dummy-21995] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:40:46.107 [INFO] [Dummy-21996] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:40:46.123 [INFO] [Dummy-21997] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:41:11.125 [INFO] [Dummy-21998] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:41:11.140 [INFO] [Dummy-21999] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:41:36.176 [INFO] [Dummy-22000] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:41:36.192 [INFO] [Dummy-22001] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:42:01.195 [INFO] [Dummy-22002] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:42:01.212 [INFO] [Dummy-22001] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:42:26.214 [INFO] [Dummy-22003] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:42:26.230 [INFO] [Dummy-22001] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:42:51.232 [INFO] [Dummy-22004] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:42:51.249 [INFO] [Dummy-22001] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:43:16.251 [INFO] [Dummy-22005] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:43:16.268 [INFO] [Dummy-22006] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:43:41.270 [INFO] [Dummy-22007] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:43:41.289 [INFO] [Dummy-22006] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:44:06.292 [INFO] [Dummy-22008] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:44:06.308 [INFO] [Dummy-22006] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:44:31.310 [INFO] [Dummy-22009] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:44:31.327 [INFO] [Dummy-22006] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:44:56.330 [INFO] [Dummy-22010] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:44:56.346 [INFO] [Dummy-22006] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:45:21.349 [INFO] [Dummy-22011] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:45:21.363 [INFO] [Dummy-22006] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:45:46.366 [INFO] [Dummy-22012] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:45:46.382 [INFO] [Dummy-22013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:46:11.385 [INFO] [Dummy-22014] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:46:11.403 [INFO] [Dummy-22013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:46:36.406 [INFO] [Dummy-22015] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:46:36.422 [INFO] [Dummy-22016] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:47:01.426 [INFO] [Dummy-22017] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:47:01.445 [INFO] [Dummy-22016] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:47:26.448 [INFO] [Dummy-22018] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:47:26.465 [INFO] [Dummy-22019] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:47:51.468 [INFO] [Dummy-22020] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:47:51.485 [INFO] [Dummy-22019] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:48:16.487 [INFO] [Dummy-22021] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:48:16.504 [INFO] [Dummy-22019] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:48:41.507 [INFO] [Dummy-22022] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:48:41.524 [INFO] [Dummy-22019] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:49:06.527 [INFO] [Dummy-22023] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:49:06.544 [INFO] [Dummy-22024] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:49:31.547 [INFO] [Dummy-22025] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:49:31.563 [INFO] [Dummy-22024] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:49:56.598 [INFO] [Dummy-22026] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:49:56.614 [INFO] [Dummy-22027] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:50:21.616 [INFO] [Dummy-22028] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:50:21.630 [INFO] [Dummy-22027] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:50:46.633 [INFO] [Dummy-22029] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:50:46.650 [INFO] [Dummy-22030] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:51:11.654 [INFO] [Dummy-22031] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:51:11.671 [INFO] [Dummy-22030] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:51:36.674 [INFO] [Dummy-22032] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:51:36.691 [INFO] [Dummy-22030] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:52:01.694 [INFO] [Dummy-22033] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:52:01.710 [INFO] [Dummy-22034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:52:26.713 [INFO] [Dummy-22035] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:52:26.731 [INFO] [Dummy-22034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:52:51.733 [INFO] [Dummy-22036] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:52:51.749 [INFO] [Dummy-22034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:53:16.752 [INFO] [Dummy-22037] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:53:16.768 [INFO] [Dummy-22034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:53:41.771 [INFO] [Dummy-22038] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:53:41.787 [INFO] [Dummy-22034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:54:06.791 [INFO] [Dummy-22039] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:54:06.808 [INFO] [Dummy-22034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:54:31.810 [INFO] [Dummy-22040] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:54:31.827 [INFO] [Dummy-22034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:54:56.830 [INFO] [Dummy-22041] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:54:56.846 [INFO] [Dummy-22034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:55:21.849 [INFO] [Dummy-22042] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:55:21.866 [INFO] [Dummy-22043] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:55:46.869 [INFO] [Dummy-22044] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:55:46.886 [INFO] [Dummy-22043] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:56:11.888 [INFO] [Dummy-22045] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:56:11.906 [INFO] [Dummy-22043] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:56:36.909 [INFO] [Dummy-22046] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:56:36.925 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:57:01.927 [INFO] [Dummy-22048] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:57:01.944 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:57:26.947 [INFO] [Dummy-22049] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:57:26.964 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:57:51.966 [INFO] [Dummy-22050] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:57:51.981 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:58:16.983 [INFO] [Dummy-22051] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:58:17.000 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:58:42.003 [INFO] [Dummy-22052] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:58:42.019 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:59:07.021 [INFO] [Dummy-22053] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:59:07.038 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:59:32.040 [INFO] [Dummy-22054] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:59:32.057 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T20:59:57.060 [INFO] [Dummy-22055] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T20:59:57.076 [INFO] [Dummy-22047] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:00:22.079 [INFO] [Dummy-22056] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:00:22.097 [INFO] [Dummy-22057] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:00:47.099 [INFO] [Dummy-22058] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:00:47.116 [INFO] [Dummy-22057] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:01:12.118 [INFO] [Dummy-22059] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:01:12.135 [INFO] [Dummy-22057] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:01:37.138 [INFO] [Dummy-22060] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:01:37.155 [INFO] [Dummy-22061] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:02:02.158 [INFO] [Dummy-22062] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:02:02.175 [INFO] [Dummy-22061] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:02:27.178 [INFO] [Dummy-22063] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:02:27.195 [INFO] [Dummy-22061] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:02:52.198 [INFO] [Dummy-22064] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:02:52.215 [INFO] [Dummy-22065] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:03:17.217 [INFO] [Dummy-22066] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:03:17.233 [INFO] [Dummy-22067] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:03:42.237 [INFO] [Dummy-22068] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:03:42.255 [INFO] [Dummy-22067] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:04:07.258 [INFO] [Dummy-22069] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:04:07.276 [INFO] [Dummy-22070] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:04:32.279 [INFO] [Dummy-22071] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:04:32.297 [INFO] [Dummy-22070] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:04:57.300 [INFO] [Dummy-22072] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:04:57.318 [INFO] [Dummy-22070] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:05:22.321 [INFO] [Dummy-22073] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:05:22.337 [INFO] [Dummy-22074] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:05:47.340 [INFO] [Dummy-22075] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:05:47.356 [INFO] [Dummy-22076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:06:12.358 [INFO] [Dummy-22077] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:06:12.374 [INFO] [Dummy-22076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:06:37.378 [INFO] [Dummy-22078] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:06:37.394 [INFO] [Dummy-22076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:07:02.397 [INFO] [Dummy-22079] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:07:02.413 [INFO] [Dummy-22076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:07:27.416 [INFO] [Dummy-22080] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:07:27.432 [INFO] [Dummy-22076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:07:52.434 [INFO] [Dummy-22081] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:07:52.450 [INFO] [Dummy-22076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:08:17.452 [INFO] [Dummy-22082] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:08:17.468 [INFO] [Dummy-22076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:08:42.471 [INFO] [Dummy-22083] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:08:42.488 [INFO] [Dummy-22084] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:09:07.491 [INFO] [Dummy-22085] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:09:07.508 [INFO] [Dummy-22084] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:09:32.510 [INFO] [Dummy-22086] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:09:32.527 [INFO] [Dummy-22084] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:09:57.529 [INFO] [Dummy-22087] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:09:57.546 [INFO] [Dummy-22088] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:10:10.315 [INFO] [Dummy-22089] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet OPEN data {'sid': 'Yifbrfq-vYe51dYQAABA', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T21:10:10.557 [INFO] [Dummy-22089] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 0
2025-12-21T21:10:10.559 [INFO] [Dummy-22089] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 0{"sid":"kGNuYQ7iMwCbxmTmAABB"}
2025-12-21T21:10:10.793 [INFO] [Dummy-22090] [socket.py] [handle_get_request()] Yifbrfq-vYe51dYQAABA: Received request to upgrade to websocket
2025-12-21T21:10:22.581 [INFO] [Dummy-22091] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:10:22.601 [INFO] [Dummy-22092] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:10:35.318 [INFO] [Dummy-22093] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:10:35.561 [INFO] [Dummy-22089] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:10:39.456 [INFO] [Dummy-22094] [instrument.py] [set_filter()] Setting filter 1:0
2025-12-21T21:10:39.456 [INFO] [Dummy-22094] [client.py] [set_filter()] Setting filter slide ID 1 to filter id 0
2025-12-21T21:10:39.517 [INFO] [Dummy-22094] [client.py] [set_filter()] Filter in slide 1  moved to position 0 successfully
2025-12-21T21:10:43.221 [INFO] [Dummy-22094] [instrument.py] [set_filter()] Setting filter 0:1
2025-12-21T21:10:43.221 [INFO] [Dummy-22094] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 1
2025-12-21T21:10:43.402 [INFO] [Dummy-22094] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 1 : try 1
2025-12-21T21:10:44.423 [INFO] [Dummy-22094] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 1 : try 2
2025-12-21T21:10:45.444 [INFO] [Dummy-22094] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 1 : try 3
2025-12-21T21:10:46.465 [INFO] [Dummy-22094] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 1 : try 4
2025-12-21T21:10:47.528 [INFO] [Dummy-22094] [client.py] [set_filter()] Filter in slide 0  moved to position 1 successfully
2025-12-21T21:10:47.603 [INFO] [Dummy-22095] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:10:47.619 [INFO] [Dummy-22096] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:10:48.531 [INFO] [Dummy-22094] [client.py] [set_filter()] Setting filter slide ID 1 to filter id 0
2025-12-21T21:10:48.543 [INFO] [Dummy-22094] [client.py] [set_filter()] Filter in slide 1  moved to position 1 successfully
2025-12-21T21:10:49.545 [INFO] [Dummy-22094] [instrument.py] [set_temp_focus()] Setting the focus by temperature
2025-12-21T21:10:49.549 [DEBUG] [Dummy-22094] [instrument.py] [set_temp_focus()] Got temperature = 21.36
2025-12-21T21:10:49.549 [DEBUG] [Dummy-22094] [instrument.py] [set_temp_focus()] Weather time stamp 2025-12-21 21:09:41
2025-12-21T21:10:49.550 [DEBUG] [Dummy-22094] [instrument.py] [set_temp_focus()] Weather time stamp iso 2025-12-21T21:09:41
2025-12-21T21:10:49.550 [DEBUG] [Dummy-22094] [instrument.py] [set_temp_focus()] Got parameters for focus at temp: -16.19, 2879
2025-12-21T21:10:49.550 [INFO] [Dummy-22094] [instrument.py] [set_temp_focus()] Setting focus to 0.09973155905511809
2025-12-21T21:11:00.564 [INFO] [Dummy-22097] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:11:00.809 [INFO] [Dummy-22098] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:11:12.621 [INFO] [Dummy-22099] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:11:12.638 [INFO] [Dummy-22096] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:11:19.754 [INFO] [Dummy-22100] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='07:45:45', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-23:08:35', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='Bias', comment='The object name')]
2025-12-21T21:11:19.755 [INFO] [Dummy-22100] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:11:19.755 [DEBUG] [Dummy-22100] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:11:19.755 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:11:19.755 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:11:19.806 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 3 exposures
2025-12-21T21:11:19.806 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:11:19.809 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:11:20.018 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 3 exposures
2025-12-21T21:11:20.018 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 3
2025-12-21T21:11:20.021 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344280.0216746
2025-12-21T21:11:20.022 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:34:42.40362278', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:26.30164163', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.6767', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.274', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.154289665426', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108643', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:10:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='51.75', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.01', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.28', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.22', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:10:47', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:11:20.284 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 3 done. Exposure state = 0
2025-12-21T21:11:20.285 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:11:20.290 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:11:20.544 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 3
2025-12-21T21:11:20.548 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344280.5481584
2025-12-21T21:11:20.549 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:34:42.40362278', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:26.30164163', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.6767', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.274', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.154289665426', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108643', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:10:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='51.75', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.01', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.28', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.22', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:10:47', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:11:20.559 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:11:20.559 [INFO] [Dummy-22100] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:11:20.700 [INFO] [Dummy-22101] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:11:20.700 [INFO] [Dummy-22101] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:11:20.700 [INFO] [Dummy-22101] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:11:20.809 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 3 done. Exposure state = 0
2025-12-21T21:11:20.810 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:11:20.832 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:11:21.034 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 3
2025-12-21T21:11:21.037 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344281.0371623
2025-12-21T21:11:21.038 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:34:43.4798009', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:26.26170261', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.6812', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.274', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.162440412206', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108643', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:10:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='51.75', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.01', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.28', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.22', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:10:47', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:11:21.301 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 3 done. Exposure state = 0
2025-12-21T21:11:21.301 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:11:21.307 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:11:25.811 [INFO] [Dummy-22102] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:11:26.046 [INFO] [Dummy-22103] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:11:37.640 [INFO] [Dummy-22104] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:11:37.657 [INFO] [Dummy-22096] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:11:51.049 [INFO] [Dummy-22105] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:11:51.284 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:12:02.659 [INFO] [Dummy-22106] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:12:02.676 [INFO] [Dummy-22096] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:12:04.239 [INFO] [Dummy-22100] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='07:45:45', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-23:08:35', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='Bias', comment='The object name')]
2025-12-21T21:12:04.239 [INFO] [Dummy-22100] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:12:04.239 [DEBUG] [Dummy-22100] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:12:04.240 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:12:04.240 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:12:04.247 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 100 exposures
2025-12-21T21:12:04.248 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:04.254 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:04.465 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 100 exposures
2025-12-21T21:12:04.466 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 100
2025-12-21T21:12:04.469 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344324.469785
2025-12-21T21:12:04.471 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:26.52865526', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.66375464', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8605', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.126780895051', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:04.733 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 100 done. Exposure state = 0
2025-12-21T21:12:04.734 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:04.740 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:05.029 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 100
2025-12-21T21:12:05.032 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344325.032944
2025-12-21T21:12:05.034 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:26.52865526', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.66375464', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8605', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.126780895051', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:05.297 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 100 done. Exposure state = 0
2025-12-21T21:12:05.297 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:05.304 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:05.518 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 100
2025-12-21T21:12:05.522 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344325.52206
2025-12-21T21:12:05.523 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:27.63867407', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.62254314', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8652', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.131875111787', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:05.786 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 100 done. Exposure state = 0
2025-12-21T21:12:05.786 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:05.792 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:06.007 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 4 of 100
2025-12-21T21:12:06.011 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344326.0111058
2025-12-21T21:12:06.012 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:27.63867407', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.62254314', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8652', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.131875111787', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:06.275 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 4 of 100 done. Exposure state = 0
2025-12-21T21:12:06.275 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:06.303 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:06.612 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 5 of 100
2025-12-21T21:12:06.616 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344326.6167207
2025-12-21T21:12:06.617 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:29.04969039', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.57015595', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.871', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.137988171872', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:06.877 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 5 of 100 done. Exposure state = 0
2025-12-21T21:12:06.877 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:06.879 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:07.097 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 6 of 100
2025-12-21T21:12:07.098 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344327.0987873
2025-12-21T21:12:07.099 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:29.04969039', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.57015595', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.871', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.137988171872', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:07.355 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 6 of 100 done. Exposure state = 0
2025-12-21T21:12:07.355 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:07.376 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:07.588 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 7 of 100
2025-12-21T21:12:07.591 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344327.5915656
2025-12-21T21:12:07.592 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:30.15790877', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.52901036', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8757', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.132893955134', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:07.856 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 7 of 100 done. Exposure state = 0
2025-12-21T21:12:07.856 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:07.863 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:08.150 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 8 of 100
2025-12-21T21:12:08.152 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344328.152287
2025-12-21T21:12:08.152 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:30.15790877', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.52901036', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8757', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.132893955134', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:08.410 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 8 of 100 done. Exposure state = 0
2025-12-21T21:12:08.410 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:08.433 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:08.642 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 9 of 100
2025-12-21T21:12:08.645 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344328.6454215
2025-12-21T21:12:08.646 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:31.23300293', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.4890942', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8801', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.127799738398', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:08.909 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 9 of 100 done. Exposure state = 0
2025-12-21T21:12:08.910 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:08.916 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:09.130 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 10 of 100
2025-12-21T21:12:09.134 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344329.1341448
2025-12-21T21:12:09.135 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:31.23300293', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.4890942', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8801', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.127799738398', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:09.399 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 10 of 100 done. Exposure state = 0
2025-12-21T21:12:09.399 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:09.405 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:09.620 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 11 of 100
2025-12-21T21:12:09.623 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344329.6234844
2025-12-21T21:12:09.624 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:31.23300293', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.4890942', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8801', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.127799738398', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:09.888 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 11 of 100 done. Exposure state = 0
2025-12-21T21:12:09.888 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:09.895 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:10.109 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 12 of 100
2025-12-21T21:12:10.112 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344330.1126418
2025-12-21T21:12:10.113 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:32.54464649', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.4403949', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8856', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1227055216627', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:10.377 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 12 of 100 done. Exposure state = 0
2025-12-21T21:12:10.377 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:10.384 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:10.673 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 13 of 100
2025-12-21T21:12:10.677 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344330.6774306
2025-12-21T21:12:10.678 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:32.54464649', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.4403949', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8856', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2735', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1227055216627', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:10.838 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:12:10.838 [INFO] [Dummy-22100] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:10.978 [INFO] [Dummy-22107] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:10.978 [INFO] [Dummy-22107] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:12:10.978 [INFO] [Dummy-22107] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:12:11.059 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 13 of 100 done. Exposure state = 0
2025-12-21T21:12:11.059 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:11.078 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:11.313 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 14 of 100
2025-12-21T21:12:11.316 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344331.316931
2025-12-21T21:12:11.318 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:33.85664996', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.39168166', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8911', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.134931641828', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:11.581 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 14 of 100 done. Exposure state = 0
2025-12-21T21:12:11.582 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:11.588 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:11.802 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 15 of 100
2025-12-21T21:12:11.805 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344331.8058486
2025-12-21T21:12:11.807 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:33.85664996', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.39168166', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8911', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.134931641828', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:12.070 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 15 of 100 done. Exposure state = 0
2025-12-21T21:12:12.070 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:12.076 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:12.291 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 16 of 100
2025-12-21T21:12:12.294 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344332.2947743
2025-12-21T21:12:12.296 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:33.85664996', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.39168166', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8911', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.134931641828', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:12.560 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 16 of 100 done. Exposure state = 0
2025-12-21T21:12:12.560 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:12.586 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:12.818 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 17 of 100
2025-12-21T21:12:12.821 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344332.8213775
2025-12-21T21:12:12.822 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:35.36991836', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.33549497', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8974', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.131875111787', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:13.085 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 17 of 100 done. Exposure state = 0
2025-12-21T21:12:13.086 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:13.092 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:13.382 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 18 of 100
2025-12-21T21:12:13.386 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344333.385975
2025-12-21T21:12:13.387 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:35.36991836', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.33549497', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.8974', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.131875111787', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:13.549 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:12:13.549 [INFO] [Dummy-22100] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:13.693 [INFO] [Dummy-22108] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:13.693 [INFO] [Dummy-22108] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:12:13.693 [INFO] [Dummy-22108] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:12:13.774 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 18 of 100 done. Exposure state = 0
2025-12-21T21:12:13.774 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:13.776 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:13.984 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 19 of 100
2025-12-21T21:12:13.988 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344333.9884958
2025-12-21T21:12:13.989 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:36.57822866', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.29063063', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9024', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1288185817457', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:14.253 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 19 of 100 done. Exposure state = 0
2025-12-21T21:12:14.253 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:14.260 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:14.474 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 20 of 100
2025-12-21T21:12:14.477 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344334.4772267
2025-12-21T21:12:14.478 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:36.57822866', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.29063063', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9024', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1288185817457', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:14.742 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 20 of 100 done. Exposure state = 0
2025-12-21T21:12:14.790 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:14.819 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:15.038 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 21 of 100
2025-12-21T21:12:15.041 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344335.0415733
2025-12-21T21:12:15.042 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:37.55503009', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.25436181', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9065', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.132893955134', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:15.306 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 21 of 100 done. Exposure state = 0
2025-12-21T21:12:15.306 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:15.313 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:15.527 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 22 of 100
2025-12-21T21:12:15.531 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344335.530944
2025-12-21T21:12:15.532 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:37.55503009', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.25436181', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9065', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.132893955134', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:15.796 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 22 of 100 done. Exposure state = 0
2025-12-21T21:12:15.796 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:15.802 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:16.091 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 23 of 100
2025-12-21T21:12:16.095 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344336.0949671
2025-12-21T21:12:16.096 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:37.55503009', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.25436181', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9065', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.132893955134', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:16.286 [INFO] [Dummy-22109] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:12:16.360 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 23 of 100 done. Exposure state = 0
2025-12-21T21:12:16.360 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:16.367 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:16.528 [INFO] [Dummy-22103] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:12:16.581 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 24 of 100
2025-12-21T21:12:16.584 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344336.5842407
2025-12-21T21:12:16.585 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:38.86667303', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.20565978', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9119', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1288185817457', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:16.848 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 24 of 100 done. Exposure state = 0
2025-12-21T21:12:16.849 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:16.857 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:17.070 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 25 of 100
2025-12-21T21:12:17.073 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344337.0732114
2025-12-21T21:12:17.074 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:38.86667303', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.20565978', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9119', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1288185817457', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:17.338 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 25 of 100 done. Exposure state = 0
2025-12-21T21:12:17.338 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:17.338 [WARNING] [start_exposure_worker] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff784c1e450>>. Trying to reconnect
2025-12-21T21:12:17.339 [WARNING] [Dummy-22103] [client.py] [get_status()] Unable to get status: unexpected exception. Trying to reconnect
2025-12-21T21:12:17.472 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:17.671 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 26 of 100
2025-12-21T21:12:17.675 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344337.6754522
2025-12-21T21:12:17.676 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:40.17939598', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.15691707', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9174', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.137988171872', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:17.939 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 26 of 100 done. Exposure state = 0
2025-12-21T21:12:17.940 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:17.946 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:18.159 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 27 of 100
2025-12-21T21:12:18.162 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344338.1620092
2025-12-21T21:12:18.162 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:40.17939598', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.15691707', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9174', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.137988171872', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:18.421 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 27 of 100 done. Exposure state = 0
2025-12-21T21:12:18.422 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:18.429 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:18.650 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 28 of 100
2025-12-21T21:12:18.653 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344338.6536996
2025-12-21T21:12:18.654 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:40.17939598', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.15691707', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9174', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.137988171872', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:18.918 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 28 of 100 done. Exposure state = 0
2025-12-21T21:12:18.919 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:18.925 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:19.139 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 29 of 100
2025-12-21T21:12:19.142 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344339.142706
2025-12-21T21:12:19.143 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:41.59041098', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.10452404', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9233', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.142063545261', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:19.407 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 29 of 100 done. Exposure state = 0
2025-12-21T21:12:19.407 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:19.413 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:19.628 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 30 of 100
2025-12-21T21:12:19.631 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344339.631885
2025-12-21T21:12:19.633 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:41.59041098', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.10452404', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9233', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.142063545261', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:19.896 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 30 of 100 done. Exposure state = 0
2025-12-21T21:12:19.896 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:19.903 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:20.155 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 31 of 100
2025-12-21T21:12:20.158 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344340.1586013
2025-12-21T21:12:20.159 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:42.59745579', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.0671306', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9275', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1227055216627', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:20.322 [INFO] [Dummy-22103] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:12:20.323 [INFO] [Dummy-22103] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:20.468 [INFO] [Dummy-22110] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:20.468 [INFO] [Dummy-22110] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:12:20.468 [INFO] [Dummy-22110] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:12:20.547 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 31 of 100 done. Exposure state = 0
2025-12-21T21:12:20.547 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:20.549 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:20.719 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 32 of 100
2025-12-21T21:12:20.722 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344340.7227678
2025-12-21T21:12:20.724 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:42.59745579', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.0671306', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9275', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2734', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1227055216627', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:20.987 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 32 of 100 done. Exposure state = 0
2025-12-21T21:12:20.987 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:21.014 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:21.246 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 33 of 100
2025-12-21T21:12:21.250 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344341.2500498
2025-12-21T21:12:21.251 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:43.77480161', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.02341315', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9324', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.133912798481', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:21.514 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 33 of 100 done. Exposure state = 0
2025-12-21T21:12:21.514 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:21.522 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:21.735 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 34 of 100
2025-12-21T21:12:21.738 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344341.7387793
2025-12-21T21:12:21.739 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:43.77480161', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.02341315', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9324', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.133912798481', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:22.003 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 34 of 100 done. Exposure state = 0
2025-12-21T21:12:22.003 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:22.010 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:22.187 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 35 of 100
2025-12-21T21:12:22.190 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344342.1902504
2025-12-21T21:12:22.191 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:43.77480161', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:24.02341315', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9324', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.133912798481', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:22.454 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 35 of 100 done. Exposure state = 0
2025-12-21T21:12:22.455 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:22.480 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:22.789 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 36 of 100
2025-12-21T21:12:22.792 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344342.7926545
2025-12-21T21:12:22.793 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:45.28914902', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.96718141', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9387', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1308562684394', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:23.057 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 36 of 100 done. Exposure state = 0
2025-12-21T21:12:23.057 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:23.064 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:23.240 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 37 of 100
2025-12-21T21:12:23.243 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344343.2439325
2025-12-21T21:12:23.245 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:45.28914902', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.96718141', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9387', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1308562684394', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:23.508 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 37 of 100 done. Exposure state = 0
2025-12-21T21:12:23.509 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:23.532 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:23.729 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 38 of 100
2025-12-21T21:12:23.733 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344343.732996
2025-12-21T21:12:23.734 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:46.29907391', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.92967979', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9429', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1206678349686', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:23.998 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 38 of 100 done. Exposure state = 0
2025-12-21T21:12:23.999 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:24.005 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:24.294 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 39 of 100
2025-12-21T21:12:24.298 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344344.2981045
2025-12-21T21:12:24.299 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:46.29907391', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.92967979', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9429', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1206678349686', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:24.562 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 39 of 100 done. Exposure state = 0
2025-12-21T21:12:24.563 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:24.590 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:24.783 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 40 of 100
2025-12-21T21:12:24.786 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344344.7864225
2025-12-21T21:12:24.787 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:47.40693082', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.88854127', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9475', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.111498244842', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:25.051 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 40 of 100 done. Exposure state = 0
2025-12-21T21:12:25.051 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:25.058 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:25.234 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 41 of 100
2025-12-21T21:12:25.237 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344345.2378666
2025-12-21T21:12:25.239 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:47.40693082', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.88854127', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9475', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.111498244842', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:25.502 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 41 of 100 done. Exposure state = 0
2025-12-21T21:12:25.502 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:25.509 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:25.686 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 42 of 100
2025-12-21T21:12:25.689 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344345.6893384
2025-12-21T21:12:25.690 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:47.40693082', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.88854127', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9475', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.111498244842', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:25.953 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 42 of 100 done. Exposure state = 0
2025-12-21T21:12:25.954 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:25.960 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:26.137 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 43 of 100
2025-12-21T21:12:26.140 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344346.1408982
2025-12-21T21:12:26.142 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:48.61668021', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.84361867', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9526', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1308562684394', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:26.405 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 43 of 100 done. Exposure state = 0
2025-12-21T21:12:26.406 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:26.413 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:26.589 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 44 of 100
2025-12-21T21:12:26.592 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344346.5922904
2025-12-21T21:12:26.593 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:48.61668021', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.84361867', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9526', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1308562684394', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:26.857 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 44 of 100 done. Exposure state = 0
2025-12-21T21:12:26.857 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:26.884 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:27.116 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 45 of 100
2025-12-21T21:12:27.119 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344347.1193573
2025-12-21T21:12:27.120 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:49.69249298', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.80366925', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9571', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1308562684394', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:27.384 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 45 of 100 done. Exposure state = 0
2025-12-21T21:12:27.384 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:27.391 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:27.605 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 46 of 100
2025-12-21T21:12:27.608 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344347.6086102
2025-12-21T21:12:27.609 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:49.69249298', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.80366925', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9571', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1308562684394', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:27.678 [INFO] [Dummy-22111] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:12:27.695 [INFO] [Dummy-22112] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:12:27.873 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 46 of 100 done. Exposure state = 0
2025-12-21T21:12:27.874 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:27.880 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:28.167 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 47 of 100
2025-12-21T21:12:28.170 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344348.170238
2025-12-21T21:12:28.170 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:49.69249298', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.80366925', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9571', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1308562684394', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:28.301 [INFO] [Dummy-22103] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:12:28.301 [INFO] [Dummy-22103] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:28.481 [INFO] [Dummy-22113] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:28.481 [INFO] [Dummy-22113] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:12:28.481 [INFO] [Dummy-22113] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:12:28.563 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 47 of 100 done. Exposure state = 0
2025-12-21T21:12:28.564 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:28.566 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:28.696 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 48 of 100
2025-12-21T21:12:28.699 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344348.6995068
2025-12-21T21:12:28.700 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:50.9040424', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.75867889', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9621', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.127799738398', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:28.964 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 48 of 100 done. Exposure state = 0
2025-12-21T21:12:28.964 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:28.971 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:29.185 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 49 of 100
2025-12-21T21:12:29.188 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344349.1883569
2025-12-21T21:12:29.189 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:50.9040424', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.75867889', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9621', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.127799738398', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:29.453 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 49 of 100 done. Exposure state = 0
2025-12-21T21:12:29.453 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:29.460 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:29.674 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 50 of 100
2025-12-21T21:12:29.677 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344349.6775932
2025-12-21T21:12:29.678 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:52.21676416', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.709931', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9676', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.111498244842', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:29.943 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 50 of 100 done. Exposure state = 0
2025-12-21T21:12:29.943 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:29.950 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:30.126 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 51 of 100
2025-12-21T21:12:30.129 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344350.1293473
2025-12-21T21:12:30.130 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:52.21676416', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.709931', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9676', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2733', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.111498244842', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:11:51', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.25', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:11:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:30.394 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 51 of 100 done. Exposure state = 0
2025-12-21T21:12:30.394 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:30.420 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:30.652 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 52 of 100
2025-12-21T21:12:30.656 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344350.6560311
2025-12-21T21:12:30.657 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:53.2256084', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.67246721', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9718', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1257620517044', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:30.921 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 52 of 100 done. Exposure state = 0
2025-12-21T21:12:30.921 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:30.928 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:31.066 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 53 of 100
2025-12-21T21:12:31.069 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344351.0697134
2025-12-21T21:12:31.070 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:53.2256084', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.67246721', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9718', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1257620517044', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:31.335 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 53 of 100 done. Exposure state = 0
2025-12-21T21:12:31.335 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:31.342 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:31.555 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 54 of 100
2025-12-21T21:12:31.559 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344351.5591035
2025-12-21T21:12:31.560 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:53.2256084', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.67246721', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9718', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1257620517044', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:31.824 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 54 of 100 done. Exposure state = 0
2025-12-21T21:12:31.824 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:31.831 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:32.120 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 55 of 100
2025-12-21T21:12:32.124 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344352.1241264
2025-12-21T21:12:32.125 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:54.33382478', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.63131281', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9764', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.127799738398', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:32.286 [INFO] [Dummy-22103] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:12:32.287 [INFO] [Dummy-22103] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:32.425 [INFO] [Dummy-22114] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:32.426 [INFO] [Dummy-22114] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:12:32.426 [INFO] [Dummy-22114] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:12:32.508 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 55 of 100 done. Exposure state = 0
2025-12-21T21:12:32.508 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:32.510 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:32.609 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 56 of 100
2025-12-21T21:12:32.612 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344352.612625
2025-12-21T21:12:32.613 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:54.33382478', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.63131281', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9764', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.127799738398', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:32.877 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 56 of 100 done. Exposure state = 0
2025-12-21T21:12:32.877 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:32.904 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:33.022 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 57 of 100
2025-12-21T21:12:33.026 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344353.02597
2025-12-21T21:12:33.027 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:55.74375816', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.57895335', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9823', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1206678349686', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:33.292 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 57 of 100 done. Exposure state = 0
2025-12-21T21:12:33.292 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:33.299 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:33.587 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 58 of 100
2025-12-21T21:12:33.590 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344353.5904179
2025-12-21T21:12:33.591 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:55.74375816', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.57895335', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9823', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1206678349686', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:33.855 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 58 of 100 done. Exposure state = 0
2025-12-21T21:12:33.855 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:33.862 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:33.963 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 59 of 100
2025-12-21T21:12:33.967 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344353.9670362
2025-12-21T21:12:33.968 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:55.74375816', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.57895335', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9823', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1206678349686', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:34.231 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 59 of 100 done. Exposure state = 0
2025-12-21T21:12:34.232 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:34.256 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:34.377 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 60 of 100
2025-12-21T21:12:34.381 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344354.3813915
2025-12-21T21:12:34.382 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:57.12272759', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.52774314', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.988', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.124743208357', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:34.649 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 60 of 100 done. Exposure state = 0
2025-12-21T21:12:34.649 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:34.656 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:34.754 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 61 of 100
2025-12-21T21:12:34.757 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344354.75733
2025-12-21T21:12:34.758 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:57.12272759', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.52774314', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.988', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.124743208357', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:35.022 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 61 of 100 done. Exposure state = 0
2025-12-21T21:12:35.022 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:35.029 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:35.130 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 62 of 100
2025-12-21T21:12:35.134 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344355.1340814
2025-12-21T21:12:35.135 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:57.12272759', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.52774314', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.988', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.124743208357', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:35.398 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 62 of 100 done. Exposure state = 0
2025-12-21T21:12:35.399 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:35.425 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:35.656 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 63 of 100
2025-12-21T21:12:35.660 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344355.660243
2025-12-21T21:12:35.661 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:58.23310392', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.48650711', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9926', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.124743208357', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:35.927 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 63 of 100 done. Exposure state = 0
2025-12-21T21:12:35.928 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:35.934 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:36.033 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 64 of 100
2025-12-21T21:12:36.036 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344356.0367124
2025-12-21T21:12:36.037 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:58.23310392', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.48650711', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9926', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.124743208357', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:36.301 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 64 of 100 done. Exposure state = 0
2025-12-21T21:12:36.302 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:36.309 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:36.409 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 65 of 100
2025-12-21T21:12:36.413 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344356.413242
2025-12-21T21:12:36.414 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:58.23310392', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.48650711', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9926', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.124743208357', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:36.678 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 65 of 100 done. Exposure state = 0
2025-12-21T21:12:36.678 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:36.703 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:36.823 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 66 of 100
2025-12-21T21:12:36.826 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344356.8266733
2025-12-21T21:12:36.827 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:59.54474483', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.43779619', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9981', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.12372436501', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:37.091 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 66 of 100 done. Exposure state = 0
2025-12-21T21:12:37.091 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:37.098 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:37.239 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 67 of 100
2025-12-21T21:12:37.243 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344357.2434664
2025-12-21T21:12:37.244 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:59.54474483', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.43779619', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9981', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.12372436501', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:37.509 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 67 of 100 done. Exposure state = 0
2025-12-21T21:12:37.509 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:37.517 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:37.614 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 68 of 100
2025-12-21T21:12:37.617 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344357.6173851
2025-12-21T21:12:37.618 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:35:59.54474483', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.43779619', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='83.9981', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.12372436501', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:37.881 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 68 of 100 done. Exposure state = 0
2025-12-21T21:12:37.882 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:37.889 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:37.990 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 69 of 100
2025-12-21T21:12:37.993 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344357.9934409
2025-12-21T21:12:37.994 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:00.6529607', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.39663951', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0027', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1155736182304', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:38.258 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 69 of 100 done. Exposure state = 0
2025-12-21T21:12:38.258 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:38.265 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:38.366 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 70 of 100
2025-12-21T21:12:38.370 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344358.3700516
2025-12-21T21:12:38.371 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:00.6529607', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.39663951', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0027', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1155736182304', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:38.634 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 70 of 100 done. Exposure state = 0
2025-12-21T21:12:38.634 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:38.641 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:38.742 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 71 of 100
2025-12-21T21:12:38.746 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344358.7459602
2025-12-21T21:12:38.747 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:00.6529607', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.39663951', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0027', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1155736182304', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:39.010 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 71 of 100 done. Exposure state = 0
2025-12-21T21:12:39.011 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:39.038 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:39.156 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 72 of 100
2025-12-21T21:12:39.160 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344359.1599915
2025-12-21T21:12:39.161 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:01.86018859', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.35180528', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0078', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.106404028106', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:39.424 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 72 of 100 done. Exposure state = 0
2025-12-21T21:12:39.425 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:39.432 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:39.533 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 73 of 100
2025-12-21T21:12:39.536 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344359.5366528
2025-12-21T21:12:39.537 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:01.86018859', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.35180528', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0078', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.106404028106', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:39.804 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 73 of 100 done. Exposure state = 0
2025-12-21T21:12:39.805 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:39.812 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:39.957 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 74 of 100
2025-12-21T21:12:39.961 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344359.960966
2025-12-21T21:12:39.962 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:01.86018859', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.35180528', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0078', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2732', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.106404028106', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:40.225 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 74 of 100 done. Exposure state = 0
2025-12-21T21:12:40.226 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:40.252 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:40.361 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 75 of 100
2025-12-21T21:12:40.364 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344360.3645048
2025-12-21T21:12:40.365 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:03.13582475', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.30442998', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0131', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1176113049246', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:40.629 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 75 of 100 done. Exposure state = 0
2025-12-21T21:12:40.629 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:40.637 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:40.737 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 76 of 100
2025-12-21T21:12:40.740 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344360.7407503
2025-12-21T21:12:40.742 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:03.13582475', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.30442998', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0131', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1176113049246', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:41.005 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 76 of 100 done. Exposure state = 0
2025-12-21T21:12:41.005 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:41.012 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:41.188 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 77 of 100
2025-12-21T21:12:41.191 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344361.1917071
2025-12-21T21:12:41.192 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:03.13582475', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.30442998', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0131', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1176113049246', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:41.452 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 77 of 100 done. Exposure state = 0
2025-12-21T21:12:41.452 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:41.473 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:41.529 [INFO] [Dummy-22115] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:12:41.602 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 78 of 100
2025-12-21T21:12:41.605 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344361.6058617
2025-12-21T21:12:41.607 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:04.34737295', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.25943432', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0181', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1186301482717', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:41.766 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:12:41.870 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 78 of 100 done. Exposure state = 0
2025-12-21T21:12:41.870 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:41.877 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:41.979 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 79 of 100
2025-12-21T21:12:41.982 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344361.982316
2025-12-21T21:12:41.983 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:04.34737295', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.25943432', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0181', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1186301482717', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:42.244 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 79 of 100 done. Exposure state = 0
2025-12-21T21:12:42.244 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:42.246 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:42.353 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 80 of 100
2025-12-21T21:12:42.354 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344362.3548212
2025-12-21T21:12:42.355 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:04.34737295', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.25943432', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0181', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1186301482717', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:42.613 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 80 of 100 done. Exposure state = 0
2025-12-21T21:12:42.614 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:42.641 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:42.731 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 81 of 100
2025-12-21T21:12:42.734 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344362.7344449
2025-12-21T21:12:42.735 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:05.45738863', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.21820906', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0227', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1186301482717', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:42.998 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 81 of 100 done. Exposure state = 0
2025-12-21T21:12:42.999 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:43.006 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:43.107 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 82 of 100
2025-12-21T21:12:43.110 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344363.1107218
2025-12-21T21:12:43.111 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:05.45738863', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.21820906', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0227', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1186301482717', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:43.374 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 82 of 100 done. Exposure state = 0
2025-12-21T21:12:43.375 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:43.382 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:43.482 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 83 of 100
2025-12-21T21:12:43.483 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344363.4836705
2025-12-21T21:12:43.483 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:05.45738863', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.21820906', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0227', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1186301482717', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:43.742 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 83 of 100 done. Exposure state = 0
2025-12-21T21:12:43.743 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:43.750 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:43.935 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 84 of 100
2025-12-21T21:12:43.939 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344363.9394226
2025-12-21T21:12:43.940 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:06.56776427', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.17697002', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0274', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1074228714533', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:43.965 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:12:43.965 [INFO] [Dummy-22100] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:44.150 [INFO] [Dummy-22116] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:44.150 [INFO] [Dummy-22116] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:12:44.150 [INFO] [Dummy-22116] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:12:44.233 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 84 of 100 done. Exposure state = 0
2025-12-21T21:12:44.233 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:44.235 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:44.349 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 85 of 100
2025-12-21T21:12:44.352 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344364.3525221
2025-12-21T21:12:44.353 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:06.56776427', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.17697002', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0274', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1074228714533', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:44.616 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 85 of 100 done. Exposure state = 0
2025-12-21T21:12:44.617 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:44.624 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:44.726 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 86 of 100
2025-12-21T21:12:44.729 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344364.729258
2025-12-21T21:12:44.730 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:06.56776427', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.17697002', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0274', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1074228714533', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:44.994 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 86 of 100 done. Exposure state = 0
2025-12-21T21:12:44.994 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:45.021 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:45.139 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 87 of 100
2025-12-21T21:12:45.142 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344365.1426306
2025-12-21T21:12:45.143 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:07.87760415', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.12832241', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0328', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.102328654718', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:45.406 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 87 of 100 done. Exposure state = 0
2025-12-21T21:12:45.407 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:45.413 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:45.515 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 88 of 100
2025-12-21T21:12:45.518 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344365.5188553
2025-12-21T21:12:45.520 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:07.87760415', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.12832241', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0328', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.102328654718', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:45.783 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 88 of 100 done. Exposure state = 0
2025-12-21T21:12:45.783 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:45.790 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:45.892 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 89 of 100
2025-12-21T21:12:45.895 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344365.8954177
2025-12-21T21:12:45.896 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:07.87760415', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.12832241', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0328', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.102328654718', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:46.160 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 89 of 100 done. Exposure state = 0
2025-12-21T21:12:46.160 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:46.188 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:46.381 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 90 of 100
2025-12-21T21:12:46.385 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344366.3849397
2025-12-21T21:12:46.386 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:09.08699166', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.08340513', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0379', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.111498244842', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:46.649 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 90 of 100 done. Exposure state = 0
2025-12-21T21:12:46.650 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:46.657 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:46.757 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 91 of 100
2025-12-21T21:12:46.761 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344366.7612216
2025-12-21T21:12:46.762 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:09.08699166', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.08340513', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0379', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.111498244842', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:47.025 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 91 of 100 done. Exposure state = 0
2025-12-21T21:12:47.025 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:47.032 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:47.133 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 92 of 100
2025-12-21T21:12:47.137 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344367.137225
2025-12-21T21:12:47.138 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:09.08699166', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.08340513', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0379', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.111498244842', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:47.402 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 92 of 100 done. Exposure state = 0
2025-12-21T21:12:47.402 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:47.429 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:47.547 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 93 of 100
2025-12-21T21:12:47.550 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344367.5502756
2025-12-21T21:12:47.551 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:10.26325502', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.03971763', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0428', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1145547748833', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:47.815 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 93 of 100 done. Exposure state = 0
2025-12-21T21:12:47.815 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:47.822 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:47.924 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 94 of 100
2025-12-21T21:12:47.927 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344367.9273098
2025-12-21T21:12:47.928 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:10.26325502', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.03971763', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0428', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1145547748833', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:48.191 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 94 of 100 done. Exposure state = 0
2025-12-21T21:12:48.191 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:48.199 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:48.300 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 95 of 100
2025-12-21T21:12:48.304 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344368.3041492
2025-12-21T21:12:48.305 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:10.26325502', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:23.03971763', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0428', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1145547748833', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:48.569 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 95 of 100 done. Exposure state = 0
2025-12-21T21:12:48.569 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:48.598 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:48.714 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 96 of 100
2025-12-21T21:12:48.717 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344368.7178924
2025-12-21T21:12:48.719 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:11.47480258', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:22.99471918', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0478', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1196489916215', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:48.982 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 96 of 100 done. Exposure state = 0
2025-12-21T21:12:48.983 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:48.991 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:49.090 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 97 of 100
2025-12-21T21:12:49.094 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344369.0941412
2025-12-21T21:12:49.095 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:11.47480258', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:22.99471918', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0478', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1196489916215', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:49.140 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:12:49.140 [INFO] [Dummy-22100] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:49.317 [INFO] [Dummy-22117] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:12:49.317 [INFO] [Dummy-22117] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:12:49.318 [INFO] [Dummy-22117] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:12:49.410 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 97 of 100 done. Exposure state = 0
2025-12-21T21:12:49.410 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:49.412 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:49.503 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 98 of 100
2025-12-21T21:12:49.506 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344369.506652
2025-12-21T21:12:49.507 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:11.47480258', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:22.99471918', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0478', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.2731', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.1196489916215', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:49.769 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 98 of 100 done. Exposure state = 0
2025-12-21T21:12:49.770 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:49.777 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:49.880 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 99 of 100
2025-12-21T21:12:49.884 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344369.8840466
2025-12-21T21:12:49.885 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:12.68526989', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:22.94976037', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0529', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.273', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.112517088189', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:50.150 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 99 of 100 done. Exposure state = 0
2025-12-21T21:12:50.150 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:50.158 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:50.294 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 100 of 100
2025-12-21T21:12:50.298 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344370.2984822
2025-12-21T21:12:50.299 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='07:45:45', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-23:08:35', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='Bias', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='05:36:12.68526989', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-24:16:22.94976037', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='84.0529', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-24.273', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2533.112517088189', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='112.037', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='227.0', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='89.991971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.108644', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.49', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='21.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:12:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='u', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_CLOSED', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='100', comment='The number of exposures to take')]
2025-12-21T21:12:50.563 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 100 of 100 done. Exposure state = 0
2025-12-21T21:12:50.564 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:12:50.571 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:12:52.696 [INFO] [Dummy-22118] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:12:52.713 [INFO] [Dummy-22112] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:13:06.769 [INFO] [Dummy-22119] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:13:07.012 [INFO] [Dummy-22103] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:13:17.716 [INFO] [Dummy-22120] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:13:17.731 [INFO] [Dummy-22121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:13:32.015 [INFO] [Dummy-22122] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:13:32.258 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:13:42.734 [INFO] [Dummy-22123] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:13:42.751 [INFO] [Dummy-22121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:13:57.260 [INFO] [Dummy-22124] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:13:57.502 [INFO] [Dummy-22125] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:14:07.753 [INFO] [Dummy-22126] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:14:07.769 [INFO] [Dummy-22121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:14:22.506 [INFO] [Dummy-22127] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:14:22.739 [INFO] [Dummy-22100] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:14:32.772 [INFO] [Dummy-22128] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:14:32.789 [INFO] [Dummy-22121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:14:47.742 [INFO] [Dummy-22129] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:14:47.992 [INFO] [Dummy-22125] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:14:57.791 [INFO] [Dummy-22130] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:14:57.808 [INFO] [Dummy-22121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:15:12.994 [INFO] [Dummy-22131] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:15:13.239 [INFO] [Dummy-22132] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:15:22.811 [INFO] [Dummy-22133] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:15:22.827 [INFO] [Dummy-22121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:15:38.240 [INFO] [Dummy-22134] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:15:38.494 [INFO] [Dummy-22135] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:15:47.829 [INFO] [Dummy-22136] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:15:47.846 [INFO] [Dummy-22121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:16:03.497 [INFO] [Dummy-22137] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:16:03.737 [INFO] [Dummy-22132] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:16:12.848 [INFO] [Dummy-22138] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:16:12.867 [INFO] [Dummy-22121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:16:28.739 [INFO] [Dummy-22139] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:16:28.978 [INFO] [Dummy-22135] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:16:37.869 [INFO] [Dummy-22140] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:16:37.885 [INFO] [Dummy-22141] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:16:53.980 [INFO] [Dummy-22142] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:16:54.300 [INFO] [Dummy-22132] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:17:02.888 [INFO] [Dummy-22143] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:17:02.904 [INFO] [Dummy-22141] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:17:19.303 [INFO] [Dummy-22144] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:17:19.536 [INFO] [Dummy-22135] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:17:27.906 [INFO] [Dummy-22145] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:17:27.925 [INFO] [Dummy-22141] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:17:44.540 [INFO] [Dummy-22146] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:17:44.784 [INFO] [Dummy-22147] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:17:52.927 [INFO] [Dummy-22148] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:17:52.943 [INFO] [Dummy-22149] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:18:09.787 [INFO] [Dummy-22150] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:18:10.029 [INFO] [Dummy-22151] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:18:17.945 [INFO] [Dummy-22152] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:18:17.961 [INFO] [Dummy-22149] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:18:35.031 [INFO] [Dummy-22153] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:18:35.298 [INFO] [Dummy-22147] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:18:42.964 [INFO] [Dummy-22154] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:18:42.981 [INFO] [Dummy-22149] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:19:00.301 [INFO] [Dummy-22155] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:19:00.543 [INFO] [Dummy-22151] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:19:07.983 [INFO] [Dummy-22156] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:19:07.999 [INFO] [Dummy-22157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:19:25.546 [INFO] [Dummy-22158] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:19:25.790 [INFO] [Dummy-22147] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:19:33.001 [INFO] [Dummy-22159] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:19:33.017 [INFO] [Dummy-22157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:19:50.793 [INFO] [Dummy-22160] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:19:51.038 [INFO] [Dummy-22151] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:19:58.021 [INFO] [Dummy-22161] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:19:58.038 [INFO] [Dummy-22157] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:20:00.177 [DEBUG] [Dummy-22151] [instrument.py] [set_target_ra()] Setting target RA to 03:53:13
2025-12-21T21:20:00.472 [DEBUG] [Dummy-22151] [instrument.py] [set_target_dec()] Setting target declination to -31:55:24
2025-12-21T21:20:16.042 [INFO] [Dummy-22162] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:20:16.294 [INFO] [Dummy-22163] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:20:23.040 [INFO] [Dummy-22164] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:20:23.057 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:20:37.544 [INFO] [Dummy-22166] [instrument.py] [set_filter()] Setting filter 0:4
2025-12-21T21:20:37.544 [INFO] [Dummy-22166] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 4
2025-12-21T21:20:37.750 [INFO] [Dummy-22166] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 1
2025-12-21T21:20:38.786 [INFO] [Dummy-22166] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 2
2025-12-21T21:20:39.806 [INFO] [Dummy-22166] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 3
2025-12-21T21:20:40.827 [INFO] [Dummy-22166] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 4
2025-12-21T21:20:41.297 [INFO] [Dummy-22167] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:20:41.534 [INFO] [Dummy-22151] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:20:41.848 [INFO] [Dummy-22166] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 5
2025-12-21T21:20:42.902 [INFO] [Dummy-22166] [client.py] [set_filter()] Filter in slide 0  moved to position 4 successfully
2025-12-21T21:20:43.904 [INFO] [Dummy-22166] [client.py] [set_filter()] Setting filter slide ID 1 to filter id 0
2025-12-21T21:20:43.955 [INFO] [Dummy-22166] [client.py] [set_filter()] Filter in slide 1  moved to position 4 successfully
2025-12-21T21:20:44.957 [INFO] [Dummy-22166] [instrument.py] [set_temp_focus()] Setting the focus by temperature
2025-12-21T21:20:44.959 [DEBUG] [Dummy-22166] [instrument.py] [set_temp_focus()] Got temperature = 20.75
2025-12-21T21:20:44.960 [DEBUG] [Dummy-22166] [instrument.py] [set_temp_focus()] Weather time stamp 2025-12-21 21:19:54
2025-12-21T21:20:44.960 [DEBUG] [Dummy-22166] [instrument.py] [set_temp_focus()] Weather time stamp iso 2025-12-21T21:19:54
2025-12-21T21:20:44.960 [DEBUG] [Dummy-22166] [instrument.py] [set_temp_focus()] Got parameters for focus at temp: -16.3, 2680
2025-12-21T21:20:44.960 [INFO] [Dummy-22166] [instrument.py] [set_temp_focus()] Setting focus to 0.09219586614173227
2025-12-21T21:20:48.059 [INFO] [Dummy-22168] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:20:48.074 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:21:06.536 [INFO] [Dummy-22169] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:21:06.781 [INFO] [Dummy-22170] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:21:13.076 [INFO] [Dummy-22171] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:21:13.094 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:21:21.788 [DEBUG] [Dummy-22170] [instrument.py] [set_image_type()] Setting image type id to 1
2025-12-21T21:21:31.784 [INFO] [Dummy-22172] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:21:32.020 [INFO] [Dummy-22166] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:21:38.096 [INFO] [Dummy-22173] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:21:38.111 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:21:44.505 [INFO] [Dummy-22166] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:21:44.505 [INFO] [Dummy-22166] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:21:44.506 [DEBUG] [Dummy-22166] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:21:44.506 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:21:44.506 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:21:44.515 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 1 exposures
2025-12-21T21:21:44.515 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:21:44.522 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:21:44.689 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 1 exposures
2025-12-21T21:21:44.690 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 1
2025-12-21T21:21:44.693 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766344904.6937122
2025-12-21T21:21:44.694 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:14.883398', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:55:20.33731533', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.312', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.9223', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2341.2663524858626', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.33', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.33', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='92.321742', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='75.844229', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:20:58', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.31', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.96', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.7', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.08', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:20:58', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='1', comment='The number of exposures to take')]
2025-12-21T21:21:54.981 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 1 done. Exposure state = 0
2025-12-21T21:21:54.981 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:21:54.983 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:21:55.716 [INFO] [Dummy-22174] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:21:55.717 [INFO] [Dummy-22174] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:21:55.855 [INFO] [Dummy-22175] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:21:55.856 [INFO] [Dummy-22175] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:21:55.856 [INFO] [Dummy-22175] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:21:57.022 [INFO] [Dummy-22176] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:21:57.783 [INFO] [Dummy-22174] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:22:03.113 [INFO] [Dummy-22177] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:22:03.129 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:22:22.785 [INFO] [Dummy-22178] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:22:23.020 [INFO] [Dummy-22179] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:22:28.132 [INFO] [Dummy-22180] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:22:28.148 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:22:48.022 [INFO] [Dummy-22181] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:22:48.263 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:22:53.149 [INFO] [Dummy-22183] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:22:53.167 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:23:13.265 [INFO] [Dummy-22184] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:23:13.503 [INFO] [Dummy-22179] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:23:18.170 [INFO] [Dummy-22185] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:23:18.185 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:23:38.506 [INFO] [Dummy-22186] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:23:38.745 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:23:43.187 [INFO] [Dummy-22187] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:23:43.203 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:24:03.748 [INFO] [Dummy-22188] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:24:03.987 [INFO] [Dummy-22179] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:24:08.205 [INFO] [Dummy-22189] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:24:08.220 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:24:28.989 [INFO] [Dummy-22190] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:24:29.225 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:24:33.223 [INFO] [Dummy-22191] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:24:33.239 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:24:54.228 [INFO] [Dummy-22192] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:24:54.459 [INFO] [Dummy-22179] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:24:58.241 [INFO] [Dummy-22193] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:24:58.258 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:25:19.462 [INFO] [Dummy-22194] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:25:19.702 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:25:23.261 [INFO] [Dummy-22195] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:25:23.277 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:25:44.704 [INFO] [Dummy-22196] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:25:45.077 [INFO] [Dummy-22179] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:25:48.280 [INFO] [Dummy-22197] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:25:48.296 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:26:10.079 [INFO] [Dummy-22198] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:26:10.317 [INFO] [Dummy-22199] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:26:13.299 [INFO] [Dummy-22200] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:26:13.316 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:26:14.567 [INFO] [Dummy-22199] [instrument.py] [set_filter()] Setting filter 0:2
2025-12-21T21:26:14.567 [INFO] [Dummy-22199] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 2
2025-12-21T21:26:14.749 [INFO] [Dummy-22199] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 2 : try 1
2025-12-21T21:26:15.769 [INFO] [Dummy-22199] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 2 : try 2
2025-12-21T21:26:16.789 [INFO] [Dummy-22199] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 2 : try 3
2025-12-21T21:26:17.811 [INFO] [Dummy-22199] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 2 : try 4
2025-12-21T21:26:18.831 [INFO] [Dummy-22199] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 2 : try 5
2025-12-21T21:26:19.893 [INFO] [Dummy-22199] [client.py] [set_filter()] Filter in slide 0  moved to position 2 successfully
2025-12-21T21:26:20.894 [INFO] [Dummy-22199] [client.py] [set_filter()] Setting filter slide ID 1 to filter id 0
2025-12-21T21:26:20.946 [INFO] [Dummy-22199] [client.py] [set_filter()] Filter in slide 1  moved to position 2 successfully
2025-12-21T21:26:21.947 [INFO] [Dummy-22199] [instrument.py] [set_temp_focus()] Setting the focus by temperature
2025-12-21T21:26:21.951 [DEBUG] [Dummy-22199] [instrument.py] [set_temp_focus()] Got temperature = 20.48
2025-12-21T21:26:21.952 [DEBUG] [Dummy-22199] [instrument.py] [set_temp_focus()] Weather time stamp 2025-12-21 21:25:53
2025-12-21T21:26:21.952 [DEBUG] [Dummy-22199] [instrument.py] [set_temp_focus()] Weather time stamp iso 2025-12-21T21:25:53
2025-12-21T21:26:21.952 [DEBUG] [Dummy-22199] [instrument.py] [set_temp_focus()] Got parameters for focus at temp: -15.4, 2602
2025-12-21T21:26:21.953 [INFO] [Dummy-22199] [instrument.py] [set_temp_focus()] Setting focus to 0.090023937007874
2025-12-21T21:26:24.886 [INFO] [Dummy-22199] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:26:24.886 [INFO] [Dummy-22199] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:26:24.886 [DEBUG] [Dummy-22199] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:26:24.887 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:26:24.887 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:26:24.896 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 1 exposures
2025-12-21T21:26:24.942 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:26:24.948 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:26:25.052 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 1 exposures
2025-12-21T21:26:25.053 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 1
2025-12-21T21:26:25.056 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345185.0565567
2025-12-21T21:26:25.057 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:14.88051992', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:55:20.35900468', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.312', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.9223', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2286.641066422531', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.155', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.155', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='91.842424', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='76.832595', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:25:53', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.79', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.01', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.88', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:25:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='g', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='1', comment='The number of exposures to take')]
2025-12-21T21:26:35.319 [INFO] [Dummy-22201] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:26:35.345 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 1 done. Exposure state = 0
2025-12-21T21:26:35.346 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:26:35.353 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:26:35.552 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:26:36.366 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:26:36.366 [INFO] [Dummy-22182] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:26:36.507 [INFO] [Dummy-22202] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:26:36.507 [INFO] [Dummy-22202] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:26:36.507 [INFO] [Dummy-22202] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:26:38.318 [INFO] [Dummy-22203] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:26:38.334 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:27:00.337 [INFO] [Dummy-22182] [instrument.py] [set_filter()] Setting filter 0:3
2025-12-21T21:27:00.338 [INFO] [Dummy-22182] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 3
2025-12-21T21:27:00.554 [INFO] [Dummy-22204] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:27:00.556 [INFO] [Dummy-22182] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 3 : try 1
2025-12-21T21:27:00.835 [INFO] [Dummy-22205] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:27:01.586 [INFO] [Dummy-22182] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 3 : try 2
2025-12-21T21:27:02.606 [INFO] [Dummy-22182] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 3 : try 3
2025-12-21T21:27:03.337 [INFO] [Dummy-22206] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:27:03.354 [INFO] [Dummy-22165] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:27:03.627 [INFO] [Dummy-22182] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 3 : try 4
2025-12-21T21:27:04.682 [INFO] [Dummy-22182] [client.py] [set_filter()] Filter in slide 0  moved to position 3 successfully
2025-12-21T21:27:05.684 [INFO] [Dummy-22182] [client.py] [set_filter()] Setting filter slide ID 1 to filter id 0
2025-12-21T21:27:05.734 [INFO] [Dummy-22182] [client.py] [set_filter()] Filter in slide 1  moved to position 3 successfully
2025-12-21T21:27:06.735 [INFO] [Dummy-22182] [instrument.py] [set_temp_focus()] Setting the focus by temperature
2025-12-21T21:27:06.738 [DEBUG] [Dummy-22182] [instrument.py] [set_temp_focus()] Got temperature = 20.48
2025-12-21T21:27:06.738 [DEBUG] [Dummy-22182] [instrument.py] [set_temp_focus()] Weather time stamp 2025-12-21 21:25:53
2025-12-21T21:27:06.738 [DEBUG] [Dummy-22182] [instrument.py] [set_temp_focus()] Weather time stamp iso 2025-12-21T21:25:53
2025-12-21T21:27:06.739 [DEBUG] [Dummy-22182] [instrument.py] [set_temp_focus()] Got parameters for focus at temp: -15.3, 2602
2025-12-21T21:27:06.739 [INFO] [Dummy-22182] [instrument.py] [set_temp_focus()] Setting focus to 0.09010456692913384
2025-12-21T21:27:10.475 [INFO] [Dummy-22182] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:27:10.476 [INFO] [Dummy-22182] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:27:10.476 [DEBUG] [Dummy-22182] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:27:10.476 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:27:10.476 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:27:10.483 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 1 exposures
2025-12-21T21:27:10.483 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:27:10.489 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:27:10.750 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 1 exposures
2025-12-21T21:27:10.751 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 1
2025-12-21T21:27:10.754 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345230.7542162
2025-12-21T21:27:10.755 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:14.88412483', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:55:20.36969119', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.312', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.9223', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2288.6543008767144', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.128', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.128', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='91.762133', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='76.993507', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:25:53', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='52.79', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.01', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.48', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.88', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:25:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='r', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='1', comment='The number of exposures to take')]
2025-12-21T21:27:21.043 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 1 done. Exposure state = 0
2025-12-21T21:27:21.043 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:27:21.050 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:27:22.087 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:27:22.088 [INFO] [Dummy-22182] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:27:22.228 [INFO] [Dummy-22207] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:27:22.228 [INFO] [Dummy-22207] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:27:22.229 [INFO] [Dummy-22207] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:27:25.836 [INFO] [Dummy-22208] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:27:26.071 [INFO] [Dummy-22209] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:27:28.356 [INFO] [Dummy-22210] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:27:28.373 [INFO] [Dummy-22211] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:27:51.073 [INFO] [Dummy-22212] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:27:51.309 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:27:53.376 [INFO] [Dummy-22213] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:27:53.393 [INFO] [Dummy-22211] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:28:16.311 [INFO] [Dummy-22214] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:28:16.545 [INFO] [Dummy-22209] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:28:18.394 [INFO] [Dummy-22215] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:28:18.410 [INFO] [Dummy-22211] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:28:41.548 [INFO] [Dummy-22216] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:28:41.785 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:28:43.410 [INFO] [Dummy-22217] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:28:43.425 [INFO] [Dummy-22211] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:29:06.787 [INFO] [Dummy-22218] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:29:07.017 [INFO] [Dummy-22209] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:29:08.428 [INFO] [Dummy-22219] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:29:08.445 [INFO] [Dummy-22211] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:29:32.020 [INFO] [Dummy-22220] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:29:32.259 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:29:33.448 [INFO] [Dummy-22221] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:29:33.465 [INFO] [Dummy-22211] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:29:57.261 [INFO] [Dummy-22222] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:29:57.496 [INFO] [Dummy-22209] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:29:58.467 [INFO] [Dummy-22223] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:29:58.484 [INFO] [Dummy-22211] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:30:22.499 [INFO] [Dummy-22224] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:30:22.747 [INFO] [Dummy-22182] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:30:23.487 [INFO] [Dummy-22225] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:30:23.504 [INFO] [Dummy-22226] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:30:40.468 [INFO] [Dummy-22182] [instrument.py] [set_filter()] Setting filter 0:4
2025-12-21T21:30:40.468 [INFO] [Dummy-22182] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 4
2025-12-21T21:30:40.516 [INFO] [Dummy-22182] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 1
2025-12-21T21:30:41.536 [INFO] [Dummy-22182] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 2
2025-12-21T21:30:42.558 [INFO] [Dummy-22182] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 3
2025-12-21T21:30:43.578 [INFO] [Dummy-22182] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 4
2025-12-21T21:30:44.655 [INFO] [Dummy-22182] [client.py] [set_filter()] Filter in slide 0  moved to position 4 successfully
2025-12-21T21:30:45.656 [INFO] [Dummy-22182] [client.py] [set_filter()] Setting filter slide ID 1 to filter id 0
2025-12-21T21:30:45.708 [INFO] [Dummy-22182] [client.py] [set_filter()] Filter in slide 1  moved to position 4 successfully
2025-12-21T21:30:46.301 [INFO] [Dummy-22227] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:30:46.302 [INFO] [Dummy-22227] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:30:46.302 [DEBUG] [Dummy-22227] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:30:46.302 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:30:46.303 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:30:46.309 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 1 exposures
2025-12-21T21:30:46.309 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:30:46.316 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:30:46.428 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 1 exposures
2025-12-21T21:30:46.428 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 1
2025-12-21T21:30:46.432 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345446.4319932
2025-12-21T21:30:46.433 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88270898', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.34231559', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2287.7556810444325', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.195', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.194', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='91.203707', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='77.720617', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:30:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.46', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.96', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:30:14', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='1', comment='The number of exposures to take')]
2025-12-21T21:30:46.708 [INFO] [Dummy-22182] [instrument.py] [set_temp_focus()] Setting the focus by temperature
2025-12-21T21:30:46.711 [DEBUG] [Dummy-22182] [instrument.py] [set_temp_focus()] Got temperature = 20.4
2025-12-21T21:30:46.711 [DEBUG] [Dummy-22182] [instrument.py] [set_temp_focus()] Weather time stamp 2025-12-21 21:30:14
2025-12-21T21:30:46.711 [DEBUG] [Dummy-22182] [instrument.py] [set_temp_focus()] Weather time stamp iso 2025-12-21T21:30:14
2025-12-21T21:30:46.711 [DEBUG] [Dummy-22182] [instrument.py] [set_temp_focus()] Got parameters for focus at temp: -16.3, 2680
2025-12-21T21:30:46.712 [INFO] [Dummy-22182] [instrument.py] [set_temp_focus()] Setting focus to 0.09242047244094487
2025-12-21T21:30:47.749 [INFO] [Dummy-22228] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:30:47.987 [INFO] [Dummy-22209] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:30:48.506 [INFO] [Dummy-22229] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:30:48.523 [INFO] [Dummy-22226] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:30:56.722 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 1 done. Exposure state = 0
2025-12-21T21:30:56.722 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:30:56.730 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:30:57.835 [INFO] [Dummy-22209] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:30:57.835 [INFO] [Dummy-22209] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:30:57.968 [INFO] [Dummy-22230] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:30:57.969 [INFO] [Dummy-22230] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:30:57.969 [INFO] [Dummy-22230] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:31:12.990 [INFO] [Dummy-22231] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:31:13.229 [INFO] [Dummy-22227] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:31:13.526 [INFO] [Dummy-22232] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:31:13.542 [INFO] [Dummy-22226] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:31:38.231 [INFO] [Dummy-22233] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:31:38.467 [INFO] [Dummy-22209] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:31:38.544 [INFO] [Dummy-22234] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:31:38.560 [INFO] [Dummy-22226] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:31:50.496 [INFO] [Dummy-22209] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:31:50.496 [INFO] [Dummy-22209] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:31:50.497 [DEBUG] [Dummy-22209] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:31:50.497 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:31:50.497 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:31:50.506 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 1 exposures
2025-12-21T21:31:50.506 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:31:50.512 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:31:50.615 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 1 exposures
2025-12-21T21:31:50.615 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 1
2025-12-21T21:31:50.619 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345510.6193838
2025-12-21T21:31:50.620 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88055008', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35678272', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.277528234696', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.166', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.166', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='91.081199', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='77.946786', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:30:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.53', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.61', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.39', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:30:46', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='1', comment='The number of exposures to take')]
2025-12-21T21:32:00.909 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 1 done. Exposure state = 0
2025-12-21T21:32:00.909 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:32:00.916 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:32:01.744 [INFO] [Dummy-22235] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet MESSAGE data 2["data"]
2025-12-21T21:32:01.744 [INFO] [Dummy-22235] [server.py] [_handle_event()] received event "data" from kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:32:01.878 [INFO] [Dummy-22236] [server.py] [emit()] emitting event "data" to kGNuYQ7iMwCbxmTmAABB [/]
2025-12-21T21:32:01.878 [INFO] [Dummy-22236] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:32:01.878 [INFO] [Dummy-22236] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet MESSAGE data <binary>
2025-12-21T21:32:03.469 [INFO] [Dummy-22237] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:32:03.563 [INFO] [Dummy-22238] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:32:03.579 [INFO] [Dummy-22226] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:32:03.707 [INFO] [Dummy-22227] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:32:28.582 [INFO] [Dummy-22239] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:32:28.599 [INFO] [Dummy-22226] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:32:28.709 [INFO] [Dummy-22240] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:32:28.944 [INFO] [Dummy-22235] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:32:53.601 [INFO] [Dummy-22241] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:32:53.618 [INFO] [Dummy-22242] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:32:53.946 [INFO] [Dummy-22243] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:32:54.184 [INFO] [Dummy-22227] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:33:10.553 [DEBUG] [Dummy-22227] [instrument.py] [set_image_type()] Setting image type id to 2
2025-12-21T21:33:18.620 [INFO] [Dummy-22244] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:33:18.637 [INFO] [Dummy-22242] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:33:19.187 [INFO] [Dummy-22245] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:33:19.429 [INFO] [Dummy-22235] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:33:42.649 [INFO] [Dummy-22235] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:33:42.649 [INFO] [Dummy-22235] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:33:42.649 [DEBUG] [Dummy-22235] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:33:42.650 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:33:42.650 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:33:42.659 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 3 exposures
2025-12-21T21:33:42.659 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:33:42.680 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:33:42.782 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 3 exposures
2025-12-21T21:33:42.782 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 3
2025-12-21T21:33:42.785 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345622.7855728
2025-12-21T21:33:42.786 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88271316', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.36391456', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.8913866060843', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.12', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.121', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.860452', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.345638', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:32:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.39', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.09', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.42', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:33:43.639 [INFO] [Dummy-22246] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:33:43.654 [INFO] [Dummy-22242] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:33:44.048 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 3 done. Exposure state = 0
2025-12-21T21:33:44.048 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:33:44.054 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:33:44.173 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 3
2025-12-21T21:33:44.176 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345624.176582
2025-12-21T21:33:44.177 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88126785', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.3423608', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.8934242927785', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.12', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.12', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.858229', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.349541', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:32:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.39', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.09', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.42', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:33:44.431 [INFO] [Dummy-22247] [socket.py] [send()] Yifbrfq-vYe51dYQAABA: Sending packet PING data None
2025-12-21T21:33:44.440 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 3 done. Exposure state = 0
2025-12-21T21:33:44.441 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:33:44.447 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:33:44.550 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 3
2025-12-21T21:33:44.553 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345624.5532205
2025-12-21T21:33:44.554 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88126785', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.3423608', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.8934242927785', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.12', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.12', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.858229', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.349541', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:32:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.39', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.09', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.42', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:33:44.675 [INFO] [Dummy-22227] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet PONG data 
2025-12-21T21:33:44.817 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 3 done. Exposure state = 0
2025-12-21T21:33:44.818 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:33:44.844 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:33:53.000 [INFO] [Dummy-22227] [socket.py] [receive()] Yifbrfq-vYe51dYQAABA: Received packet CLOSE data 
2025-12-21T21:33:54.459 [INFO] [Dummy-22248] [socket.py] [send()] LkTyeAm8fliwSgdkAABC: Sending packet OPEN data {'sid': 'LkTyeAm8fliwSgdkAABC', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T21:33:54.696 [INFO] [Dummy-22248] [socket.py] [receive()] LkTyeAm8fliwSgdkAABC: Received packet MESSAGE data 0
2025-12-21T21:33:54.697 [INFO] [Dummy-22248] [socket.py] [send()] LkTyeAm8fliwSgdkAABC: Sending packet MESSAGE data 0{"sid":"O-9eDkcTMTSiLtEVAABD"}
2025-12-21T21:33:55.013 [INFO] [Dummy-22249] [socket.py] [handle_get_request()] LkTyeAm8fliwSgdkAABC: Received request to upgrade to websocket
2025-12-21T21:33:55.396 [INFO] [Dummy-22235] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:33:55.397 [INFO] [Dummy-22235] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:33:55.397 [DEBUG] [Dummy-22235] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:33:55.397 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:33:55.398 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:33:55.402 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 3 exposures
2025-12-21T21:33:55.402 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:33:55.404 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:33:55.530 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 3 exposures
2025-12-21T21:33:55.531 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 3
2025-12-21T21:33:55.534 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345635.53492
2025-12-21T21:33:55.536 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88271177', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35671491', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.865915522404', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.116', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.116', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.837033', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.387276', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:32:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.39', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.09', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.42', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:33:55.799 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 3 done. Exposure state = 0
2025-12-21T21:33:55.799 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:33:55.799 [WARNING] [start_exposure_worker] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff784a5a450>>. Trying to reconnect
2025-12-21T21:33:55.800 [WARNING] [Dummy-22250] [client.py] [get_status()] Unable to get status: unexpected exception. Trying to reconnect
2025-12-21T21:33:55.932 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:33:56.057 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 3
2025-12-21T21:33:56.061 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345636.0610437
2025-12-21T21:33:56.062 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.8819912', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35673751', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.8496140288476', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.116', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.116', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.834438', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.391887', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:32:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.39', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.09', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.42', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:33:56.325 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 3 done. Exposure state = 0
2025-12-21T21:33:56.326 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:33:56.333 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:33:56.433 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 3
2025-12-21T21:33:56.437 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345636.4369798
2025-12-21T21:33:56.438 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.8819912', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35673751', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.8496140288476', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.116', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.116', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.834438', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.391887', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:32:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.39', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.09', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.42', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:33:56.700 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 3 done. Exposure state = 0
2025-12-21T21:33:56.700 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:33:56.707 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:33:59.786 [INFO] [Dummy-22235] [socket.py] [receive()] LkTyeAm8fliwSgdkAABC: Received packet CLOSE data 
2025-12-21T21:34:01.148 [INFO] [Dummy-22235] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet OPEN data {'sid': 'YDOakeBBD8uyw1gYAABE', 'upgrades': ['websocket'], 'pingTimeout': 20000, 'pingInterval': 25000}
2025-12-21T21:34:01.382 [INFO] [Dummy-22235] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 0
2025-12-21T21:34:01.384 [INFO] [Dummy-22235] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 0{"sid":"uajwivMNrPmXdX0kAABF"}
2025-12-21T21:34:01.614 [INFO] [Dummy-22251] [socket.py] [handle_get_request()] YDOakeBBD8uyw1gYAABE: Received request to upgrade to websocket
2025-12-21T21:34:02.752 [INFO] [Dummy-22235] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:34:02.752 [INFO] [Dummy-22235] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:34:02.752 [DEBUG] [Dummy-22235] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:34:02.752 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:34:02.752 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:34:02.758 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 3 exposures
2025-12-21T21:34:02.758 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:34:02.760 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:34:02.865 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 3 exposures
2025-12-21T21:34:02.865 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 3
2025-12-21T21:34:02.869 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345642.8693237
2025-12-21T21:34:02.870 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.87874867', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35683923', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.8475763421534', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.113', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.113', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.821145', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.415461', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:33:26', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.4', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.58', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.44', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:34:03.133 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 3 done. Exposure state = 0
2025-12-21T21:34:03.133 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:34:03.141 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:34:03.241 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 3
2025-12-21T21:34:03.244 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345643.24431
2025-12-21T21:34:03.245 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.87874867', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35683923', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.8475763421534', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.113', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.113', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.821145', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.415461', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:33:26', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.4', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.58', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.44', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:34:03.507 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 3 done. Exposure state = 0
2025-12-21T21:34:03.511 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:34:03.536 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:34:03.655 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 3
2025-12-21T21:34:03.658 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345643.6581933
2025-12-21T21:34:03.659 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.8823494', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.34592672', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.8322936919435', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.113', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.113', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.819132', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.419005', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:33:26', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.4', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.58', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.44', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='3', comment='The number of exposures to take')]
2025-12-21T21:34:03.922 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 3 done. Exposure state = 0
2025-12-21T21:34:03.922 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:34:03.930 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:34:04.042 [INFO] [Dummy-22235] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T21:34:04.043 [INFO] [Dummy-22235] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T21:34:04.188 [INFO] [Dummy-22252] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T21:34:04.188 [INFO] [Dummy-22252] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:34:04.188 [INFO] [Dummy-22252] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T21:34:08.657 [INFO] [Dummy-22253] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:34:08.673 [INFO] [Dummy-22242] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:34:26.150 [INFO] [Dummy-22254] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:34:26.416 [INFO] [Dummy-22248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:34:33.676 [INFO] [Dummy-22255] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:34:33.692 [INFO] [Dummy-22242] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:34:51.419 [INFO] [Dummy-22256] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:34:51.655 [INFO] [Dummy-22235] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:34:58.694 [INFO] [Dummy-22257] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:34:58.710 [INFO] [Dummy-22258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:35:16.657 [INFO] [Dummy-22259] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:35:16.896 [INFO] [Dummy-22248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:35:20.102 [INFO] [Dummy-22248] [instrument.py] [set_filter()] Setting filter 0:0
2025-12-21T21:35:20.102 [INFO] [Dummy-22248] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 0
2025-12-21T21:35:20.292 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 1
2025-12-21T21:35:21.312 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 2
2025-12-21T21:35:22.332 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 3
2025-12-21T21:35:23.352 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 4
2025-12-21T21:35:23.713 [INFO] [Dummy-22260] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:35:23.730 [INFO] [Dummy-22258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:35:24.373 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 5
2025-12-21T21:35:25.394 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 6
2025-12-21T21:35:26.415 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 0 : try 7
2025-12-21T21:35:27.477 [INFO] [Dummy-22248] [client.py] [set_filter()] Filter in slide 0  moved to position 0 successfully
2025-12-21T21:35:31.930 [INFO] [Dummy-22248] [instrument.py] [set_filter()] Setting filter 0:4
2025-12-21T21:35:31.930 [INFO] [Dummy-22248] [client.py] [set_filter()] Setting filter slide ID 0 to filter id 4
2025-12-21T21:35:32.115 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 1
2025-12-21T21:35:33.135 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 2
2025-12-21T21:35:34.171 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 3
2025-12-21T21:35:35.191 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 4
2025-12-21T21:35:36.228 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 5
2025-12-21T21:35:37.249 [INFO] [Dummy-22248] [client.py] [set_filter()] Waiting for filter in slide 0 to move to position 4 : try 6
2025-12-21T21:35:38.314 [INFO] [Dummy-22248] [client.py] [set_filter()] Filter in slide 0  moved to position 4 successfully
2025-12-21T21:35:39.316 [INFO] [Dummy-22248] [client.py] [set_filter()] Setting filter slide ID 1 to filter id 0
2025-12-21T21:35:39.367 [INFO] [Dummy-22248] [client.py] [set_filter()] Filter in slide 1  moved to position 4 successfully
2025-12-21T21:35:40.368 [INFO] [Dummy-22248] [instrument.py] [set_temp_focus()] Setting the focus by temperature
2025-12-21T21:35:40.371 [DEBUG] [Dummy-22248] [instrument.py] [set_temp_focus()] Got temperature = 20.37
2025-12-21T21:35:40.371 [DEBUG] [Dummy-22248] [instrument.py] [set_temp_focus()] Weather time stamp 2025-12-21 21:35:03
2025-12-21T21:35:40.372 [DEBUG] [Dummy-22248] [instrument.py] [set_temp_focus()] Weather time stamp iso 2025-12-21T21:35:03
2025-12-21T21:35:40.372 [DEBUG] [Dummy-22248] [instrument.py] [set_temp_focus()] Got parameters for focus at temp: -16.3, 2680
2025-12-21T21:35:40.372 [INFO] [Dummy-22248] [instrument.py] [set_temp_focus()] Setting focus to 0.0924397244094488
2025-12-21T21:35:41.899 [INFO] [Dummy-22261] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:35:42.134 [INFO] [Dummy-22235] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:35:45.123 [INFO] [Dummy-22235] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T21:35:45.123 [INFO] [Dummy-22235] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T21:35:45.123 [DEBUG] [Dummy-22235] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T21:35:45.123 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T21:35:45.123 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T21:35:45.128 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 1 exposures
2025-12-21T21:35:45.128 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:35:45.130 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:35:45.254 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 1 exposures
2025-12-21T21:35:45.254 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 1
2025-12-21T21:35:45.256 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766345745.2563384
2025-12-21T21:35:45.256 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88271664', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.38191371', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.9672851807904', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='90.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='96.078', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='276.078', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='90.616026', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.774119', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T21:35:35', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='53.35', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.81', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='20.35', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.78', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T21:32:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='BIAS', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='1', comment='The number of exposures to take')]
2025-12-21T21:35:48.731 [INFO] [Dummy-22262] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:35:48.747 [INFO] [Dummy-22258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:35:55.545 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 1 done. Exposure state = 0
2025-12-21T21:35:55.545 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T21:35:55.548 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T21:35:56.531 [INFO] [Dummy-22263] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T21:35:56.532 [INFO] [Dummy-22263] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T21:35:56.670 [INFO] [Dummy-22264] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T21:35:56.670 [INFO] [Dummy-22264] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T21:35:56.671 [INFO] [Dummy-22264] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T21:36:07.136 [INFO] [Dummy-22265] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:36:07.373 [INFO] [Dummy-22248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:36:13.750 [INFO] [Dummy-22266] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:36:13.766 [INFO] [Dummy-22258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:36:32.377 [INFO] [Dummy-22267] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:36:32.624 [INFO] [Dummy-22263] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:36:38.769 [INFO] [Dummy-22268] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:36:38.787 [INFO] [Dummy-22258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:36:57.626 [INFO] [Dummy-22269] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:36:57.868 [INFO] [Dummy-22248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:37:03.790 [INFO] [Dummy-22270] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:37:03.806 [INFO] [Dummy-22271] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:37:22.870 [INFO] [Dummy-22272] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:37:23.106 [INFO] [Dummy-22263] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:37:28.808 [INFO] [Dummy-22273] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:37:28.824 [INFO] [Dummy-22271] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:37:48.108 [INFO] [Dummy-22274] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:37:48.465 [INFO] [Dummy-22275] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:37:53.827 [INFO] [Dummy-22276] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:37:53.844 [INFO] [Dummy-22271] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:38:13.468 [INFO] [Dummy-22277] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:38:13.708 [INFO] [Dummy-22278] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:38:18.847 [INFO] [Dummy-22279] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:38:18.867 [INFO] [Dummy-22280] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:38:38.710 [INFO] [Dummy-22281] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:38:38.948 [INFO] [Dummy-22282] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:38:43.871 [INFO] [Dummy-22283] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:38:43.887 [INFO] [Dummy-22284] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:39:03.952 [INFO] [Dummy-22285] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:39:04.191 [INFO] [Dummy-22278] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:39:08.889 [INFO] [Dummy-22286] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:39:08.906 [INFO] [Dummy-22284] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:39:29.194 [INFO] [Dummy-22287] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:39:29.429 [INFO] [Dummy-22282] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:39:33.909 [INFO] [Dummy-22288] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:39:33.925 [INFO] [Dummy-22284] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:39:54.432 [INFO] [Dummy-22289] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:39:55.017 [INFO] [Dummy-22278] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:39:58.928 [INFO] [Dummy-22290] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:39:58.944 [INFO] [Dummy-22284] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:40:20.019 [INFO] [Dummy-22291] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:40:20.258 [INFO] [Dummy-22292] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:40:23.947 [INFO] [Dummy-22293] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:40:23.963 [INFO] [Dummy-22294] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:40:45.260 [INFO] [Dummy-22295] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:40:45.541 [INFO] [Dummy-22278] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:40:48.967 [INFO] [Dummy-22296] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:40:48.984 [INFO] [Dummy-22297] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:41:10.543 [INFO] [Dummy-22298] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:41:10.808 [INFO] [Dummy-22299] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:41:13.986 [INFO] [Dummy-22300] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:41:14.004 [INFO] [Dummy-22301] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:41:35.810 [INFO] [Dummy-22302] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:41:36.064 [INFO] [Dummy-22303] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:41:39.006 [INFO] [Dummy-22304] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:41:39.026 [INFO] [Dummy-22301] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:42:01.066 [INFO] [Dummy-22305] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:42:01.315 [INFO] [Dummy-22299] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:42:04.028 [INFO] [Dummy-22306] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:42:04.046 [INFO] [Dummy-22307] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:42:26.319 [INFO] [Dummy-22308] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:42:26.574 [INFO] [Dummy-22303] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:42:29.049 [INFO] [Dummy-22309] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:42:29.065 [INFO] [Dummy-22307] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:42:51.576 [INFO] [Dummy-22310] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:42:51.822 [INFO] [Dummy-22311] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:42:54.068 [INFO] [Dummy-22312] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:42:54.084 [INFO] [Dummy-22307] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:43:16.824 [INFO] [Dummy-22313] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:43:17.080 [INFO] [Dummy-22314] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:43:19.087 [INFO] [Dummy-22315] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:43:19.103 [INFO] [Dummy-22316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:43:42.083 [INFO] [Dummy-22317] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:43:42.329 [INFO] [Dummy-22311] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:43:44.105 [INFO] [Dummy-22318] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:43:44.157 [INFO] [Dummy-22316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:44:07.332 [INFO] [Dummy-22319] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:44:07.571 [INFO] [Dummy-22314] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:44:09.158 [INFO] [Dummy-22320] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:44:09.177 [INFO] [Dummy-22316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:44:32.574 [INFO] [Dummy-22321] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:44:32.807 [INFO] [Dummy-22322] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:44:34.180 [INFO] [Dummy-22323] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:44:34.196 [INFO] [Dummy-22316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:44:57.810 [INFO] [Dummy-22324] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:44:58.052 [INFO] [Dummy-22311] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:44:59.198 [INFO] [Dummy-22325] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:44:59.214 [INFO] [Dummy-22316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:45:23.053 [INFO] [Dummy-22326] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:45:23.290 [INFO] [Dummy-22327] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:45:24.217 [INFO] [Dummy-22328] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:45:24.237 [INFO] [Dummy-22329] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:45:48.293 [INFO] [Dummy-22330] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:45:48.541 [INFO] [Dummy-22327] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:45:49.239 [INFO] [Dummy-22331] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:45:49.255 [INFO] [Dummy-22332] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:46:13.543 [INFO] [Dummy-22333] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:46:13.803 [INFO] [Dummy-22334] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:46:14.258 [INFO] [Dummy-22335] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:46:14.274 [INFO] [Dummy-22332] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:46:38.806 [INFO] [Dummy-22336] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:46:39.081 [INFO] [Dummy-22327] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:46:39.277 [INFO] [Dummy-22337] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:46:39.295 [INFO] [Dummy-22332] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:47:04.084 [INFO] [Dummy-22338] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:47:04.297 [INFO] [Dummy-22339] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:47:04.318 [INFO] [Dummy-22332] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:47:04.331 [INFO] [Dummy-22334] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:47:29.320 [INFO] [Dummy-22340] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:47:29.333 [INFO] [Dummy-22341] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:47:29.336 [INFO] [Dummy-22332] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:47:29.576 [INFO] [Dummy-22327] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:47:54.339 [INFO] [Dummy-22342] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:47:54.355 [INFO] [Dummy-22332] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:47:54.578 [INFO] [Dummy-22343] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:47:54.843 [INFO] [Dummy-22344] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:48:19.358 [INFO] [Dummy-22345] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:48:19.374 [INFO] [Dummy-22332] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:48:19.846 [INFO] [Dummy-22346] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:48:20.096 [INFO] [Dummy-22334] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:48:44.377 [INFO] [Dummy-22347] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:48:44.393 [INFO] [Dummy-22332] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:48:45.098 [INFO] [Dummy-22348] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:48:45.347 [INFO] [Dummy-22344] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:49:09.396 [INFO] [Dummy-22349] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:49:09.414 [INFO] [Dummy-22350] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:49:10.349 [INFO] [Dummy-22351] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:49:10.604 [INFO] [Dummy-22352] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:49:34.417 [INFO] [Dummy-22353] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:49:34.434 [INFO] [Dummy-22350] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:49:35.606 [INFO] [Dummy-22354] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:49:36.063 [INFO] [Dummy-22355] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:49:59.436 [INFO] [Dummy-22356] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:49:59.454 [INFO] [Dummy-22357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:50:01.065 [INFO] [Dummy-22358] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:50:01.308 [INFO] [Dummy-22359] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:50:24.456 [INFO] [Dummy-22360] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:50:24.472 [INFO] [Dummy-22357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:50:26.310 [INFO] [Dummy-22361] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:50:26.561 [INFO] [Dummy-22355] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:50:49.474 [INFO] [Dummy-22362] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:50:49.491 [INFO] [Dummy-22357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:50:51.563 [INFO] [Dummy-22363] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:50:51.809 [INFO] [Dummy-22359] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:51:14.493 [INFO] [Dummy-22364] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:51:14.510 [INFO] [Dummy-22357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:51:16.811 [INFO] [Dummy-22365] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:51:17.076 [INFO] [Dummy-22355] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:51:39.513 [INFO] [Dummy-22366] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:51:39.530 [INFO] [Dummy-22367] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:51:42.079 [INFO] [Dummy-22368] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:51:42.322 [INFO] [Dummy-22359] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:52:04.533 [INFO] [Dummy-22369] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:52:04.550 [INFO] [Dummy-22367] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:52:07.324 [INFO] [Dummy-22370] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:52:07.566 [INFO] [Dummy-22355] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:52:29.552 [INFO] [Dummy-22371] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:52:29.569 [INFO] [Dummy-22367] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:52:32.568 [INFO] [Dummy-22372] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:52:32.818 [INFO] [Dummy-22373] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:52:54.571 [INFO] [Dummy-22374] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:52:54.588 [INFO] [Dummy-22367] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:52:57.821 [INFO] [Dummy-22375] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:52:58.082 [INFO] [Dummy-22359] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:53:19.590 [INFO] [Dummy-22376] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:53:19.607 [INFO] [Dummy-22377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:53:23.083 [INFO] [Dummy-22378] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:53:23.327 [INFO] [Dummy-22373] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:53:44.610 [INFO] [Dummy-22379] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:53:44.627 [INFO] [Dummy-22377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:53:48.330 [INFO] [Dummy-22380] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:53:48.575 [INFO] [Dummy-22359] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:54:09.629 [INFO] [Dummy-22381] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:54:09.646 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:54:13.578 [INFO] [Dummy-22383] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:54:13.817 [INFO] [Dummy-22373] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:54:34.649 [INFO] [Dummy-22384] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:54:34.665 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:54:38.819 [INFO] [Dummy-22385] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:54:39.064 [INFO] [Dummy-22386] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:54:59.667 [INFO] [Dummy-22387] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:54:59.683 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:55:04.066 [INFO] [Dummy-22388] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:55:04.319 [INFO] [Dummy-22373] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:55:24.686 [INFO] [Dummy-22389] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:55:24.703 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:55:29.321 [INFO] [Dummy-22390] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:55:29.560 [INFO] [Dummy-22386] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:55:49.705 [INFO] [Dummy-22391] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:55:49.722 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:55:54.563 [INFO] [Dummy-22392] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:55:54.805 [INFO] [Dummy-22386] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:56:14.724 [INFO] [Dummy-22393] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:56:14.741 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:56:19.807 [INFO] [Dummy-22394] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:56:20.048 [INFO] [Dummy-22373] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:56:39.744 [INFO] [Dummy-22395] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:56:39.761 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:56:45.051 [INFO] [Dummy-22396] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:56:45.299 [INFO] [Dummy-22397] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:57:04.763 [INFO] [Dummy-22398] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:57:04.781 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:57:10.302 [INFO] [Dummy-22399] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:57:10.545 [INFO] [Dummy-22397] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:57:29.784 [INFO] [Dummy-22400] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:57:29.801 [INFO] [Dummy-22382] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:57:35.548 [INFO] [Dummy-22401] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:57:35.795 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:57:54.804 [INFO] [Dummy-22403] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:57:54.820 [INFO] [Dummy-22404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:58:00.797 [INFO] [Dummy-22405] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:58:01.040 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:58:19.824 [INFO] [Dummy-22407] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:58:19.840 [INFO] [Dummy-22404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:58:26.043 [INFO] [Dummy-22408] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:58:26.278 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:58:44.876 [INFO] [Dummy-22409] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:58:44.893 [INFO] [Dummy-22410] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:58:51.281 [INFO] [Dummy-22411] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:58:51.525 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:59:09.895 [INFO] [Dummy-22412] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:59:09.911 [INFO] [Dummy-22410] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:59:16.527 [INFO] [Dummy-22413] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:59:16.772 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:59:34.912 [INFO] [Dummy-22414] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:59:34.924 [INFO] [Dummy-22410] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T21:59:41.774 [INFO] [Dummy-22415] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T21:59:42.013 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T21:59:59.927 [INFO] [Dummy-22416] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T21:59:59.943 [INFO] [Dummy-22417] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:00:07.016 [INFO] [Dummy-22418] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:00:07.256 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:00:24.946 [INFO] [Dummy-22419] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:00:24.965 [INFO] [Dummy-22420] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:00:32.259 [INFO] [Dummy-22421] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:00:32.503 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:00:49.968 [INFO] [Dummy-22422] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:00:49.986 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:00:57.505 [INFO] [Dummy-22424] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:00:57.750 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:01:14.988 [INFO] [Dummy-22425] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:01:15.006 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:01:22.752 [INFO] [Dummy-22426] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:01:23.000 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:01:40.008 [INFO] [Dummy-22427] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:01:40.024 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:01:48.002 [INFO] [Dummy-22428] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:01:48.249 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:02:05.026 [INFO] [Dummy-22429] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:02:05.043 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:02:13.252 [INFO] [Dummy-22430] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:02:13.494 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:02:30.046 [INFO] [Dummy-22431] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:02:30.063 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:02:38.497 [INFO] [Dummy-22432] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:02:38.744 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:02:55.065 [INFO] [Dummy-22433] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:02:55.082 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:03:03.747 [INFO] [Dummy-22434] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:03:03.992 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:03:20.084 [INFO] [Dummy-22435] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:03:20.102 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:03:28.995 [INFO] [Dummy-22436] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:03:29.233 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:03:45.104 [INFO] [Dummy-22437] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:03:45.121 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:03:54.236 [INFO] [Dummy-22438] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:03:54.478 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:04:10.124 [INFO] [Dummy-22439] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:04:10.141 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:04:19.481 [INFO] [Dummy-22440] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:04:19.721 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:04:35.143 [INFO] [Dummy-22441] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:04:35.162 [INFO] [Dummy-22423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:04:44.723 [INFO] [Dummy-22442] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:04:44.963 [INFO] [Dummy-22406] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:05:00.165 [INFO] [Dummy-22443] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:05:00.181 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:05:09.965 [INFO] [Dummy-22445] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:05:10.221 [INFO] [Dummy-22402] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:05:25.184 [INFO] [Dummy-22446] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:05:25.201 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:05:35.223 [INFO] [Dummy-22447] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:05:35.465 [INFO] [Dummy-22448] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:05:50.204 [INFO] [Dummy-22449] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:05:50.220 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:06:00.467 [INFO] [Dummy-22450] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:06:00.744 [INFO] [Dummy-22451] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:06:15.223 [INFO] [Dummy-22452] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:06:15.242 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:06:25.748 [INFO] [Dummy-22453] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:06:25.997 [INFO] [Dummy-22448] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:06:40.244 [INFO] [Dummy-22454] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:06:40.260 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:06:50.999 [INFO] [Dummy-22455] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:06:51.240 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:07:05.263 [INFO] [Dummy-22457] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:07:05.282 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:07:16.243 [INFO] [Dummy-22458] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:07:16.482 [INFO] [Dummy-22459] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:07:30.284 [INFO] [Dummy-22460] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:07:30.302 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:07:41.485 [INFO] [Dummy-22461] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:07:41.732 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:07:55.305 [INFO] [Dummy-22462] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:07:55.321 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:08:06.734 [INFO] [Dummy-22463] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:08:06.985 [INFO] [Dummy-22459] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:08:20.323 [INFO] [Dummy-22464] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:08:20.340 [INFO] [Dummy-22444] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:08:31.988 [INFO] [Dummy-22465] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:08:32.281 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:08:45.343 [INFO] [Dummy-22466] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:08:45.360 [INFO] [Dummy-22467] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:08:57.283 [INFO] [Dummy-22468] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:08:57.526 [INFO] [Dummy-22459] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:09:10.362 [INFO] [Dummy-22469] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:09:10.381 [INFO] [Dummy-22467] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:09:22.529 [INFO] [Dummy-22470] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:09:22.775 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:09:35.384 [INFO] [Dummy-22471] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:09:35.403 [INFO] [Dummy-22472] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:09:47.777 [INFO] [Dummy-22473] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:09:48.018 [INFO] [Dummy-22459] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:10:00.405 [INFO] [Dummy-22474] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:10:00.420 [INFO] [Dummy-22475] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:10:13.020 [INFO] [Dummy-22476] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:10:13.260 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:10:25.423 [INFO] [Dummy-22477] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:10:25.441 [INFO] [Dummy-22475] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:10:38.262 [INFO] [Dummy-22478] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:10:38.505 [INFO] [Dummy-22459] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:10:50.444 [INFO] [Dummy-22479] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:10:50.462 [INFO] [Dummy-22475] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:11:03.508 [INFO] [Dummy-22480] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:11:03.751 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:11:15.464 [INFO] [Dummy-22481] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:11:15.485 [INFO] [Dummy-22475] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:11:28.754 [INFO] [Dummy-22482] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:11:28.994 [INFO] [Dummy-22459] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:11:40.488 [INFO] [Dummy-22483] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:11:40.507 [INFO] [Dummy-22484] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:11:53.996 [INFO] [Dummy-22485] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:11:54.236 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:12:05.509 [INFO] [Dummy-22486] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:12:05.526 [INFO] [Dummy-22487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:12:19.240 [INFO] [Dummy-22488] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:12:19.479 [INFO] [Dummy-22459] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:12:30.528 [INFO] [Dummy-22489] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:12:30.545 [INFO] [Dummy-22487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:12:44.481 [INFO] [Dummy-22490] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:12:44.726 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:12:55.548 [INFO] [Dummy-22491] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:12:55.564 [INFO] [Dummy-22487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:13:09.728 [INFO] [Dummy-22492] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:13:09.971 [INFO] [Dummy-22459] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:13:20.567 [INFO] [Dummy-22493] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:13:20.584 [INFO] [Dummy-22487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:13:34.974 [INFO] [Dummy-22494] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:13:35.217 [INFO] [Dummy-22456] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:13:45.586 [INFO] [Dummy-22495] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:13:45.604 [INFO] [Dummy-22487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:14:00.220 [INFO] [Dummy-22496] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:14:00.465 [INFO] [Dummy-22497] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:14:10.606 [INFO] [Dummy-22498] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:14:10.623 [INFO] [Dummy-22487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:14:25.468 [INFO] [Dummy-22499] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:14:25.714 [INFO] [Dummy-22500] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:14:35.626 [INFO] [Dummy-22501] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:14:35.641 [INFO] [Dummy-22487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:14:50.716 [INFO] [Dummy-22502] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:14:50.954 [INFO] [Dummy-22497] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:15:00.643 [INFO] [Dummy-22503] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:15:00.660 [INFO] [Dummy-22487] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:15:15.956 [INFO] [Dummy-22504] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:15:18.773 [INFO] [Dummy-22505] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:15:25.663 [INFO] [Dummy-22506] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:15:25.679 [INFO] [Dummy-22507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:15:43.775 [INFO] [Dummy-22508] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:15:44.017 [INFO] [Dummy-22509] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:15:50.683 [INFO] [Dummy-22510] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:15:50.699 [INFO] [Dummy-22507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:16:09.018 [INFO] [Dummy-22511] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:16:09.276 [INFO] [Dummy-22505] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:16:15.702 [INFO] [Dummy-22512] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:16:15.721 [INFO] [Dummy-22507] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:16:34.279 [INFO] [Dummy-22513] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:16:34.516 [INFO] [Dummy-22509] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:16:40.724 [INFO] [Dummy-22514] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:16:40.740 [INFO] [Dummy-22515] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:16:59.518 [INFO] [Dummy-22516] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:16:59.773 [INFO] [Dummy-22505] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:17:05.742 [INFO] [Dummy-22517] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:17:05.759 [INFO] [Dummy-22515] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:17:24.776 [INFO] [Dummy-22518] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:17:25.032 [INFO] [Dummy-22509] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:17:30.762 [INFO] [Dummy-22519] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:17:30.782 [INFO] [Dummy-22515] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:17:50.035 [INFO] [Dummy-22520] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:17:50.276 [INFO] [Dummy-22505] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:17:55.785 [INFO] [Dummy-22521] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:17:55.801 [INFO] [Dummy-22522] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:18:15.280 [INFO] [Dummy-22523] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:18:15.523 [INFO] [Dummy-22509] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:18:20.803 [INFO] [Dummy-22524] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:18:20.819 [INFO] [Dummy-22522] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:18:40.527 [INFO] [Dummy-22525] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:18:40.778 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:18:45.822 [INFO] [Dummy-22527] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:18:45.838 [INFO] [Dummy-22522] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:19:05.781 [INFO] [Dummy-22528] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:19:06.022 [INFO] [Dummy-22509] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:19:10.840 [INFO] [Dummy-22529] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:19:10.858 [INFO] [Dummy-22522] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:19:31.024 [INFO] [Dummy-22530] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:19:31.266 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:19:35.861 [INFO] [Dummy-22531] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:19:35.879 [INFO] [Dummy-22522] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:19:56.269 [INFO] [Dummy-22532] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:19:56.511 [INFO] [Dummy-22509] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:20:00.913 [INFO] [Dummy-22533] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:20:00.929 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:20:21.514 [INFO] [Dummy-22535] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:20:21.759 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:20:25.933 [INFO] [Dummy-22536] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:20:25.949 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:20:46.762 [INFO] [Dummy-22537] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:20:47.011 [INFO] [Dummy-22509] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:20:50.951 [INFO] [Dummy-22538] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:20:50.969 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:21:12.015 [INFO] [Dummy-22539] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:21:12.265 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:21:15.971 [INFO] [Dummy-22540] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:21:15.988 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:21:37.269 [INFO] [Dummy-22541] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:21:37.511 [INFO] [Dummy-22542] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:21:40.991 [INFO] [Dummy-22543] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:21:41.007 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:22:02.513 [INFO] [Dummy-22544] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:22:02.763 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:22:06.010 [INFO] [Dummy-22545] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:22:06.027 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:22:27.765 [INFO] [Dummy-22546] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:22:28.008 [INFO] [Dummy-22542] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:22:31.029 [INFO] [Dummy-22547] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:22:31.045 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:22:53.011 [INFO] [Dummy-22548] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:22:53.253 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:22:56.048 [INFO] [Dummy-22549] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:22:56.065 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:23:18.257 [INFO] [Dummy-22550] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:23:18.493 [INFO] [Dummy-22542] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:23:21.068 [INFO] [Dummy-22551] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:23:21.084 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:23:43.494 [INFO] [Dummy-22552] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:23:43.745 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:23:46.087 [INFO] [Dummy-22553] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:23:46.104 [INFO] [Dummy-22534] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:24:08.747 [INFO] [Dummy-22554] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:24:09.008 [INFO] [Dummy-22555] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:24:11.107 [INFO] [Dummy-22556] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:24:11.124 [INFO] [Dummy-22557] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:24:34.011 [INFO] [Dummy-22558] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:24:34.253 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:24:36.126 [INFO] [Dummy-22559] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:24:36.142 [INFO] [Dummy-22560] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:24:59.257 [INFO] [Dummy-22561] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:24:59.502 [INFO] [Dummy-22555] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:25:01.145 [INFO] [Dummy-22562] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:25:01.162 [INFO] [Dummy-22560] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:25:24.504 [INFO] [Dummy-22563] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:25:24.769 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:25:26.165 [INFO] [Dummy-22564] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:25:26.181 [INFO] [Dummy-22560] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:25:49.772 [INFO] [Dummy-22565] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:25:50.011 [INFO] [Dummy-22555] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:25:51.184 [INFO] [Dummy-22566] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:25:51.201 [INFO] [Dummy-22560] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:26:15.013 [INFO] [Dummy-22567] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:26:15.256 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:26:16.203 [INFO] [Dummy-22568] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:26:16.220 [INFO] [Dummy-22569] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:26:40.259 [INFO] [Dummy-22570] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:26:40.504 [INFO] [Dummy-22555] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:26:41.222 [INFO] [Dummy-22571] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:26:41.239 [INFO] [Dummy-22569] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:27:05.507 [INFO] [Dummy-22572] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:27:05.741 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:27:06.242 [INFO] [Dummy-22573] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:27:06.261 [INFO] [Dummy-22574] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:27:30.743 [INFO] [Dummy-22575] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:27:30.984 [INFO] [Dummy-22555] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:27:31.264 [INFO] [Dummy-22576] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:27:31.280 [INFO] [Dummy-22577] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:27:55.987 [INFO] [Dummy-22578] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:27:56.238 [INFO] [Dummy-22526] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:27:56.282 [INFO] [Dummy-22579] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:27:56.300 [INFO] [Dummy-22577] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:28:21.241 [INFO] [Dummy-22580] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:28:21.302 [INFO] [Dummy-22581] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:28:21.317 [INFO] [Dummy-22577] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:28:21.483 [INFO] [Dummy-22555] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:28:46.319 [INFO] [Dummy-22582] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:28:46.335 [INFO] [Dummy-22577] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:28:46.486 [INFO] [Dummy-22583] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:28:46.731 [INFO] [Dummy-22584] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:29:11.338 [INFO] [Dummy-22585] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:29:11.353 [INFO] [Dummy-22577] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:29:11.733 [INFO] [Dummy-22586] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:29:11.972 [INFO] [Dummy-22555] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:29:36.389 [INFO] [Dummy-22587] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:29:36.406 [INFO] [Dummy-22588] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:29:36.975 [INFO] [Dummy-22589] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:29:37.297 [INFO] [Dummy-22584] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:30:01.409 [INFO] [Dummy-22590] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:30:01.428 [INFO] [Dummy-22591] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:30:02.300 [INFO] [Dummy-22592] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:30:02.550 [INFO] [Dummy-22555] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:30:26.430 [INFO] [Dummy-22593] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:30:26.447 [INFO] [Dummy-22591] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:30:27.553 [INFO] [Dummy-22594] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:30:27.798 [INFO] [Dummy-22595] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:30:51.449 [INFO] [Dummy-22596] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:30:51.465 [INFO] [Dummy-22591] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:30:52.801 [INFO] [Dummy-22597] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:30:53.041 [INFO] [Dummy-22584] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:31:16.467 [INFO] [Dummy-22598] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:31:16.484 [INFO] [Dummy-22591] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:31:18.044 [INFO] [Dummy-22599] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:31:18.280 [INFO] [Dummy-22595] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:31:41.486 [INFO] [Dummy-22600] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:31:41.503 [INFO] [Dummy-22591] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:31:43.283 [INFO] [Dummy-22601] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:31:43.526 [INFO] [Dummy-22584] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:32:06.506 [INFO] [Dummy-22602] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:32:06.523 [INFO] [Dummy-22603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:32:08.527 [INFO] [Dummy-22604] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:32:08.777 [INFO] [Dummy-22595] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:32:31.525 [INFO] [Dummy-22605] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:32:31.541 [INFO] [Dummy-22603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:32:33.778 [INFO] [Dummy-22606] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:32:34.016 [INFO] [Dummy-22584] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:32:56.576 [INFO] [Dummy-22607] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:32:56.593 [INFO] [Dummy-22608] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:32:59.019 [INFO] [Dummy-22609] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:32:59.260 [INFO] [Dummy-22595] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:33:21.595 [INFO] [Dummy-22610] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:33:21.612 [INFO] [Dummy-22608] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:33:24.263 [INFO] [Dummy-22611] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:33:24.509 [INFO] [Dummy-22584] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:33:46.614 [INFO] [Dummy-22612] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:33:46.631 [INFO] [Dummy-22608] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:33:49.513 [INFO] [Dummy-22613] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:33:49.757 [INFO] [Dummy-22595] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:34:11.633 [INFO] [Dummy-22614] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:34:11.650 [INFO] [Dummy-22608] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:34:14.759 [INFO] [Dummy-22615] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:34:15.018 [INFO] [Dummy-22584] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:34:36.652 [INFO] [Dummy-22616] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:34:36.669 [INFO] [Dummy-22617] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:34:40.021 [INFO] [Dummy-22618] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:34:40.518 [INFO] [Dummy-22619] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:35:01.671 [INFO] [Dummy-22620] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:35:01.690 [INFO] [Dummy-22617] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:35:05.521 [INFO] [Dummy-22621] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:35:05.853 [INFO] [Dummy-22622] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:35:26.692 [INFO] [Dummy-22623] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:35:26.708 [INFO] [Dummy-22624] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:35:30.855 [INFO] [Dummy-22625] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:35:31.090 [INFO] [Dummy-22626] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:35:51.710 [INFO] [Dummy-22627] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:35:51.725 [INFO] [Dummy-22624] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:35:56.093 [INFO] [Dummy-22628] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:35:56.328 [INFO] [Dummy-22622] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:36:16.728 [INFO] [Dummy-22629] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:36:16.744 [INFO] [Dummy-22624] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:36:21.332 [INFO] [Dummy-22630] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:36:21.580 [INFO] [Dummy-22626] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:36:41.747 [INFO] [Dummy-22631] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:36:41.764 [INFO] [Dummy-22624] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:36:46.583 [INFO] [Dummy-22632] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:36:46.822 [INFO] [Dummy-22633] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:37:06.767 [INFO] [Dummy-22634] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:37:06.783 [INFO] [Dummy-22635] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:37:11.824 [INFO] [Dummy-22636] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:37:12.061 [INFO] [Dummy-22637] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:37:31.785 [INFO] [Dummy-22638] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:37:31.806 [INFO] [Dummy-22635] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:37:37.063 [INFO] [Dummy-22639] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:37:37.308 [INFO] [Dummy-22633] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:37:56.808 [INFO] [Dummy-22640] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:37:56.824 [INFO] [Dummy-22641] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:38:02.310 [INFO] [Dummy-22642] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:38:02.549 [INFO] [Dummy-22643] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:38:21.827 [INFO] [Dummy-22644] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:38:21.844 [INFO] [Dummy-22641] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:38:27.552 [INFO] [Dummy-22645] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:38:27.804 [INFO] [Dummy-22646] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:38:46.847 [INFO] [Dummy-22647] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:38:46.863 [INFO] [Dummy-22641] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:38:52.806 [INFO] [Dummy-22648] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:38:53.050 [INFO] [Dummy-22649] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:39:11.865 [INFO] [Dummy-22650] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:39:11.882 [INFO] [Dummy-22641] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:39:18.053 [INFO] [Dummy-22651] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:39:18.293 [INFO] [Dummy-22646] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:39:36.885 [INFO] [Dummy-22652] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:39:36.903 [INFO] [Dummy-22641] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:39:43.295 [INFO] [Dummy-22653] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:39:43.546 [INFO] [Dummy-22649] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:40:01.905 [INFO] [Dummy-22654] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:40:01.923 [INFO] [Dummy-22655] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:40:08.546 [INFO] [Dummy-22656] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:40:08.793 [INFO] [Dummy-22646] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:40:26.925 [INFO] [Dummy-22657] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:40:26.942 [INFO] [Dummy-22655] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:40:33.795 [INFO] [Dummy-22658] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:40:34.039 [INFO] [Dummy-22659] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:40:51.945 [INFO] [Dummy-22660] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:40:51.962 [INFO] [Dummy-22655] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:40:59.042 [INFO] [Dummy-22661] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:40:59.282 [INFO] [Dummy-22646] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:41:16.964 [INFO] [Dummy-22662] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:41:16.981 [INFO] [Dummy-22655] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:41:24.285 [INFO] [Dummy-22663] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:41:24.520 [INFO] [Dummy-22659] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:41:41.984 [INFO] [Dummy-22664] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:41:42.002 [INFO] [Dummy-22655] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:41:49.523 [INFO] [Dummy-22665] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:41:49.767 [INFO] [Dummy-22646] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:42:07.005 [INFO] [Dummy-22666] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:42:07.022 [INFO] [Dummy-22655] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:42:14.769 [INFO] [Dummy-22667] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:42:14.997 [INFO] [Dummy-22668] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:42:32.024 [INFO] [Dummy-22669] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:42:32.043 [INFO] [Dummy-22655] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:42:39.998 [INFO] [Dummy-22670] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:42:40.246 [INFO] [Dummy-22646] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:42:57.045 [INFO] [Dummy-22671] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:42:57.062 [INFO] [Dummy-22672] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:43:05.250 [INFO] [Dummy-22673] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:43:05.495 [INFO] [Dummy-22668] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:43:22.064 [INFO] [Dummy-22674] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:43:22.081 [INFO] [Dummy-22672] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:43:30.498 [INFO] [Dummy-22675] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:43:30.732 [INFO] [Dummy-22646] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:43:47.084 [INFO] [Dummy-22676] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:43:47.102 [INFO] [Dummy-22677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:43:55.734 [INFO] [Dummy-22678] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:43:55.973 [INFO] [Dummy-22679] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:44:12.105 [INFO] [Dummy-22680] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:44:12.121 [INFO] [Dummy-22677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:44:20.977 [INFO] [Dummy-22681] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:44:21.250 [INFO] [Dummy-22646] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:44:37.124 [INFO] [Dummy-22682] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:44:37.143 [INFO] [Dummy-22677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:44:46.254 [INFO] [Dummy-22683] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:44:46.495 [INFO] [Dummy-22679] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:45:02.146 [INFO] [Dummy-22684] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:45:02.162 [INFO] [Dummy-22677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:45:11.498 [INFO] [Dummy-22685] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:45:11.752 [INFO] [Dummy-22686] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:45:27.165 [INFO] [Dummy-22687] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:45:27.181 [INFO] [Dummy-22677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:45:36.754 [INFO] [Dummy-22688] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:45:36.996 [INFO] [Dummy-22689] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:45:52.183 [INFO] [Dummy-22690] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:45:52.200 [INFO] [Dummy-22677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:46:01.999 [INFO] [Dummy-22691] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:46:02.236 [INFO] [Dummy-22686] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:46:17.202 [INFO] [Dummy-22692] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:46:17.219 [INFO] [Dummy-22677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:46:27.238 [INFO] [Dummy-22693] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:46:27.472 [INFO] [Dummy-22689] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:46:42.222 [INFO] [Dummy-22694] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:46:42.239 [INFO] [Dummy-22677] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:46:52.475 [INFO] [Dummy-22695] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:46:52.725 [INFO] [Dummy-22686] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:47:07.241 [INFO] [Dummy-22696] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:47:07.259 [INFO] [Dummy-22697] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:47:17.727 [INFO] [Dummy-22698] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:47:18.003 [INFO] [Dummy-22689] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:47:32.261 [INFO] [Dummy-22699] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:47:32.277 [INFO] [Dummy-22697] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:47:43.006 [INFO] [Dummy-22700] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:47:43.249 [INFO] [Dummy-22686] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:47:57.279 [INFO] [Dummy-22701] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:47:57.298 [INFO] [Dummy-22697] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:48:08.251 [INFO] [Dummy-22702] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:48:08.510 [INFO] [Dummy-22689] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:48:22.301 [INFO] [Dummy-22703] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:48:22.318 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:48:33.513 [INFO] [Dummy-22705] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:48:33.760 [INFO] [Dummy-22686] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:48:47.321 [INFO] [Dummy-22706] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:48:47.337 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:48:58.764 [INFO] [Dummy-22707] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:48:59.010 [INFO] [Dummy-22708] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:49:12.340 [INFO] [Dummy-22709] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:49:12.356 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:49:24.013 [INFO] [Dummy-22710] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:49:24.253 [INFO] [Dummy-22711] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:49:37.359 [INFO] [Dummy-22712] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:49:37.376 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:49:49.256 [INFO] [Dummy-22713] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:49:49.495 [INFO] [Dummy-22708] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:49:55.018 [DEBUG] [Dummy-22708] [instrument.py] [set_image_type()] Setting image type id to 1
2025-12-21T22:50:02.378 [INFO] [Dummy-22714] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:50:02.396 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:50:14.498 [INFO] [Dummy-22715] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:50:14.740 [INFO] [Dummy-22711] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:50:27.398 [INFO] [Dummy-22716] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:50:27.414 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:50:39.742 [INFO] [Dummy-22717] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:50:39.981 [INFO] [Dummy-22718] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:50:52.416 [INFO] [Dummy-22719] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:50:52.432 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:51:04.984 [INFO] [Dummy-22720] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:51:05.229 [INFO] [Dummy-22711] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:51:17.434 [INFO] [Dummy-22721] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:51:17.448 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:51:30.232 [INFO] [Dummy-22722] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:51:30.477 [INFO] [Dummy-22718] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:51:42.450 [INFO] [Dummy-22723] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:51:42.466 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:51:55.479 [INFO] [Dummy-22724] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:51:55.717 [INFO] [Dummy-22725] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:52:04.406 [INFO] [Dummy-22725] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T22:52:04.406 [INFO] [Dummy-22725] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T22:52:04.406 [DEBUG] [Dummy-22725] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T22:52:04.407 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T22:52:04.407 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T22:52:04.413 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 1 exposures
2025-12-21T22:52:04.413 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T22:52:04.420 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T22:52:04.573 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 1 exposures
2025-12-21T22:52:04.573 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 1
2025-12-21T22:52:04.576 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766350324.5768363
2025-12-21T22:52:04.578 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88163231', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.36394847', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.0', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.80477441224', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='275.3', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.832', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.832', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='274.982319', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='84.976935', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T22:51:31', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='62.84', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.19', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='19.12', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.4', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T22:51:32', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='1', comment='The number of exposures to take')]
2025-12-21T22:52:07.469 [INFO] [Dummy-22726] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:52:07.485 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:52:14.903 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 1 done. Exposure state = 0
2025-12-21T22:52:14.904 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T22:52:14.910 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T22:52:15.732 [INFO] [Dummy-22727] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T22:52:15.733 [INFO] [Dummy-22727] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T22:52:15.873 [INFO] [Dummy-22728] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T22:52:15.873 [INFO] [Dummy-22728] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T22:52:15.882 [INFO] [Dummy-22728] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T22:52:20.719 [INFO] [Dummy-22729] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:52:20.960 [INFO] [Dummy-22718] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:52:32.487 [INFO] [Dummy-22730] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:52:32.505 [INFO] [Dummy-22704] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:52:45.962 [INFO] [Dummy-22731] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:52:46.199 [INFO] [Dummy-22727] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:52:57.508 [INFO] [Dummy-22732] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:52:57.524 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:53:11.201 [INFO] [Dummy-22734] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:53:11.438 [INFO] [Dummy-22718] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:53:22.526 [INFO] [Dummy-22735] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:53:22.542 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:53:36.441 [INFO] [Dummy-22736] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:53:36.678 [INFO] [Dummy-22727] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:53:47.544 [INFO] [Dummy-22737] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:53:47.561 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:53:48.986 [INFO] [Dummy-22727] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T22:53:48.987 [INFO] [Dummy-22727] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T22:53:48.987 [DEBUG] [Dummy-22727] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T22:53:48.987 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T22:53:48.987 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T22:53:48.997 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 1 exposures
2025-12-21T22:53:48.997 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T22:53:49.004 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T22:53:49.145 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 1 exposures
2025-12-21T22:53:49.145 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 1
2025-12-21T22:53:49.149 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766350429.1496015
2025-12-21T22:53:49.150 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88090966', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35317159', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.0', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.1761480669807', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='275.3', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.178', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.178', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='274.413612', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='84.607112', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T22:53:08', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='63.59', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.9', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='19.05', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.56', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T22:53:40', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='1', comment='The number of exposures to take')]
2025-12-21T22:54:01.681 [INFO] [Dummy-22738] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:54:01.918 [INFO] [Dummy-22718] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:54:12.563 [INFO] [Dummy-22739] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:54:12.580 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:54:26.921 [INFO] [Dummy-22740] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:54:27.155 [INFO] [Dummy-22727] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:54:37.582 [INFO] [Dummy-22741] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:54:37.598 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:54:49.651 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 1 done. Exposure state = 0
2025-12-21T22:54:49.651 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T22:54:49.652 [WARNING] [start_exposure_worker] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff784a1da90>>. Trying to reconnect
2025-12-21T22:54:49.652 [WARNING] [Dummy-22742] [client.py] [get_status()] Unable to get status: unexpected exception. Trying to reconnect
2025-12-21T22:54:49.677 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T22:54:50.018 [INFO] [Dummy-22742] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T22:54:50.018 [INFO] [Dummy-22742] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T22:54:50.160 [INFO] [Dummy-22743] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T22:54:50.160 [INFO] [Dummy-22743] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T22:54:50.160 [INFO] [Dummy-22743] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T22:54:52.158 [INFO] [Dummy-22744] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:54:52.563 [INFO] [Dummy-22745] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:55:02.601 [INFO] [Dummy-22746] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:55:02.617 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:55:17.566 [INFO] [Dummy-22747] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:55:17.819 [INFO] [Dummy-22748] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:55:27.619 [INFO] [Dummy-22749] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:55:27.636 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:55:42.820 [INFO] [Dummy-22750] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:55:43.077 [INFO] [Dummy-22745] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:55:52.639 [INFO] [Dummy-22751] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:55:52.654 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:56:08.080 [INFO] [Dummy-22752] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:56:08.370 [INFO] [Dummy-22753] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:56:17.656 [INFO] [Dummy-22754] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:56:17.672 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:56:33.372 [INFO] [Dummy-22755] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:56:33.616 [INFO] [Dummy-22745] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:56:42.675 [INFO] [Dummy-22756] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:56:42.692 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:56:58.619 [INFO] [Dummy-22757] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:56:58.861 [INFO] [Dummy-22753] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:57:07.694 [INFO] [Dummy-22758] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:57:07.710 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:57:23.863 [INFO] [Dummy-22759] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:57:24.101 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:57:32.713 [INFO] [Dummy-22761] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:57:32.730 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:57:49.104 [INFO] [Dummy-22762] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:57:49.345 [INFO] [Dummy-22753] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:57:57.733 [INFO] [Dummy-22763] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:57:57.750 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:58:14.347 [INFO] [Dummy-22764] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:58:14.611 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:58:22.753 [INFO] [Dummy-22765] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:58:22.769 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:58:39.613 [INFO] [Dummy-22766] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:58:39.849 [INFO] [Dummy-22767] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:58:47.771 [INFO] [Dummy-22768] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:58:47.789 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:59:04.852 [INFO] [Dummy-22769] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:59:05.095 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:59:12.791 [INFO] [Dummy-22770] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:59:12.808 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:59:30.098 [INFO] [Dummy-22771] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:59:30.341 [INFO] [Dummy-22767] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T22:59:37.811 [INFO] [Dummy-22772] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T22:59:37.828 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T22:59:55.343 [INFO] [Dummy-22773] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T22:59:55.589 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:00:02.831 [INFO] [Dummy-22774] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:00:02.847 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:00:20.591 [INFO] [Dummy-22775] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:00:20.832 [INFO] [Dummy-22767] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:00:27.849 [INFO] [Dummy-22776] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:00:27.867 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:00:45.834 [INFO] [Dummy-22777] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:00:46.074 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:00:52.869 [INFO] [Dummy-22778] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:00:52.886 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:01:11.079 [INFO] [Dummy-22779] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:01:11.317 [INFO] [Dummy-22767] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:01:17.888 [INFO] [Dummy-22780] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:01:17.905 [INFO] [Dummy-22733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:01:36.321 [INFO] [Dummy-22781] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:01:36.554 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:01:42.908 [INFO] [Dummy-22782] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:01:42.925 [INFO] [Dummy-22783] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:02:01.556 [INFO] [Dummy-22784] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:02:01.797 [INFO] [Dummy-22767] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:02:07.928 [INFO] [Dummy-22785] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:02:07.945 [INFO] [Dummy-22783] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:02:26.799 [INFO] [Dummy-22786] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:02:27.049 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:02:32.948 [INFO] [Dummy-22787] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:02:32.964 [INFO] [Dummy-22788] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:02:52.052 [INFO] [Dummy-22789] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:02:52.293 [INFO] [Dummy-22767] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:02:57.967 [INFO] [Dummy-22790] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:02:57.985 [INFO] [Dummy-22788] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:03:17.295 [INFO] [Dummy-22791] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:03:17.539 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:03:22.987 [INFO] [Dummy-22792] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:03:23.004 [INFO] [Dummy-22788] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:03:42.542 [INFO] [Dummy-22793] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:03:42.780 [INFO] [Dummy-22767] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:03:48.006 [INFO] [Dummy-22794] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:03:48.024 [INFO] [Dummy-22795] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:04:05.315 [INFO] [Dummy-22767] [instrument.py] [start_exposure()] start_exposure called with fits_info = [FitsInfoType(key='TARG_RA', valtype='STRING', val='03:53:13', comment='The target right ascension'), FitsInfoType(key='TARG_DEC', valtype='STRING', val='-31:55:24', comment='The target declination'), FitsInfoType(key='OBSERVER', valtype='STRING', val='Matt Burleigh', comment='The observer name'), FitsInfoType(key='OBJECT', valtype='STRING', val='NOI-106846', comment='The object name')]
2025-12-21T23:04:05.315 [INFO] [Dummy-22767] [instrument.py] [start_exposure()] Called instrument start_exposure() with continuous = False
2025-12-21T23:04:05.315 [DEBUG] [Dummy-22767] [instrument.py] [start_exposure()] Starting thread to handle exposures
2025-12-21T23:04:05.316 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure worker thread with continuous = False
2025-12-21T23:04:05.316 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: setting up exposures
2025-12-21T23:04:05.322 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Worker thread: doing 300 exposures
2025-12-21T23:04:05.323 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:04:05.329 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:04:05.434 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Taking 300 exposures
2025-12-21T23:04:05.435 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 1 of 300
2025-12-21T23:04:05.438 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351045.4382067
2025-12-21T23:04:05.439 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.83839641', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35450521', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.315740114883', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.287', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.287', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='271.968729', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='82.436228', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:03:17', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='65.7', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.99', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.89', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.03', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:03:18', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:04:07.782 [INFO] [Dummy-22796] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:04:08.019 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:04:13.026 [INFO] [Dummy-22797] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:04:13.043 [INFO] [Dummy-22798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:04:33.021 [INFO] [Dummy-22799] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:04:33.255 [INFO] [Dummy-22767] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:04:38.045 [INFO] [Dummy-22800] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:04:38.060 [INFO] [Dummy-22798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:04:58.257 [INFO] [Dummy-22801] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:04:58.490 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:05:03.062 [INFO] [Dummy-22802] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:05:03.085 [INFO] [Dummy-22798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:05:05.852 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:05:05.853 [INFO] [Dummy-22760] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:05:05.856 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 1 of 300 done. Exposure state = 0
2025-12-21T23:05:05.856 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:05:05.863 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:05:05.997 [INFO] [Dummy-22803] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:05:05.997 [INFO] [Dummy-22803] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:05:05.997 [INFO] [Dummy-22803] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:05:06.198 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 2 of 300
2025-12-21T23:05:06.202 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351106.2021005
2025-12-21T23:05:06.203 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.87982882', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35320549', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.1894035398223', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.341', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.341', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='271.78157', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='82.222953', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:04:21', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='65.85', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.23', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.82', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.24', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:04:22', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:05:23.493 [INFO] [Dummy-22804] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:05:23.746 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:05:28.087 [INFO] [Dummy-22806] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:05:28.103 [INFO] [Dummy-22807] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:05:48.748 [INFO] [Dummy-22808] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:05:49.158 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:05:53.104 [INFO] [Dummy-22809] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:05:53.120 [INFO] [Dummy-22807] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:06:06.731 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 2 of 300 done. Exposure state = 0
2025-12-21T23:06:06.731 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:06:06.755 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:06:07.000 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 3 of 300
2025-12-21T23:06:07.003 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351167.003938
2025-12-21T23:06:07.005 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.84587671', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.91148894', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8828', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.0538973746375', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.389', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.389', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='271.599025', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='82.00649', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:05:26', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='65.78', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.87', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.8', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.19', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:05:26', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:06:07.202 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:06:07.203 [INFO] [Dummy-22760] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:06:07.347 [INFO] [Dummy-22810] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:06:07.347 [INFO] [Dummy-22810] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:06:07.347 [INFO] [Dummy-22810] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:06:14.160 [INFO] [Dummy-22811] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:06:14.398 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:06:18.122 [INFO] [Dummy-22812] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:06:18.137 [INFO] [Dummy-22807] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:06:39.400 [INFO] [Dummy-22813] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:06:39.638 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:06:43.138 [INFO] [Dummy-22814] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:06:43.154 [INFO] [Dummy-22807] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:07:04.640 [INFO] [Dummy-22815] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:07:04.880 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:07:07.555 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 3 of 300 done. Exposure state = 0
2025-12-21T23:07:07.555 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:07:07.562 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:07:07.653 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 4 of 300
2025-12-21T23:07:07.656 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351227.6566808
2025-12-21T23:07:07.658 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.79552357', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35944996', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.345', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.995823303844', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.431', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.431', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='271.424169', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='81.794266', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:06:30', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.41', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.0', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.79', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.14', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:06:30', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:07:08.156 [INFO] [Dummy-22816] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:07:08.171 [INFO] [Dummy-22807] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:07:29.882 [INFO] [Dummy-22817] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:07:30.118 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:07:33.172 [INFO] [Dummy-22818] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:07:33.188 [INFO] [Dummy-22807] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:07:55.120 [INFO] [Dummy-22819] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:07:55.358 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:07:58.190 [INFO] [Dummy-22820] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:07:58.211 [INFO] [Dummy-22821] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:08:08.112 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 4 of 300 done. Exposure state = 0
2025-12-21T23:08:08.112 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:08:08.114 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:08:08.267 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 5 of 300
2025-12-21T23:08:08.270 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351288.270318
2025-12-21T23:08:08.271 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.7872357', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35251025', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3449', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.921447739494', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.467', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.467', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='271.254816', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='81.581052', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:07:34', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.51', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.35', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.75', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.27', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:07:34', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:08:20.360 [INFO] [Dummy-22822] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:08:20.590 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:08:23.213 [INFO] [Dummy-22823] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:08:23.229 [INFO] [Dummy-22824] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:08:45.593 [INFO] [Dummy-22825] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:08:45.829 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:08:48.231 [INFO] [Dummy-22826] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:08:48.248 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:09:08.774 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 5 of 300 done. Exposure state = 0
2025-12-21T23:09:08.774 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:09:08.781 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:09:08.919 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 6 of 300
2025-12-21T23:09:08.923 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351348.9231086
2025-12-21T23:09:08.924 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.74427724', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.91467606', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8828', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.8246576215047', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.498', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.498', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='271.089593', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='81.365605', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:08:38', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.56', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='14.87', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.74', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.08', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:08:38', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:09:10.832 [INFO] [Dummy-22828] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:09:11.067 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:09:13.250 [INFO] [Dummy-22829] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:09:13.268 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:09:36.069 [INFO] [Dummy-22830] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:09:36.306 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:09:38.269 [INFO] [Dummy-22831] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:09:38.287 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:10:01.309 [INFO] [Dummy-22832] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:10:01.544 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:10:03.289 [INFO] [Dummy-22833] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:10:03.307 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:10:09.394 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 6 of 300 done. Exposure state = 0
2025-12-21T23:10:09.395 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:10:09.427 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:10:09.647 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 7 of 300
2025-12-21T23:10:09.651 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351409.6510208
2025-12-21T23:10:09.652 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.85380082', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.90044081', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8828', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.7686212374056', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.524', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.524', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='270.928433', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='81.150339', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:09:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.55', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.13', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.7', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.2', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:09:10', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:10:09.816 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:10:09.817 [INFO] [Dummy-22760] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:10:09.961 [INFO] [Dummy-22834] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:10:09.962 [INFO] [Dummy-22834] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:10:09.962 [INFO] [Dummy-22834] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:10:26.546 [INFO] [Dummy-22835] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:10:26.784 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:10:28.309 [INFO] [Dummy-22836] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:10:28.327 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:10:51.787 [INFO] [Dummy-22837] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:10:52.025 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:10:53.329 [INFO] [Dummy-22838] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:10:53.347 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:11:10.168 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 7 of 300 done. Exposure state = 0
2025-12-21T23:11:10.168 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:11:10.176 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:11:10.338 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 8 of 300
2025-12-21T23:11:10.341 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351470.3418238
2025-12-21T23:11:10.343 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.86938134', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.35713308', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.6932268297087', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.546', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.546', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='270.772927', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='80.937983', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:10:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.63', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.69', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.17', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:10:15', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:11:17.027 [INFO] [Dummy-22839] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:11:17.267 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:11:18.348 [INFO] [Dummy-22840] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:11:18.365 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:11:42.268 [INFO] [Dummy-22841] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:11:42.508 [INFO] [Dummy-22760] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:11:43.367 [INFO] [Dummy-22842] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:11:43.383 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:12:07.510 [INFO] [Dummy-22843] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:12:07.749 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:12:08.385 [INFO] [Dummy-22844] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:12:08.401 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:12:10.769 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 8 of 300 done. Exposure state = 0
2025-12-21T23:12:10.769 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:12:10.791 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:12:10.988 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 9 of 300
2025-12-21T23:12:10.990 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351530.9901953
2025-12-21T23:12:10.990 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.85857358', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.36107196', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.610700518579', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.564', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.564', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='270.619872', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='80.722263', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:11:19', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.7', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.66', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.69', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.18', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:11:19', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:12:11.113 [INFO] [Dummy-22805] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:12:11.113 [INFO] [Dummy-22805] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:12:11.247 [INFO] [Dummy-22845] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:12:11.247 [INFO] [Dummy-22845] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:12:11.247 [INFO] [Dummy-22845] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:12:32.751 [INFO] [Dummy-22846] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:12:32.987 [INFO] [Dummy-22847] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:12:33.403 [INFO] [Dummy-22848] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:12:33.419 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:12:57.989 [INFO] [Dummy-22849] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:12:58.232 [INFO] [Dummy-22850] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:12:58.421 [INFO] [Dummy-22851] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:12:58.438 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:13:11.417 [INFO] [Dummy-22850] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:13:11.417 [INFO] [Dummy-22850] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:13:11.558 [INFO] [Dummy-22852] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:13:11.558 [INFO] [Dummy-22852] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:13:11.558 [INFO] [Dummy-22852] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:13:11.603 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 9 of 300 done. Exposure state = 0
2025-12-21T23:13:11.603 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:13:11.605 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:13:11.718 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 10 of 300
2025-12-21T23:13:11.721 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351591.721917
2025-12-21T23:13:11.723 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88263868', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.97873289', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8828', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.555682977827', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.577', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.577', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='270.473027', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='80.509071', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:12:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.68', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.61', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.66', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.51', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:12:55', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:13:23.234 [INFO] [Dummy-22853] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:13:23.440 [INFO] [Dummy-22854] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:13:23.456 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:13:23.470 [INFO] [Dummy-22847] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:13:48.458 [INFO] [Dummy-22855] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:13:48.473 [INFO] [Dummy-22856] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:13:48.475 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:13:48.706 [INFO] [Dummy-22850] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:14:12.263 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 10 of 300 done. Exposure state = 0
2025-12-21T23:14:12.263 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:14:12.270 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:14:12.407 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 11 of 300
2025-12-21T23:14:12.410 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351652.4105728
2025-12-21T23:14:12.411 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88254888', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.51435498', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8826', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.4609305465324', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.586', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.586', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='270.330006', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='80.296216', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:13:59', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.61', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.46', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.67', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.27', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:13:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:14:13.476 [INFO] [Dummy-22857] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:14:13.496 [INFO] [Dummy-22827] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:14:13.707 [INFO] [Dummy-22858] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:14:13.947 [INFO] [Dummy-22847] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:14:38.498 [INFO] [Dummy-22859] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:14:38.515 [INFO] [Dummy-22860] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:14:38.949 [INFO] [Dummy-22861] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:14:39.190 [INFO] [Dummy-22850] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:15:03.517 [INFO] [Dummy-22862] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:15:03.534 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:15:04.192 [INFO] [Dummy-22864] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:15:04.666 [INFO] [Dummy-22865] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:15:12.837 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 11 of 300 done. Exposure state = 0
2025-12-21T23:15:12.838 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:15:12.845 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:15:13.060 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 12 of 300
2025-12-21T23:15:13.063 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351713.0633383
2025-12-21T23:15:13.064 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.85452069', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.89681838', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8827', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.01', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.36515927189', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.593', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.593', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='270.187848', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='80.081859', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:15:03', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.61', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.39', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.67', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.11', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:15:03', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:15:28.536 [INFO] [Dummy-22866] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:15:28.553 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:15:29.668 [INFO] [Dummy-22867] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:15:29.906 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:15:53.555 [INFO] [Dummy-22869] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:15:53.574 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:15:54.908 [INFO] [Dummy-22870] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:15:55.150 [INFO] [Dummy-22865] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:16:13.514 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 12 of 300 done. Exposure state = 0
2025-12-21T23:16:13.514 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:16:13.521 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:16:13.711 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 13 of 300
2025-12-21T23:16:13.715 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351773.7149596
2025-12-21T23:16:13.716 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.89631546', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.90630684', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3454', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8828', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.286708334152', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.597', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.596', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='270.049987', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='79.868432', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:15:35', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.55', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.97', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.64', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.16', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:15:35', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:16:18.576 [INFO] [Dummy-22871] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:16:18.592 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:16:20.152 [INFO] [Dummy-22872] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:16:20.389 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:16:43.593 [INFO] [Dummy-22873] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:16:43.609 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:16:45.392 [INFO] [Dummy-22874] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:16:45.628 [INFO] [Dummy-22865] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:17:08.610 [INFO] [Dummy-22875] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:17:08.626 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:17:10.630 [INFO] [Dummy-22876] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:17:10.872 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:17:14.174 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 13 of 300 done. Exposure state = 0
2025-12-21T23:17:14.220 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:17:14.227 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:17:14.401 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 14 of 300
2025-12-21T23:17:14.405 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351834.405286
2025-12-21T23:17:14.406 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.8537145', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.45406205', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8826', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.251048816998', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.596', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.596', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='269.914439', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='79.652973', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:16:39', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.0', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.43', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.61', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.17', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:16:39', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:17:33.628 [INFO] [Dummy-22877] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:17:33.644 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:17:35.875 [INFO] [Dummy-22878] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:17:36.114 [INFO] [Dummy-22865] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:17:58.646 [INFO] [Dummy-22879] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:17:58.663 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:18:01.116 [INFO] [Dummy-22880] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:18:01.357 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:18:14.855 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 14 of 300 done. Exposure state = 0
2025-12-21T23:18:14.856 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:18:14.862 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:18:15.016 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 15 of 300
2025-12-21T23:18:15.020 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351895.020176
2025-12-21T23:18:15.021 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.91169969', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.34784741', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3455', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8826', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.1817674693834', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.594', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.593', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='269.782317', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='79.439533', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:17:43', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.06', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.04', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.61', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.17', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:17:44', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:18:23.664 [INFO] [Dummy-22881] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:18:23.681 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:18:26.359 [INFO] [Dummy-22882] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:18:26.596 [INFO] [Dummy-22865] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:18:48.684 [INFO] [Dummy-22883] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:18:48.701 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:18:51.598 [INFO] [Dummy-22884] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:18:51.841 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:19:13.704 [INFO] [Dummy-22885] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:19:13.722 [INFO] [Dummy-22863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:19:15.548 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 15 of 300 done. Exposure state = 0
2025-12-21T23:19:15.554 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:19:15.561 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:19:15.668 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 16 of 300
2025-12-21T23:19:15.672 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766351955.6720932
2025-12-21T23:19:15.673 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88162396', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:58.32075052', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8829', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.1185991818543', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.59', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.59', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='269.651201', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='79.22626', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:18:15', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.05', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.39', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.57', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.29', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:18:16', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:19:16.842 [INFO] [Dummy-22886] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:19:17.079 [INFO] [Dummy-22865] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:19:38.724 [INFO] [Dummy-22887] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:19:38.740 [INFO] [Dummy-22888] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:19:42.080 [INFO] [Dummy-22889] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:19:42.325 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:20:03.742 [INFO] [Dummy-22890] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:20:03.758 [INFO] [Dummy-22888] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:20:07.328 [INFO] [Dummy-22891] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:20:07.565 [INFO] [Dummy-22865] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:20:16.123 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 16 of 300 done. Exposure state = 0
2025-12-21T23:20:16.124 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:20:16.130 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:20:16.321 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 17 of 300
2025-12-21T23:20:16.324 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352016.3243616
2025-12-21T23:20:16.325 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88399627', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.54670823', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8827', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.0656193277964', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.582', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.582', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='269.524701', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='79.012352', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:18:15', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.05', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.39', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.57', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.29', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:18:16', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:20:28.761 [INFO] [Dummy-22892] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:20:28.777 [INFO] [Dummy-22888] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:20:32.566 [INFO] [Dummy-22893] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:20:32.808 [INFO] [Dummy-22894] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:20:53.779 [INFO] [Dummy-22895] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:20:53.795 [INFO] [Dummy-22888] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:20:57.811 [INFO] [Dummy-22896] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:20:58.050 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:21:16.752 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 17 of 300 done. Exposure state = 0
2025-12-21T23:21:16.752 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:21:16.759 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:21:16.898 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 18 of 300
2025-12-21T23:21:16.901 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352076.9017096
2025-12-21T23:21:16.902 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88475094', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.72307724', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3454', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8827', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.0024510402645', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.572', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.572', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='269.398432', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.797398', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:20:56', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.43', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.68', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.47', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.22', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:20:56', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:21:18.798 [INFO] [Dummy-22897] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:21:18.814 [INFO] [Dummy-22888] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:21:23.051 [INFO] [Dummy-22898] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:21:23.292 [INFO] [Dummy-22894] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:21:43.816 [INFO] [Dummy-22899] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:21:43.833 [INFO] [Dummy-22888] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:21:48.294 [INFO] [Dummy-22900] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:21:48.535 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:22:08.836 [INFO] [Dummy-22901] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:22:08.853 [INFO] [Dummy-22902] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:22:13.537 [INFO] [Dummy-22903] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:22:13.774 [INFO] [Dummy-22894] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:22:17.360 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 18 of 300 done. Exposure state = 0
2025-12-21T23:22:17.361 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:22:17.368 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:22:17.513 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 19 of 300
2025-12-21T23:22:17.516 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352137.5166085
2025-12-21T23:22:17.517 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88210159', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.06438769', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8825', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.94845234286', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.559', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.559', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='269.27627', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.583799', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:21:28', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.58', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.34', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.56', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.13', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:21:28', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:22:33.856 [INFO] [Dummy-22904] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:22:33.870 [INFO] [Dummy-22902] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:22:38.777 [INFO] [Dummy-22905] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:22:39.014 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:22:58.872 [INFO] [Dummy-22906] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:22:58.889 [INFO] [Dummy-22902] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:23:04.016 [INFO] [Dummy-22907] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:23:04.259 [INFO] [Dummy-22894] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:23:17.942 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 19 of 300 done. Exposure state = 0
2025-12-21T23:23:17.943 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:23:17.949 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:23:18.163 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 20 of 300
2025-12-21T23:23:18.165 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352198.1653755
2025-12-21T23:23:18.165 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.89478802', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.45997329', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3454', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8826', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.906679765623', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.546', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.546', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='269.15507', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.371031', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:22:32', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.01', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.62', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.59', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.07', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:22:33', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:23:23.890 [INFO] [Dummy-22908] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:23:23.911 [INFO] [Dummy-22909] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:23:29.261 [INFO] [Dummy-22910] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:23:29.506 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:23:48.913 [INFO] [Dummy-22911] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:23:48.930 [INFO] [Dummy-22909] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:23:54.508 [INFO] [Dummy-22912] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:23:54.749 [INFO] [Dummy-22894] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:24:13.932 [INFO] [Dummy-22913] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:24:13.949 [INFO] [Dummy-22909] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:24:18.638 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 20 of 300 done. Exposure state = 0
2025-12-21T23:24:18.638 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:24:18.645 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:24:18.816 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 21 of 300
2025-12-21T23:24:18.820 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352258.820204
2025-12-21T23:24:18.821 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.90874852', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.99155478', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3455', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8825', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.8435114780937', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='271.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.529', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.529', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='269.036315', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='78.157141', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:23:36', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.01', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.69', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.51', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.36', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:23:37', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:24:19.752 [INFO] [Dummy-22914] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:24:19.993 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:24:38.952 [INFO] [Dummy-22915] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:24:38.968 [INFO] [Dummy-22909] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:24:44.995 [INFO] [Dummy-22916] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:24:45.235 [INFO] [Dummy-22894] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:25:03.970 [INFO] [Dummy-22917] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:25:03.986 [INFO] [Dummy-22909] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:25:10.236 [INFO] [Dummy-22918] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:25:10.476 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:25:19.274 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 21 of 300 done. Exposure state = 0
2025-12-21T23:25:19.274 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:25:19.281 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:25:19.430 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 22 of 300
2025-12-21T23:25:19.433 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352319.4336405
2025-12-21T23:25:19.434 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.84987293', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.21943381', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8823', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.7884939373416', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.51', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.51', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.919034', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='77.941974', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:24:40', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.58', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.79', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.51', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.19', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:24:41', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:25:28.989 [INFO] [Dummy-22919] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:25:29.006 [INFO] [Dummy-22909] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:25:35.479 [INFO] [Dummy-22920] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:25:35.717 [INFO] [Dummy-22894] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:25:54.009 [INFO] [Dummy-22921] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:25:54.026 [INFO] [Dummy-22922] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:26:00.720 [INFO] [Dummy-22923] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:26:00.961 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:26:19.028 [INFO] [Dummy-22924] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:26:19.045 [INFO] [Dummy-22922] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:26:19.854 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 22 of 300 done. Exposure state = 0
2025-12-21T23:26:19.854 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:26:19.861 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:26:20.026 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:26:20.027 [INFO] [Dummy-22868] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:26:20.171 [INFO] [Dummy-22925] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:26:20.171 [INFO] [Dummy-22925] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:26:20.171 [INFO] [Dummy-22925] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:26:20.215 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 23 of 300
2025-12-21T23:26:20.217 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352380.217616
2025-12-21T23:26:20.217 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.88355107', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:57.10754043', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8825', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.746721360102', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.491', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.491', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.801471', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='77.727226', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:25:45', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.6', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.37', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.61', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.32', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:25:45', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:26:25.963 [INFO] [Dummy-22926] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:26:26.201 [INFO] [Dummy-22894] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:26:44.047 [INFO] [Dummy-22927] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:26:44.063 [INFO] [Dummy-22922] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:26:51.204 [INFO] [Dummy-22928] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:26:51.449 [INFO] [Dummy-22929] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:27:09.066 [INFO] [Dummy-22930] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:27:09.084 [INFO] [Dummy-22931] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:27:16.452 [INFO] [Dummy-22932] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:27:16.692 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:27:20.625 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 23 of 300 done. Exposure state = 0
2025-12-21T23:27:20.626 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:27:20.632 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:27:20.846 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 24 of 300
2025-12-21T23:27:20.850 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352440.850045
2025-12-21T23:27:20.851 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.96486964', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.56141206', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8824', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.6866096026147', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.469', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.469', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.688414', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='77.514363', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:26:49', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.46', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.09', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.46', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.29', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:26:49', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:27:34.086 [INFO] [Dummy-22933] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:27:34.103 [INFO] [Dummy-22931] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:27:41.695 [INFO] [Dummy-22934] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:27:41.934 [INFO] [Dummy-22929] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:27:59.106 [INFO] [Dummy-22935] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:27:59.123 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:28:06.937 [INFO] [Dummy-22937] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:28:07.184 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:28:21.276 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 24 of 300 done. Exposure state = 0
2025-12-21T23:28:21.276 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:28:21.283 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:28:21.460 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 25 of 300
2025-12-21T23:28:21.463 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352501.463869
2025-12-21T23:28:21.465 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.95658386', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.56527183', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8824', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.02', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.6224224717384', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.446', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.446', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.575401', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='77.300085', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:27:53', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.48', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.53', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.39', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.36', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:27:53', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:28:24.125 [INFO] [Dummy-22938] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:28:24.141 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:28:32.186 [INFO] [Dummy-22939] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:28:32.427 [INFO] [Dummy-22929] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:28:49.143 [INFO] [Dummy-22940] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:28:49.160 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:28:57.430 [INFO] [Dummy-22941] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:28:57.669 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:29:14.162 [INFO] [Dummy-22942] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:29:14.179 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:29:21.896 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 25 of 300 done. Exposure state = 0
2025-12-21T23:29:21.896 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:29:21.903 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:29:21.934 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:29:21.934 [INFO] [Dummy-22868] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:29:22.094 [INFO] [Dummy-22943] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:29:22.095 [INFO] [Dummy-22943] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:29:22.095 [INFO] [Dummy-22943] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:29:22.261 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 26 of 300
2025-12-21T23:29:22.265 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352562.265062
2025-12-21T23:29:22.266 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.00053406', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.54229402', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3458', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8824', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.5918571713196', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.422', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.422', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.463799', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='77.085688', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:28:25', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.46', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.02', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.39', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.25', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:28:25', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:29:22.670 [INFO] [Dummy-22944] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:29:23.568 [INFO] [Dummy-22929] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:29:39.181 [INFO] [Dummy-22945] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:29:39.197 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:29:48.570 [INFO] [Dummy-22946] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:29:48.809 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:30:04.198 [INFO] [Dummy-22947] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:30:04.214 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:30:13.811 [INFO] [Dummy-22948] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:30:14.049 [INFO] [Dummy-22929] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:30:22.779 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 26 of 300 done. Exposure state = 0
2025-12-21T23:30:22.779 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:30:22.786 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:30:22.989 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 27 of 300
2025-12-21T23:30:22.992 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352622.9923255
2025-12-21T23:30:22.993 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.89137425', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.57451714', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3454', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8824', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.5388773172617', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.396', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.396', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.353605', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='76.871468', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:29:29', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.4', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.62', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.42', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.32', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:29:30', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:30:29.216 [INFO] [Dummy-22949] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:30:29.233 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:30:39.050 [INFO] [Dummy-22950] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:30:39.294 [INFO] [Dummy-22868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:30:54.235 [INFO] [Dummy-22951] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:30:54.252 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:31:04.296 [INFO] [Dummy-22952] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:31:04.527 [INFO] [Dummy-22953] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:31:19.254 [INFO] [Dummy-22954] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:31:19.272 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:31:23.475 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 27 of 300 done. Exposure state = 0
2025-12-21T23:31:23.476 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:31:23.482 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:31:23.640 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 28 of 300
2025-12-21T23:31:23.644 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352683.6442451
2025-12-21T23:31:23.645 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.96739022', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.55413329', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8824', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.489972836595', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.368', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.368', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.245313', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='76.658325', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:30:34', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.48', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.42', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.39', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.22', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:30:35', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:31:29.529 [INFO] [Dummy-22955] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:31:29.837 [INFO] [Dummy-22929] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:31:44.274 [INFO] [Dummy-22956] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:31:44.291 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:31:54.839 [INFO] [Dummy-22957] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:31:55.077 [INFO] [Dummy-22953] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:32:09.293 [INFO] [Dummy-22958] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:32:09.309 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:32:20.079 [INFO] [Dummy-22959] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:32:20.312 [INFO] [Dummy-22960] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:32:24.072 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 28 of 300 done. Exposure state = 0
2025-12-21T23:32:24.073 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:32:24.080 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:32:24.293 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 29 of 300
2025-12-21T23:32:24.296 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352744.296543
2025-12-21T23:32:24.297 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.96595188', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.56857781', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8824', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.451256789399', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.34', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.34', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.137295', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='76.443354', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:31:39', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.55', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.47', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.37', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.46', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:31:39', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:32:34.311 [INFO] [Dummy-22961] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:32:34.326 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:32:45.314 [INFO] [Dummy-22962] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:32:45.551 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:32:59.328 [INFO] [Dummy-22964] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:32:59.345 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:33:10.553 [INFO] [Dummy-22965] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:33:10.791 [INFO] [Dummy-22960] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:33:24.347 [INFO] [Dummy-22966] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:33:24.364 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:33:24.721 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 29 of 300 done. Exposure state = 0
2025-12-21T23:33:24.727 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:33:24.734 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:33:24.944 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 30 of 300
2025-12-21T23:33:24.948 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352804.948151
2025-12-21T23:33:24.949 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.9791939', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.11098139', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8823', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.4278233924106', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.309', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.309', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='268.031838', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='76.230038', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:32:43', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.51', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.66', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.39', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.16', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:32:43', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:33:35.792 [INFO] [Dummy-22967] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:33:36.029 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:33:49.365 [INFO] [Dummy-22968] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:33:49.383 [INFO] [Dummy-22936] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:34:01.032 [INFO] [Dummy-22969] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:34:01.273 [INFO] [Dummy-22960] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:34:14.385 [INFO] [Dummy-22970] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:34:14.402 [INFO] [Dummy-22971] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:34:25.499 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 30 of 300 done. Exposure state = 0
2025-12-21T23:34:25.499 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:34:25.527 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:34:25.748 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 31 of 300
2025-12-21T23:34:25.751 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352865.7513046
2025-12-21T23:34:25.752 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.94523971', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:55.65846535', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3456', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8821', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.3748435383527', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.277', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.277', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.926122', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='76.013956', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:33:47', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.42', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.38', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.34', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.09', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:34:20', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:34:26.274 [INFO] [Dummy-22972] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:34:26.513 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:34:39.404 [INFO] [Dummy-22973] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:34:39.423 [INFO] [Dummy-22971] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:34:51.515 [INFO] [Dummy-22974] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:34:51.749 [INFO] [Dummy-22960] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:35:04.426 [INFO] [Dummy-22975] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:35:04.442 [INFO] [Dummy-22971] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:35:16.751 [INFO] [Dummy-22976] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:35:16.989 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:35:26.156 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 31 of 300 done. Exposure state = 0
2025-12-21T23:35:26.157 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:35:26.182 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:35:26.399 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 32 of 300
2025-12-21T23:35:26.403 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352926.403042
2025-12-21T23:35:26.404 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.97919738', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.12898053', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8823', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.322882527644', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.245', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.245', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.821426', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='75.799943', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:34:19', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.37', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.47', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.37', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.96', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:34:52', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:35:29.444 [INFO] [Dummy-22977] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:35:29.461 [INFO] [Dummy-22978] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:35:41.991 [INFO] [Dummy-22979] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:35:42.227 [INFO] [Dummy-22960] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:35:54.463 [INFO] [Dummy-22980] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:35:54.479 [INFO] [Dummy-22981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:36:07.230 [INFO] [Dummy-22982] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:36:07.481 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:36:19.481 [INFO] [Dummy-22983] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:36:19.500 [INFO] [Dummy-22984] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:36:26.826 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 32 of 300 done. Exposure state = 0
2025-12-21T23:36:26.826 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:36:26.833 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:36:27.052 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 33 of 300
2025-12-21T23:36:27.056 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766352987.0562322
2025-12-21T23:36:27.057 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.00224637', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.08145943', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3458', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8822', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.264808456848', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.212', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.212', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.719507', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='75.588353', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:35:56', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.58', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.29', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.32', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.98', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:35:56', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:36:32.483 [INFO] [Dummy-22985] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:36:32.731 [INFO] [Dummy-22960] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:36:44.501 [INFO] [Dummy-22986] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:36:44.518 [INFO] [Dummy-22987] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:36:57.733 [INFO] [Dummy-22988] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:36:57.970 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:37:09.520 [INFO] [Dummy-22989] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:37:09.536 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:37:22.972 [INFO] [Dummy-22991] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:37:23.212 [INFO] [Dummy-22960] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:37:27.479 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 33 of 300 done. Exposure state = 0
2025-12-21T23:37:27.480 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:37:27.486 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:37:27.495 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:37:27.495 [INFO] [Dummy-22963] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:37:27.637 [INFO] [Dummy-22992] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:37:27.637 [INFO] [Dummy-22992] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:37:27.637 [INFO] [Dummy-22992] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:37:27.855 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 34 of 300
2025-12-21T23:37:27.859 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353047.859444
2025-12-21T23:37:27.860 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.99612784', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.11405002', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3458', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8823', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.2301677830437', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.178', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.178', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.616753', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='75.373198', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:36:28', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.66', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.29', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.31', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.89', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:37:00', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:37:34.538 [INFO] [Dummy-22993] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:37:34.555 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:37:48.213 [INFO] [Dummy-22994] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:37:48.443 [INFO] [Dummy-22995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:37:59.558 [INFO] [Dummy-22996] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:37:59.574 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:38:13.445 [INFO] [Dummy-22997] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:38:13.685 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:38:24.577 [INFO] [Dummy-22998] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:38:24.592 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:38:28.279 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 34 of 300 done. Exposure state = 0
2025-12-21T23:38:28.279 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:38:28.286 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:38:28.508 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 35 of 300
2025-12-21T23:38:28.512 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353108.5121734
2025-12-21T23:38:28.513 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.98991813', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:55.67506305', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3458', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8821', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.1965459525836', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.142', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.142', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.515948', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='75.159092', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:38:04', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.88', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.65', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.31', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.88', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:38:04', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:38:38.688 [INFO] [Dummy-22999] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:38:38.926 [INFO] [Dummy-22995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:38:49.594 [INFO] [Dummy-23000] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:38:49.610 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:39:03.928 [INFO] [Dummy-23001] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:39:04.165 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:39:14.613 [INFO] [Dummy-23002] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:39:14.629 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:39:28.926 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:39:28.926 [INFO] [Dummy-22963] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:39:29.060 [INFO] [Dummy-23003] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:39:29.061 [INFO] [Dummy-23003] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:39:29.061 [INFO] [Dummy-23003] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:39:29.106 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 35 of 300 done. Exposure state = 0
2025-12-21T23:39:29.106 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:39:29.108 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:39:29.168 [INFO] [Dummy-23004] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:39:29.311 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 36 of 300
2025-12-21T23:39:29.315 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353169.31498
2025-12-21T23:39:29.316 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.03323338', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:56.09488678', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.346', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8822', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.03', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.162924122124', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.106', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.106', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.415206', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='74.945245', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:39:08', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='66.8', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.54', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.22', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.02', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:39:08', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:39:30.528 [INFO] [Dummy-22995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:39:39.631 [INFO] [Dummy-23005] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:39:39.648 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:39:55.530 [INFO] [Dummy-23006] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:39:55.778 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:40:04.651 [INFO] [Dummy-23007] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:40:04.670 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:40:20.781 [INFO] [Dummy-23008] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:40:21.024 [INFO] [Dummy-22995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:40:29.673 [INFO] [Dummy-23009] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:40:29.690 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:40:29.740 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 36 of 300 done. Exposure state = 0
2025-12-21T23:40:29.740 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:40:29.747 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:40:29.962 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 37 of 300
2025-12-21T23:40:29.966 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353229.9661496
2025-12-21T23:40:29.967 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.02053721', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:55.64890358', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8821', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.1058688946773', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.068', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.068', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.317255', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='74.733578', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:40:12', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='67.48', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.14', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.22', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.0', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:40:12', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:40:46.025 [INFO] [Dummy-23010] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:40:46.267 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:40:54.691 [INFO] [Dummy-23011] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:40:54.708 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:41:11.269 [INFO] [Dummy-23012] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:41:11.504 [INFO] [Dummy-22995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:41:19.710 [INFO] [Dummy-23013] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:41:19.727 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:41:30.419 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 37 of 300 done. Exposure state = 0
2025-12-21T23:41:30.420 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:41:30.427 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:41:30.652 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 38 of 300
2025-12-21T23:41:30.656 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353290.6561134
2025-12-21T23:41:30.657 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.05900313', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:55.212115', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.882', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.0579832573553', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='263.029', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='263.029', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.21855', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='74.518609', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:40:44', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='67.68', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.88', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.21', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.07', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:40:45', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:41:36.506 [INFO] [Dummy-23014] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:41:36.739 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:41:44.729 [INFO] [Dummy-23015] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:41:44.748 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:42:01.743 [INFO] [Dummy-23016] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:42:01.979 [INFO] [Dummy-22995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:42:09.751 [INFO] [Dummy-23017] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:42:09.767 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:42:26.981 [INFO] [Dummy-23018] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:42:27.222 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:42:31.110 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:42:31.111 [INFO] [Dummy-22963] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:42:31.256 [INFO] [Dummy-23019] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:42:31.257 [INFO] [Dummy-23019] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:42:31.257 [INFO] [Dummy-23019] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:42:31.297 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 38 of 300 done. Exposure state = 0
2025-12-21T23:42:31.297 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:42:31.299 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:42:31.418 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 39 of 300
2025-12-21T23:42:31.421 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353351.4217541
2025-12-21T23:42:31.423 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.03675128', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:55.65559465', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.346', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8821', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.0539078839665', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.991', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.991', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.11945', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='74.303072', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:41:48', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='67.78', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.91', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.16', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.99', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:41:50', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:42:34.769 [INFO] [Dummy-23020] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:42:34.786 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:42:52.224 [INFO] [Dummy-23021] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:42:52.459 [INFO] [Dummy-22995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:42:59.788 [INFO] [Dummy-23022] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:42:59.805 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:43:17.461 [INFO] [Dummy-23023] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:43:17.698 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:43:24.807 [INFO] [Dummy-23024] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:43:24.825 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:43:31.906 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 39 of 300 done. Exposure state = 0
2025-12-21T23:43:31.906 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:43:31.913 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:43:32.032 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 40 of 300
2025-12-21T23:43:32.036 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353412.03634
2025-12-21T23:43:32.037 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.03486495', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:55.21647206', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.346', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.882', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.0100976200356', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.95', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.95', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='267.023323', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='74.090446', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:42:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='67.96', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.16', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.13', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.95', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:42:56', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:43:42.701 [INFO] [Dummy-23025] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:43:42.940 [INFO] [Dummy-22995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:43:49.828 [INFO] [Dummy-23026] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:43:49.844 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:44:07.942 [INFO] [Dummy-23027] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:44:08.182 [INFO] [Dummy-23028] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:44:14.846 [INFO] [Dummy-23029] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:44:14.863 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:44:32.510 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 40 of 300 done. Exposure state = 0
2025-12-21T23:44:32.510 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:44:32.517 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:44:32.610 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 41 of 300
2025-12-21T23:44:32.613 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353472.6136463
2025-12-21T23:44:32.614 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.06395589', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:54.7403792', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8819', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.9897207530903', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.909', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.909', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.926567', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='73.8748', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:43:28', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='68.49', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.86', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.14', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.04', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:44:00', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:44:32.721 [INFO] [Dummy-23028] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:44:32.722 [INFO] [Dummy-23028] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:44:32.865 [INFO] [Dummy-23030] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:44:32.865 [INFO] [Dummy-23030] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:44:32.865 [INFO] [Dummy-23030] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:44:33.183 [INFO] [Dummy-23031] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:44:34.329 [INFO] [Dummy-22963] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:44:39.865 [INFO] [Dummy-23032] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:44:39.880 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:44:59.331 [INFO] [Dummy-23033] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:44:59.573 [INFO] [Dummy-23028] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:45:04.883 [INFO] [Dummy-23034] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:45:04.901 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:45:24.575 [INFO] [Dummy-23035] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:45:25.021 [INFO] [Dummy-23036] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:45:29.902 [INFO] [Dummy-23037] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:45:29.918 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:45:33.100 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 41 of 300 done. Exposure state = 0
2025-12-21T23:45:33.100 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:45:33.107 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:45:33.225 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 42 of 300
2025-12-21T23:45:33.229 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353533.2291067
2025-12-21T23:45:33.230 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.02072695', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:54.76693424', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8819', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.96323082606', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.868', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.868', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.831774', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='73.66316', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:45:04', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='68.69', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.15', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.13', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.07', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:45:04', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:45:50.022 [INFO] [Dummy-23038] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:45:50.263 [INFO] [Dummy-23039] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:45:54.919 [INFO] [Dummy-23040] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:45:54.936 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:46:15.266 [INFO] [Dummy-23041] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:46:15.508 [INFO] [Dummy-23036] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:46:19.938 [INFO] [Dummy-23042] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:46:19.955 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:46:33.659 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 42 of 300 done. Exposure state = 0
2025-12-21T23:46:33.659 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:46:33.667 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:46:33.764 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 43 of 300
2025-12-21T23:46:33.767 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353593.7677813
2025-12-21T23:46:33.769 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.03188733', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:54.72338594', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.346', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8819', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.9448916458095', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.826', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.826', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.736684', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='73.449263', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:46:08', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='68.78', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.84', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.09', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:46:08', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:46:40.511 [INFO] [Dummy-23043] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:46:40.763 [INFO] [Dummy-23039] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:46:44.957 [INFO] [Dummy-23044] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:46:44.974 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:47:05.766 [INFO] [Dummy-23045] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:47:06.009 [INFO] [Dummy-23039] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:47:09.975 [INFO] [Dummy-23046] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:47:09.991 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:47:31.011 [INFO] [Dummy-23047] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:47:31.252 [INFO] [Dummy-23036] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:47:34.196 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 43 of 300 done. Exposure state = 0
2025-12-21T23:47:34.202 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:47:34.230 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:47:34.378 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 44 of 300
2025-12-21T23:47:34.381 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353654.381807
2025-12-21T23:47:34.383 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.06389115', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:54.40559513', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8818', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.893949478446', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.782', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.782', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.642054', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='73.2344', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:47:12', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='68.76', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.08', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.09', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.12', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:47:12', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:47:34.507 [INFO] [Dummy-23036] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:47:34.508 [INFO] [Dummy-23036] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:47:34.653 [INFO] [Dummy-23048] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:47:34.653 [INFO] [Dummy-23048] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:47:34.653 [INFO] [Dummy-23048] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:47:34.992 [INFO] [Dummy-23049] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:47:35.010 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:47:56.254 [INFO] [Dummy-23050] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:47:56.491 [INFO] [Dummy-23039] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:48:00.012 [INFO] [Dummy-23051] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:48:00.031 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:48:21.494 [INFO] [Dummy-23052] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:48:21.730 [INFO] [Dummy-23036] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:48:25.033 [INFO] [Dummy-23053] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:48:25.049 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:48:34.865 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 44 of 300 done. Exposure state = 0
2025-12-21T23:48:34.866 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:48:34.891 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:48:34.993 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 45 of 300
2025-12-21T23:48:34.996 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353714.996838
2025-12-21T23:48:34.998 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.06450313', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.84399925', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8816', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.04', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.8807045149333', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.738', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.738', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.548837', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='73.020872', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:47:44', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='68.84', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.92', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.01', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.02', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:47:44', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:48:46.732 [INFO] [Dummy-23054] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:48:47.197 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:48:50.050 [INFO] [Dummy-23056] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:48:50.067 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:49:12.198 [INFO] [Dummy-23057] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:49:12.444 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:49:15.070 [INFO] [Dummy-23059] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:49:15.086 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:49:35.422 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 45 of 300 done. Exposure state = 0
2025-12-21T23:49:35.422 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:49:35.446 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:49:35.608 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 46 of 300
2025-12-21T23:49:35.612 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353775.6126072
2025-12-21T23:49:35.613 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.06163688', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.92688572', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8816', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.05', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.8684783947656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.694', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.694', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.455574', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='72.807372', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:48:48', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.41', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.9', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.04', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.02', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:48:49', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:49:35.813 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:49:35.813 [INFO] [Dummy-23058] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:49:35.957 [INFO] [Dummy-23060] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:49:35.957 [INFO] [Dummy-23060] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:49:35.957 [INFO] [Dummy-23060] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:49:37.446 [INFO] [Dummy-23061] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:49:37.679 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:49:40.088 [INFO] [Dummy-23062] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:49:40.104 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:50:02.681 [INFO] [Dummy-23063] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:50:02.929 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:50:05.106 [INFO] [Dummy-23064] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:50:05.123 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:50:27.931 [INFO] [Dummy-23065] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:50:28.168 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:50:30.125 [INFO] [Dummy-23066] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:50:30.142 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:50:36.142 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 46 of 300 done. Exposure state = 0
2025-12-21T23:50:36.143 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:50:36.149 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:50:36.298 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 47 of 300
2025-12-21T23:50:36.301 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353836.3018148
2025-12-21T23:50:36.303 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.04928776', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.41249448', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.346', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8815', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.05', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.824668130834', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.649', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.649', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.363387', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='72.59379', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:49:52', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='68.93', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.27', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.03', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.09', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:49:53', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:50:36.509 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:50:36.509 [INFO] [Dummy-23055] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:50:36.652 [INFO] [Dummy-23067] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:50:36.652 [INFO] [Dummy-23067] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:50:36.652 [INFO] [Dummy-23067] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:50:53.169 [INFO] [Dummy-23068] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:50:53.407 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:50:55.144 [INFO] [Dummy-23069] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:50:55.160 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:51:18.410 [INFO] [Dummy-23070] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:51:18.653 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:51:20.163 [INFO] [Dummy-23071] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:51:20.179 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:51:36.935 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 47 of 300 done. Exposure state = 0
2025-12-21T23:51:36.936 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:51:36.961 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:51:37.095 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 48 of 300
2025-12-21T23:51:37.099 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353897.0991008
2025-12-21T23:51:37.101 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.0328032', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.87019262', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.346', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8816', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.05', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7981782038037', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.603', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.603', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.270506', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='72.379496', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:50:57', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='68.96', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.27', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.03', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.38', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:50:57', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:51:37.349 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:51:37.349 [INFO] [Dummy-23055] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:51:37.493 [INFO] [Dummy-23072] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:51:37.493 [INFO] [Dummy-23072] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:51:37.494 [INFO] [Dummy-23072] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:51:43.654 [INFO] [Dummy-23073] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:51:43.890 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:51:45.181 [INFO] [Dummy-23074] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:51:45.198 [INFO] [Dummy-22990] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:52:08.893 [INFO] [Dummy-23075] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:52:09.134 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:52:10.200 [INFO] [Dummy-23076] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:52:10.216 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:52:34.136 [INFO] [Dummy-23078] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:52:34.374 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:52:35.217 [INFO] [Dummy-23079] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:52:35.234 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:52:37.705 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 48 of 300 done. Exposure state = 0
2025-12-21T23:52:37.705 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:52:37.712 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:52:37.829 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 49 of 300
2025-12-21T23:52:37.832 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766353957.832673
2025-12-21T23:52:37.833 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.1054952', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.42873051', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3463', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8815', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.05', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7543679398727', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.557', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.557', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.180019', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='72.167678', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:52:01', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.01', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.04', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.18', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:52:01', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:52:59.376 [INFO] [Dummy-23080] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:52:59.610 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:53:00.236 [INFO] [Dummy-23081] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:53:00.252 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:53:24.612 [INFO] [Dummy-23082] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:53:24.851 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:53:25.254 [INFO] [Dummy-23083] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:53:25.270 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:53:38.264 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 49 of 300 done. Exposure state = 0
2025-12-21T23:53:38.265 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:53:38.289 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:53:38.444 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 50 of 300
2025-12-21T23:53:38.447 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354018.4476578
2025-12-21T23:53:38.448 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.090001', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.41841701', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3462', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8815', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.05', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.738066446316', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.51', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.51', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='266.088167', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='71.952471', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:53:05', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.52', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.19', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.01', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.05', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:53:05', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:53:38.569 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:53:38.570 [INFO] [Dummy-23058] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:53:38.716 [INFO] [Dummy-23084] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:53:38.717 [INFO] [Dummy-23084] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:53:38.717 [INFO] [Dummy-23084] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:53:49.853 [INFO] [Dummy-23085] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:53:50.085 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:53:50.272 [INFO] [Dummy-23086] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:53:50.288 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:54:15.087 [INFO] [Dummy-23087] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:54:15.290 [INFO] [Dummy-23088] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:54:15.305 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:54:15.324 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:54:38.983 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 50 of 300 done. Exposure state = 0
2025-12-21T23:54:38.983 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:54:39.007 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:54:39.134 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 51 of 300
2025-12-21T23:54:39.137 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354079.1376696
2025-12-21T23:54:39.138 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.14475686', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.38070082', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3464', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8815', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.05', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7125953626355', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='268.8', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.463', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.463', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.997512', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='71.738922', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:53:37', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='68.99', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.47', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.11', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:53:37', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:54:40.306 [INFO] [Dummy-23089] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:54:40.322 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:54:40.326 [INFO] [Dummy-23090] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:54:40.565 [INFO] [Dummy-23055] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:55:05.324 [INFO] [Dummy-23091] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:55:05.340 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:55:05.568 [INFO] [Dummy-23092] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:55:05.806 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:55:30.343 [INFO] [Dummy-23094] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:55:30.360 [INFO] [Dummy-23077] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:55:30.808 [INFO] [Dummy-23095] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:55:31.067 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:55:39.594 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 51 of 300 done. Exposure state = 0
2025-12-21T23:55:39.594 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:55:39.600 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:55:39.710 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 52 of 300
2025-12-21T23:55:39.714 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354139.7142355
2025-12-21T23:55:39.715 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.12422428', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.39934418', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3464', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8815', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.05', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.703425772509', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.416', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.416', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.908161', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='71.527533', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:54:41', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.59', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.6', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.04', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.04', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:55:14', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:55:55.363 [INFO] [Dummy-23096] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:55:55.379 [INFO] [Dummy-23097] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:55:56.069 [INFO] [Dummy-23098] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:55:56.307 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:56:20.381 [INFO] [Dummy-23099] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:56:20.398 [INFO] [Dummy-23097] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:56:21.309 [INFO] [Dummy-23100] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:56:21.543 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:56:40.221 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 52 of 300 done. Exposure state = 0
2025-12-21T23:56:40.221 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:56:40.248 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:56:40.401 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 53 of 300
2025-12-21T23:56:40.405 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354200.405174
2025-12-21T23:56:40.406 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.12529956', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.37051164', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3464', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8815', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.06', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.704444615856', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.367', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.367', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.817691', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='71.312375', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:56:17', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.62', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.37', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.04', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.31', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:56:18', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:56:40.531 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:56:40.532 [INFO] [Dummy-23058] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:56:40.681 [INFO] [Dummy-23101] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:56:40.682 [INFO] [Dummy-23101] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:56:40.682 [INFO] [Dummy-23101] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:56:45.401 [INFO] [Dummy-23102] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:56:45.417 [INFO] [Dummy-23097] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:56:46.545 [INFO] [Dummy-23103] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:56:46.781 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:57:10.420 [INFO] [Dummy-23104] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:57:10.440 [INFO] [Dummy-23097] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:57:11.783 [INFO] [Dummy-23105] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:57:12.018 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:57:35.442 [INFO] [Dummy-23106] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:57:35.459 [INFO] [Dummy-23107] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:57:37.019 [INFO] [Dummy-23108] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:57:37.257 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:57:40.889 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 53 of 300 done. Exposure state = 0
2025-12-21T23:57:40.889 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:57:40.911 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:57:41.016 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 54 of 300
2025-12-21T23:57:41.019 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354261.0198483
2025-12-21T23:57:41.021 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.13439849', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.84540648', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3464', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8816', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.06', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.691199652341', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.318', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.318', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.727877', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='71.098837', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:57:21', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.72', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.87', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.1', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:57:22', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:58:00.461 [INFO] [Dummy-23109] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:58:00.478 [INFO] [Dummy-23107] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:58:02.259 [INFO] [Dummy-23110] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:58:02.496 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:58:25.480 [INFO] [Dummy-23111] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:58:25.497 [INFO] [Dummy-23112] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:58:27.498 [INFO] [Dummy-23113] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:58:27.737 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:58:41.535 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 54 of 300 done. Exposure state = 0
2025-12-21T23:58:41.536 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:58:41.542 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:58:41.626 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-21T23:58:41.627 [INFO] [Dummy-23093] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:58:41.772 [INFO] [Dummy-23114] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-21T23:58:41.772 [INFO] [Dummy-23114] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-21T23:58:41.772 [INFO] [Dummy-23114] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-21T23:58:41.855 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 55 of 300
2025-12-21T23:58:41.857 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354321.8570712
2025-12-21T23:58:41.857 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.11765011', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.93876954', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3463', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8814', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.06', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7136142059826', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.268', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.269', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.639955', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='70.886037', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:58:26', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.79', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.48', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.01', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.22', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:58:26', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:58:50.500 [INFO] [Dummy-23115] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:58:50.516 [INFO] [Dummy-23112] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:58:52.740 [INFO] [Dummy-23116] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:58:52.978 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:59:15.518 [INFO] [Dummy-23117] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:59:15.535 [INFO] [Dummy-23118] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:59:17.981 [INFO] [Dummy-23119] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:59:18.225 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-21T23:59:40.537 [INFO] [Dummy-23120] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-21T23:59:40.553 [INFO] [Dummy-23121] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-21T23:59:42.286 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 55 of 300 done. Exposure state = 0
2025-12-21T23:59:42.286 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-21T23:59:42.293 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-21T23:59:42.395 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 56 of 300
2025-12-21T23:59:42.398 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354382.398387
2025-12-21T23:59:42.399 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.12021246', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:53.14748049', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3463', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8814', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.06', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.696293869079', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.219', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.219', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.551694', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='70.673828', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-21T23:59:30', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.79', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.1', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.2', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-21T23:59:30', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-21T23:59:43.227 [INFO] [Dummy-23122] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-21T23:59:43.463 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:00:05.555 [INFO] [Dummy-23123] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:00:05.571 [INFO] [Dummy-23124] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:00:08.466 [INFO] [Dummy-23125] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:00:08.697 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:00:30.573 [INFO] [Dummy-23126] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:00:30.590 [INFO] [Dummy-23124] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:00:33.699 [INFO] [Dummy-23127] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:00:33.938 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:00:42.812 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 56 of 300 done. Exposure state = 0
2025-12-22T00:00:42.812 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:00:42.839 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:00:43.009 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 57 of 300
2025-12-22T00:00:43.012 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354443.0123544
2025-12-22T00:00:43.013 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.14198679', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.11702587', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3464', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8811', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.06', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.701388085815', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.168', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.168', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.463754', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='70.458948', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:00:02', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.79', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.0', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.12', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:00:02', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:00:43.171 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:00:43.172 [INFO] [Dummy-23058] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:00:43.318 [INFO] [Dummy-23128] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:00:43.318 [INFO] [Dummy-23128] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:00:43.318 [INFO] [Dummy-23128] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:00:55.592 [INFO] [Dummy-23129] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:00:55.609 [INFO] [Dummy-23124] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:00:58.940 [INFO] [Dummy-23130] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:00:59.181 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:01:20.611 [INFO] [Dummy-23131] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:01:20.630 [INFO] [Dummy-23124] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:01:24.183 [INFO] [Dummy-23132] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:01:24.419 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:01:43.534 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 57 of 300 done. Exposure state = 0
2025-12-22T00:01:43.534 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:01:43.539 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:01:43.659 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 58 of 300
2025-12-22T00:01:43.662 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354503.6621995
2025-12-22T00:01:43.663 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.17200295', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.69925995', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3466', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8813', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.06', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.6779546888283', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.118', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.118', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.376222', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='70.247554', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:01:06', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.82', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.84', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.18', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:01:06', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:01:45.632 [INFO] [Dummy-23133] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:01:45.649 [INFO] [Dummy-23124] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:01:49.421 [INFO] [Dummy-23134] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:01:49.652 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:02:10.651 [INFO] [Dummy-23135] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:02:10.668 [INFO] [Dummy-23124] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:02:14.654 [INFO] [Dummy-23136] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:02:14.893 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:02:35.670 [INFO] [Dummy-23137] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:02:35.688 [INFO] [Dummy-23124] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:02:39.895 [INFO] [Dummy-23138] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:02:40.131 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:02:44.067 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 58 of 300 done. Exposure state = 0
2025-12-22T00:02:44.067 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:02:44.073 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:02:44.200 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 59 of 300
2025-12-22T00:02:44.203 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354564.203576
2025-12-22T00:02:44.204 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.20367224', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.514674', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3467', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8813', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.06', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.6983315557736', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.067', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.067', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.288937', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='70.034396', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:02:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.87', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.75', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.3', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:02:10', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:03:00.690 [INFO] [Dummy-23139] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:03:00.705 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:03:05.133 [INFO] [Dummy-23141] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:03:05.370 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:03:25.706 [INFO] [Dummy-23142] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:03:25.726 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:03:30.372 [INFO] [Dummy-23143] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:03:30.611 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:03:44.679 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 59 of 300 done. Exposure state = 0
2025-12-22T00:03:44.679 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:03:44.706 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:03:44.851 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 60 of 300
2025-12-22T00:03:44.855 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354624.855506
2025-12-22T00:03:44.856 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.20006734', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.50398755', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3467', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8813', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.06', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.6626720386193', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='262.015', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='262.015', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.201087', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='69.819409', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:03:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.99', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.01', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.03', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.12', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:03:15', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:03:45.054 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:03:45.055 [INFO] [Dummy-23093] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:03:45.200 [INFO] [Dummy-23144] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:03:45.200 [INFO] [Dummy-23144] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:03:45.200 [INFO] [Dummy-23144] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:03:50.729 [INFO] [Dummy-23145] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:03:50.746 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:03:55.613 [INFO] [Dummy-23146] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:03:55.851 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:04:15.749 [INFO] [Dummy-23147] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:04:15.765 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:04:20.853 [INFO] [Dummy-23148] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:04:21.176 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:04:40.768 [INFO] [Dummy-23149] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:04:40.786 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:04:45.409 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 60 of 300 done. Exposure state = 0
2025-12-22T00:04:45.455 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:04:45.461 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:04:45.537 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:04:45.538 [INFO] [Dummy-23093] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:04:45.682 [INFO] [Dummy-23150] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:04:45.682 [INFO] [Dummy-23150] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:04:45.682 [INFO] [Dummy-23150] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:04:45.766 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 61 of 300
2025-12-22T00:04:45.768 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354685.768011
2025-12-22T00:04:45.768 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.21916436', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.51418796', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3467', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8813', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.07', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.6881431222996', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.963', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.963', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.114301', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='69.60631', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:04:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.87', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.97', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.03', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.68', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:04:19', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:04:46.178 [INFO] [Dummy-23151] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:04:47.184 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:05:05.788 [INFO] [Dummy-23152] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:05:05.806 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:05:12.186 [INFO] [Dummy-23153] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:05:12.420 [INFO] [Dummy-23093] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:05:30.809 [INFO] [Dummy-23154] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:05:30.826 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:05:37.421 [INFO] [Dummy-23155] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:05:37.660 [INFO] [Dummy-23058] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:05:46.167 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 61 of 300 done. Exposure state = 0
2025-12-22T00:05:46.167 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:05:46.174 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:05:46.306 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 62 of 300
2025-12-22T00:05:46.310 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354746.3102326
2025-12-22T00:05:46.311 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.20863544', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.09693562', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3467', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8811', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.07', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.6850865922584', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.91', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.91', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='265.028412', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='69.393848', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:05:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.86', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.35', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.03', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.7', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:05:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:05:55.828 [INFO] [Dummy-23156] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:05:55.845 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:06:02.661 [INFO] [Dummy-23157] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:06:02.898 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:06:20.846 [INFO] [Dummy-23159] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:06:20.862 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:06:27.900 [INFO] [Dummy-23160] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:06:28.139 [INFO] [Dummy-23161] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:06:45.864 [INFO] [Dummy-23162] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:06:45.881 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:06:46.770 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 62 of 300 done. Exposure state = 0
2025-12-22T00:06:46.771 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:06:46.777 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:06:46.884 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 63 of 300
2025-12-22T00:06:46.887 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354806.8872488
2025-12-22T00:06:46.888 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.21692609', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.11827462', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3467', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8811', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.07', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.683048905564', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.858', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.858', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.942344', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='69.181119', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:05:55', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.86', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.35', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.94', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.64', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:05:55', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:06:53.140 [INFO] [Dummy-23163] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:06:53.380 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:07:10.883 [INFO] [Dummy-23164] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:07:10.899 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:07:18.381 [INFO] [Dummy-23165] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:07:18.619 [INFO] [Dummy-23161] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:07:35.901 [INFO] [Dummy-23166] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:07:35.918 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:07:43.621 [INFO] [Dummy-23167] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:07:43.858 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:07:47.290 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 63 of 300 done. Exposure state = 0
2025-12-22T00:07:47.290 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:07:47.314 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:07:47.423 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 64 of 300
2025-12-22T00:07:47.426 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354867.4268656
2025-12-22T00:07:47.428 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.17405256', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:52.11961971', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3466', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8811', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.07', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7176895793714', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.804', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.804', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.855813', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='68.966508', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:06:59', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.89', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.29', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.96', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.54', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:06:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:08:00.920 [INFO] [Dummy-23168] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:08:00.936 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:08:08.859 [INFO] [Dummy-23169] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:08:09.098 [INFO] [Dummy-23161] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:08:25.938 [INFO] [Dummy-23170] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:08:25.954 [INFO] [Dummy-23140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:08:34.100 [INFO] [Dummy-23171] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:08:34.336 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:08:47.854 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 64 of 300 done. Exposure state = 0
2025-12-22T00:08:47.854 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:08:47.860 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:08:47.962 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 65 of 300
2025-12-22T00:08:47.966 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354927.9661362
2025-12-22T00:08:47.967 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.23311023', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.97017299', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3468', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8811', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.07', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.703425772509', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.751', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.751', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.770636', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='68.754325', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:08:03', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.94', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='27.54', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.96', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.75', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:08:03', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:08:50.956 [INFO] [Dummy-23172] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:08:50.972 [INFO] [Dummy-23173] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:08:59.338 [INFO] [Dummy-23174] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:08:59.577 [INFO] [Dummy-23161] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:09:15.975 [INFO] [Dummy-23175] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:09:15.990 [INFO] [Dummy-23176] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:09:24.578 [INFO] [Dummy-23177] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:09:24.815 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:09:40.993 [INFO] [Dummy-23178] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:09:41.009 [INFO] [Dummy-23176] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:09:48.458 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 65 of 300 done. Exposure state = 0
2025-12-22T00:09:48.459 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:09:48.465 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:09:48.577 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 66 of 300
2025-12-22T00:09:48.581 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766354988.5815887
2025-12-22T00:09:48.582 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.17719973', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.62634144', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3466', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.07', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.716670736024', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.697', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.697', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.686299', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='68.543231', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:09:07', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='69.94', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.23', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.39', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:09:07', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:09:49.817 [INFO] [Dummy-23179] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:09:50.061 [INFO] [Dummy-23161] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:10:06.011 [INFO] [Dummy-23180] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:10:06.027 [INFO] [Dummy-23176] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:10:15.062 [INFO] [Dummy-23181] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:10:15.305 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:10:31.030 [INFO] [Dummy-23182] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:10:31.050 [INFO] [Dummy-23176] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:10:40.307 [INFO] [Dummy-23183] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:10:40.547 [INFO] [Dummy-23161] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:10:49.011 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 66 of 300 done. Exposure state = 0
2025-12-22T00:10:49.011 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:10:49.018 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:10:49.018 [INFO] [Dummy-23161] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:10:49.018 [INFO] [Dummy-23161] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:10:49.155 [INFO] [Dummy-23184] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:10:49.155 [INFO] [Dummy-23184] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:10:49.155 [INFO] [Dummy-23184] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:10:49.305 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 67 of 300
2025-12-22T00:10:49.309 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355049.3090343
2025-12-22T00:10:49.310 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.17792516', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.65151764', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3466', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.08', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.730934542886', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.643', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.643', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.600624', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='68.328909', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:10:11', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='70.46', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.27', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.03', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.2', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:10:11', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:10:56.052 [INFO] [Dummy-23185] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:10:56.068 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:11:05.549 [INFO] [Dummy-23187] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:11:05.799 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:11:21.070 [INFO] [Dummy-23188] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:11:21.086 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:11:30.801 [INFO] [Dummy-23189] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:11:31.036 [INFO] [Dummy-23161] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:11:46.088 [INFO] [Dummy-23190] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:11:46.105 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:11:49.715 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 67 of 300 done. Exposure state = 0
2025-12-22T00:11:49.715 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:11:49.722 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:11:49.845 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 68 of 300
2025-12-22T00:11:49.849 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355109.8491633
2025-12-22T00:11:49.850 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.17533984', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.32401235', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3466', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8809', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.08', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7421418197046', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.588', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.588', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.515971', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='68.115879', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:10:43', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='70.49', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.4', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.94', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.05', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:11:16', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:11:56.038 [INFO] [Dummy-23191] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:11:56.275 [INFO] [Dummy-23192] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:12:11.108 [INFO] [Dummy-23193] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:12:11.125 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:12:21.277 [INFO] [Dummy-23194] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:12:21.516 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:12:36.127 [INFO] [Dummy-23195] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:12:36.144 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:12:46.518 [INFO] [Dummy-23196] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:12:46.757 [INFO] [Dummy-23192] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:12:50.275 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 68 of 300 done. Exposure state = 0
2025-12-22T00:12:50.276 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:12:50.283 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:12:50.423 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 69 of 300
2025-12-22T00:12:50.426 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355170.4265532
2025-12-22T00:12:50.427 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.19629675', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.63654186', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3467', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.08', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.763537529997', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.534', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.534', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.431704', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='67.90448', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:11:47', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='70.55', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.8', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.96', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.15', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:12:20', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:13:01.147 [INFO] [Dummy-23197] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:13:01.167 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:13:11.760 [INFO] [Dummy-23198] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:13:11.998 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:13:26.169 [INFO] [Dummy-23199] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:13:26.184 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:13:37.001 [INFO] [Dummy-23200] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:13:37.238 [INFO] [Dummy-23192] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:13:50.887 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 69 of 300 done. Exposure state = 0
2025-12-22T00:13:50.887 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:13:50.894 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:13:51.075 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 70 of 300
2025-12-22T00:13:51.078 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355231.0784476
2025-12-22T00:13:51.079 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.17648334', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.64796302', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3466', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.08', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7696505900817', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.478', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.478', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.347681', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='67.692576', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:13:24', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='70.9', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.21', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.91', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.89', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:13:24', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:13:51.184 [INFO] [Dummy-23201] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:13:51.201 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:14:02.241 [INFO] [Dummy-23202] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:14:02.478 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:14:16.203 [INFO] [Dummy-23203] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:14:16.221 [INFO] [Dummy-23186] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:14:27.480 [INFO] [Dummy-23204] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:14:27.728 [INFO] [Dummy-23192] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:14:41.224 [INFO] [Dummy-23205] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:14:41.241 [INFO] [Dummy-23206] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:14:51.552 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 70 of 300 done. Exposure state = 0
2025-12-22T00:14:51.553 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:14:51.579 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:14:51.728 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 71 of 300
2025-12-22T00:14:51.731 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355291.731873
2025-12-22T00:14:51.733 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.17503386', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.60481029', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3466', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.08', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7808578669', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.422', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.422', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.262105', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='67.476121', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:14:28', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='70.72', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.34', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.88', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.29', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:14:28', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:14:52.012 [INFO] [Dummy-23192] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:14:52.012 [INFO] [Dummy-23192] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:14:52.158 [INFO] [Dummy-23207] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:14:52.158 [INFO] [Dummy-23207] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:14:52.158 [INFO] [Dummy-23207] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:14:52.730 [INFO] [Dummy-23208] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:14:53.620 [INFO] [Dummy-23158] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:15:06.242 [INFO] [Dummy-23209] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:15:06.258 [INFO] [Dummy-23206] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:15:18.623 [INFO] [Dummy-23210] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:15:18.862 [INFO] [Dummy-23211] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:15:31.260 [INFO] [Dummy-23212] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:15:31.276 [INFO] [Dummy-23206] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:15:43.865 [INFO] [Dummy-23213] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:15:44.106 [INFO] [Dummy-23214] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:15:52.185 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 71 of 300 done. Exposure state = 0
2025-12-22T00:15:52.185 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:15:52.192 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:15:52.342 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 72 of 300
2025-12-22T00:15:52.346 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355352.3463676
2025-12-22T00:15:52.347 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.14519243', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.92613322', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3464', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8811', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.08', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.7951216737624', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.367', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.367', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.178829', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='67.265654', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:15:32', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='70.87', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.34', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.88', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.52', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:15:32', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:15:56.279 [INFO] [Dummy-23215] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:15:56.295 [INFO] [Dummy-23206] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:16:09.107 [INFO] [Dummy-23216] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:16:09.345 [INFO] [Dummy-23211] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:16:21.298 [INFO] [Dummy-23217] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:16:21.314 [INFO] [Dummy-23206] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:16:34.348 [INFO] [Dummy-23218] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:16:34.589 [INFO] [Dummy-23214] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:16:46.315 [INFO] [Dummy-23219] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:16:46.332 [INFO] [Dummy-23206] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:16:52.776 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 72 of 300 done. Exposure state = 0
2025-12-22T00:16:52.776 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:16:52.783 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:16:52.920 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 73 of 300
2025-12-22T00:16:52.923 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355412.9232616
2025-12-22T00:16:52.924 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.14621967', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.6489125', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3464', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.09', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.810404323972', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.311', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.311', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.095401', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='67.053214', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:16:36', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.4', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.61', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.96', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.45', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:16:37', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:16:59.591 [INFO] [Dummy-23220] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:16:59.840 [INFO] [Dummy-23211] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:17:11.335 [INFO] [Dummy-23221] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:17:11.350 [INFO] [Dummy-23222] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:17:24.842 [INFO] [Dummy-23223] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:17:25.080 [INFO] [Dummy-23224] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:17:36.352 [INFO] [Dummy-23225] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:17:36.368 [INFO] [Dummy-23222] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:17:50.082 [INFO] [Dummy-23226] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:17:50.320 [INFO] [Dummy-23214] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:17:53.342 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 73 of 300 done. Exposure state = 0
2025-12-22T00:17:53.343 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:17:53.350 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:17:53.495 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 74 of 300
2025-12-22T00:17:53.499 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355473.4991121
2025-12-22T00:17:53.500 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.15198278', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.64153199', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3465', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.09', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.8379130943467', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.254', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.254', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='264.011949', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='66.840753', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:17:08', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.55', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='29.06', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.95', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.16', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:17:09', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:18:01.371 [INFO] [Dummy-23227] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:18:01.387 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:18:15.322 [INFO] [Dummy-23229] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:18:15.566 [INFO] [Dummy-23224] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:18:26.389 [INFO] [Dummy-23230] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:18:26.405 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:18:40.568 [INFO] [Dummy-23231] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:18:40.809 [INFO] [Dummy-23214] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:18:51.407 [INFO] [Dummy-23232] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:18:51.424 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:18:54.006 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 74 of 300 done. Exposure state = 0
2025-12-22T00:18:54.006 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:18:54.008 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:18:54.145 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 75 of 300
2025-12-22T00:18:54.147 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355534.1473076
2025-12-22T00:18:54.147 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.17649517', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.70916011', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3466', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.09', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.8684783947656', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.197', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.197', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.928164', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='66.627123', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:18:12', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.62', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='27.67', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.91', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.26', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:18:13', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:19:05.811 [INFO] [Dummy-23233] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:19:06.047 [INFO] [Dummy-23224] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:19:16.426 [INFO] [Dummy-23234] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:19:16.443 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:19:31.049 [INFO] [Dummy-23235] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:19:31.287 [INFO] [Dummy-23214] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:19:41.445 [INFO] [Dummy-23236] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:19:41.462 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:19:54.563 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 75 of 300 done. Exposure state = 0
2025-12-22T00:19:54.563 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:19:54.570 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:19:54.724 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 76 of 300
2025-12-22T00:19:54.727 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355594.727521
2025-12-22T00:19:54.728 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.12027172', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.61012822', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3463', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.881', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.09', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.889874105057', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.14', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.14', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.845063', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='66.414507', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:19:17', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.69', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.86', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.9', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.2', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:19:17', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:19:56.290 [INFO] [Dummy-23237] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:19:56.533 [INFO] [Dummy-23224] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:20:06.464 [INFO] [Dummy-23238] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:20:06.480 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:20:21.535 [INFO] [Dummy-23239] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:20:21.836 [INFO] [Dummy-23214] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:20:31.482 [INFO] [Dummy-23240] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:20:31.499 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:20:46.838 [INFO] [Dummy-23241] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:20:47.075 [INFO] [Dummy-23224] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:20:55.152 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 76 of 300 done. Exposure state = 0
2025-12-22T00:20:55.152 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:20:55.159 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:20:55.375 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 77 of 300
2025-12-22T00:20:55.379 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355655.3791742
2025-12-22T00:20:55.380 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.11335327', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.23236097', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3463', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8809', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.09', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.92247709217', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.083', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.083', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.762706', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='66.202887', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:20:21', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.74', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.68', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.88', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.29', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:20:21', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:20:56.501 [INFO] [Dummy-23242] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:20:56.517 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:21:12.078 [INFO] [Dummy-23243] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:21:12.318 [INFO] [Dummy-23214] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:21:21.519 [INFO] [Dummy-23244] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:21:21.535 [INFO] [Dummy-23228] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:21:37.320 [INFO] [Dummy-23245] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:21:37.557 [INFO] [Dummy-23224] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:21:46.537 [INFO] [Dummy-23246] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:21:46.555 [INFO] [Dummy-23247] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:21:55.882 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 77 of 300 done. Exposure state = 0
2025-12-22T00:21:55.882 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:21:55.889 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:21:56.103 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 78 of 300
2025-12-22T00:21:56.106 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355716.106818
2025-12-22T00:21:56.108 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.11550174', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:51.1638964', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3463', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8809', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.09', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.954061235936', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='261.025', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='261.024', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.67906', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='65.988126', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:21:25', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.74', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.98', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.86', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:21:25', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:21:56.317 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:21:56.317 [INFO] [Dummy-23248] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:21:56.460 [INFO] [Dummy-23249] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:21:56.461 [INFO] [Dummy-23249] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:21:56.461 [INFO] [Dummy-23249] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:22:02.559 [INFO] [Dummy-23250] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:22:02.797 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:22:11.557 [INFO] [Dummy-23251] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:22:11.574 [INFO] [Dummy-23252] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:22:27.799 [INFO] [Dummy-23253] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:22:28.040 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:22:36.577 [INFO] [Dummy-23255] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:22:36.594 [INFO] [Dummy-23256] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:22:53.043 [INFO] [Dummy-23257] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:22:53.279 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:22:56.665 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 78 of 300 done. Exposure state = 0
2025-12-22T00:22:56.665 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:22:56.690 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:22:56.944 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 79 of 300
2025-12-22T00:22:56.947 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355776.9479015
2025-12-22T00:22:56.949 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.08983889', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.73631931', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3462', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8808', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.1', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.96323082606', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.966', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.966', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.595938', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='65.773692', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:22:29', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.82', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.16', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.85', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.26', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:22:29', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:22:56.956 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:22:56.956 [INFO] [Dummy-23248] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:22:57.089 [INFO] [Dummy-23258] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:22:57.089 [INFO] [Dummy-23258] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:22:57.089 [INFO] [Dummy-23258] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:23:01.596 [INFO] [Dummy-23259] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:23:01.613 [INFO] [Dummy-23256] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:23:18.281 [INFO] [Dummy-23260] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:23:18.515 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:23:26.615 [INFO] [Dummy-23261] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:23:26.634 [INFO] [Dummy-23256] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:23:43.516 [INFO] [Dummy-23262] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:23:43.757 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:23:51.637 [INFO] [Dummy-23263] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:23:51.652 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:23:57.383 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 79 of 300 done. Exposure state = 0
2025-12-22T00:23:57.384 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:23:57.407 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:23:57.635 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 80 of 300
2025-12-22T00:23:57.639 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355837.639266
2025-12-22T00:23:57.640 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.11865865', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.72101574', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3463', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8808', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.1', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2343.992777283132', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.908', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.908', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.513411', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='65.56115', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:23:33', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.74', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.5', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='18.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.04', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:23:34', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:24:08.760 [INFO] [Dummy-23265] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:24:08.997 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:24:16.653 [INFO] [Dummy-23266] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:24:16.677 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:24:33.999 [INFO] [Dummy-23267] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:24:34.238 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:24:41.679 [INFO] [Dummy-23268] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:24:41.696 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:24:58.072 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 80 of 300 done. Exposure state = 0
2025-12-22T00:24:58.072 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:24:58.096 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:24:58.360 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 81 of 300
2025-12-22T00:24:58.363 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355898.3635912
2025-12-22T00:24:58.364 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.10856728', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.70333309', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3463', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8808', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.1', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.017229523465', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.849', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.849', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.430915', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='65.348335', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:24:05', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.77', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.22', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.83', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.21', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:24:06', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:24:59.240 [INFO] [Dummy-23269] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:24:59.479 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:25:06.698 [INFO] [Dummy-23270] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:25:06.714 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:25:24.481 [INFO] [Dummy-23271] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:25:24.725 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:25:31.716 [INFO] [Dummy-23272] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:25:31.732 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:25:49.728 [INFO] [Dummy-23273] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:25:49.965 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:25:56.734 [INFO] [Dummy-23274] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:25:56.750 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:25:58.775 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 81 of 300 done. Exposure state = 0
2025-12-22T00:25:58.775 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:25:58.782 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:25:58.975 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 82 of 300
2025-12-22T00:25:58.978 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766355958.978352
2025-12-22T00:25:58.979 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.05566015', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.9857813', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8808', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.1', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.049832510578', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.791', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.791', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.348799', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='65.136679', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:25:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.88', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.55', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.8', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.14', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:25:10', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:26:14.967 [INFO] [Dummy-23275] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:26:15.205 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:26:21.752 [INFO] [Dummy-23276] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:26:21.769 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:26:40.209 [INFO] [Dummy-23277] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:26:40.449 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:26:46.771 [INFO] [Dummy-23278] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:26:46.789 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:26:59.441 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 82 of 300 done. Exposure state = 0
2025-12-22T00:26:59.442 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:26:59.464 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:26:59.701 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 83 of 300
2025-12-22T00:26:59.705 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356019.705151
2025-12-22T00:26:59.706 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.02174494', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.7348558', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8808', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.1', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.0956804612033', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.731', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.731', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.266262', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='64.922695', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:26:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.82', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.21', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.85', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.36', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:26:14', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:26:59.829 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:26:59.830 [INFO] [Dummy-23254] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:26:59.972 [INFO] [Dummy-23279] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:26:59.972 [INFO] [Dummy-23279] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:26:59.972 [INFO] [Dummy-23279] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:27:05.451 [INFO] [Dummy-23280] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:27:05.688 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:27:11.791 [INFO] [Dummy-23281] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:27:11.807 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:27:30.690 [INFO] [Dummy-23282] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:27:30.926 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:27:36.809 [INFO] [Dummy-23283] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:27:36.827 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:27:55.929 [INFO] [Dummy-23284] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:27:56.160 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:28:00.172 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 83 of 300 done. Exposure state = 0
2025-12-22T00:28:00.179 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:28:00.185 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:28:00.311 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:28:00.312 [INFO] [Dummy-23248] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:28:00.455 [INFO] [Dummy-23285] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:28:00.455 [INFO] [Dummy-23285] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:28:00.455 [INFO] [Dummy-23285] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:28:00.540 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 84 of 300
2025-12-22T00:28:00.542 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356080.5428343
2025-12-22T00:28:00.543 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.04543164', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.25893239', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.346', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8806', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.11', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.109944268066', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.672', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.672', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.184625', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='64.710352', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:27:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.95', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.82', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.85', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.25', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:27:18', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:28:01.829 [INFO] [Dummy-23286] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:28:01.843 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:28:21.162 [INFO] [Dummy-23287] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:28:21.403 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:28:26.845 [INFO] [Dummy-23288] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:28:26.861 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:28:46.405 [INFO] [Dummy-23289] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:28:46.642 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:28:51.863 [INFO] [Dummy-23290] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:28:51.880 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:29:00.952 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 84 of 300 done. Exposure state = 0
2025-12-22T00:29:00.952 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:29:00.959 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:29:01.156 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 85 of 300
2025-12-22T00:29:01.159 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356141.1598883
2025-12-22T00:29:01.161 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.05417656', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.76623696', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8808', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.11', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.150698001956', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.613', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.613', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.103375', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='64.500411', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:27:50', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.95', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.26', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.86', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.44', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:27:50', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:29:11.644 [INFO] [Dummy-23291] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:29:11.886 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:29:16.881 [INFO] [Dummy-23292] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:29:16.898 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:29:36.887 [INFO] [Dummy-23293] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:29:37.124 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:29:41.900 [INFO] [Dummy-23294] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:29:41.916 [INFO] [Dummy-23264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:30:01.676 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 85 of 300 done. Exposure state = 0
2025-12-22T00:30:01.677 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:30:01.683 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:30:01.883 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 86 of 300
2025-12-22T00:30:01.886 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356201.8860168
2025-12-22T00:30:01.886 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.05293073', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.91311147', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.11', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.1710748689006', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='265.4', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.553', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.553', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='263.021359', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='64.285886', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:27:50', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.95', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.26', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.86', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.44', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:27:50', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:30:02.126 [INFO] [Dummy-23295] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:30:02.369 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:30:06.919 [INFO] [Dummy-23296] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:30:06.936 [INFO] [Dummy-23297] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:30:27.371 [INFO] [Dummy-23298] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:30:27.609 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:30:31.939 [INFO] [Dummy-23299] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:30:31.955 [INFO] [Dummy-23300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:30:52.611 [INFO] [Dummy-23301] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:30:52.853 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:30:56.957 [INFO] [Dummy-23302] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:30:56.975 [INFO] [Dummy-23300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:31:02.299 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 86 of 300 done. Exposure state = 0
2025-12-22T00:31:02.300 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:31:02.325 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:31:02.574 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 87 of 300
2025-12-22T00:31:02.577 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356262.5774984
2025-12-22T00:31:02.578 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.06849455', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.28340779', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3461', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8806', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.11', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.2230358796114', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.492', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.492', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.938877', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='64.071956', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:27:50', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='71.95', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.26', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.86', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.44', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:27:50', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:31:02.663 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:31:02.663 [INFO] [Dummy-23254] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:31:02.807 [INFO] [Dummy-23303] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:31:02.807 [INFO] [Dummy-23303] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:31:02.807 [INFO] [Dummy-23303] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:31:17.855 [INFO] [Dummy-23304] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:31:18.092 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:31:21.977 [INFO] [Dummy-23305] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:31:21.996 [INFO] [Dummy-23300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:31:43.092 [INFO] [Dummy-23306] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:31:43.324 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:31:46.998 [INFO] [Dummy-23307] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:31:47.014 [INFO] [Dummy-23300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:32:03.001 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:32:03.002 [INFO] [Dummy-23254] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:32:03.141 [INFO] [Dummy-23308] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:32:03.141 [INFO] [Dummy-23308] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:32:03.141 [INFO] [Dummy-23308] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:32:03.186 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 87 of 300 done. Exposure state = 0
2025-12-22T00:32:03.186 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:32:03.188 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:32:03.414 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 88 of 300
2025-12-22T00:32:03.418 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356323.418138
2025-12-22T00:32:03.419 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.99787375', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.25682459', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3458', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8806', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.11', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.270921516934', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.432', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.432', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.857558', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='63.860122', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:31:03', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='72.05', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.8', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.37', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:31:35', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:32:08.327 [INFO] [Dummy-23309] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:32:08.558 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:32:12.017 [INFO] [Dummy-23310] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:32:12.034 [INFO] [Dummy-23300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:32:33.561 [INFO] [Dummy-23311] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:32:33.799 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:32:37.036 [INFO] [Dummy-23312] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:32:37.052 [INFO] [Dummy-23313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:32:58.801 [INFO] [Dummy-23314] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:32:59.032 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:33:02.054 [INFO] [Dummy-23315] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:33:02.071 [INFO] [Dummy-23316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:33:03.886 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 88 of 300 done. Exposure state = 0
2025-12-22T00:33:03.887 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:33:03.893 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:33:04.104 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 89 of 300
2025-12-22T00:33:04.108 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356384.1082237
2025-12-22T00:33:04.109 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.02152635', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.60450958', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8804', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.12', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.304543347391', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.372', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.372', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.777004', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='63.649012', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:32:39', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='72.58', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.63', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.81', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.28', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:32:39', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:33:24.034 [INFO] [Dummy-23317] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:33:24.271 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:33:27.073 [INFO] [Dummy-23318] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:33:27.090 [INFO] [Dummy-23316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:33:49.273 [INFO] [Dummy-23319] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:33:49.510 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:33:52.092 [INFO] [Dummy-23320] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:33:52.109 [INFO] [Dummy-23316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:34:04.626 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 89 of 300 done. Exposure state = 0
2025-12-22T00:34:04.626 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:34:04.633 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:34:04.752 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:34:04.753 [INFO] [Dummy-23248] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:34:04.895 [INFO] [Dummy-23321] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:34:04.896 [INFO] [Dummy-23321] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:34:04.896 [INFO] [Dummy-23321] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:34:04.982 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 90 of 300
2025-12-22T00:34:04.985 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356444.985029
2025-12-22T00:34:04.986 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.99563688', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.86811091', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3458', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.12', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.3391840211984', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.311', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.311', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.694433', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='63.433925', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:33:43', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='72.62', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.87', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.8', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.83', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:33:44', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:34:14.512 [INFO] [Dummy-23322] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:34:14.749 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:34:17.111 [INFO] [Dummy-23323] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:34:17.127 [INFO] [Dummy-23316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:34:39.752 [INFO] [Dummy-23324] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:34:39.999 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:34:42.130 [INFO] [Dummy-23325] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:34:42.146 [INFO] [Dummy-23316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:35:05.001 [INFO] [Dummy-23326] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:35:05.240 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:35:05.396 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 90 of 300 done. Exposure state = 0
2025-12-22T00:35:05.396 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:35:05.423 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:35:05.672 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 91 of 300
2025-12-22T00:35:05.675 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356505.6756055
2025-12-22T00:35:05.676 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.02058334', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.31730957', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8806', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.12', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.3758623817', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.25', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.25', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.612554', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='63.220724', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:34:47', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='72.72', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.27', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.86', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.51', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:34:48', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:35:05.800 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:35:05.800 [INFO] [Dummy-23254] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:35:05.950 [INFO] [Dummy-23327] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:35:05.950 [INFO] [Dummy-23327] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:35:05.950 [INFO] [Dummy-23327] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:35:07.148 [INFO] [Dummy-23328] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:35:07.166 [INFO] [Dummy-23316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:35:30.241 [INFO] [Dummy-23329] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:35:30.473 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:35:32.168 [INFO] [Dummy-23330] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:35:32.184 [INFO] [Dummy-23316] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:35:55.475 [INFO] [Dummy-23331] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:35:55.711 [INFO] [Dummy-23254] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:35:57.186 [INFO] [Dummy-23332] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:35:57.202 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:36:06.159 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 91 of 300 done. Exposure state = 0
2025-12-22T00:36:06.160 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:36:06.182 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:36:06.550 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 92 of 300
2025-12-22T00:36:06.554 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356566.55417
2025-12-22T00:36:06.555 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.96433274', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.07788435', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8806', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.12', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.4217103323276', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.188', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.188', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.531413', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='63.008113', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:35:52', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='72.8', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='30.08', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.88', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.2', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:35:52', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:36:06.645 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:36:06.646 [INFO] [Dummy-23248] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:36:06.786 [INFO] [Dummy-23334] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:36:06.786 [INFO] [Dummy-23334] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:36:06.787 [INFO] [Dummy-23334] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:36:20.713 [INFO] [Dummy-23335] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:36:20.950 [INFO] [Dummy-23336] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:36:22.204 [INFO] [Dummy-23337] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:36:22.223 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:36:45.953 [INFO] [Dummy-23338] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:36:46.190 [INFO] [Dummy-23336] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:36:47.225 [INFO] [Dummy-23339] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:36:47.242 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:37:07.075 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 92 of 300 done. Exposure state = 0
2025-12-22T00:37:07.075 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:37:07.082 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:37:07.465 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 93 of 300
2025-12-22T00:37:07.469 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356627.4691563
2025-12-22T00:37:07.470 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.99139146', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.27142736', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3458', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8806', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.12', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.4573698494823', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.127', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.127', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.450051', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='62.795438', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:36:24', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='72.85', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.99', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.9', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.5', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:36:24', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:37:07.630 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:37:07.630 [INFO] [Dummy-23248] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:37:07.771 [INFO] [Dummy-23340] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:37:07.771 [INFO] [Dummy-23340] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:37:07.771 [INFO] [Dummy-23340] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:37:11.192 [INFO] [Dummy-23341] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:37:11.429 [INFO] [Dummy-23342] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:37:12.243 [INFO] [Dummy-23343] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:37:12.260 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:37:36.431 [INFO] [Dummy-23344] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:37:36.664 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:37:37.262 [INFO] [Dummy-23345] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:37:37.280 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:38:01.665 [INFO] [Dummy-23346] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:38:01.912 [INFO] [Dummy-23342] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:38:02.282 [INFO] [Dummy-23347] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:38:02.299 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:38:07.992 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 93 of 300 done. Exposure state = 0
2025-12-22T00:38:07.993 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:38:07.994 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:38:08.228 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 94 of 300
2025-12-22T00:38:08.230 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356688.2306838
2025-12-22T00:38:08.230 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.01256177', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.82438171', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.13', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.519519293664', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.066', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.066', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.369949', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='62.584848', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:37:28', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='72.73', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.37', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.81', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.21', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:37:28', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:38:26.915 [INFO] [Dummy-23348] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:38:27.154 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:38:27.301 [INFO] [Dummy-23349] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:38:27.319 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:38:52.157 [INFO] [Dummy-23350] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:38:52.321 [INFO] [Dummy-23351] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:38:52.337 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:38:52.396 [INFO] [Dummy-23342] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:39:08.646 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 94 of 300 done. Exposure state = 0
2025-12-22T00:39:08.646 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:39:08.652 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:39:08.958 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 95 of 300
2025-12-22T00:39:08.962 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356748.9619937
2025-12-22T00:39:08.963 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.05183248', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.82314966', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.346', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.13', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.546009220694', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='260.004', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='260.004', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.289257', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='62.373256', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:38:32', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='72.97', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.84', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.81', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.27', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:38:32', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:39:17.340 [INFO] [Dummy-23352] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:39:17.356 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:39:17.398 [INFO] [Dummy-23353] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:39:17.641 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:39:42.358 [INFO] [Dummy-23354] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:39:42.374 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:39:42.642 [INFO] [Dummy-23355] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:39:42.879 [INFO] [Dummy-23342] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:40:07.376 [INFO] [Dummy-23356] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:40:07.392 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:40:07.881 [INFO] [Dummy-23357] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:40:08.122 [INFO] [Dummy-23248] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:40:09.478 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 95 of 300 done. Exposure state = 0
2025-12-22T00:40:09.479 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:40:09.486 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:40:09.686 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 96 of 300
2025-12-22T00:40:09.689 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356809.6898074
2025-12-22T00:40:09.691 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.02418407', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:50.30639706', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8806', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.13', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.5847252678896', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.942', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.942', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.207377', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='62.159155', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:39:36', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='73.0', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.28', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.73', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.28', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:39:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:40:32.395 [INFO] [Dummy-23358] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:40:32.412 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:40:33.123 [INFO] [Dummy-23359] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:40:33.356 [INFO] [Dummy-23342] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:40:57.415 [INFO] [Dummy-23360] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:40:57.431 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:40:58.358 [INFO] [Dummy-23361] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:40:58.594 [INFO] [Dummy-23342] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:41:10.156 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 96 of 300 done. Exposure state = 0
2025-12-22T00:41:10.156 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:41:10.164 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:41:10.376 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 97 of 300
2025-12-22T00:41:10.379 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356870.379648
2025-12-22T00:41:10.380 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.00463696', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.83183004', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.13', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.6030644481407', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.879', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.879', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.126779', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='61.946742', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:40:40', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='73.58', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.39', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.76', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.47', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:40:41', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:41:22.434 [INFO] [Dummy-23362] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:41:22.451 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:41:23.597 [INFO] [Dummy-23363] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:41:23.846 [INFO] [Dummy-23364] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:41:47.453 [INFO] [Dummy-23365] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:41:47.468 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:41:48.848 [INFO] [Dummy-23366] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:41:49.089 [INFO] [Dummy-23367] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:42:10.839 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 97 of 300 done. Exposure state = 0
2025-12-22T00:42:10.840 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:42:10.846 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:42:10.953 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 98 of 300
2025-12-22T00:42:10.956 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356930.9564142
2025-12-22T00:42:10.957 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:23.02337092', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.82764244', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3459', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.14', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.663176205628', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.816', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.817', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='262.045547', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='61.733268', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:41:44', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='73.73', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.66', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.73', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.03', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:41:45', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:42:11.026 [INFO] [Dummy-23367] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:42:11.026 [INFO] [Dummy-23367] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:42:11.174 [INFO] [Dummy-23368] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:42:11.174 [INFO] [Dummy-23368] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:42:11.174 [INFO] [Dummy-23368] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:42:12.470 [INFO] [Dummy-23369] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:42:12.486 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:42:14.091 [INFO] [Dummy-23370] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:42:14.330 [INFO] [Dummy-23364] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:42:37.488 [INFO] [Dummy-23371] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:42:37.504 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:42:39.332 [INFO] [Dummy-23372] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:42:39.625 [INFO] [Dummy-23367] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:43:02.506 [INFO] [Dummy-23373] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:43:02.522 [INFO] [Dummy-23333] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:43:04.627 [INFO] [Dummy-23374] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:43:04.872 [INFO] [Dummy-23364] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:43:11.474 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 98 of 300 done. Exposure state = 0
2025-12-22T00:43:11.475 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:43:11.481 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:43:11.606 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 99 of 300
2025-12-22T00:43:11.609 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766356991.609604
2025-12-22T00:43:11.610 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.96389518', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.67831467', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.14', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.693741506047', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.755', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.755', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.966176', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='61.524329', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:42:48', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='73.83', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.36', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.71', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.09', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:42:49', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:43:27.524 [INFO] [Dummy-23375] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:43:27.540 [INFO] [Dummy-23376] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:43:29.873 [INFO] [Dummy-23377] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:43:30.120 [INFO] [Dummy-23367] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:43:52.542 [INFO] [Dummy-23378] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:43:52.558 [INFO] [Dummy-23376] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:43:55.122 [INFO] [Dummy-23379] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:43:55.366 [INFO] [Dummy-23364] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:44:12.024 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 99 of 300 done. Exposure state = 0
2025-12-22T00:44:12.024 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:44:12.031 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:44:12.146 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 100 of 300
2025-12-22T00:44:12.149 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357052.1495578
2025-12-22T00:44:12.150 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.9343848', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.84843348', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3456', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.14', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.71819374638', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.692', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.692', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.885254', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='61.311681', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:43:21', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='73.85', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.23', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.7', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:43:21', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:44:17.560 [INFO] [Dummy-23380] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:44:17.577 [INFO] [Dummy-23376] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:44:20.368 [INFO] [Dummy-23381] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:44:20.605 [INFO] [Dummy-23367] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:44:42.579 [INFO] [Dummy-23382] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:44:42.596 [INFO] [Dummy-23383] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:44:45.607 [INFO] [Dummy-23384] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:44:45.844 [INFO] [Dummy-23364] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:45:07.598 [INFO] [Dummy-23385] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:45:07.615 [INFO] [Dummy-23383] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:45:10.846 [INFO] [Dummy-23386] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:45:11.322 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:45:12.590 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 100 of 300 done. Exposure state = 0
2025-12-22T00:45:12.590 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:45:12.598 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:45:12.647 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:45:12.648 [INFO] [Dummy-23387] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:45:12.790 [INFO] [Dummy-23388] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:45:12.790 [INFO] [Dummy-23388] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:45:12.790 [INFO] [Dummy-23388] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:45:12.911 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 101 of 300
2025-12-22T00:45:12.913 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357112.913483
2025-12-22T00:45:12.914 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.96309248', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.25355748', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8803', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.14', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.7620040103116', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.628', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.628', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.804663', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='61.098619', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:44:25', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='73.98', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.44', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.71', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.01', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:44:25', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:45:32.617 [INFO] [Dummy-23389] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:45:32.633 [INFO] [Dummy-23383] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:45:36.323 [INFO] [Dummy-23390] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:45:36.566 [INFO] [Dummy-23391] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:45:57.635 [INFO] [Dummy-23392] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:45:57.652 [INFO] [Dummy-23383] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:46:01.569 [INFO] [Dummy-23393] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:46:01.808 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:46:13.333 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 101 of 300 done. Exposure state = 0
2025-12-22T00:46:13.333 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:46:13.341 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:46:13.451 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 102 of 300
2025-12-22T00:46:13.454 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357173.454359
2025-12-22T00:46:13.455 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.93501974', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.40563194', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3456', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8804', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.14', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.8068331175923', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.566', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.566', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.724931', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='60.888861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:45:29', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='73.93', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.8', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.65', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.03', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:45:29', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:46:22.655 [INFO] [Dummy-23394] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:46:22.675 [INFO] [Dummy-23383] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:46:26.811 [INFO] [Dummy-23395] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:46:27.055 [INFO] [Dummy-23391] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:46:47.706 [INFO] [Dummy-23396] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:46:47.723 [INFO] [Dummy-23397] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:46:52.056 [INFO] [Dummy-23398] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:46:52.291 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:47:12.725 [INFO] [Dummy-23399] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:47:12.744 [INFO] [Dummy-23397] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:47:13.886 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 102 of 300 done. Exposure state = 0
2025-12-22T00:47:13.895 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:47:13.902 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:47:14.028 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 103 of 300
2025-12-22T00:47:14.032 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357234.0321984
2025-12-22T00:47:14.033 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.93824696', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.32633398', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3456', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8804', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.15', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.8424926347466', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.502', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.502', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.643979', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='60.675445', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:46:33', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='73.93', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='29.89', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.33', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:46:33', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:47:17.294 [INFO] [Dummy-23400] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:47:17.530 [INFO] [Dummy-23391] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:47:37.746 [INFO] [Dummy-23401] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:47:37.762 [INFO] [Dummy-23402] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:47:42.532 [INFO] [Dummy-23403] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:47:42.769 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:48:02.764 [INFO] [Dummy-23404] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:48:02.779 [INFO] [Dummy-23402] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:48:07.771 [INFO] [Dummy-23405] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:48:08.007 [INFO] [Dummy-23391] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:48:14.498 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 103 of 300 done. Exposure state = 0
2025-12-22T00:48:14.498 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:48:14.520 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:48:14.643 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 104 of 300
2025-12-22T00:48:14.647 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357294.6473186
2025-12-22T00:48:14.648 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.95275917', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.84785701', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3456', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8805', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.15', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.8924159587605', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.438', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.438', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.563065', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='60.462952', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:47:37', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='74.06', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.04', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.7', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.19', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:47:38', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:48:27.781 [INFO] [Dummy-23406] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:48:27.797 [INFO] [Dummy-23402] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:48:33.009 [INFO] [Dummy-23407] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:48:33.247 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:48:52.800 [INFO] [Dummy-23409] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:48:52.816 [INFO] [Dummy-23410] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:48:58.248 [INFO] [Dummy-23411] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:48:58.479 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:49:15.069 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:49:15.070 [INFO] [Dummy-23387] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:49:15.211 [INFO] [Dummy-23412] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:49:15.212 [INFO] [Dummy-23412] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:49:15.260 [INFO] [Dummy-23412] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:49:15.311 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 104 of 300 done. Exposure state = 0
2025-12-22T00:49:15.311 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:49:15.313 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:49:15.409 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 105 of 300
2025-12-22T00:49:15.413 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357355.4130998
2025-12-22T00:49:15.414 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.9641963', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.37231792', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8804', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.15', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.9362262226946', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.375', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.375', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.48348', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='60.252373', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:48:41', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='74.66', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.04', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.7', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.24', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:48:42', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:49:17.818 [INFO] [Dummy-23413] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:49:17.834 [INFO] [Dummy-23410] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:49:23.482 [INFO] [Dummy-23414] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:49:23.719 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:49:42.836 [INFO] [Dummy-23415] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:49:42.852 [INFO] [Dummy-23410] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:49:48.721 [INFO] [Dummy-23416] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:49:48.969 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:50:07.854 [INFO] [Dummy-23417] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:50:07.873 [INFO] [Dummy-23410] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:50:13.971 [INFO] [Dummy-23418] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:50:14.203 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:50:15.839 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 105 of 300 done. Exposure state = 0
2025-12-22T00:50:15.840 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:50:15.864 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:50:15.987 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 106 of 300
2025-12-22T00:50:15.990 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357415.990195
2025-12-22T00:50:15.991 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.98717358', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.95401438', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3458', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8803', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.15', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2344.967810366458', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.31', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.31', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.403046', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='60.039585', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:49:13', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='74.6', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.08', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.65', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.1', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:49:14', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:50:32.875 [INFO] [Dummy-23419] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:50:32.892 [INFO] [Dummy-23420] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:50:39.203 [INFO] [Dummy-23421] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:50:39.441 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:50:57.895 [INFO] [Dummy-23422] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:50:57.911 [INFO] [Dummy-23423] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:51:04.443 [INFO] [Dummy-23424] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:51:04.676 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:51:16.497 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 106 of 300 done. Exposure state = 0
2025-12-22T00:51:16.497 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:51:16.504 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:51:16.640 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 107 of 300
2025-12-22T00:51:16.643 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357476.6435986
2025-12-22T00:51:16.644 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.93033538', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:49.40217905', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3455', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8804', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.16', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.0136583170856', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.247', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.247', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.323456', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='59.83025', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:50:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='74.71', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.13', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.61', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:50:50', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:51:22.913 [INFO] [Dummy-23425] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:51:22.930 [INFO] [Dummy-23426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:51:29.678 [INFO] [Dummy-23427] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:51:29.911 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:51:47.932 [INFO] [Dummy-23428] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:51:47.950 [INFO] [Dummy-23426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:51:54.913 [INFO] [Dummy-23429] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:51:55.153 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:52:12.953 [INFO] [Dummy-23430] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:52:12.969 [INFO] [Dummy-23426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:52:17.069 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 107 of 300 done. Exposure state = 0
2025-12-22T00:52:17.069 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:52:17.095 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:52:17.216 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 108 of 300
2025-12-22T00:52:17.220 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357537.220253
2025-12-22T00:52:17.221 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.96699014', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.91504925', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3457', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8803', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.16', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.0391294007663', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.182', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.182', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.242736', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='59.616496', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:51:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.16', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='27.53', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.6', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.29', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:51:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:52:20.155 [INFO] [Dummy-23431] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:52:20.405 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:52:37.971 [INFO] [Dummy-23432] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:52:37.989 [INFO] [Dummy-23426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:52:45.407 [INFO] [Dummy-23433] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:52:45.637 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:53:02.991 [INFO] [Dummy-23434] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:53:03.005 [INFO] [Dummy-23426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:53:10.639 [INFO] [Dummy-23435] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:53:10.877 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:53:17.708 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 108 of 300 done. Exposure state = 0
2025-12-22T00:53:17.708 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:53:17.735 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:53:17.869 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 109 of 300
2025-12-22T00:53:17.872 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357597.872759
2025-12-22T00:53:17.874 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.91511374', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.93827588', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3455', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8803', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.16', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.09007156813', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.118', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.118', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.162564', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='59.404893', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:52:58', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.2', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.01', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.6', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.07', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:52:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:53:18.003 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:53:18.004 [INFO] [Dummy-23387] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:53:18.175 [INFO] [Dummy-23436] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:53:18.176 [INFO] [Dummy-23436] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:53:18.176 [INFO] [Dummy-23436] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:53:28.007 [INFO] [Dummy-23437] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:53:28.025 [INFO] [Dummy-23438] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:53:35.880 [INFO] [Dummy-23439] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:53:36.118 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:53:53.028 [INFO] [Dummy-23440] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:53:53.044 [INFO] [Dummy-23438] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:54:01.120 [INFO] [Dummy-23441] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:54:01.353 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:54:18.046 [INFO] [Dummy-23442] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:54:18.061 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:54:18.384 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 109 of 300 done. Exposure state = 0
2025-12-22T00:54:18.384 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:54:18.392 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:54:18.521 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 110 of 300
2025-12-22T00:54:18.525 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357658.5255568
2025-12-22T00:54:18.526 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.87763817', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.90705295', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8803', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.16', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.113504965116', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='259.053', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='259.053', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.082606', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='59.193745', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:54:02', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.77', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.59', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.92', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:54:04', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:54:18.554 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:54:18.554 [INFO] [Dummy-23387] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:54:18.699 [INFO] [Dummy-23444] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:54:18.699 [INFO] [Dummy-23444] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:54:18.699 [INFO] [Dummy-23444] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:54:26.355 [INFO] [Dummy-23445] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:54:26.588 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:54:43.063 [INFO] [Dummy-23446] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:54:43.079 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:54:51.591 [INFO] [Dummy-23447] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:54:51.834 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:55:08.080 [INFO] [Dummy-23448] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:55:08.096 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:55:16.836 [INFO] [Dummy-23449] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:55:17.079 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:55:19.014 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 110 of 300 done. Exposure state = 0
2025-12-22T00:55:19.014 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:55:19.041 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:55:19.174 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 111 of 300
2025-12-22T00:55:19.177 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357719.177709
2025-12-22T00:55:19.178 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.87546116', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.82792453', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8802', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.17', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.1522210123117', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.988', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.988', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='261.002497', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='58.982099', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:55:08', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.25', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='27.0', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.57', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.11', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:55:09', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:55:33.098 [INFO] [Dummy-23450] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:55:33.114 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:55:42.081 [INFO] [Dummy-23451] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:55:42.322 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:55:58.115 [INFO] [Dummy-23452] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:55:58.130 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:56:07.324 [INFO] [Dummy-23453] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:56:07.562 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:56:19.655 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 111 of 300 done. Exposure state = 0
2025-12-22T00:56:19.655 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:56:19.662 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:56:19.788 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 112 of 300
2025-12-22T00:56:19.791 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357779.7916179
2025-12-22T00:56:19.792 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.89816866', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.87761004', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3454', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8802', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.17', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.190937059507', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.923', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.923', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.922484', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='58.770871', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:55:41', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.26', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='28.99', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.54', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.07', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:55:41', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:56:19.867 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:56:19.868 [INFO] [Dummy-23408] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:56:20.013 [INFO] [Dummy-23454] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:56:20.013 [INFO] [Dummy-23454] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:56:20.013 [INFO] [Dummy-23454] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:56:23.131 [INFO] [Dummy-23455] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:56:23.148 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:56:32.564 [INFO] [Dummy-23456] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:56:32.803 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:56:48.149 [INFO] [Dummy-23457] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:56:48.168 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:56:57.805 [INFO] [Dummy-23458] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:56:58.043 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:57:13.169 [INFO] [Dummy-23459] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:57:13.186 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:57:20.281 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 112 of 300 done. Exposure state = 0
2025-12-22T00:57:20.281 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:57:20.306 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:57:20.441 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 113 of 300
2025-12-22T00:57:20.444 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357840.444723
2025-12-22T00:57:20.446 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.83621969', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.98034938', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8803', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.17', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.225577733315', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.858', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.858', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.842277', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='58.559187', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:56:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.71', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.54', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.07', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:56:46', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:57:23.044 [INFO] [Dummy-23460] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:57:23.320 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:57:38.188 [INFO] [Dummy-23461] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:57:38.204 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:57:48.323 [INFO] [Dummy-23462] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:57:48.553 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:58:03.206 [INFO] [Dummy-23463] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:58:03.222 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:58:13.556 [INFO] [Dummy-23464] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:58:13.787 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:58:20.870 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 113 of 300 done. Exposure state = 0
2025-12-22T00:58:20.870 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:58:20.877 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:58:21.018 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 114 of 300
2025-12-22T00:58:21.022 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357901.022076
2025-12-22T00:58:21.023 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.87293223', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.79200537', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3453', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8802', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.17', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.273463370637', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.793', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.793', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.762708', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='58.348768', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:57:50', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.66', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.04', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.53', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.98', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:57:50', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:58:21.035 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:58:21.035 [INFO] [Dummy-23387] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:58:21.179 [INFO] [Dummy-23465] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:58:21.180 [INFO] [Dummy-23465] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:58:21.180 [INFO] [Dummy-23465] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:58:28.224 [INFO] [Dummy-23466] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:58:28.240 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:58:38.789 [INFO] [Dummy-23467] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:58:39.026 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:58:53.243 [INFO] [Dummy-23468] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:58:53.259 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:59:04.029 [INFO] [Dummy-23469] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:59:04.270 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:59:18.261 [INFO] [Dummy-23470] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:59:18.277 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:59:21.438 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 114 of 300 done. Exposure state = 0
2025-12-22T00:59:21.439 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T00:59:21.465 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T00:59:21.633 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 115 of 300
2025-12-22T00:59:21.636 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766357961.636692
2025-12-22T00:59:21.637 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.84404356', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.45092589', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8801', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.18', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.315235947874', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.727', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.727', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.682902', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='58.137508', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:58:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.36', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.52', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.96', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T00:58:55', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T00:59:21.796 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T00:59:21.797 [INFO] [Dummy-23387] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:59:21.939 [INFO] [Dummy-23471] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T00:59:21.940 [INFO] [Dummy-23471] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T00:59:21.940 [INFO] [Dummy-23471] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T00:59:29.272 [INFO] [Dummy-23472] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:59:29.507 [INFO] [Dummy-23408] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T00:59:43.279 [INFO] [Dummy-23473] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T00:59:43.295 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T00:59:54.509 [INFO] [Dummy-23474] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T00:59:54.745 [INFO] [Dummy-23387] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:00:08.297 [INFO] [Dummy-23475] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:00:08.313 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:00:19.747 [INFO] [Dummy-23476] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:00:19.987 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:00:22.223 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 115 of 300 done. Exposure state = 0
2025-12-22T01:00:22.223 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:00:22.230 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:00:22.354 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:00:22.355 [INFO] [Dummy-23477] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:00:22.361 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 116 of 300
2025-12-22T01:00:22.512 [INFO] [Dummy-23478] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:00:22.512 [INFO] [Dummy-23478] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:00:22.513 [INFO] [Dummy-23478] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:00:22.554 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358022.5547423
2025-12-22T01:00:22.555 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.82450689', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.0303563', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3451', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.88', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.18', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.3641404285436', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.661', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.661', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.603042', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='57.926006', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T00:59:26', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.38', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.08', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.52', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.2', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:00:00', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:00:33.315 [INFO] [Dummy-23479] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:00:33.332 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:00:44.989 [INFO] [Dummy-23480] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:00:45.225 [INFO] [Dummy-23481] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:00:58.334 [INFO] [Dummy-23482] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:00:58.351 [INFO] [Dummy-23443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:01:10.227 [INFO] [Dummy-23483] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:01:10.459 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:01:22.976 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 116 of 300 done. Exposure state = 0
2025-12-22T01:01:22.976 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:01:22.984 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:01:23.126 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 117 of 300
2025-12-22T01:01:23.129 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358083.1294894
2025-12-22T01:01:23.130 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.81414365', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.46986319', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3451', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8801', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.18', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.391649198918', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.596', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.596', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.523172', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='57.7157', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:01:05', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.76', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.51', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.51', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.2', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:01:05', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:01:23.353 [INFO] [Dummy-23484] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:01:23.369 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:01:35.461 [INFO] [Dummy-23486] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:01:35.697 [INFO] [Dummy-23481] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:01:48.371 [INFO] [Dummy-23487] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:01:48.386 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:02:00.699 [INFO] [Dummy-23488] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:02:00.938 [INFO] [Dummy-23481] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:02:13.387 [INFO] [Dummy-23489] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:02:13.403 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:02:23.588 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 117 of 300 done. Exposure state = 0
2025-12-22T01:02:23.588 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:02:23.595 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:02:23.739 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 118 of 300
2025-12-22T01:02:23.742 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358143.742405
2025-12-22T01:02:23.743 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.82171722', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.50922395', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3451', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8801', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.18', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.443610209629', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.53', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.53', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.443274', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='57.504777', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:01:37', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.76', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.54', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.44', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.07', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:01:37', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:02:25.941 [INFO] [Dummy-23490] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:02:26.176 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:02:38.405 [INFO] [Dummy-23491] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:02:38.423 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:02:51.178 [INFO] [Dummy-23492] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:02:51.415 [INFO] [Dummy-23481] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:03:03.424 [INFO] [Dummy-23493] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:03:03.441 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:03:16.417 [INFO] [Dummy-23494] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:03:16.655 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:03:24.204 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 118 of 300 done. Exposure state = 0
2025-12-22T01:03:24.204 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:03:24.227 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:03:24.353 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 119 of 300
2025-12-22T01:03:24.357 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358204.357218
2025-12-22T01:03:24.358 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.82594802', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.03031109', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3451', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.88', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.19', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.48028857013', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.463', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.463', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.36309', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='57.292406', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:02:41', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.86', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.89', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.49', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.97', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:02:41', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:03:24.486 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:03:24.486 [INFO] [Dummy-23477] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:03:24.671 [INFO] [Dummy-23495] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:03:24.672 [INFO] [Dummy-23495] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:03:24.672 [INFO] [Dummy-23495] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:03:28.443 [INFO] [Dummy-23496] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:03:28.460 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:03:41.657 [INFO] [Dummy-23497] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:03:41.926 [INFO] [Dummy-23481] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:03:53.462 [INFO] [Dummy-23498] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:03:53.479 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:04:06.928 [INFO] [Dummy-23499] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:04:07.166 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:04:18.481 [INFO] [Dummy-23500] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:04:18.496 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:04:24.956 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 119 of 300 done. Exposure state = 0
2025-12-22T01:04:24.957 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:04:24.964 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:04:25.118 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 120 of 300
2025-12-22T01:04:25.122 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358265.1221561
2025-12-22T01:04:25.123 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.80829352', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.02726511', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.345', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.88', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.19', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.509835027202', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.397', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.397', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.283722', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='57.082888', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:03:45', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.86', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.39', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.47', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.09', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:03:45', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:04:32.168 [INFO] [Dummy-23501] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:04:32.404 [INFO] [Dummy-23481] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:04:43.498 [INFO] [Dummy-23502] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:04:43.514 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:04:57.406 [INFO] [Dummy-23503] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:04:57.645 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:05:08.515 [INFO] [Dummy-23504] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:05:08.532 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:05:22.647 [INFO] [Dummy-23505] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:05:22.879 [INFO] [Dummy-23481] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:05:25.576 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 120 of 300 done. Exposure state = 0
2025-12-22T01:05:25.576 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:05:25.583 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:05:25.696 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 121 of 300
2025-12-22T01:05:25.699 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358325.6993246
2025-12-22T01:05:25.700 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.8150978', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:47.81466046', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3451', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8799', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.19', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.555682977827', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.33', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.33', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.203553', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='56.87101', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:04:49', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.86', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.41', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.47', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:04:50', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:05:25.782 [INFO] [Dummy-23477] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:05:25.782 [INFO] [Dummy-23477] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:05:25.925 [INFO] [Dummy-23506] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:05:25.925 [INFO] [Dummy-23506] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:05:25.926 [INFO] [Dummy-23506] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:05:33.534 [INFO] [Dummy-23507] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:05:33.551 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:05:47.882 [INFO] [Dummy-23508] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:05:48.198 [INFO] [Dummy-23481] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:05:58.553 [INFO] [Dummy-23509] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:05:58.569 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:06:13.200 [INFO] [Dummy-23510] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:06:13.435 [INFO] [Dummy-23511] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:06:23.572 [INFO] [Dummy-23512] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:06:23.590 [INFO] [Dummy-23485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:06:26.175 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 121 of 300 done. Exposure state = 0
2025-12-22T01:06:26.176 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:06:26.183 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:06:26.309 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 122 of 300
2025-12-22T01:06:26.313 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358386.3132331
2025-12-22T01:06:26.314 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.815401', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:47.5194632', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3451', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8799', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.2', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.586248278246', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.264', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.264', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.124087', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='56.660918', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:05:53', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.97', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='27.0', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='11.47', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.4', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:05:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:06:38.437 [INFO] [Dummy-23513] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:06:38.671 [INFO] [Dummy-23514] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:06:48.591 [INFO] [Dummy-23515] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:06:48.608 [INFO] [Dummy-23516] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:07:03.673 [INFO] [Dummy-23517] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:07:04.381 [INFO] [Dummy-23511] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:07:13.610 [INFO] [Dummy-23518] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:07:13.627 [INFO] [Dummy-23516] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:07:26.762 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 122 of 300 done. Exposure state = 0
2025-12-22T01:07:26.763 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:07:26.789 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:07:26.923 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 123 of 300
2025-12-22T01:07:26.926 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358446.9266381
2025-12-22T01:07:26.927 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.80496536', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:47.58458791', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.345', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8799', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.2', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.646360035734', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.197', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.197', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='260.043649', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='56.448809', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:06:57', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='75.94', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.9', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.4', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.98', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:06:58', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:07:29.383 [INFO] [Dummy-23519] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:07:29.627 [INFO] [Dummy-23520] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:07:38.629 [INFO] [Dummy-23521] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:07:38.646 [INFO] [Dummy-23516] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:07:54.629 [INFO] [Dummy-23522] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:07:54.860 [INFO] [Dummy-23523] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:08:03.647 [INFO] [Dummy-23524] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:08:03.664 [INFO] [Dummy-23525] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:08:19.862 [INFO] [Dummy-23526] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:08:20.091 [INFO] [Dummy-23527] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:08:27.448 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 123 of 300 done. Exposure state = 0
2025-12-22T01:08:27.448 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:08:27.471 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:08:27.686 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 124 of 300
2025-12-22T01:08:27.689 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358507.689899
2025-12-22T01:08:27.691 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.75496694', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:48.00373917', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.88', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.2', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.66979343272', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='262.2', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.13', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.13', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.963491', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='56.237966', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:07:30', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.09', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.0', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.42', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.98', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:07:30', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:08:27.820 [INFO] [Dummy-23527] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:08:27.821 [INFO] [Dummy-23527] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:08:27.963 [INFO] [Dummy-23528] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:08:27.964 [INFO] [Dummy-23528] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:08:27.964 [INFO] [Dummy-23528] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:08:28.666 [INFO] [Dummy-23529] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:08:28.683 [INFO] [Dummy-23530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:08:45.094 [INFO] [Dummy-23531] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:08:45.331 [INFO] [Dummy-23532] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:08:53.685 [INFO] [Dummy-23533] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:08:53.701 [INFO] [Dummy-23530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:09:10.333 [INFO] [Dummy-23534] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:09:10.571 [INFO] [Dummy-23527] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:09:18.703 [INFO] [Dummy-23535] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:09:18.721 [INFO] [Dummy-23530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:09:28.170 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 124 of 300 done. Exposure state = 0
2025-12-22T01:09:28.170 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:09:28.178 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:09:28.375 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 125 of 300
2025-12-22T01:09:28.379 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358568.379101
2025-12-22T01:09:28.380 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.77685572', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:47.54587143', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3449', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8799', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.2', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.7105471666123', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='258.063', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='258.063', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.884233', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='56.028383', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:08:34', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.01', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.19', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.38', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.94', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:08:34', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:09:35.574 [INFO] [Dummy-23536] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:09:35.810 [INFO] [Dummy-23537] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:09:43.722 [INFO] [Dummy-23538] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:09:43.737 [INFO] [Dummy-23530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:10:00.811 [INFO] [Dummy-23539] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:10:01.047 [INFO] [Dummy-23532] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:10:08.738 [INFO] [Dummy-23540] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:10:08.756 [INFO] [Dummy-23530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:10:26.048 [INFO] [Dummy-23541] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:10:26.287 [INFO] [Dummy-23537] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:10:28.842 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 125 of 300 done. Exposure state = 0
2025-12-22T01:10:28.842 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:10:28.849 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:10:29.064 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 126 of 300
2025-12-22T01:10:29.068 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358629.0679567
2025-12-22T01:10:29.069 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.75776496', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:47.56806947', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8799', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.21', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.762508177321', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.996', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.996', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.804347', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='55.817861', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:09:38', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.46', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.58', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.35', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.85', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:09:38', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:10:33.758 [INFO] [Dummy-23542] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:10:33.774 [INFO] [Dummy-23530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:10:51.290 [INFO] [Dummy-23543] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:10:51.525 [INFO] [Dummy-23532] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:10:58.775 [INFO] [Dummy-23544] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:10:58.792 [INFO] [Dummy-23530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:11:16.527 [INFO] [Dummy-23545] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:11:16.768 [INFO] [Dummy-23537] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:11:23.794 [INFO] [Dummy-23546] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:11:23.814 [INFO] [Dummy-23530] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:11:29.497 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 126 of 300 done. Exposure state = 0
2025-12-22T01:11:29.498 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:11:29.498 [WARNING] [start_exposure_worker] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff77f9c1540>>. Trying to reconnect
2025-12-22T01:11:29.499 [WARNING] [Dummy-23537] [client.py] [get_status()] Unable to get status: unexpected exception. Trying to reconnect
2025-12-22T01:11:29.639 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:11:29.761 [INFO] [Dummy-23537] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:11:29.761 [INFO] [Dummy-23537] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:11:29.901 [INFO] [Dummy-23547] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:11:29.901 [INFO] [Dummy-23547] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:11:29.901 [INFO] [Dummy-23547] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:11:29.944 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 127 of 300
2025-12-22T01:11:29.946 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358689.9461663
2025-12-22T01:11:29.946 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.78037918', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:47.13537793', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3449', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8798', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.21', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.7767719841827', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.928', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.928', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.724003', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='55.605608', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:10:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.61', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.84', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.32', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.82', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:10:42', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:11:41.770 [INFO] [Dummy-23548] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:11:42.005 [INFO] [Dummy-23532] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:11:48.816 [INFO] [Dummy-23549] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:11:48.832 [INFO] [Dummy-23550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:12:07.007 [INFO] [Dummy-23551] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:12:07.248 [INFO] [Dummy-23537] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:12:13.834 [INFO] [Dummy-23552] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:12:13.851 [INFO] [Dummy-23550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:12:30.366 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 127 of 300 done. Exposure state = 0
2025-12-22T01:12:30.366 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:12:30.373 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:12:30.556 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 128 of 300
2025-12-22T01:12:30.559 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358750.5598304
2025-12-22T01:12:30.561 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.7522243', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.86267259', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8797', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.21', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.815488031378', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.86', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.86', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.64469', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='55.396362', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:11:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.74', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.71', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.27', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.0', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:11:47', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:12:32.250 [INFO] [Dummy-23553] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:12:32.488 [INFO] [Dummy-23532] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:12:38.853 [INFO] [Dummy-23554] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:12:38.869 [INFO] [Dummy-23550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:12:57.491 [INFO] [Dummy-23555] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:12:57.734 [INFO] [Dummy-23537] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:13:03.872 [INFO] [Dummy-23556] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:13:03.887 [INFO] [Dummy-23550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:13:22.736 [INFO] [Dummy-23557] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:13:22.973 [INFO] [Dummy-23532] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:13:28.890 [INFO] [Dummy-23558] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:13:28.906 [INFO] [Dummy-23550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:13:30.985 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 128 of 300 done. Exposure state = 0
2025-12-22T01:13:30.986 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:13:30.993 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:13:31.207 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 129 of 300
2025-12-22T01:13:31.211 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358811.2111926
2025-12-22T01:13:31.212 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.75120123', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:47.16149228', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8798', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.22', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.873562102172', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.792', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.792', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.564363', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='55.185288', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:12:50', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.89', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.07', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.32', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.87', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:13:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:13:47.975 [INFO] [Dummy-23559] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:13:48.217 [INFO] [Dummy-23537] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:13:53.908 [INFO] [Dummy-23560] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:13:53.924 [INFO] [Dummy-23550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:14:13.219 [INFO] [Dummy-23561] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:14:13.454 [INFO] [Dummy-23532] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:14:18.926 [INFO] [Dummy-23562] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:14:18.945 [INFO] [Dummy-23550] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:14:31.759 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 129 of 300 done. Exposure state = 0
2025-12-22T01:14:31.759 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:14:31.766 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:14:31.890 [INFO] [Dummy-23532] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:14:31.891 [INFO] [Dummy-23532] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:14:32.033 [INFO] [Dummy-23563] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:14:32.033 [INFO] [Dummy-23563] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:14:32.033 [INFO] [Dummy-23563] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:14:32.124 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 130 of 300
2025-12-22T01:14:32.127 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358872.127396
2025-12-22T01:14:32.128 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72661853', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.73028144', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8796', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.22', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.9153346794114', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.724', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.724', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.484061', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='54.973414', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:13:22', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.84', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.39', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.3', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.94', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:13:55', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:14:38.455 [INFO] [Dummy-23564] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:14:38.692 [INFO] [Dummy-23537] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:14:43.947 [INFO] [Dummy-23565] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:14:43.963 [INFO] [Dummy-23566] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:15:03.694 [INFO] [Dummy-23567] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:15:03.932 [INFO] [Dummy-23568] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:15:08.966 [INFO] [Dummy-23569] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:15:08.983 [INFO] [Dummy-23566] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:15:28.935 [INFO] [Dummy-23570] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:15:29.167 [INFO] [Dummy-23571] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:15:32.576 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 130 of 300 done. Exposure state = 0
2025-12-22T01:15:32.577 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:15:32.584 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:15:32.736 [INFO] [Dummy-23571] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:15:32.737 [INFO] [Dummy-23571] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:15:32.883 [INFO] [Dummy-23572] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:15:32.883 [INFO] [Dummy-23572] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:15:32.883 [INFO] [Dummy-23572] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:15:32.925 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 131 of 300
2025-12-22T01:15:32.927 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358932.9277465
2025-12-22T01:15:32.928 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.73813781', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.67952214', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8796', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.22', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2345.9693333768137', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.656', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.656', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.403882', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='54.762469', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:14:59', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.84', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.55', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.25', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.98', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:14:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:15:33.985 [INFO] [Dummy-23573] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:15:34.002 [INFO] [Dummy-23566] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:15:54.169 [INFO] [Dummy-23574] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:15:54.490 [INFO] [Dummy-23568] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:15:59.005 [INFO] [Dummy-23575] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:15:59.025 [INFO] [Dummy-23566] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:16:19.493 [INFO] [Dummy-23576] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:16:19.732 [INFO] [Dummy-23571] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:16:24.028 [INFO] [Dummy-23577] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:16:24.045 [INFO] [Dummy-23578] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:16:33.329 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 131 of 300 done. Exposure state = 0
2025-12-22T01:16:33.330 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:16:33.356 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:16:33.617 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 132 of 300
2025-12-22T01:16:33.621 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766358993.621338
2025-12-22T01:16:33.622 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.69238341', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.68815729', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3446', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8796', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.23', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.018237857483', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.587', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.587', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.323467', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='54.551078', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:16:03', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='76.94', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.93', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.25', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='0.94', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:16:03', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:16:33.635 [INFO] [Dummy-23571] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:16:33.635 [INFO] [Dummy-23571] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:16:33.776 [INFO] [Dummy-23579] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:16:33.776 [INFO] [Dummy-23579] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:16:33.776 [INFO] [Dummy-23579] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:16:44.734 [INFO] [Dummy-23580] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:16:44.975 [INFO] [Dummy-23571] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:16:49.046 [INFO] [Dummy-23581] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:16:49.064 [INFO] [Dummy-23578] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:17:09.977 [INFO] [Dummy-23582] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:17:10.220 [INFO] [Dummy-23583] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:17:14.066 [INFO] [Dummy-23584] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:17:14.082 [INFO] [Dummy-23585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:17:34.064 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 132 of 300 done. Exposure state = 0
2025-12-22T01:17:34.065 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:17:34.071 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:17:34.269 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 133 of 300
2025-12-22T01:17:34.273 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359054.2729533
2025-12-22T01:17:34.274 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.74245423', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.64338822', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8796', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.23', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.0620481214173', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.519', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.519', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.244201', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='54.342748', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:17:07', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.06', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.39', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.27', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.35', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:17:07', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:17:35.223 [INFO] [Dummy-23586] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:17:35.471 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:17:39.084 [INFO] [Dummy-23588] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:17:39.102 [INFO] [Dummy-23585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:18:00.473 [INFO] [Dummy-23589] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:18:00.714 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:18:04.104 [INFO] [Dummy-23591] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:18:04.121 [INFO] [Dummy-23585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:18:25.716 [INFO] [Dummy-23592] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:18:25.952 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:18:29.123 [INFO] [Dummy-23593] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:18:29.140 [INFO] [Dummy-23585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:18:34.683 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 133 of 300 done. Exposure state = 0
2025-12-22T01:18:34.683 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:18:34.708 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:18:35.033 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 134 of 300
2025-12-22T01:18:35.036 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359115.036705
2025-12-22T01:18:35.037 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.74597629', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.22569506', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8795', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.23', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.090575735139', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.45', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.45', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.163618', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='54.130595', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:18:13', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.09', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.47', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.23', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.16', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:18:14', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:18:35.127 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:18:35.128 [INFO] [Dummy-23587] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:18:35.275 [INFO] [Dummy-23594] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:18:35.276 [INFO] [Dummy-23594] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:18:35.276 [INFO] [Dummy-23594] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:18:50.953 [INFO] [Dummy-23595] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:18:51.192 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:18:54.142 [INFO] [Dummy-23596] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:18:54.157 [INFO] [Dummy-23585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:19:16.195 [INFO] [Dummy-23597] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:19:16.429 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:19:19.159 [INFO] [Dummy-23598] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:19:19.175 [INFO] [Dummy-23585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:19:35.539 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 134 of 300 done. Exposure state = 0
2025-12-22T01:19:35.539 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:19:35.546 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:19:35.798 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 135 of 300
2025-12-22T01:19:35.801 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359175.8017442
2025-12-22T01:19:35.803 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.73273567', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.69049118', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8796', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.24', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.1313294690285', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.382', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.382', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.084362', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='53.923172', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:19:17', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.22', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.98', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.24', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:19:18', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:19:41.431 [INFO] [Dummy-23599] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:19:41.666 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:19:44.177 [INFO] [Dummy-23600] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:19:44.197 [INFO] [Dummy-23585] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:20:06.668 [INFO] [Dummy-23601] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:20:06.907 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:20:09.199 [INFO] [Dummy-23602] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:20:09.218 [INFO] [Dummy-23603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:20:31.909 [INFO] [Dummy-23604] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:20:32.146 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:20:34.219 [INFO] [Dummy-23605] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:20:34.236 [INFO] [Dummy-23603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:20:36.223 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 135 of 300 done. Exposure state = 0
2025-12-22T01:20:36.224 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:20:36.230 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:20:36.450 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 136 of 300
2025-12-22T01:20:36.453 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359236.4538734
2025-12-22T01:20:36.455 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72367154', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.3955878', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8796', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.24', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.1690266728774', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.313', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.313', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='259.003891', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='53.711716', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:20:22', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.75', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.7', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.29', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:20:22', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:20:57.148 [INFO] [Dummy-23606] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:20:57.389 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:20:59.237 [INFO] [Dummy-23607] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:20:59.256 [INFO] [Dummy-23603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:21:22.391 [INFO] [Dummy-23608] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:21:22.624 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:21:24.257 [INFO] [Dummy-23609] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:21:24.273 [INFO] [Dummy-23603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:21:36.958 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 136 of 300 done. Exposure state = 0
2025-12-22T01:21:36.958 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:21:36.965 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:21:37.178 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 137 of 300
2025-12-22T01:21:37.182 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359297.1820233
2025-12-22T01:21:37.183 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72724582', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.24788179', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8795', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.24', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.2189499968936', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.244', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.244', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.923855', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='53.501718', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:20:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.77', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.72', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.22', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.15', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:20:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:21:47.626 [INFO] [Dummy-23610] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:21:47.861 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:21:49.275 [INFO] [Dummy-23611] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:21:49.291 [INFO] [Dummy-23603] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:22:12.864 [INFO] [Dummy-23612] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:22:13.098 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:22:14.293 [INFO] [Dummy-23613] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:22:14.308 [INFO] [Dummy-23614] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:22:37.610 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 137 of 300 done. Exposure state = 0
2025-12-22T01:22:37.610 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:22:37.616 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:22:37.831 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 138 of 300
2025-12-22T01:22:37.834 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359357.83494
2025-12-22T01:22:37.836 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.73840411', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:46.19353396', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8795', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.25', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.234232647103', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.175', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.175', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.84391', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='53.292213', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:21:58', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.77', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.28', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.13', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.32', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:21:58', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:22:38.100 [INFO] [Dummy-23615] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:22:38.340 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:22:39.310 [INFO] [Dummy-23616] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:22:39.326 [INFO] [Dummy-23614] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:23:03.342 [INFO] [Dummy-23617] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:23:03.578 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:23:04.328 [INFO] [Dummy-23618] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:23:04.344 [INFO] [Dummy-23614] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:23:28.581 [INFO] [Dummy-23619] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:23:28.820 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:23:29.346 [INFO] [Dummy-23620] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:23:29.363 [INFO] [Dummy-23621] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:23:38.332 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 138 of 300 done. Exposure state = 0
2025-12-22T01:23:38.333 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:23:38.339 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:23:38.597 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 139 of 300
2025-12-22T01:23:38.600 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359418.6005535
2025-12-22T01:23:38.601 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72392949', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.86640167', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8794', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.25', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.2658167908667', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.104', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.104', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.762713', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='53.079228', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:23:02', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.9', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.66', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.2', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.25', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:23:02', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:23:38.610 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:23:38.611 [INFO] [Dummy-23587] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:23:38.757 [INFO] [Dummy-23622] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:23:38.757 [INFO] [Dummy-23622] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:23:38.757 [INFO] [Dummy-23622] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:23:53.822 [INFO] [Dummy-23623] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:23:54.057 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:23:54.365 [INFO] [Dummy-23624] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:23:54.380 [INFO] [Dummy-23621] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:24:19.058 [INFO] [Dummy-23625] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:24:19.295 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:24:19.382 [INFO] [Dummy-23626] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:24:19.399 [INFO] [Dummy-23621] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:24:39.054 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 139 of 300 done. Exposure state = 0
2025-12-22T01:24:39.054 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:24:39.062 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:24:39.286 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 140 of 300
2025-12-22T01:24:39.289 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359479.2898762
2025-12-22T01:24:39.291 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.77363655', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.80364476', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3449', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8794', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.25', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.3187966449245', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='257.036', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='257.036', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.683535', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='52.872007', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:24:06', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.94', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.97', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.22', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:24:06', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:24:44.297 [INFO] [Dummy-23627] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:24:44.401 [INFO] [Dummy-23628] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:24:44.418 [INFO] [Dummy-23621] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:24:44.529 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:25:09.420 [INFO] [Dummy-23629] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:25:09.436 [INFO] [Dummy-23621] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:25:09.532 [INFO] [Dummy-23630] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:25:09.770 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:25:34.438 [INFO] [Dummy-23631] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:25:34.456 [INFO] [Dummy-23621] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:25:34.772 [INFO] [Dummy-23632] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:25:35.007 [INFO] [Dummy-23590] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:25:39.854 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 140 of 300 done. Exposure state = 0
2025-12-22T01:25:39.854 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:25:39.878 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:25:39.976 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 141 of 300
2025-12-22T01:25:39.979 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359539.979725
2025-12-22T01:25:39.981 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.73608023', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.35484169', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8793', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.26', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.371776498982', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.965', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.965', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.602133', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='52.658636', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:25:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='77.95', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.7', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.22', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:25:10', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:25:59.458 [INFO] [Dummy-23633] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:25:59.475 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:26:00.009 [INFO] [Dummy-23635] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:26:00.242 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:26:24.478 [INFO] [Dummy-23637] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:26:24.494 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:26:25.244 [INFO] [Dummy-23638] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:26:25.482 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:26:40.407 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 141 of 300 done. Exposure state = 0
2025-12-22T01:26:40.407 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:26:40.409 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:26:40.515 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 142 of 300
2025-12-22T01:26:40.519 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359600.5191274
2025-12-22T01:26:40.520 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.74661681', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.81169215', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8794', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.26', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.403360642748', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.896', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.896', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.522853', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='52.45208', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:26:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.07', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.27', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:26:15', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:26:49.497 [INFO] [Dummy-23639] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:26:49.513 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:26:50.484 [INFO] [Dummy-23640] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:26:50.725 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:27:14.515 [INFO] [Dummy-23641] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:27:14.531 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:27:15.728 [INFO] [Dummy-23642] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:27:15.964 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:27:39.533 [INFO] [Dummy-23643] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:27:39.550 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:27:40.967 [INFO] [Dummy-23644] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:27:40.993 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 142 of 300 done. Exposure state = 0
2025-12-22T01:27:40.993 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:27:41.017 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:27:41.131 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 143 of 300
2025-12-22T01:27:41.134 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359661.1348631
2025-12-22T01:27:41.136 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.7538482', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.94465975', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8794', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.26', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.4746796770564', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.826', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.826', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.441478', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='52.239808', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:26:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.09', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.9', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.17', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.15', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:26:47', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:27:42.139 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:28:04.552 [INFO] [Dummy-23645] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:28:04.569 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:28:07.141 [INFO] [Dummy-23646] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:28:07.447 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:28:29.570 [INFO] [Dummy-23647] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:28:29.586 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:28:32.449 [INFO] [Dummy-23648] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:28:32.682 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:28:41.555 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 143 of 300 done. Exposure state = 0
2025-12-22T01:28:41.555 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:28:41.564 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:28:41.671 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 144 of 300
2025-12-22T01:28:41.675 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359721.6750686
2025-12-22T01:28:41.676 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.80634562', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.40663502', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.345', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8793', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.27', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.5103391942107', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.756', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.756', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.362486', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='52.033106', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:27:50', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.02', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.23', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.14', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.1', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:27:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:28:54.588 [INFO] [Dummy-23649] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:28:54.606 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:28:57.685 [INFO] [Dummy-23650] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:28:57.923 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:29:19.608 [INFO] [Dummy-23651] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:29:19.624 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:29:22.925 [INFO] [Dummy-23652] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:29:23.166 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:29:42.105 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 144 of 300 done. Exposure state = 0
2025-12-22T01:29:42.105 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:29:42.111 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:29:42.212 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 145 of 300
2025-12-22T01:29:42.215 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359782.2155373
2025-12-22T01:29:42.216 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.7534009', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.49469246', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8793', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.27', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.5847147585605', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.686', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.686', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.281218', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='51.821391', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:28:55', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.7', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.07', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.18', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.35', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:28:55', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:29:42.326 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:29:42.327 [INFO] [Dummy-23636] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:29:42.471 [INFO] [Dummy-23653] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:29:42.471 [INFO] [Dummy-23653] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:29:42.471 [INFO] [Dummy-23653] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:29:44.626 [INFO] [Dummy-23654] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:29:44.644 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:29:48.168 [INFO] [Dummy-23655] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:29:48.404 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:30:09.645 [INFO] [Dummy-23656] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:30:09.662 [INFO] [Dummy-23634] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:30:13.405 [INFO] [Dummy-23657] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:30:13.650 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:30:34.663 [INFO] [Dummy-23658] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:30:34.681 [INFO] [Dummy-23659] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:30:38.652 [INFO] [Dummy-23660] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:30:38.888 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:30:42.711 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 145 of 300 done. Exposure state = 0
2025-12-22T01:30:42.717 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:30:42.724 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:30:42.826 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 146 of 300
2025-12-22T01:30:42.829 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359842.829505
2025-12-22T01:30:42.830 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72778261', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.2975044', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8792', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.27', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.629543865839', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.616', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.616', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.201517', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='51.613584', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:29:59', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.77', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='27.05', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.2', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.3', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:29:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:30:59.682 [INFO] [Dummy-23661] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:30:59.698 [INFO] [Dummy-23659] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:31:03.890 [INFO] [Dummy-23662] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:31:04.129 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:31:24.700 [INFO] [Dummy-23663] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:31:24.717 [INFO] [Dummy-23659] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:31:29.132 [INFO] [Dummy-23664] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:31:29.365 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:31:43.255 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 146 of 300 done. Exposure state = 0
2025-12-22T01:31:43.255 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:31:43.262 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:31:43.402 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 147 of 300
2025-12-22T01:31:43.406 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359903.406005
2025-12-22T01:31:43.407 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.84059953', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.54595454', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3452', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8793', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.28', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.6723352864233', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.546', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.546', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.121338', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='51.405246', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:31:03', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.8', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.92', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.23', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.38', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:31:04', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:31:49.719 [INFO] [Dummy-23665] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:31:49.736 [INFO] [Dummy-23659] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:31:54.367 [INFO] [Dummy-23666] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:31:54.609 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:32:14.737 [INFO] [Dummy-23667] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:32:14.754 [INFO] [Dummy-23659] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:32:19.612 [INFO] [Dummy-23668] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:32:19.858 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:32:39.756 [INFO] [Dummy-23669] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:32:39.772 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:32:43.860 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:32:43.860 [INFO] [Dummy-23587] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:32:43.998 [INFO] [Dummy-23671] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:32:43.998 [INFO] [Dummy-23671] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:32:43.998 [INFO] [Dummy-23671] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:32:44.045 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 147 of 300 done. Exposure state = 0
2025-12-22T01:32:44.045 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:32:44.047 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:32:44.165 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 148 of 300
2025-12-22T01:32:44.167 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766359964.1674736
2025-12-22T01:32:44.167 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.78298438', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.70255567', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3449', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8794', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.28', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.718183237051', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.475', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.475', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='258.040176', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='51.194415', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:32:07', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.8', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.33', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.17', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.37', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:32:08', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:32:44.860 [INFO] [Dummy-23672] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:32:45.797 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:33:04.773 [INFO] [Dummy-23673] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:33:04.789 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:33:10.799 [INFO] [Dummy-23674] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:33:11.034 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:33:29.791 [INFO] [Dummy-23675] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:33:29.808 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:33:36.036 [INFO] [Dummy-23676] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:33:36.296 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:33:44.564 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 148 of 300 done. Exposure state = 0
2025-12-22T01:33:44.564 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:33:44.571 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:33:44.670 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 149 of 300
2025-12-22T01:33:44.673 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360024.6737032
2025-12-22T01:33:44.675 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.71582718', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.95589368', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3446', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8792', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.29', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.7558804408995', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.404', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.404', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.960527', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.986629', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:32:39', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.8', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.55', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.19', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.4', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:33:12', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:33:54.811 [INFO] [Dummy-23677] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:33:54.827 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:34:01.298 [INFO] [Dummy-23678] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:34:01.532 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:34:19.829 [INFO] [Dummy-23679] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:34:19.846 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:34:26.534 [INFO] [Dummy-23680] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:34:26.773 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:34:44.848 [INFO] [Dummy-23681] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:34:44.864 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:34:45.096 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 149 of 300 done. Exposure state = 0
2025-12-22T01:34:45.096 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:34:45.103 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:34:45.209 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 150 of 300
2025-12-22T01:34:45.212 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360085.2128832
2025-12-22T01:34:45.214 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.69131827', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.90626468', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3445', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8791', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.29', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.805803764916', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.333', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.333', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.880197', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.778087', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:34:16', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.75', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.44', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.09', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.52', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:34:16', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:34:51.774 [INFO] [Dummy-23682] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:34:52.011 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:35:09.867 [INFO] [Dummy-23683] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:35:09.883 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:35:17.014 [INFO] [Dummy-23684] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:35:17.251 [INFO] [Dummy-23636] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:35:34.885 [INFO] [Dummy-23685] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:35:34.901 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:35:42.253 [INFO] [Dummy-23686] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:35:42.483 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:35:45.701 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 150 of 300 done. Exposure state = 0
2025-12-22T01:35:45.702 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:35:45.708 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:35:45.709 [INFO] [Dummy-23587] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:35:45.709 [INFO] [Dummy-23587] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:35:45.847 [INFO] [Dummy-23687] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:35:45.847 [INFO] [Dummy-23687] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:35:45.847 [INFO] [Dummy-23687] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:35:45.975 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 151 of 300
2025-12-22T01:35:45.978 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360145.978343
2025-12-22T01:35:45.979 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72545246', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.42641367', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.879', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.29', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.857764775624', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.261', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.261', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.79884', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.566574', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:35:20', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='78.97', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.47', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.12', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.5', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:35:20', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:35:59.903 [INFO] [Dummy-23688] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:35:59.919 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:36:07.485 [INFO] [Dummy-23689] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:36:07.923 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:36:24.921 [INFO] [Dummy-23691] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:36:24.942 [INFO] [Dummy-23670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:36:32.925 [INFO] [Dummy-23692] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:36:33.163 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:36:46.462 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 151 of 300 done. Exposure state = 0
2025-12-22T01:36:46.462 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:36:46.489 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:36:46.589 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 152 of 300
2025-12-22T01:36:46.593 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360206.5932152
2025-12-22T01:36:46.594 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.71356247', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.42318684', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3446', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.879', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.9158388464207', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.19', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.19', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.717709', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.356401', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:36:24', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.13', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.78', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.23', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.28', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:36:24', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:36:49.944 [INFO] [Dummy-23694] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:36:49.960 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:36:58.166 [INFO] [Dummy-23696] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:36:58.420 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:37:14.962 [INFO] [Dummy-23697] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:37:14.979 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:37:23.422 [INFO] [Dummy-23698] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:37:23.661 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:37:39.981 [INFO] [Dummy-23699] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:37:39.997 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:37:47.018 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 152 of 300 done. Exposure state = 0
2025-12-22T01:37:47.019 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:37:47.025 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:37:47.129 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 153 of 300
2025-12-22T01:37:47.133 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360267.1330876
2025-12-22T01:37:47.134 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.75085178', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:45.35437826', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8793', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.9453853034893', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.119', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.119', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.637142', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='50.148974', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:37:28', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.0', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.55', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.1', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.55', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:37:29', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:37:48.664 [INFO] [Dummy-23700] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:37:48.901 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:38:04.999 [INFO] [Dummy-23701] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:38:05.018 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:38:13.902 [INFO] [Dummy-23702] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:38:14.145 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:38:30.021 [INFO] [Dummy-23703] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:38:30.039 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:38:39.147 [INFO] [Dummy-23704] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:38:39.378 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:38:47.607 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 153 of 300 done. Exposure state = 0
2025-12-22T01:38:47.607 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:38:47.614 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:38:47.744 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 154 of 300
2025-12-22T01:38:47.747 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360327.747735
2025-12-22T01:38:47.748 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72333671', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.66407019', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8791', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.3', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2346.998365157547', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='256.048', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='256.048', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.557384', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='49.941964', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:38:32', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.2', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.16', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.37', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.64', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:38:33', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:38:55.041 [INFO] [Dummy-23705] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:38:55.057 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:39:04.380 [INFO] [Dummy-23706] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:39:04.625 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:39:20.059 [INFO] [Dummy-23707] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:39:20.075 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:39:29.628 [INFO] [Dummy-23708] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:39:29.876 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:39:45.078 [INFO] [Dummy-23709] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:39:45.094 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:39:48.209 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 154 of 300 done. Exposure state = 0
2025-12-22T01:39:48.209 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:39:48.215 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:39:48.321 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 155 of 300
2025-12-22T01:39:48.325 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360388.3252692
2025-12-22T01:39:48.326 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72259666', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.56329759', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.879', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.31', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.049307324911', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.976', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.976', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.475506', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='49.730364', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:39:05', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.18', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.46', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.1', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.08', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:39:05', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:39:48.395 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:39:48.395 [INFO] [Dummy-23693] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:39:48.577 [INFO] [Dummy-23710] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:39:48.578 [INFO] [Dummy-23710] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:39:48.578 [INFO] [Dummy-23710] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:39:54.878 [INFO] [Dummy-23711] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:39:55.109 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:40:10.096 [INFO] [Dummy-23712] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:40:10.115 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:40:20.112 [INFO] [Dummy-23713] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:40:20.357 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:40:35.117 [INFO] [Dummy-23714] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:40:35.137 [INFO] [Dummy-23695] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:40:45.360 [INFO] [Dummy-23715] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:40:45.599 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:40:48.784 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:40:48.785 [INFO] [Dummy-23690] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:40:48.932 [INFO] [Dummy-23716] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:40:48.932 [INFO] [Dummy-23716] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:40:48.932 [INFO] [Dummy-23716] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:40:48.975 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 155 of 300 done. Exposure state = 0
2025-12-22T01:40:48.975 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:40:48.977 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:40:49.086 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 156 of 300
2025-12-22T01:40:49.089 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360449.089927
2025-12-22T01:40:49.091 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72653679', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.44437891', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.879', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.31', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.0757972519386', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.904', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.904', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.3949', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='49.522238', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:40:09', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.7', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.29', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.1', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.76', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:40:09', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:41:00.139 [INFO] [Dummy-23717] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:41:00.155 [INFO] [Dummy-23718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:41:10.601 [INFO] [Dummy-23719] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:41:10.835 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:41:25.157 [INFO] [Dummy-23720] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:41:25.173 [INFO] [Dummy-23718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:41:35.837 [INFO] [Dummy-23721] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:41:36.072 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:41:49.510 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 156 of 300 done. Exposure state = 0
2025-12-22T01:41:49.510 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:41:49.517 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:41:49.626 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 157 of 300
2025-12-22T01:41:49.629 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360509.6293676
2025-12-22T01:41:49.630 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.75319485', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.42914316', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3448', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.879', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.32', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.1430409128584', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.833', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.833', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.314776', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='49.315694', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:41:13', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.68', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.61', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.02', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.34', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:41:13', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:41:50.175 [INFO] [Dummy-23722] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:41:50.191 [INFO] [Dummy-23718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:42:01.074 [INFO] [Dummy-23723] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:42:01.311 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:42:15.193 [INFO] [Dummy-23724] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:42:15.209 [INFO] [Dummy-23718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:42:26.313 [INFO] [Dummy-23725] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:42:26.545 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:42:40.211 [INFO] [Dummy-23726] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:42:40.228 [INFO] [Dummy-23718] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:42:50.104 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 157 of 300 done. Exposure state = 0
2025-12-22T01:42:50.104 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:42:50.111 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:42:50.240 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:42:50.241 [INFO] [Dummy-23690] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:42:50.387 [INFO] [Dummy-23727] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:42:50.387 [INFO] [Dummy-23727] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:42:50.387 [INFO] [Dummy-23727] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:42:50.465 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 158 of 300
2025-12-22T01:42:50.467 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360570.467229
2025-12-22T01:42:50.467 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.7188936', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:44.04503528', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8789', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.32', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.1858323334427', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.76', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.76', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.232784', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='49.104136', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:42:17', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.8', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.3', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.12', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.47', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:42:17', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:42:51.546 [INFO] [Dummy-23728] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:42:51.843 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:43:05.230 [INFO] [Dummy-23729] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:43:05.249 [INFO] [Dummy-23730] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:43:16.844 [INFO] [Dummy-23731] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:43:17.084 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:43:30.251 [INFO] [Dummy-23732] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:43:30.269 [INFO] [Dummy-23730] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:43:42.086 [INFO] [Dummy-23733] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:43:42.318 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:43:50.886 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 158 of 300 done. Exposure state = 0
2025-12-22T01:43:50.887 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:43:50.894 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:43:51.006 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 159 of 300
2025-12-22T01:43:51.009 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360631.0095248
2025-12-22T01:43:51.010 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.71230968', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.53406306', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3446', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8788', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.33', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.235755657459', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.688', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.688', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.152821', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='48.897886', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:43:21', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.77', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.07', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.05', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.58', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:43:22', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:43:55.270 [INFO] [Dummy-23734] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:43:55.286 [INFO] [Dummy-23730] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:44:07.320 [INFO] [Dummy-23735] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:44:07.559 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:44:20.287 [INFO] [Dummy-23736] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:44:20.306 [INFO] [Dummy-23730] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:44:32.561 [INFO] [Dummy-23737] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:44:32.799 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:44:45.308 [INFO] [Dummy-23738] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:44:45.325 [INFO] [Dummy-23730] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:44:51.468 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 159 of 300 done. Exposure state = 0
2025-12-22T01:44:51.468 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:44:51.475 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:44:51.584 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 160 of 300
2025-12-22T01:44:51.587 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360691.5877018
2025-12-22T01:44:51.589 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.72061217', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.61659915', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3447', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8788', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.33', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.2897543548643', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.615', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.615', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='257.070425', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='48.68628', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:44:25', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.85', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.95', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.0', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.69', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:44:26', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:44:51.653 [INFO] [Dummy-23693] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:44:51.653 [INFO] [Dummy-23693] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:44:51.829 [INFO] [Dummy-23739] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:44:51.829 [INFO] [Dummy-23739] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:44:51.829 [INFO] [Dummy-23739] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:44:57.801 [INFO] [Dummy-23740] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:44:58.042 [INFO] [Dummy-23690] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:45:10.327 [INFO] [Dummy-23741] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:45:10.345 [INFO] [Dummy-23730] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:45:23.043 [INFO] [Dummy-23742] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:45:23.466 [INFO] [Dummy-23743] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:45:35.347 [INFO] [Dummy-23744] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:45:35.364 [INFO] [Dummy-23730] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:45:48.468 [INFO] [Dummy-23745] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:45:48.701 [INFO] [Dummy-23746] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:45:52.124 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 160 of 300 done. Exposure state = 0
2025-12-22T01:45:52.170 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:45:52.197 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:45:52.351 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 161 of 300
2025-12-22T01:45:52.354 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360752.3543158
2025-12-22T01:45:52.355 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.66979783', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.54259648', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3445', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8788', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.33', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.3457907389634', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='259.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.542', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.542', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.989028', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='48.477295', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:44:57', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='79.9', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.77', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.02', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.5', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:44:58', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:46:00.366 [INFO] [Dummy-23747] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:46:00.382 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:46:13.703 [INFO] [Dummy-23749] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:46:13.946 [INFO] [Dummy-23743] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:46:25.385 [INFO] [Dummy-23750] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:46:25.401 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:46:38.949 [INFO] [Dummy-23751] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:46:39.190 [INFO] [Dummy-23746] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:46:50.402 [INFO] [Dummy-23752] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:46:50.419 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:46:52.808 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 161 of 300 done. Exposure state = 0
2025-12-22T01:46:52.808 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:46:52.816 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:46:52.963 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 162 of 300
2025-12-22T01:46:52.966 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360812.9666638
2025-12-22T01:46:52.967 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.68313521', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.57817655', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3445', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8788', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.34', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.403864809757', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.469', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.469', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.907728', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='48.268915', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:46:02', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='80.01', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.15', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.68', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:46:02', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:47:04.193 [INFO] [Dummy-23753] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:47:04.432 [INFO] [Dummy-23743] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:47:15.421 [INFO] [Dummy-23754] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:47:15.437 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:47:29.435 [INFO] [Dummy-23755] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:47:29.670 [INFO] [Dummy-23746] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:47:40.439 [INFO] [Dummy-23756] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:47:40.453 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:47:53.437 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 162 of 300 done. Exposure state = 0
2025-12-22T01:47:53.437 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:47:53.444 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:47:53.579 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 163 of 300
2025-12-22T01:47:53.582 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360873.582282
2025-12-22T01:47:53.583 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.6340993', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.38532302', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3443', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8787', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.34', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.440543170258', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.397', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.397', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.827726', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='48.063849', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:47:06', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='80.01', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.23', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.99', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.5', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:47:06', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:47:54.672 [INFO] [Dummy-23757] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:47:54.906 [INFO] [Dummy-23743] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:48:05.454 [INFO] [Dummy-23758] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:48:05.471 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:48:19.909 [INFO] [Dummy-23759] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:48:20.146 [INFO] [Dummy-23746] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:48:30.473 [INFO] [Dummy-23760] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:48:30.489 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:48:45.150 [INFO] [Dummy-23761] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:48:45.465 [INFO] [Dummy-23762] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:48:54.002 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 163 of 300 done. Exposure state = 0
2025-12-22T01:48:54.002 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:48:54.008 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:48:54.193 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 164 of 300
2025-12-22T01:48:54.197 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360934.1973443
2025-12-22T01:48:54.198 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.57369766', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:42.17406834', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8784', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.35', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.4965795543576', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.324', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.324', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.74674', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='47.855382', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:48:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='80.06', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.45', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.95', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.64', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:48:10', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:48:55.491 [INFO] [Dummy-23763] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:48:55.508 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:49:10.468 [INFO] [Dummy-23764] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:49:10.708 [INFO] [Dummy-23746] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:49:20.510 [INFO] [Dummy-23765] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:49:20.526 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:49:35.710 [INFO] [Dummy-23766] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:49:35.949 [INFO] [Dummy-23762] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:49:45.527 [INFO] [Dummy-23767] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:49:45.544 [INFO] [Dummy-23748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:49:54.657 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 164 of 300 done. Exposure state = 0
2025-12-22T01:49:54.657 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:49:54.658 [WARNING] [Dummy-23746] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff784b06040>>. Trying to reconnect
2025-12-22T01:49:54.659 [WARNING] [start_exposure_worker] [client.py] [get_status()] Unable to get status: unexpected exception. Trying to reconnect
2025-12-22T01:49:54.801 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:49:54.925 [INFO] [Dummy-23746] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:49:54.926 [INFO] [Dummy-23746] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:49:55.070 [INFO] [Dummy-23768] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:49:55.070 [INFO] [Dummy-23768] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:49:55.070 [INFO] [Dummy-23768] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:49:55.115 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 165 of 300
2025-12-22T01:49:55.116 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766360995.1169372
2025-12-22T01:49:55.117 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.57424937', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.16400994', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8787', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.35', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.5515970951096', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.25', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.25', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.663469', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='47.643737', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:49:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='80.73', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.1', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.92', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.69', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:49:14', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:50:00.951 [INFO] [Dummy-23769] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:50:01.187 [INFO] [Dummy-23770] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:50:10.546 [INFO] [Dummy-23771] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:50:10.563 [INFO] [Dummy-23772] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:50:26.190 [INFO] [Dummy-23773] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:50:26.426 [INFO] [Dummy-23746] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:50:35.565 [INFO] [Dummy-23774] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:50:35.585 [INFO] [Dummy-23775] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:50:51.428 [INFO] [Dummy-23776] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:50:51.662 [INFO] [Dummy-23770] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:50:55.536 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 165 of 300 done. Exposure state = 0
2025-12-22T01:50:55.536 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:50:55.543 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:50:55.760 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 166 of 300
2025-12-22T01:50:55.763 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361055.7637367
2025-12-22T01:50:55.765 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.61682944', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.50825974', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3442', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8788', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.36', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.568917432013', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.178', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.178', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.582764', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='47.438187', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:50:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='80.78', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.07', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.94', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.92', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:50:19', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:51:00.588 [INFO] [Dummy-23777] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:51:00.602 [INFO] [Dummy-23775] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:51:16.665 [INFO] [Dummy-23778] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:51:16.904 [INFO] [Dummy-23746] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:51:25.604 [INFO] [Dummy-23779] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:51:25.623 [INFO] [Dummy-23775] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:51:41.905 [INFO] [Dummy-23780] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:51:42.143 [INFO] [Dummy-23770] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:51:50.625 [INFO] [Dummy-23781] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:51:50.641 [INFO] [Dummy-23775] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:51:56.176 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 166 of 300 done. Exposure state = 0
2025-12-22T01:51:56.177 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:51:56.184 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:51:56.374 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 167 of 300
2025-12-22T01:51:56.378 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361116.378265
2025-12-22T01:51:56.379 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.57611899', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.51673664', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8788', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.36', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.615784225986', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='255.104', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='255.104', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.50056', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='47.228695', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:51:22', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='80.95', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.04', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.89', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:51:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:52:07.144 [INFO] [Dummy-23782] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:52:07.383 [INFO] [Dummy-23783] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:52:15.644 [INFO] [Dummy-23784] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:52:15.658 [INFO] [Dummy-23775] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:52:32.385 [INFO] [Dummy-23785] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:52:32.622 [INFO] [Dummy-23770] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:52:40.661 [INFO] [Dummy-23786] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:52:40.676 [INFO] [Dummy-23775] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:52:56.800 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 167 of 300 done. Exposure state = 0
2025-12-22T01:52:56.801 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:52:56.802 [WARNING] [Dummy-23787] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff784c848b0>>. Trying to reconnect
2025-12-22T01:52:56.803 [WARNING] [start_exposure_worker] [client.py] [get_status()] Unable to get status: unexpected exception. Trying to reconnect
2025-12-22T01:52:56.917 [WARNING] [Dummy-23788] [client.py] [get_status()] Unable to get status: This socket is already used by another greenlet: <bound method Waiter.switch of <gevent._gevent_c_waiter.Waiter object at 0x7ff784c1e2c0>>. Trying to reconnect
2025-12-22T01:52:56.918 [ERROR] [start_exposure_worker] [client.py] [get_status()] Unable to get status: unexpected exception
2025-12-22T01:52:56.918 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:52:57.051 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:52:57.052 [INFO] [Dummy-23787] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:52:57.196 [INFO] [Dummy-23789] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:52:57.196 [INFO] [Dummy-23789] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:52:57.196 [INFO] [Dummy-23789] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:52:57.290 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 168 of 300
2025-12-22T01:52:57.294 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361177.2941344
2025-12-22T01:52:57.295 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:51:55', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='80.93', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.23', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.87', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.87', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:51:55', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:52:57.623 [INFO] [Dummy-23790] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:52:58.650 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:53:05.677 [INFO] [Dummy-23791] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:53:05.698 [INFO] [Dummy-23775] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:53:23.653 [INFO] [Dummy-23792] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:53:23.898 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:53:30.700 [INFO] [Dummy-23794] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:53:30.716 [INFO] [Dummy-23795] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:53:48.900 [INFO] [Dummy-23796] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:53:49.137 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:53:55.718 [INFO] [Dummy-23797] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:53:55.735 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:53:57.718 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 168 of 300 done. Exposure state = 0
2025-12-22T01:53:57.718 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:53:57.725 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:53:57.942 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 169 of 300
2025-12-22T01:53:57.945 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361237.9457471
2025-12-22T01:53:57.947 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.58720281', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:43.07720714', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8786', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.37', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.6911786336855', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.956', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.956', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.336553', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='46.811036', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:52:27', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='81.06', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.51', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.9', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.55', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:53:32', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:54:14.138 [INFO] [Dummy-23799] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:54:14.375 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:54:20.737 [INFO] [Dummy-23800] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:54:20.752 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:54:39.377 [INFO] [Dummy-23801] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:54:39.618 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:54:45.755 [INFO] [Dummy-23802] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:54:45.773 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:54:58.424 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 169 of 300 done. Exposure state = 0
2025-12-22T01:54:58.424 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:54:58.450 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:54:58.707 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 170 of 300
2025-12-22T01:54:58.710 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361298.71081
2025-12-22T01:54:58.712 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.60154099', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:42.698773', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3442', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8785', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.37', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.7461961744348', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.881', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.881', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.254337', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='46.601892', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:54:04', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='81.53', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.57', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.9', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.24', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:54:37', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:54:58.842 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:54:58.843 [INFO] [Dummy-23787] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:54:58.986 [INFO] [Dummy-23803] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:54:58.987 [INFO] [Dummy-23803] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:54:58.987 [INFO] [Dummy-23803] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:55:04.621 [INFO] [Dummy-23804] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:55:04.857 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:55:10.775 [INFO] [Dummy-23805] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:55:10.794 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:55:29.860 [INFO] [Dummy-23806] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:55:30.095 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:55:35.796 [INFO] [Dummy-23807] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:55:35.812 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:55:55.097 [INFO] [Dummy-23808] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:55:55.332 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:55:59.189 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 170 of 300 done. Exposure state = 0
2025-12-22T01:55:59.189 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:55:59.191 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:55:59.320 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 171 of 300
2025-12-22T01:55:59.321 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361359.3219817
2025-12-22T01:55:59.322 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.54248471', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:42.85541933', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3439', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8786', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.38', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.790006438369', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.808', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.808', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.173222', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='46.396377', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:55:41', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='81.74', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.37', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.87', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.28', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:55:41', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:56:00.814 [INFO] [Dummy-23809] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:56:00.829 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:56:20.334 [INFO] [Dummy-23810] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:56:20.569 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:56:25.831 [INFO] [Dummy-23811] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:56:25.848 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:56:45.572 [INFO] [Dummy-23812] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:56:45.808 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:56:50.849 [INFO] [Dummy-23813] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:56:50.865 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:56:59.737 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 171 of 300 done. Exposure state = 0
2025-12-22T01:56:59.737 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:56:59.743 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:56:59.974 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 172 of 300
2025-12-22T01:56:59.977 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361419.9778893
2025-12-22T01:56:59.979 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.57052543', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:42.53775277', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8785', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.38', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.814458678702', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.734', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.734', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.091381', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='46.188793', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:56:45', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='81.73', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.52', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.87', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.48', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:56:45', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:57:10.810 [INFO] [Dummy-23814] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:57:11.048 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:57:15.868 [INFO] [Dummy-23815] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:57:15.886 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:57:36.051 [INFO] [Dummy-23816] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:57:36.289 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:57:40.889 [INFO] [Dummy-23817] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:57:40.904 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:58:00.431 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 172 of 300 done. Exposure state = 0
2025-12-22T01:58:00.432 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:58:00.438 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:58:00.624 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:58:00.624 [INFO] [Dummy-23793] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:58:00.768 [INFO] [Dummy-23818] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:58:00.769 [INFO] [Dummy-23818] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:58:00.769 [INFO] [Dummy-23818] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:58:00.820 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 173 of 300
2025-12-22T01:58:00.823 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361480.8229902
2025-12-22T01:58:00.823 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.60577527', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:42.23785929', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3442', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8784', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.39', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.87457043619', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.659', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.659', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='256.008337', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='45.978462', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:57:17', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='81.81', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.1', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.9', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.57', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:57:17', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:58:01.291 [INFO] [Dummy-23819] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:58:02.226 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:58:05.906 [INFO] [Dummy-23820] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:58:05.923 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:58:27.228 [INFO] [Dummy-23821] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:58:27.463 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:58:30.925 [INFO] [Dummy-23822] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:58:30.942 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:58:52.465 [INFO] [Dummy-23823] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:58:52.699 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:58:55.944 [INFO] [Dummy-23824] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:58:55.961 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:59:01.258 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T01:59:01.259 [INFO] [Dummy-23787] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:59:01.444 [INFO] [Dummy-23825] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T01:59:01.445 [INFO] [Dummy-23825] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T01:59:01.445 [INFO] [Dummy-23825] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T01:59:01.488 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 173 of 300 done. Exposure state = 0
2025-12-22T01:59:01.488 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T01:59:01.490 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T01:59:01.693 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 174 of 300
2025-12-22T01:59:01.697 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361541.6970942
2025-12-22T01:59:01.698 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.58235208', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:42.21339519', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8784', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.39', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.924493760206', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.584', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.584', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.926432', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='45.771574', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:58:21', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='81.84', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.47', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.89', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.86', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:58:22', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T01:59:17.700 [INFO] [Dummy-23826] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:59:17.936 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:59:20.963 [INFO] [Dummy-23827] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:59:20.978 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T01:59:42.938 [INFO] [Dummy-23828] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T01:59:43.175 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T01:59:45.979 [INFO] [Dummy-23829] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T01:59:45.996 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:00:02.176 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 174 of 300 done. Exposure state = 0
2025-12-22T02:00:02.176 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:00:02.182 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:00:02.187 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:00:02.187 [INFO] [Dummy-23787] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:00:02.325 [INFO] [Dummy-23830] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:00:02.326 [INFO] [Dummy-23830] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:00:02.326 [INFO] [Dummy-23830] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:00:02.534 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 175 of 300
2025-12-22T02:00:02.538 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361602.5382152
2025-12-22T02:00:02.539 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.58331289', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:41.97699473', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8783', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.4', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2347.985624361041', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.509', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.509', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.843439', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='45.562282', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T01:59:26', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='81.88', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.46', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.75', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.73', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T01:59:26', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:00:08.177 [INFO] [Dummy-23831] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:00:08.408 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:00:10.998 [INFO] [Dummy-23832] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:00:11.014 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:00:33.411 [INFO] [Dummy-23833] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:00:33.646 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:00:36.017 [INFO] [Dummy-23834] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:00:36.033 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:00:58.647 [INFO] [Dummy-23835] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:00:58.888 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:01:01.035 [INFO] [Dummy-23836] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:01:01.052 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:01:02.990 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 175 of 300 done. Exposure state = 0
2025-12-22T02:01:02.990 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:01:03.017 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:01:03.299 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 176 of 300
2025-12-22T02:01:03.302 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361663.3024561
2025-12-22T02:01:03.303 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.56015742', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:41.47374267', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8782', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.4', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.036566528405', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.434', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.434', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.760717', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='45.353409', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:00:30', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='81.93', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.62', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.74', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.49', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:00:30', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:01:03.465 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:01:03.465 [INFO] [Dummy-23793] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:01:03.607 [INFO] [Dummy-23837] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:01:03.607 [INFO] [Dummy-23837] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:01:03.607 [INFO] [Dummy-23837] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:01:23.890 [INFO] [Dummy-23838] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:01:24.126 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:01:26.054 [INFO] [Dummy-23839] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:01:26.070 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:01:49.128 [INFO] [Dummy-23840] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:01:49.363 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:01:51.071 [INFO] [Dummy-23841] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:01:51.090 [INFO] [Dummy-23798] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:02:03.831 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 176 of 300 done. Exposure state = 0
2025-12-22T02:02:03.832 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:02:03.838 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:02:04.064 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 177 of 300
2025-12-22T02:02:04.067 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361724.0675762
2025-12-22T02:02:04.068 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.52286781', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:42.4036735', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3438', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8784', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.41', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.069169515518', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.36', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.36', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.678833', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='45.148407', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:01:34', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.48', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.71', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.77', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.31', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:01:34', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:02:14.364 [INFO] [Dummy-23842] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:02:14.602 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:02:16.092 [INFO] [Dummy-23843] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:02:16.109 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:02:39.604 [INFO] [Dummy-23845] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:02:39.842 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:02:41.110 [INFO] [Dummy-23846] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:02:41.127 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:03:04.541 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 177 of 300 done. Exposure state = 0
2025-12-22T02:03:04.541 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:03:04.548 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:03:04.754 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 178 of 300
2025-12-22T02:03:04.757 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361784.757386
2025-12-22T02:03:04.758 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.5302499', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:41.45308207', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3439', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8782', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.41', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.1221493695753', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.284', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.284', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.595901', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='44.939125', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:02:38', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.04', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.74', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.73', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:02:38', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:03:04.843 [INFO] [Dummy-23847] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:03:05.074 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:03:06.129 [INFO] [Dummy-23848] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:03:06.146 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:03:30.077 [INFO] [Dummy-23849] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:03:30.314 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:03:31.147 [INFO] [Dummy-23850] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:03:31.164 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:03:55.316 [INFO] [Dummy-23851] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:03:55.552 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:03:56.167 [INFO] [Dummy-23852] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:03:56.184 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:04:05.219 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 178 of 300 done. Exposure state = 0
2025-12-22T02:04:05.219 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:04:05.226 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:04:05.331 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 179 of 300
2025-12-22T02:04:05.334 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361845.3347855
2025-12-22T02:04:05.336 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.53376986', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:41.02458974', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3439', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8781', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.42', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.1914307171896', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.209', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.209', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.514128', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='44.73359', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:03:10', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.21', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.96', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.79', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.4', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:03:10', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:04:20.555 [INFO] [Dummy-23853] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:04:20.794 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:04:21.186 [INFO] [Dummy-23854] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:04:21.204 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:04:45.796 [INFO] [Dummy-23855] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:04:46.119 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:04:46.206 [INFO] [Dummy-23856] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:04:46.223 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:05:05.816 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 179 of 300 done. Exposure state = 0
2025-12-22T02:05:05.816 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:05:05.823 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:05:05.984 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 180 of 300
2025-12-22T02:05:05.987 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361905.9872859
2025-12-22T02:05:05.988 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.58565523', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:41.04816053', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8781', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.42', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.228109077691', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.133', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.133', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.430412', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='44.523943', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:04:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.23', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.68', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.75', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.6', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:04:15', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:05:11.120 [INFO] [Dummy-23857] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:05:11.225 [INFO] [Dummy-23858] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:05:11.242 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:05:11.359 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:05:36.244 [INFO] [Dummy-23859] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:05:36.260 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:05:36.361 [INFO] [Dummy-23860] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:05:36.600 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:06:01.262 [INFO] [Dummy-23861] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:06:01.279 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:06:01.603 [INFO] [Dummy-23862] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:06:01.838 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:06:06.489 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 180 of 300 done. Exposure state = 0
2025-12-22T02:06:06.489 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:06:06.495 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:06:06.673 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 181 of 300
2025-12-22T02:06:06.676 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766361966.6766648
2025-12-22T02:06:06.677 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.55279514', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:40.66400797', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.878', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.43', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.294333895262', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='254.057', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='254.057', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.347629', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='44.31652', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:05:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.74', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.19', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.72', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.44', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:05:19', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:06:06.800 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:06:06.801 [INFO] [Dummy-23793] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:06:06.947 [INFO] [Dummy-23863] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:06:06.947 [INFO] [Dummy-23863] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:06:06.947 [INFO] [Dummy-23863] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:06:26.281 [INFO] [Dummy-23864] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:06:26.298 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:06:26.841 [INFO] [Dummy-23865] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:06:27.081 [INFO] [Dummy-23787] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:06:51.299 [INFO] [Dummy-23866] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:06:51.316 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:06:52.082 [INFO] [Dummy-23867] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:06:52.319 [INFO] [Dummy-23868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:07:07.170 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 181 of 300 done. Exposure state = 0
2025-12-22T02:07:07.171 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:07:07.172 [INFO] [Dummy-23868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:07:07.173 [INFO] [Dummy-23868] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:07:07.177 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:07:07.312 [INFO] [Dummy-23869] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:07:07.312 [INFO] [Dummy-23869] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:07:07.312 [INFO] [Dummy-23869] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:07:07.477 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 182 of 300
2025-12-22T02:07:07.480 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362027.4804919
2025-12-22T02:07:07.481 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.55610242', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:40.99869002', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8781', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.43', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.3330499424574', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.981', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.981', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.264901', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='44.110261', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:06:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.77', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.9', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.69', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.41', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:06:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:07:16.318 [INFO] [Dummy-23870] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:07:16.335 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:07:17.321 [INFO] [Dummy-23871] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:07:17.561 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:07:41.337 [INFO] [Dummy-23872] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:07:41.354 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:07:42.563 [INFO] [Dummy-23873] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:07:42.807 [INFO] [Dummy-23868] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:08:06.357 [INFO] [Dummy-23874] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:08:06.374 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:08:07.809 [INFO] [Dummy-23875] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:08:07.903 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 182 of 300 done. Exposure state = 0
2025-12-22T02:08:07.903 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:08:07.910 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:08:08.020 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 183 of 300
2025-12-22T02:08:08.024 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362088.0242286
2025-12-22T02:08:08.025 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.52722214', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:40.70080892', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3439', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.878', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.44', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.351389122708', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.905', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.905', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.181736', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='43.902585', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:07:27', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.84', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.18', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.72', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.55', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:07:28', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:08:08.042 [INFO] [Dummy-23793] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:08:31.376 [INFO] [Dummy-23876] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:08:31.394 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:08:33.043 [INFO] [Dummy-23877] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:08:33.310 [INFO] [Dummy-23878] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:08:56.396 [INFO] [Dummy-23879] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:08:56.411 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:08:58.312 [INFO] [Dummy-23880] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:08:58.550 [INFO] [Dummy-23881] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:09:08.433 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 183 of 300 done. Exposure state = 0
2025-12-22T02:09:08.434 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:09:08.441 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:09:08.557 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 184 of 300
2025-12-22T02:09:08.561 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362148.5610971
2025-12-22T02:09:08.562 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.5710734', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:40.16665543', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8778', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.44', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.4308589037937', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.829', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.829', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.099216', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='43.696593', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:08:32', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.88', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.55', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='17.07', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.5', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:08:33', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:09:21.413 [INFO] [Dummy-23882] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:09:21.431 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:09:23.552 [INFO] [Dummy-23883] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:09:23.792 [INFO] [Dummy-23878] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:09:46.432 [INFO] [Dummy-23884] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:09:46.449 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:09:48.795 [INFO] [Dummy-23885] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:09:49.027 [INFO] [Dummy-23881] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:10:09.027 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 184 of 300 done. Exposure state = 0
2025-12-22T02:10:09.027 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:10:09.050 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:10:09.210 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 185 of 300
2025-12-22T02:10:09.213 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362209.2135081
2025-12-22T02:10:09.214 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.58368742', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:40.18785869', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8778', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.45', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.466518420948', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.753', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.753', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='255.015686', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='43.488953', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:09:04', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.99', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.03', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.7', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.41', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:09:05', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:10:09.421 [INFO] [Dummy-23881] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:10:09.421 [INFO] [Dummy-23881] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:10:09.562 [INFO] [Dummy-23886] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:10:09.563 [INFO] [Dummy-23886] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:10:09.563 [INFO] [Dummy-23886] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:10:11.451 [INFO] [Dummy-23887] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:10:11.468 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:10:14.029 [INFO] [Dummy-23888] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:10:14.268 [INFO] [Dummy-23878] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:10:36.470 [INFO] [Dummy-23889] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:10:36.486 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:10:39.270 [INFO] [Dummy-23890] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:10:39.506 [INFO] [Dummy-23881] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:11:01.488 [INFO] [Dummy-23891] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:11:01.505 [INFO] [Dummy-23844] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:11:04.508 [INFO] [Dummy-23892] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:11:04.747 [INFO] [Dummy-23878] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:11:09.632 [INFO] [Dummy-23878] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:11:09.633 [INFO] [Dummy-23878] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:11:09.774 [INFO] [Dummy-23893] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:11:09.774 [INFO] [Dummy-23893] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:11:09.774 [INFO] [Dummy-23893] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:11:09.818 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 185 of 300 done. Exposure state = 0
2025-12-22T02:11:09.818 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:11:09.821 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:11:09.937 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 186 of 300
2025-12-22T02:11:09.940 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362269.9408717
2025-12-22T02:11:09.942 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.58406859', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:40.29584216', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8779', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.46', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.5205171183525', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.677', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.677', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.932807', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='43.283324', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:10:09', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='82.99', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.55', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.62', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.42', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:10:09', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:11:26.507 [INFO] [Dummy-23894] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:11:26.524 [INFO] [Dummy-23895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:11:29.749 [INFO] [Dummy-23896] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:11:29.985 [INFO] [Dummy-23881] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:11:51.526 [INFO] [Dummy-23897] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:11:51.544 [INFO] [Dummy-23895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:11:54.987 [INFO] [Dummy-23898] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:11:55.225 [INFO] [Dummy-23878] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:12:10.405 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 186 of 300 done. Exposure state = 0
2025-12-22T02:12:10.406 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:12:10.429 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:12:10.551 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 187 of 300
2025-12-22T02:12:10.554 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362330.5548592
2025-12-22T02:12:10.556 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.52323677', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:40.58573885', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3438', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8779', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.46', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.569421599022', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.6', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.6', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.84874', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='43.07525', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:11:14', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.56', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.36', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.65', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.37', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:11:46', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:12:16.546 [INFO] [Dummy-23899] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:12:16.562 [INFO] [Dummy-23900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:12:20.227 [INFO] [Dummy-23901] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:12:20.464 [INFO] [Dummy-23881] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:12:41.564 [INFO] [Dummy-23902] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:12:41.580 [INFO] [Dummy-23900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:12:45.466 [INFO] [Dummy-23903] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:12:45.704 [INFO] [Dummy-23878] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:13:06.582 [INFO] [Dummy-23904] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:13:06.598 [INFO] [Dummy-23900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:13:10.707 [INFO] [Dummy-23905] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:13:10.943 [INFO] [Dummy-23906] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:13:10.977 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 187 of 300 done. Exposure state = 0
2025-12-22T02:13:10.977 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:13:10.979 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:13:11.089 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 188 of 300
2025-12-22T02:13:11.091 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362391.0913115
2025-12-22T02:13:11.091 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.55517926', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:39.95116332', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8778', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.47', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.62953335651', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.524', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.524', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.766401', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='42.870874', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:12:50', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.62', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.86', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.59', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.27', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:12:51', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:13:31.600 [INFO] [Dummy-23907] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:13:31.617 [INFO] [Dummy-23900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:13:35.945 [INFO] [Dummy-23908] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:13:36.184 [INFO] [Dummy-23881] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:13:56.619 [INFO] [Dummy-23909] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:13:56.635 [INFO] [Dummy-23900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:14:01.187 [INFO] [Dummy-23910] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:14:01.430 [INFO] [Dummy-23906] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:14:11.557 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 188 of 300 done. Exposure state = 0
2025-12-22T02:14:11.558 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:14:11.564 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:14:11.706 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 189 of 300
2025-12-22T02:14:11.710 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362451.7101033
2025-12-22T02:14:11.711 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.6354593', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:39.62465787', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3443', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8777', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.47', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.6600986569288', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.448', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.448', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.683563', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='42.665881', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:13:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.97', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.6', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.52', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:13:56', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:14:21.637 [INFO] [Dummy-23911] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:14:21.658 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:14:26.432 [INFO] [Dummy-23913] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:14:26.668 [INFO] [Dummy-23881] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:14:46.660 [INFO] [Dummy-23914] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:14:46.677 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:14:51.670 [INFO] [Dummy-23915] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:14:51.951 [INFO] [Dummy-23916] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:15:11.678 [INFO] [Dummy-23917] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:15:11.695 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:15:12.272 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 189 of 300 done. Exposure state = 0
2025-12-22T02:15:12.272 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:15:12.279 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:15:12.396 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 190 of 300
2025-12-22T02:15:12.400 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362512.4002976
2025-12-22T02:15:12.401 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.58872231', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:40.14090268', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8778', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.48', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.7212292577638', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.371', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.371', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.59941', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='42.458786', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:14:27', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.43', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.59', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.38', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:15:00', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:15:16.952 [INFO] [Dummy-23918] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:15:17.228 [INFO] [Dummy-23919] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:15:36.697 [INFO] [Dummy-23920] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:15:36.714 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:15:42.230 [INFO] [Dummy-23921] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:15:42.471 [INFO] [Dummy-23922] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:16:01.716 [INFO] [Dummy-23923] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:16:01.734 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:16:07.473 [INFO] [Dummy-23924] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:16:07.715 [INFO] [Dummy-23919] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:16:12.844 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 190 of 300 done. Exposure state = 0
2025-12-22T02:16:12.845 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:16:12.851 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:16:12.973 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 191 of 300
2025-12-22T02:16:12.977 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362572.9770973
2025-12-22T02:16:12.978 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.51729751', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:39.68236346', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3438', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8777', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.48', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.7670772083916', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.293', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.293', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.515733', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='42.252253', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:15:32', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.77', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.12', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.6', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.73', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:15:32', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:16:26.736 [INFO] [Dummy-23925] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:16:26.752 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:16:32.716 [INFO] [Dummy-23926] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:16:32.956 [INFO] [Dummy-23922] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:16:51.754 [INFO] [Dummy-23927] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:16:51.771 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:16:57.958 [INFO] [Dummy-23928] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:16:58.205 [INFO] [Dummy-23919] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:17:13.399 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 191 of 300 done. Exposure state = 0
2025-12-22T02:17:13.399 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:17:13.406 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:17:13.513 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 192 of 300
2025-12-22T02:17:13.517 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362633.5175798
2025-12-22T02:17:13.518 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.55433267', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:39.29961746', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8776', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.49', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.8088497856284', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.216', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.216', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.432492', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='42.047199', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:16:36', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.81', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.54', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.59', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.54', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:16:36', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:17:16.773 [INFO] [Dummy-23929] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:17:16.790 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:17:23.208 [INFO] [Dummy-23930] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:17:23.447 [INFO] [Dummy-23922] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:17:41.792 [INFO] [Dummy-23931] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:17:41.809 [INFO] [Dummy-23912] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:17:48.449 [INFO] [Dummy-23932] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:17:48.690 [INFO] [Dummy-23919] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:18:06.811 [INFO] [Dummy-23933] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:18:06.827 [INFO] [Dummy-23934] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:18:13.692 [INFO] [Dummy-23935] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:18:13.932 [INFO] [Dummy-23922] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:18:13.972 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 192 of 300 done. Exposure state = 0
2025-12-22T02:18:13.972 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:18:13.990 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:18:14.091 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 193 of 300
2025-12-22T02:18:14.094 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362694.0944178
2025-12-22T02:18:14.095 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.58524375', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:38.92066348', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3441', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8775', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.5', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.8526600495597', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.138', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.138', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.347671', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='41.838611', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:17:40', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.77', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='24.4', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.56', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.44', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:17:40', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:18:31.829 [INFO] [Dummy-23936] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:18:31.845 [INFO] [Dummy-23937] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:18:38.934 [INFO] [Dummy-23938] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:18:39.176 [INFO] [Dummy-23919] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:18:56.847 [INFO] [Dummy-23939] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:18:56.866 [INFO] [Dummy-23937] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:19:04.179 [INFO] [Dummy-23940] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:19:04.419 [INFO] [Dummy-23922] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:19:14.572 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 193 of 300 done. Exposure state = 0
2025-12-22T02:19:14.572 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:19:14.578 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:19:14.706 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 194 of 300
2025-12-22T02:19:14.709 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362754.7093282
2025-12-22T02:19:14.710 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.52045162', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:39.22508384', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3438', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8776', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.5', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.9199037104795', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='253.061', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='253.061', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.264279', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='41.634516', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:18:44', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.94', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='26.06', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.61', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.86', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:18:44', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:19:21.868 [INFO] [Dummy-23941] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:19:21.883 [INFO] [Dummy-23937] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:19:29.422 [INFO] [Dummy-23942] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:19:29.661 [INFO] [Dummy-23919] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:19:46.885 [INFO] [Dummy-23943] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:19:46.901 [INFO] [Dummy-23937] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:19:54.664 [INFO] [Dummy-23944] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:19:54.912 [INFO] [Dummy-23922] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:20:11.904 [INFO] [Dummy-23945] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:20:11.920 [INFO] [Dummy-23937] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:20:15.154 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 194 of 300 done. Exposure state = 0
2025-12-22T02:20:15.154 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:20:15.161 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:20:15.283 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 195 of 300
2025-12-22T02:20:15.286 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362815.2867415
2025-12-22T02:20:15.287 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.51613591', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:39.26481759', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3438', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8776', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.51', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2348.964732817758', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.983', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.983', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.179834', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='41.427932', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:19:48', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.96', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.84', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.61', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.67', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:19:49', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:20:19.914 [INFO] [Dummy-23946] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:20:20.164 [INFO] [Dummy-23919] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:20:36.922 [INFO] [Dummy-23947] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:20:36.938 [INFO] [Dummy-23937] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:20:45.166 [INFO] [Dummy-23948] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:20:45.407 [INFO] [Dummy-23949] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:21:01.941 [INFO] [Dummy-23950] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:21:01.958 [INFO] [Dummy-23951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:21:10.410 [INFO] [Dummy-23952] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:21:10.644 [INFO] [Dummy-23953] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:21:15.737 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 195 of 300 done. Exposure state = 0
2025-12-22T02:21:15.737 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:21:15.744 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:21:15.859 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 196 of 300
2025-12-22T02:21:15.862 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362875.8622007
2025-12-22T02:21:15.863 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.54929222', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:39.31777487', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.344', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8776', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.52', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.0146561417746', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.906', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.906', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.095792', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='41.222688', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:20:53', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.86', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.19', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.51', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.58', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:20:53', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:21:26.961 [INFO] [Dummy-23954] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:21:26.978 [INFO] [Dummy-23951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:21:35.645 [INFO] [Dummy-23955] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:21:35.880 [INFO] [Dummy-23949] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:21:51.980 [INFO] [Dummy-23956] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:21:51.997 [INFO] [Dummy-23951] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:22:00.882 [INFO] [Dummy-23957] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:22:01.119 [INFO] [Dummy-23953] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:22:16.274 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 196 of 300 done. Exposure state = 0
2025-12-22T02:22:16.274 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:22:16.297 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:22:16.436 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 197 of 300
2025-12-22T02:22:16.439 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362936.4394655
2025-12-22T02:22:16.440 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.52395766', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:38.724595', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3438', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8774', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.52', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.0757867426096', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.827', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.827', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='254.011158', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='41.015744', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:21:25', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.06', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.93', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.57', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.66', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:21:25', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:22:16.999 [INFO] [Dummy-23958] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:22:17.016 [INFO] [Dummy-23959] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:22:26.122 [INFO] [Dummy-23960] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:22:26.362 [INFO] [Dummy-23949] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:22:42.019 [INFO] [Dummy-23961] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:22:42.034 [INFO] [Dummy-23962] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:22:51.364 [INFO] [Dummy-23963] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:22:51.616 [INFO] [Dummy-23953] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:23:07.036 [INFO] [Dummy-23964] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:23:07.055 [INFO] [Dummy-23962] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:23:16.618 [INFO] [Dummy-23965] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:23:16.879 [INFO] [Dummy-23949] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:23:16.945 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 197 of 300 done. Exposure state = 0
2025-12-22T02:23:16.946 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:23:16.952 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:23:17.087 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 198 of 300
2025-12-22T02:23:17.090 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766362997.0903313
2025-12-22T02:23:17.091 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.53505188', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:38.33906317', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3439', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8773', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.53', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.147105776918', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.749', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.749', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.927115', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='40.810782', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:22:29', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='83.92', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.16', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.61', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.09', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:22:29', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:23:32.057 [INFO] [Dummy-23966] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:23:32.074 [INFO] [Dummy-23962] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:23:41.881 [INFO] [Dummy-23967] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:23:42.126 [INFO] [Dummy-23953] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:23:57.075 [INFO] [Dummy-23968] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:23:57.092 [INFO] [Dummy-23962] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:24:07.129 [INFO] [Dummy-23969] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:24:07.366 [INFO] [Dummy-23949] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:24:17.507 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 198 of 300 done. Exposure state = 0
2025-12-22T02:24:17.508 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:24:17.515 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:24:17.663 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 199 of 300
2025-12-22T02:24:17.666 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363057.666923
2025-12-22T02:24:17.668 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.49301247', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:38.92715751', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3437', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8775', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.53', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.2021233176697', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.671', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.671', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.84246', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='40.605595', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:23:33', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.56', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.46', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.21', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:23:34', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:24:17.848 [INFO] [Dummy-23949] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:24:17.849 [INFO] [Dummy-23949] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:24:17.997 [INFO] [Dummy-23970] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:24:17.997 [INFO] [Dummy-23970] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:24:17.997 [INFO] [Dummy-23970] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:24:22.094 [INFO] [Dummy-23971] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:24:22.110 [INFO] [Dummy-23962] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:24:32.367 [INFO] [Dummy-23972] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:24:32.651 [INFO] [Dummy-23953] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:24:47.112 [INFO] [Dummy-23973] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:24:47.130 [INFO] [Dummy-23962] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:24:57.652 [INFO] [Dummy-23974] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:24:57.900 [INFO] [Dummy-23949] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:25:12.132 [INFO] [Dummy-23975] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:25:12.150 [INFO] [Dummy-23962] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:25:18.210 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 199 of 300 done. Exposure state = 0
2025-12-22T02:25:18.210 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:25:18.218 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:25:18.352 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 200 of 300
2025-12-22T02:25:18.356 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363118.3560476
2025-12-22T02:25:18.357 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.46258593', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:38.08574793', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3436', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8772', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.54', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.2500089549926', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='256.5', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.593', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.593', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.758605', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='40.401372', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:24:38', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.62', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.55', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.47', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.59', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:24:38', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:25:22.902 [INFO] [Dummy-23976] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:25:23.141 [INFO] [Dummy-23953] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:25:37.153 [INFO] [Dummy-23977] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:25:37.168 [INFO] [Dummy-23962] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:25:48.143 [INFO] [Dummy-23978] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:25:48.381 [INFO] [Dummy-23979] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:26:02.171 [INFO] [Dummy-23980] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:26:02.187 [INFO] [Dummy-23981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:26:13.382 [INFO] [Dummy-23982] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:26:13.622 [INFO] [Dummy-23979] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:26:18.780 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 200 of 300 done. Exposure state = 0
2025-12-22T02:26:18.780 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:26:18.789 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:26:18.929 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 201 of 300
2025-12-22T02:26:18.932 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363178.9326408
2025-12-22T02:26:18.933 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.47064161', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:38.75506681', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3436', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8774', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.55', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.298913435659', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.513', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.513', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.672859', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='40.194328', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:25:42', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.69', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.66', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.51', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.52', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:25:42', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:26:27.189 [INFO] [Dummy-23983] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:26:27.206 [INFO] [Dummy-23981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:26:38.624 [INFO] [Dummy-23984] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:26:38.881 [INFO] [Dummy-23985] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:26:52.240 [INFO] [Dummy-23986] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:26:52.257 [INFO] [Dummy-23987] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:27:03.883 [INFO] [Dummy-23988] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:27:04.128 [INFO] [Dummy-23979] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:27:17.260 [INFO] [Dummy-23989] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:27:17.278 [INFO] [Dummy-23987] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:27:19.399 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 201 of 300 done. Exposure state = 0
2025-12-22T02:27:19.445 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:27:19.451 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:27:19.579 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 202 of 300
2025-12-22T02:27:19.582 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363239.5826104
2025-12-22T02:27:19.583 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.44533142', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:38.28788084', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3435', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8773', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.55', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.354949819758', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.435', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.435', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.588783', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='39.990635', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:26:46', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.79', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.69', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.51', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.36', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:26:47', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:27:29.131 [INFO] [Dummy-23990] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:27:29.379 [INFO] [Dummy-23991] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:27:42.281 [INFO] [Dummy-23992] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:27:42.297 [INFO] [Dummy-23993] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:27:54.381 [INFO] [Dummy-23994] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:27:54.639 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:28:07.300 [INFO] [Dummy-23996] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:28:07.316 [INFO] [Dummy-23993] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:28:19.641 [INFO] [Dummy-23997] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:28:19.883 [INFO] [Dummy-23998] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:28:20.117 [INFO] [Dummy-23998] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:28:20.117 [INFO] [Dummy-23998] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:28:20.135 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 202 of 300 done. Exposure state = 0
2025-12-22T02:28:20.135 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:28:20.140 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:28:20.272 [INFO] [Dummy-23999] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:28:20.272 [INFO] [Dummy-23999] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:28:20.272 [INFO] [Dummy-23999] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:28:20.456 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 203 of 300
2025-12-22T02:28:20.459 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363300.4594753
2025-12-22T02:28:20.460 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40463218', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:38.35395522', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8773', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.56', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.421174637331', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.356', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.356', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.50316', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='39.784061', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:27:18', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.79', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.91', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.49', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.37', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:27:19', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:28:32.318 [INFO] [Dummy-24000] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:28:32.334 [INFO] [Dummy-23993] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:28:44.885 [INFO] [Dummy-24001] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:28:45.129 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:28:57.337 [INFO] [Dummy-24002] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:28:57.354 [INFO] [Dummy-23993] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:29:10.131 [INFO] [Dummy-24003] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:29:10.375 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:29:20.900 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 203 of 300 done. Exposure state = 0
2025-12-22T02:29:20.900 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:29:20.923 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:29:21.071 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 204 of 300
2025-12-22T02:29:21.074 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363361.0740988
2025-12-22T02:29:21.075 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.43551262', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:37.81660891', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3435', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8772', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.57', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.478229864778', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.276', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.276', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.417526', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='39.577283', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:28:22', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.79', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.61', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.47', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:28:23', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:29:22.356 [INFO] [Dummy-24005] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:29:22.372 [INFO] [Dummy-23993] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:29:35.377 [INFO] [Dummy-24006] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:29:35.615 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:29:47.375 [INFO] [Dummy-24007] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:29:47.390 [INFO] [Dummy-24008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:30:00.617 [INFO] [Dummy-24009] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:30:00.858 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:30:12.393 [INFO] [Dummy-24010] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:30:12.409 [INFO] [Dummy-24008] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:30:21.587 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 204 of 300 done. Exposure state = 0
2025-12-22T02:30:21.588 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:30:21.594 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:30:21.761 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 205 of 300
2025-12-22T02:30:21.764 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363421.7645297
2025-12-22T02:30:21.765 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40562808', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:37.91474255', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8772', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.57', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.536303935571', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.198', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.198', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.333493', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='39.375303', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:29:26', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.89', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.71', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.46', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.38', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:29:27', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:30:25.860 [INFO] [Dummy-24011] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:30:26.096 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:30:37.411 [INFO] [Dummy-24012] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:30:37.428 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:30:51.097 [INFO] [Dummy-24014] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:30:51.335 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:31:02.429 [INFO] [Dummy-24015] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:31:02.446 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:31:16.337 [INFO] [Dummy-24016] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:31:16.574 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:31:22.272 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 205 of 300 done. Exposure state = 0
2025-12-22T02:31:22.273 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:31:22.279 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:31:22.450 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 206 of 300
2025-12-22T02:31:22.454 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363482.4541202
2025-12-22T02:31:22.455 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.4063563', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:37.95431803', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8772', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.58', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.590302632976', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.118', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.118', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.24744', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='39.168786', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:30:31', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='84.87', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.34', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.41', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.25', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:31:03', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:31:27.448 [INFO] [Dummy-24017] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:31:27.466 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:31:41.576 [INFO] [Dummy-24018] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:31:41.815 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:31:52.468 [INFO] [Dummy-24019] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:31:52.485 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:32:06.817 [INFO] [Dummy-24020] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:32:07.055 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:32:17.488 [INFO] [Dummy-24021] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:32:17.504 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:32:22.881 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 206 of 300 done. Exposure state = 0
2025-12-22T02:32:22.882 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:32:22.888 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:32:23.102 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 207 of 300
2025-12-22T02:32:23.105 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363543.105735
2025-12-22T02:32:23.107 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.41715847', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:37.92158043', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8772', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.59', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.6310563668662', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='252.038', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='252.038', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.162225', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='38.964589', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:32:07', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.5', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.99', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.36', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.25', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:32:07', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:32:32.057 [INFO] [Dummy-24022] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:32:32.297 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:32:42.506 [INFO] [Dummy-24023] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:32:42.520 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:32:57.300 [INFO] [Dummy-24024] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:32:57.537 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:33:07.523 [INFO] [Dummy-24025] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:33:07.541 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:33:22.539 [INFO] [Dummy-24026] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:33:22.790 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:33:23.618 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 207 of 300 done. Exposure state = 0
2025-12-22T02:33:23.618 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:33:23.625 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:33:23.796 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:33:23.797 [INFO] [Dummy-24004] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:33:23.944 [INFO] [Dummy-24027] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:33:23.944 [INFO] [Dummy-24027] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:33:23.944 [INFO] [Dummy-24027] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:33:23.988 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 208 of 300
2025-12-22T02:33:23.990 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363603.9900253
2025-12-22T02:33:23.990 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.45888077', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:37.55668659', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3436', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8771', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.59', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.6952434977447', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.957', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.957', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='253.075849', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='38.7577', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:33:11', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.62', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.46', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.36', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.39', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:33:12', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:33:32.543 [INFO] [Dummy-24028] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:33:32.559 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:33:47.792 [INFO] [Dummy-24029] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:33:48.029 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:33:57.562 [INFO] [Dummy-24030] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:33:57.578 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:34:13.031 [INFO] [Dummy-24031] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:34:13.274 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:34:22.580 [INFO] [Dummy-24032] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:34:22.597 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:34:24.395 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 208 of 300 done. Exposure state = 0
2025-12-22T02:34:24.395 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:34:24.402 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:34:24.478 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:34:24.479 [INFO] [Dummy-24004] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:34:24.621 [INFO] [Dummy-24033] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:34:24.622 [INFO] [Dummy-24033] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:34:24.622 [INFO] [Dummy-24033] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:34:24.705 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 209 of 300
2025-12-22T02:34:24.707 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363664.707757
2025-12-22T02:34:24.708 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.37753659', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:37.96962176', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3432', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8772', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.6', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.762487158662', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.877', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.877', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.989827', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='38.552735', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:33:43', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.64', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.23', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.39', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.39', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:33:44', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:34:38.275 [INFO] [Dummy-24034] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:34:38.515 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:34:47.599 [INFO] [Dummy-24035] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:34:47.616 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:35:03.517 [INFO] [Dummy-24036] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:35:03.756 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:35:12.618 [INFO] [Dummy-24037] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:35:12.635 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:35:25.207 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 209 of 300 done. Exposure state = 0
2025-12-22T02:35:25.207 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:35:25.214 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:35:25.435 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:35:25.435 [INFO] [Dummy-24004] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:35:25.438 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 210 of 300
2025-12-22T02:35:25.441 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363725.4417539
2025-12-22T02:35:25.443 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.43279084', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.78353804', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3435', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8769', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.61', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.812410482679', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.797', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.797', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.903907', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='38.346976', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:34:47', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.69', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='25.02', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.37', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.4', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:34:48', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:35:25.580 [INFO] [Dummy-24038] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:35:25.580 [INFO] [Dummy-24038] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:35:25.581 [INFO] [Dummy-24038] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:35:28.758 [INFO] [Dummy-24039] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:35:28.998 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:35:37.637 [INFO] [Dummy-24040] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:35:37.653 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:35:53.999 [INFO] [Dummy-24041] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:35:54.238 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:36:02.655 [INFO] [Dummy-24042] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:36:02.672 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:36:19.241 [INFO] [Dummy-24043] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:36:19.472 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:36:26.038 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 210 of 300 done. Exposure state = 0
2025-12-22T02:36:26.038 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:36:26.064 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:36:26.274 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 211 of 300
2025-12-22T02:36:26.278 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363786.2784004
2025-12-22T02:36:26.279 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40796834', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.97510888', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8769', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.62', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.8439946264443', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.716', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.716', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.817574', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='38.141848', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:35:52', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.72', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.46', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.36', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.23', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:35:52', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:36:27.674 [INFO] [Dummy-24044] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:36:27.693 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:36:44.474 [INFO] [Dummy-24045] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:36:44.715 [INFO] [Dummy-24004] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:36:52.695 [INFO] [Dummy-24046] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:36:52.712 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:37:09.717 [INFO] [Dummy-24047] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:37:09.957 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:37:17.714 [INFO] [Dummy-24048] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:37:17.731 [INFO] [Dummy-24013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:37:26.693 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 211 of 300 done. Exposure state = 0
2025-12-22T02:37:26.694 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:37:26.701 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:37:26.790 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:37:26.791 [INFO] [Dummy-23995] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:37:26.936 [INFO] [Dummy-24049] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:37:26.936 [INFO] [Dummy-24049] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:37:26.936 [INFO] [Dummy-24049] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:37:27.077 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 212 of 300
2025-12-22T02:37:27.080 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363847.0804145
2025-12-22T02:37:27.081 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.44714151', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.46990098', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3435', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8768', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.62', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.911238287362', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.636', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.636', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.732266', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='37.938929', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:36:56', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.82', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.3', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.37', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:36:56', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:37:34.959 [INFO] [Dummy-24050] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:37:35.200 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:37:42.733 [INFO] [Dummy-24052] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:37:42.749 [INFO] [Dummy-24053] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:38:00.203 [INFO] [Dummy-24054] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:38:00.442 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:38:07.751 [INFO] [Dummy-24055] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:38:07.768 [INFO] [Dummy-24056] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:38:25.445 [INFO] [Dummy-24057] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:38:25.683 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:38:27.525 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 212 of 300 done. Exposure state = 0
2025-12-22T02:38:27.526 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:38:27.551 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:38:27.842 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 213 of 300
2025-12-22T02:38:27.846 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363907.846119
2025-12-22T02:38:27.847 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40970151', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.62226942', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8768', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.63', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2349.9530108646013', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.555', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.555', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.644955', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='37.732228', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:37:28', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.82', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.78', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.36', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.46', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:38:00', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:38:27.932 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:38:27.932 [INFO] [Dummy-24051] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:38:28.096 [INFO] [Dummy-24058] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:38:28.096 [INFO] [Dummy-24058] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:38:28.096 [INFO] [Dummy-24058] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:38:32.770 [INFO] [Dummy-24059] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:38:32.785 [INFO] [Dummy-24060] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:38:50.684 [INFO] [Dummy-24061] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:38:50.918 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:38:57.786 [INFO] [Dummy-24062] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:38:57.803 [INFO] [Dummy-24060] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:39:15.920 [INFO] [Dummy-24063] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:39:16.154 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:39:22.804 [INFO] [Dummy-24064] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:39:22.819 [INFO] [Dummy-24060] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:39:28.327 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:39:28.327 [INFO] [Dummy-23995] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:39:28.515 [INFO] [Dummy-24065] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:39:28.515 [INFO] [Dummy-24065] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:39:28.515 [INFO] [Dummy-24065] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:39:28.558 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 213 of 300 done. Exposure state = 0
2025-12-22T02:39:28.558 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:39:28.560 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:39:28.758 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 214 of 300
2025-12-22T02:39:28.761 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766363968.761568
2025-12-22T02:39:28.762 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.4039036', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.44965867', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3433', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8768', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.64', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.012103778742', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.474', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.474', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.558814', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='37.528412', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:39:04', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.87', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='23.57', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.31', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.69', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:39:04', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:39:41.156 [INFO] [Dummy-24066] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:39:41.393 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:39:47.820 [INFO] [Dummy-24067] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:39:47.837 [INFO] [Dummy-24060] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:40:06.395 [INFO] [Dummy-24068] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:40:06.632 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:40:12.839 [INFO] [Dummy-24069] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:40:12.856 [INFO] [Dummy-24060] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:40:29.180 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 214 of 300 done. Exposure state = 0
2025-12-22T02:40:29.180 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:40:29.182 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:40:29.407 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 215 of 300
2025-12-22T02:40:29.409 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364029.4095664
2025-12-22T02:40:29.409 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.41564667', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:35.69332218', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8766', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.64', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.064064789453', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.393', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.393', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.472592', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='37.324293', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:40:08', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.95', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='21.83', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.27', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.11', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:40:08', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:40:31.634 [INFO] [Dummy-24070] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:40:31.872 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:40:37.858 [INFO] [Dummy-24071] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:40:37.876 [INFO] [Dummy-24060] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:40:56.874 [INFO] [Dummy-24072] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:40:57.114 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:41:02.878 [INFO] [Dummy-24073] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:41:02.893 [INFO] [Dummy-24060] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:41:22.116 [INFO] [Dummy-24074] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:41:22.353 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:41:27.894 [INFO] [Dummy-24075] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:41:27.913 [INFO] [Dummy-24060] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:41:29.854 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 215 of 300 done. Exposure state = 0
2025-12-22T02:41:29.854 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:41:29.877 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:41:30.138 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 216 of 300
2025-12-22T02:41:30.141 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364090.141325
2025-12-22T02:41:30.142 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.34726774', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.08065157', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3431', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8767', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.65', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.113988113467', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.311', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.311', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.385077', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='37.118518', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:40:40', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='85.97', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.5', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.27', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.61', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:40:41', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:41:30.340 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:41:30.341 [INFO] [Dummy-24051] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:41:30.483 [INFO] [Dummy-24076] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:41:30.483 [INFO] [Dummy-24076] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:41:30.483 [INFO] [Dummy-24076] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:41:47.354 [INFO] [Dummy-24077] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:41:47.632 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:41:52.915 [INFO] [Dummy-24078] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:41:52.931 [INFO] [Dummy-24079] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:42:12.634 [INFO] [Dummy-24080] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:42:12.872 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:42:17.933 [INFO] [Dummy-24081] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:42:17.950 [INFO] [Dummy-24079] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:42:30.693 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 216 of 300 done. Exposure state = 0
2025-12-22T02:42:30.693 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:42:30.721 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:42:30.978 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 217 of 300
2025-12-22T02:42:30.981 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364150.981621
2025-12-22T02:42:30.982 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.37184553', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.48666311', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3432', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8768', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.66', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.18021293104', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.229', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.229', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.297974', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='36.91414', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:41:44', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='86.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.72', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.27', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.12', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:41:45', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:42:31.183 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:42:31.183 [INFO] [Dummy-24051] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:42:31.327 [INFO] [Dummy-24082] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:42:31.327 [INFO] [Dummy-24082] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:42:31.327 [INFO] [Dummy-24082] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:42:37.874 [INFO] [Dummy-24083] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:42:38.113 [INFO] [Dummy-23995] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:42:42.951 [INFO] [Dummy-24084] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:42:42.965 [INFO] [Dummy-24079] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:43:03.114 [INFO] [Dummy-24085] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:43:03.358 [INFO] [Dummy-24051] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:43:07.967 [INFO] [Dummy-24086] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:43:07.984 [INFO] [Dummy-24079] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:43:28.360 [INFO] [Dummy-24087] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:43:28.593 [INFO] [Dummy-24088] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:43:31.629 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 217 of 300 done. Exposure state = 0
2025-12-22T02:43:31.630 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:43:31.658 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:43:31.931 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 218 of 300
2025-12-22T02:43:31.935 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364211.9349942
2025-12-22T02:43:31.936 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.3908555', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.04688518', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3433', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8767', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.67', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.2423623752215', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.147', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.148', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.210845', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='36.709376', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:42:48', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='86.53', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.01', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.66', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:42:49', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:43:31.984 [INFO] [Dummy-24088] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:43:31.984 [INFO] [Dummy-24088] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:43:32.147 [INFO] [Dummy-24089] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:43:32.148 [INFO] [Dummy-24089] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:43:32.148 [INFO] [Dummy-24089] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:43:32.986 [INFO] [Dummy-24090] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:43:33.002 [INFO] [Dummy-24079] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:43:53.595 [INFO] [Dummy-24091] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:43:53.834 [INFO] [Dummy-24092] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:43:58.004 [INFO] [Dummy-24093] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:43:58.020 [INFO] [Dummy-24079] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:44:18.837 [INFO] [Dummy-24094] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:44:19.069 [INFO] [Dummy-24088] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:44:23.022 [INFO] [Dummy-24095] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:44:23.037 [INFO] [Dummy-24079] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:44:32.393 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 218 of 300 done. Exposure state = 0
2025-12-22T02:44:32.393 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:44:32.401 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:44:32.547 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 219 of 300
2025-12-22T02:44:32.550 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364272.5508192
2025-12-22T02:44:32.552 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.4268871', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.06375377', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8767', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.68', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.2668146155575', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='251.067', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='251.067', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.125074', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='36.508589', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:43:55', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='86.6', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.87', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.21', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.3', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:43:55', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:44:44.071 [INFO] [Dummy-24096] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:44:44.309 [INFO] [Dummy-24092] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:44:48.038 [INFO] [Dummy-24097] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:44:48.056 [INFO] [Dummy-24079] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:45:09.310 [INFO] [Dummy-24098] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:45:09.598 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:45:13.057 [INFO] [Dummy-24100] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:45:13.073 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:45:33.003 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 219 of 300 done. Exposure state = 0
2025-12-22T02:45:33.003 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:45:33.010 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:45:33.125 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 220 of 300
2025-12-22T02:45:33.128 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364333.1289148
2025-12-22T02:45:33.130 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.42113095', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:36.10713256', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8767', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.68', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.323869843004', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.984', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.984', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='252.037063', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='36.302996', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:44:59', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='86.75', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.55', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.39', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.7', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:44:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:45:34.600 [INFO] [Dummy-24102] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:45:34.845 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:45:38.074 [INFO] [Dummy-24104] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:45:38.090 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:45:59.848 [INFO] [Dummy-24105] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:46:00.087 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:46:03.091 [INFO] [Dummy-24106] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:46:03.106 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:46:25.090 [INFO] [Dummy-24107] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:46:25.329 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:46:28.107 [INFO] [Dummy-24108] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:46:28.121 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:46:33.563 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 220 of 300 done. Exposure state = 0
2025-12-22T02:46:33.563 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:46:33.571 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:46:33.701 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 221 of 300
2025-12-22T02:46:33.705 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364393.7051485
2025-12-22T02:46:33.706 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40870177', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:35.17876189', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8764', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.69', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.377868540409', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.903', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.903', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.950958', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='36.101435', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:46:03', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='86.73', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.79', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.21', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='2.0', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:46:04', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:46:50.331 [INFO] [Dummy-24109] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:46:50.572 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:46:53.124 [INFO] [Dummy-24110] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:46:53.140 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:47:15.574 [INFO] [Dummy-24111] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:47:15.815 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:47:18.143 [INFO] [Dummy-24112] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:47:18.158 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:47:34.127 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 221 of 300 done. Exposure state = 0
2025-12-22T02:47:34.127 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:47:34.134 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:47:34.241 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 222 of 300
2025-12-22T02:47:34.244 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364454.2444065
2025-12-22T02:47:34.245 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.35789586', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:35.14795752', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3432', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8764', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.7', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.432886081161', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.821', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.821', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.863382', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='35.897621', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:46:35', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='86.68', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.97', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.19', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.69', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:46:37', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:47:40.817 [INFO] [Dummy-24113] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:47:41.055 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:47:43.159 [INFO] [Dummy-24114] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:47:43.177 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:48:06.058 [INFO] [Dummy-24115] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:48:06.298 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:48:08.180 [INFO] [Dummy-24116] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:48:08.195 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:48:31.300 [INFO] [Dummy-24117] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:48:31.539 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:48:33.197 [INFO] [Dummy-24118] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:48:33.215 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:48:34.701 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:48:34.702 [INFO] [Dummy-24099] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:48:34.847 [INFO] [Dummy-24119] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:48:34.847 [INFO] [Dummy-24119] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:48:34.847 [INFO] [Dummy-24119] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:48:34.892 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 222 of 300 done. Exposure state = 0
2025-12-22T02:48:34.892 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:48:34.894 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:48:35.006 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 223 of 300
2025-12-22T02:48:35.009 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364515.0096598
2025-12-22T02:48:35.010 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.4321291', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:35.22482477', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3435', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8765', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.71', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.492997838649', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.738', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.738', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.775349', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='35.693258', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:47:40', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='86.85', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.89', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.22', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.42', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:47:41', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:48:56.541 [INFO] [Dummy-24120] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:48:56.780 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:48:58.216 [INFO] [Dummy-24121] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:48:58.233 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:49:21.782 [INFO] [Dummy-24122] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:49:22.021 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:49:23.235 [INFO] [Dummy-24123] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:49:23.251 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:49:35.465 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 223 of 300 done. Exposure state = 0
2025-12-22T02:49:35.465 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:49:35.472 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:49:35.621 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 224 of 300
2025-12-22T02:49:35.624 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364575.6244073
2025-12-22T02:49:35.625 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.43447423', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:34.31038988', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3435', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8762', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.72', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.550053066095', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.655', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.655', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.687536', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='35.488996', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:48:45', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.37', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.23', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.19', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:48:46', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:49:35.653 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:49:35.653 [INFO] [Dummy-24099] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:49:35.794 [INFO] [Dummy-24124] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:49:35.794 [INFO] [Dummy-24124] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:49:35.794 [INFO] [Dummy-24124] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:49:47.024 [INFO] [Dummy-24125] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:49:47.263 [INFO] [Dummy-24099] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:49:48.253 [INFO] [Dummy-24126] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:49:48.269 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:50:12.266 [INFO] [Dummy-24127] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:50:12.973 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:50:13.271 [INFO] [Dummy-24129] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:50:13.289 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:50:36.049 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 224 of 300 done. Exposure state = 0
2025-12-22T02:50:36.050 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:50:36.056 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:50:36.160 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 225 of 300
2025-12-22T02:50:36.164 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364636.1639922
2025-12-22T02:50:36.165 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.37404794', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:34.83426393', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3432', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8763', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.73', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.603032920153', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.573', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.573', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.600524', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='35.288208', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:49:50', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.4', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='22.48', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.19', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:49:50', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:50:37.976 [INFO] [Dummy-24130] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:50:38.241 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:50:38.291 [INFO] [Dummy-24131] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:50:38.307 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:51:03.244 [INFO] [Dummy-24132] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:51:03.309 [INFO] [Dummy-24133] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:51:03.326 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:51:03.487 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:51:28.329 [INFO] [Dummy-24134] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:51:28.345 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:51:28.489 [INFO] [Dummy-24135] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:51:28.728 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:51:36.608 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 225 of 300 done. Exposure state = 0
2025-12-22T02:51:36.608 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:51:36.615 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:51:36.694 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:51:36.695 [INFO] [Dummy-24103] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:51:36.841 [INFO] [Dummy-24136] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:51:36.841 [INFO] [Dummy-24136] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:51:36.841 [INFO] [Dummy-24136] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:51:36.924 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 226 of 300
2025-12-22T02:51:36.926 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364696.9267025
2025-12-22T02:51:36.927 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40544253', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:35.09246782', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8764', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.74', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.6794461711975', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.49', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.49', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.511798', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='35.083665', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:50:54', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.47', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.72', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.26', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:50:54', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:51:53.347 [INFO] [Dummy-24137] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:51:53.364 [INFO] [Dummy-24101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:51:53.730 [INFO] [Dummy-24138] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:51:53.968 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:52:18.366 [INFO] [Dummy-24139] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:52:18.382 [INFO] [Dummy-24140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:52:18.970 [INFO] [Dummy-24141] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:52:19.231 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:52:37.381 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 226 of 300 done. Exposure state = 0
2025-12-22T02:52:37.382 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:52:37.388 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:52:37.504 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 227 of 300
2025-12-22T02:52:37.507 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364757.5072117
2025-12-22T02:52:37.508 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40252825', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:34.92696628', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3433', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8764', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.74', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.71918106174', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.407', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.407', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.424076', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='34.881512', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:51:58', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.45', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.7', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.24', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:52:43.384 [INFO] [Dummy-24142] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:52:43.401 [INFO] [Dummy-24140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:52:44.233 [INFO] [Dummy-24143] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:52:44.469 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:53:08.403 [INFO] [Dummy-24144] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:53:08.420 [INFO] [Dummy-24140] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:53:09.488 [INFO] [Dummy-24145] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:53:09.726 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:53:33.423 [INFO] [Dummy-24146] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:53:33.441 [INFO] [Dummy-24147] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:53:34.728 [INFO] [Dummy-24148] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:53:34.965 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:53:37.936 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 227 of 300 done. Exposure state = 0
2025-12-22T02:53:37.936 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:53:37.943 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:53:38.041 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 228 of 300
2025-12-22T02:53:38.043 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364818.043422
2025-12-22T02:53:38.043 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40895831', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:34.64237654', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8763', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.75', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.7905000960486', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.324', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.324', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.336219', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='34.67938', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:52:30', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.55', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.17', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.24', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:53:58.443 [INFO] [Dummy-24149] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:53:58.460 [INFO] [Dummy-24150] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:53:59.966 [INFO] [Dummy-24151] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:54:00.199 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:54:23.462 [INFO] [Dummy-24152] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:54:23.480 [INFO] [Dummy-24150] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:54:25.201 [INFO] [Dummy-24153] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:54:25.440 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:54:38.500 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 228 of 300 done. Exposure state = 0
2025-12-22T02:54:38.500 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:54:38.524 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:54:38.658 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 229 of 300
2025-12-22T02:54:38.662 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364878.6620646
2025-12-22T02:54:38.663 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.45707099', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:33.7877029', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3436', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8761', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.76', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.880158310608', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.239', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.24', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.247459', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='34.475138', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:54:07', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.48', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.51', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.19', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:54:48.483 [INFO] [Dummy-24154] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:54:48.500 [INFO] [Dummy-24150] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:54:50.464 [INFO] [Dummy-24155] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:54:50.702 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:55:13.502 [INFO] [Dummy-24156] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:55:13.518 [INFO] [Dummy-24150] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:55:15.704 [INFO] [Dummy-24157] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:55:15.946 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:55:38.520 [INFO] [Dummy-24158] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:55:38.536 [INFO] [Dummy-24150] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:55:39.123 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 229 of 300 done. Exposure state = 0
2025-12-22T02:55:39.123 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:55:39.130 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:55:39.236 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 230 of 300
2025-12-22T02:55:39.239 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364939.2393482
2025-12-22T02:55:39.240 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.43257674', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:33.81367045', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3435', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8761', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.77', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.9514773449164', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.156', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.156', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.159511', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='34.273914', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:54:07', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.48', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.51', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.19', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:55:40.949 [INFO] [Dummy-24159] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:55:41.185 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:56:03.538 [INFO] [Dummy-24160] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:56:03.558 [INFO] [Dummy-24150] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:56:06.187 [INFO] [Dummy-24161] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:56:06.423 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:56:28.561 [INFO] [Dummy-24162] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:56:28.577 [INFO] [Dummy-24163] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:56:31.425 [INFO] [Dummy-24164] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:56:31.665 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:56:39.782 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 230 of 300 done. Exposure state = 0
2025-12-22T02:56:39.782 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:56:39.784 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:56:39.885 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 231 of 300
2025-12-22T02:56:39.887 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766364999.887553
2025-12-22T02:56:39.887 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.34962018', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:33.34109369', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3431', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8759', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.78', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2350.990193392112', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='250.072', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='250.072', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='251.070279', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='34.069783', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:54:07', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.48', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.51', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.19', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:56:53.579 [INFO] [Dummy-24165] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:56:53.595 [INFO] [Dummy-24163] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:56:56.668 [INFO] [Dummy-24166] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:56:56.908 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:57:18.597 [INFO] [Dummy-24167] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:57:18.613 [INFO] [Dummy-24163] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:57:21.910 [INFO] [Dummy-24168] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:57:22.146 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:57:40.349 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 231 of 300 done. Exposure state = 0
2025-12-22T02:57:40.350 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:57:40.356 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:57:40.466 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 232 of 300
2025-12-22T02:57:40.469 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766365060.4693148
2025-12-22T02:57:40.470 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.42349522', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:33.42877172', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.876', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.79', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2351.0666066431563', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='249.988', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='249.988', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='250.981729', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='33.868112', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:57:19', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.71', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='16.96', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.14', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:57:40.948 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T02:57:40.949 [INFO] [Dummy-24103] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:57:41.089 [INFO] [Dummy-24169] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T02:57:41.089 [INFO] [Dummy-24169] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T02:57:41.089 [INFO] [Dummy-24169] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T02:57:43.617 [INFO] [Dummy-24170] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:57:43.632 [INFO] [Dummy-24163] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:57:47.149 [INFO] [Dummy-24171] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:57:47.382 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:58:08.634 [INFO] [Dummy-24172] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:58:08.652 [INFO] [Dummy-24163] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:58:12.384 [INFO] [Dummy-24173] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:58:12.622 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:58:33.655 [INFO] [Dummy-24174] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:58:33.672 [INFO] [Dummy-24175] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:58:37.625 [INFO] [Dummy-24176] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:58:37.859 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:58:40.996 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 232 of 300 done. Exposure state = 0
2025-12-22T02:58:40.996 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:58:41.003 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:58:41.118 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 233 of 300
2025-12-22T02:58:41.122 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766365121.1220462
2025-12-22T02:58:41.123 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.38005993', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:34.25089996', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3433', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8762', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.8', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2351.128756087338', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='249.905', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='249.905', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='250.893201', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='33.667517', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:58:23', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.73', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='20.47', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.06', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:58:58.675 [INFO] [Dummy-24177] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:58:58.691 [INFO] [Dummy-24178] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:59:02.862 [INFO] [Dummy-24179] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:59:03.096 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:59:23.694 [INFO] [Dummy-24180] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:59:23.713 [INFO] [Dummy-24178] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:59:28.098 [INFO] [Dummy-24181] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:59:28.357 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T02:59:41.550 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 233 of 300 done. Exposure state = 0
2025-12-22T02:59:41.551 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T02:59:41.557 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T02:59:41.695 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 234 of 300
2025-12-22T02:59:41.698 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766365181.6989226
2025-12-22T02:59:41.700 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.34531908', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:33.45642378', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3431', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.876', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.81', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2351.2051693383823', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='253.0', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='249.821', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='249.821', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='250.804768', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='33.466272', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:58:55', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.76', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='18.62', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.01', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T02:59:48.715 [INFO] [Dummy-24182] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T02:59:48.735 [INFO] [Dummy-24178] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T02:59:53.359 [INFO] [Dummy-24183] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T02:59:53.594 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:00:13.737 [INFO] [Dummy-24184] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:00:13.753 [INFO] [Dummy-24185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:00:18.596 [INFO] [Dummy-24186] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:00:18.834 [INFO] [Dummy-24128] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:00:38.756 [INFO] [Dummy-24187] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:00:38.772 [INFO] [Dummy-24185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:00:42.110 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 234 of 300 done. Exposure state = 0
2025-12-22T03:00:42.156 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T03:00:42.158 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T03:00:42.273 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 235 of 300
2025-12-22T03:00:42.277 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766365242.2776396
2025-12-22T03:00:42.279 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.42700404', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:32.94268219', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8758', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.82', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2351.2673187825667', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='249.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='249.736', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='249.736', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='250.715804', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='33.264494', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T02:59:59', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.83', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='15.0', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.08', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T03:00:43.837 [INFO] [Dummy-24188] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:00:44.080 [INFO] [Dummy-24189] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:01:03.774 [INFO] [Dummy-24190] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:01:03.786 [INFO] [Dummy-24185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:01:09.082 [INFO] [Dummy-24191] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:01:09.316 [INFO] [Dummy-24192] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:01:28.788 [INFO] [Dummy-24193] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:01:28.806 [INFO] [Dummy-24194] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:01:34.318 [INFO] [Dummy-24195] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:01:34.560 [INFO] [Dummy-24103] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:01:42.752 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 235 of 300 done. Exposure state = 0
2025-12-22T03:01:42.753 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T03:01:42.779 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T03:01:42.925 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 236 of 300
2025-12-22T03:01:42.928 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766365302.9285793
2025-12-22T03:01:42.929 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.38197029', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:32.95129502', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3433', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8758', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.83', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2351.311129046498', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='249.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='249.65', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='249.651', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='250.625175', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='33.059825', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T03:01:03', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='87.86', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.43', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.04', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T03:01:53.808 [INFO] [Dummy-24196] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:01:53.824 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:01:59.562 [INFO] [Dummy-24198] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:01:59.802 [INFO] [Dummy-24192] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:02:18.826 [INFO] [Dummy-24199] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:02:18.842 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:02:24.804 [INFO] [Dummy-24200] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:02:25.042 [INFO] [Dummy-24201] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:02:43.337 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 236 of 300 done. Exposure state = 0
2025-12-22T03:02:43.337 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T03:02:43.344 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T03:02:43.464 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 237 of 300
2025-12-22T03:02:43.468 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766365363.4681356
2025-12-22T03:02:43.469 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.43194912', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:32.43134865', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3435', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8757', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.84', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2351.4048626344456', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='249.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='249.567', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='249.567', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='250.536747', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='32.860157', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T03:02:07', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='88.45', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.91', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.06', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T03:02:43.844 [INFO] [Dummy-24202] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:02:43.860 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:02:50.045 [INFO] [Dummy-24203] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:02:50.285 [INFO] [Dummy-24204] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:03:08.861 [INFO] [Dummy-24205] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:03:08.878 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:03:15.287 [INFO] [Dummy-24206] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:03:15.519 [INFO] [Dummy-24201] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:03:33.881 [INFO] [Dummy-24207] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:03:33.899 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:03:40.521 [INFO] [Dummy-24208] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:03:40.768 [INFO] [Dummy-24209] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:03:43.948 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 237 of 300 done. Exposure state = 0
2025-12-22T03:03:43.949 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T03:03:43.956 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T03:03:44.077 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 238 of 300
2025-12-22T03:03:44.081 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766365424.0811772
2025-12-22T03:03:44.082 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.37320867', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:32.35759509', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3432', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8757', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.85', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2351.452748271768', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='249.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='249.481', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='249.481', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='250.447025', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='32.658375', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T03:03:12', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='88.5', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='17.8', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.04', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T03:03:58.901 [INFO] [Dummy-24210] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:03:58.920 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:04:05.770 [INFO] [Dummy-24211] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:04:06.010 [INFO] [Dummy-24201] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:04:23.923 [INFO] [Dummy-24212] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:04:23.939 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:04:31.012 [INFO] [Dummy-24213] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:04:31.243 [INFO] [Dummy-24209] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:04:44.486 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 238 of 300 done. Exposure state = 0
2025-12-22T03:04:44.486 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T03:04:44.493 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T03:04:44.616 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 239 of 300
2025-12-22T03:04:44.620 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Actual start time = 1766365484.6203609
2025-12-22T03:04:44.621 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Setting fits info: [FitsHeaderCard(key='TARG_RA', valtype=2, val='03:53:13', comment='The target right ascension'), FitsHeaderCard(key='TARG_DEC', valtype=2, val='-31:55:24', comment='The target declination'), FitsHeaderCard(key='OBSERVER', valtype=2, val='Matt Burleigh', comment='The observer name'), FitsHeaderCard(key='OBJECT', valtype=2, val='NOI-106846', comment='The object name'), FitsHeaderCard(key='RA', valtype=2, val='03:53:22.40673083', comment='The telescope right ascension (hh:mm:ss)'), FitsHeaderCard(key='DEC', valtype=2, val='-31:52:32.43933968', comment='The telescope declination (dd:mm:ss)'), FitsHeaderCard(key='TELRA', valtype=1, val='58.3434', comment='The telescope right ascension in decimal degrees'), FitsHeaderCard(key='TELDEC', valtype=1, val='-31.8757', comment='The telescope declination in decimal degrees'), FitsHeaderCard(key='TELEPOCH', valtype=1, val='2000', comment='The Epoch used by the telescope'), FitsHeaderCard(key='AIRMASS', valtype=1, val='1.86', comment='The airmass (sec(z))'), FitsHeaderCard(key='ZD', valtype=2, val='NA', comment='The airmass (sec(z))'), FitsHeaderCard(key='TELFOCUS', valtype=1, val='2351.5169354026443', comment='The telescope focus (microns)'), FitsHeaderCard(key='DOMEPOS', valtype=1, val='249.7', comment='The dome angle'), FitsHeaderCard(key='ROTSKYPA', valtype=1, val='249.396', comment='Rotator position angle'), FitsHeaderCard(key='ROTANGLE', valtype=1, val='249.396', comment='The rotator angle'), FitsHeaderCard(key='OBSERVAT', valtype=2, val='SAAO', comment='The observatory name'), FitsHeaderCard(key='AZIMUTH', valtype=1, val='250.357335', comment='The azimuth axis position'), FitsHeaderCard(key='ALTITUDE', valtype=1, val='32.457246', comment='The altitude axis position'), FitsHeaderCard(key='LONGITUD', valtype=1, val='20.8104999999952', comment='The longitude of the telescope'), FitsHeaderCard(key='LATITUDE', valtype=1, val='-32.3797222222148', comment='The latitude of the telescope'), FitsHeaderCard(key='WEATHTS', valtype=2, val='2025-12-22T03:04:16', comment='Weather timestamp (SAST)'), FitsHeaderCard(key='HUMIDITY', valtype=1, val='88.53', comment='The average humiidity'), FitsHeaderCard(key='WIND', valtype=1, val='19.41', comment='The average windspeed'), FitsHeaderCard(key='RELSKYT', valtype=1, val='0.0', comment='The relative sky temperature (average cloud cover)'), FitsHeaderCard(key='ENVTEM', valtype=1, val='16.06', comment='The average ambient temperature'), FitsHeaderCard(key='SEEING', valtype=1, val='1.43', comment='The current seeing'), FitsHeaderCard(key='SEEINTS', valtype=2, val='2025-12-22T02:51:59', comment='The seeing timestamp (SAST)'), FitsHeaderCard(key='ARCMIR', valtype=2, val='OUT', comment='State of arc/flat lamp mirror (IN/OUT of beam)'), FitsHeaderCard(key='ARCLAMP', valtype=2, val='OFF', comment='State of arc lamp (ON/OFF)'), FitsHeaderCard(key='FLATLAMP', valtype=2, val='OFF', comment='State of flat lamp (ON/OFF)'), FitsHeaderCard(key='SLIT', valtype=2, val='OUT', comment='State of slit (IN/OUT)'), FitsHeaderCard(key='FILTERA', valtype=2, val='i', comment='The filter in slide A'), FitsHeaderCard(key='FILTERB', valtype=2, val='out', comment='The filter in slide B'), FitsHeaderCard(key='GRISM', valtype=2, val='OUT', comment='State of grism (IN/OUT)'), FitsHeaderCard(key='INSTMODE', valtype=2, val='IMAGING', comment='The instrument mode (IMAGING/SPECTROSOCOPY)'), FitsHeaderCard(key='SHUTMODE', valtype=2, val='ALWAYS_OPEN', comment='The shutter mode (AUTO, ALWAYS_OPEN, ALWAYS_CLOSED)'), FitsHeaderCard(key='RDNOISE', valtype=1, val='13.5', comment='Readout noise for this gain and speed (e/px)'), FitsHeaderCard(key='IMAGETYP', valtype=2, val='SCIENCE', comment='The type of image taken. '), FitsHeaderCard(key='NUMEXP', valtype=1, val='300', comment='The number of exposures to take')]
2025-12-22T03:04:48.942 [INFO] [Dummy-24214] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:04:48.958 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:04:50.712 [WARNING] [Dummy-24209] [instrument.py] [abort_exposure()] Aborting exposure and sequence
2025-12-22T03:04:50.900 [DEBUG] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Exposure 239 of 300 done. Exposure state = 0
2025-12-22T03:04:50.900 [DEBUG] [start_exposure_worker] [instrument.py] [gather_fits_info()] Mookodi Instrument: Gathering fits info
2025-12-22T03:04:50.909 [DEBUG] [start_exposure_worker] [client.py] [gather_fits_info()] Gathering weather fits info
2025-12-22T03:04:51.026 [INFO] [Dummy-24209] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet MESSAGE data 2["data"]
2025-12-22T03:04:51.027 [INFO] [Dummy-24209] [server.py] [_handle_event()] received event "data" from uajwivMNrPmXdX0kAABF [/]
2025-12-22T03:04:51.171 [INFO] [Dummy-24215] [server.py] [emit()] emitting event "data" to uajwivMNrPmXdX0kAABF [/]
2025-12-22T03:04:51.172 [INFO] [Dummy-24215] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data 51-["data",{"_placeholder":true,"num":0}]
2025-12-22T03:04:51.172 [INFO] [Dummy-24215] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet MESSAGE data <binary>
2025-12-22T03:04:51.210 [INFO] [start_exposure_worker] [instrument.py] [start_exposure_worker()] Starting exposure 240 of 300
2025-12-22T03:04:56.245 [INFO] [Dummy-24216] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:04:56.928 [INFO] [Dummy-24201] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:05:13.960 [INFO] [Dummy-24217] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:05:13.975 [INFO] [Dummy-24197] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:05:21.931 [INFO] [Dummy-24218] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:05:22.171 [INFO] [Dummy-24219] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:05:38.977 [INFO] [Dummy-24220] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:05:38.993 [INFO] [Dummy-24221] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:05:47.174 [INFO] [Dummy-24222] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:05:47.405 [INFO] [Dummy-24201] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:06:03.995 [INFO] [Dummy-24223] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:06:04.015 [INFO] [Dummy-24221] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:06:12.409 [INFO] [Dummy-24224] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:06:12.648 [INFO] [Dummy-24225] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:06:29.017 [INFO] [Dummy-24226] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:06:29.035 [INFO] [Dummy-24227] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:06:37.651 [INFO] [Dummy-24228] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:06:37.888 [INFO] [Dummy-24229] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:06:54.038 [INFO] [Dummy-24230] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:06:54.054 [INFO] [Dummy-24231] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:07:02.891 [INFO] [Dummy-24232] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:07:03.134 [INFO] [Dummy-24233] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:07:19.056 [INFO] [Dummy-24234] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:07:19.073 [INFO] [Dummy-24231] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:07:28.137 [INFO] [Dummy-24235] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:07:28.370 [INFO] [Dummy-24229] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:07:44.075 [INFO] [Dummy-24236] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:07:44.093 [INFO] [Dummy-24231] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:07:53.373 [INFO] [Dummy-24237] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:07:53.608 [INFO] [Dummy-24233] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:08:09.096 [INFO] [Dummy-24238] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:08:09.113 [INFO] [Dummy-24231] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:08:18.611 [INFO] [Dummy-24239] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:08:18.846 [INFO] [Dummy-24240] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:08:34.115 [INFO] [Dummy-24241] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:08:34.131 [INFO] [Dummy-24231] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:08:43.849 [INFO] [Dummy-24242] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:08:44.091 [INFO] [Dummy-24243] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:08:59.133 [INFO] [Dummy-24244] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:08:59.156 [INFO] [Dummy-24245] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:09:09.095 [INFO] [Dummy-24246] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:09:09.333 [INFO] [Dummy-24240] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:09:24.159 [INFO] [Dummy-24247] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:09:24.176 [INFO] [Dummy-24248] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:09:34.336 [INFO] [Dummy-24249] [socket.py] [send()] YDOakeBBD8uyw1gYAABE: Sending packet PING data None
2025-12-22T03:09:34.577 [INFO] [Dummy-24243] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet PONG data 
2025-12-22T03:09:43.388 [INFO] [Dummy-24243] [socket.py] [receive()] YDOakeBBD8uyw1gYAABE: Received packet CLOSE data 
2025-12-22T03:09:49.178 [INFO] [Dummy-24250] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:09:49.195 [INFO] [Dummy-24251] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:10:14.197 [INFO] [Dummy-24252] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:10:14.214 [INFO] [Dummy-24253] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:10:39.217 [INFO] [Dummy-24254] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:10:39.233 [INFO] [Dummy-24253] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:11:04.235 [INFO] [Dummy-24255] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:11:04.253 [INFO] [Dummy-24253] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:11:29.256 [INFO] [Dummy-24256] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:11:29.273 [INFO] [Dummy-24253] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:11:54.275 [INFO] [Dummy-24257] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:11:54.292 [INFO] [Dummy-24258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:12:19.327 [INFO] [Dummy-24259] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:12:19.345 [INFO] [Dummy-24260] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:12:44.347 [INFO] [Dummy-24261] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:12:44.361 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:13:09.364 [INFO] [Dummy-24263] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:13:09.382 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:13:34.384 [INFO] [Dummy-24264] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:13:34.400 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:13:59.403 [INFO] [Dummy-24265] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:13:59.420 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:14:24.423 [INFO] [Dummy-24266] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:14:24.439 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:14:49.442 [INFO] [Dummy-24267] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:14:49.458 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:15:14.460 [INFO] [Dummy-24268] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:15:14.477 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:15:39.478 [INFO] [Dummy-24269] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:15:39.494 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:16:04.496 [INFO] [Dummy-24270] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:16:04.511 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:16:29.515 [INFO] [Dummy-24271] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:16:29.532 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:16:54.535 [INFO] [Dummy-24272] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:16:54.552 [INFO] [Dummy-24262] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:17:19.587 [INFO] [Dummy-24273] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:17:19.606 [INFO] [Dummy-24274] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:17:44.609 [INFO] [Dummy-24275] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:17:44.627 [INFO] [Dummy-24276] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:18:09.630 [INFO] [Dummy-24277] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:18:09.648 [INFO] [Dummy-24276] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:18:34.651 [INFO] [Dummy-24278] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:18:34.670 [INFO] [Dummy-24276] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:18:59.672 [INFO] [Dummy-24279] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:18:59.690 [INFO] [Dummy-24280] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:19:24.693 [INFO] [Dummy-24281] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:19:24.710 [INFO] [Dummy-24282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:19:49.712 [INFO] [Dummy-24283] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:19:49.726 [INFO] [Dummy-24282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:20:14.728 [INFO] [Dummy-24284] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:20:14.745 [INFO] [Dummy-24282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:20:39.748 [INFO] [Dummy-24285] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:20:39.765 [INFO] [Dummy-24282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:21:04.768 [INFO] [Dummy-24286] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:21:04.781 [INFO] [Dummy-24282] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:21:29.784 [INFO] [Dummy-24287] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:21:29.802 [INFO] [Dummy-24288] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:21:54.804 [INFO] [Dummy-24289] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:21:54.822 [INFO] [Dummy-24288] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:22:19.825 [INFO] [Dummy-24290] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:22:19.843 [INFO] [Dummy-24288] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:22:44.845 [INFO] [Dummy-24291] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:22:44.859 [INFO] [Dummy-24292] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:23:09.861 [INFO] [Dummy-24293] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:23:09.879 [INFO] [Dummy-24292] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:23:34.882 [INFO] [Dummy-24294] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:23:34.903 [INFO] [Dummy-24295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:23:59.906 [INFO] [Dummy-24296] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:23:59.924 [INFO] [Dummy-24297] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:24:24.926 [INFO] [Dummy-24298] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:24:24.943 [INFO] [Dummy-24297] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:24:49.945 [INFO] [Dummy-24299] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:24:49.962 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:25:14.964 [INFO] [Dummy-24301] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:25:14.981 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:25:39.983 [INFO] [Dummy-24302] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:25:40.000 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:26:05.003 [INFO] [Dummy-24303] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:26:05.019 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:26:30.022 [INFO] [Dummy-24304] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:26:30.038 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:26:55.040 [INFO] [Dummy-24305] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:26:55.056 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:27:20.058 [INFO] [Dummy-24306] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:27:20.075 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:27:45.078 [INFO] [Dummy-24307] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:27:45.094 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:28:10.096 [INFO] [Dummy-24308] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:28:10.113 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:28:35.115 [INFO] [Dummy-24309] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:28:35.131 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:29:00.134 [INFO] [Dummy-24310] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:29:00.151 [INFO] [Dummy-24300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:29:25.154 [INFO] [Dummy-24311] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:29:25.171 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:29:50.174 [INFO] [Dummy-24313] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:29:50.190 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:30:15.193 [INFO] [Dummy-24314] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:30:15.209 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:30:40.212 [INFO] [Dummy-24315] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:30:40.229 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:31:05.231 [INFO] [Dummy-24316] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:31:05.247 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:31:30.249 [INFO] [Dummy-24317] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:31:30.266 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:31:55.268 [INFO] [Dummy-24318] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:31:55.286 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:32:20.288 [INFO] [Dummy-24319] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:32:20.303 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:32:45.305 [INFO] [Dummy-24320] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:32:45.321 [INFO] [Dummy-24312] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:33:10.324 [INFO] [Dummy-24321] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:33:10.340 [INFO] [Dummy-24322] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:33:35.343 [INFO] [Dummy-24323] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:33:35.361 [INFO] [Dummy-24322] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:34:00.363 [INFO] [Dummy-24324] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:34:00.381 [INFO] [Dummy-24322] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:34:25.383 [INFO] [Dummy-24325] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:34:25.402 [INFO] [Dummy-24322] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:34:50.405 [INFO] [Dummy-24326] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:34:50.422 [INFO] [Dummy-24327] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:35:15.425 [INFO] [Dummy-24328] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:35:15.443 [INFO] [Dummy-24327] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:35:40.445 [INFO] [Dummy-24329] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:35:40.462 [INFO] [Dummy-24330] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:36:05.464 [INFO] [Dummy-24331] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:36:05.482 [INFO] [Dummy-24330] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:36:30.485 [INFO] [Dummy-24332] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:36:30.502 [INFO] [Dummy-24330] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:36:55.504 [INFO] [Dummy-24333] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:36:55.520 [INFO] [Dummy-24330] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:37:20.523 [INFO] [Dummy-24334] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:37:20.539 [INFO] [Dummy-24330] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:37:45.543 [INFO] [Dummy-24335] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:37:45.564 [INFO] [Dummy-24330] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:38:10.568 [INFO] [Dummy-24336] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:38:10.584 [INFO] [Dummy-24337] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:38:35.587 [INFO] [Dummy-24338] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:38:35.604 [INFO] [Dummy-24339] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:39:00.607 [INFO] [Dummy-24340] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:39:00.624 [INFO] [Dummy-24341] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:39:25.627 [INFO] [Dummy-24342] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:39:25.643 [INFO] [Dummy-24343] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:39:50.646 [INFO] [Dummy-24344] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:39:50.664 [INFO] [Dummy-24345] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:40:15.666 [INFO] [Dummy-24346] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:40:15.684 [INFO] [Dummy-24345] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:40:40.687 [INFO] [Dummy-24347] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:40:40.706 [INFO] [Dummy-24348] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:41:05.709 [INFO] [Dummy-24349] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:41:05.726 [INFO] [Dummy-24348] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:41:30.729 [INFO] [Dummy-24350] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:41:30.745 [INFO] [Dummy-24351] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:41:55.748 [INFO] [Dummy-24352] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:41:55.765 [INFO] [Dummy-24351] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:42:20.768 [INFO] [Dummy-24353] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:42:20.785 [INFO] [Dummy-24351] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:42:45.787 [INFO] [Dummy-24354] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:42:45.802 [INFO] [Dummy-24351] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:43:10.804 [INFO] [Dummy-24355] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:43:10.821 [INFO] [Dummy-24351] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:43:35.824 [INFO] [Dummy-24356] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:43:35.840 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:44:00.843 [INFO] [Dummy-24358] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:44:00.860 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:44:25.862 [INFO] [Dummy-24359] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:44:25.878 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:44:50.881 [INFO] [Dummy-24360] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:44:50.900 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:45:15.902 [INFO] [Dummy-24361] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:45:15.919 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:45:40.921 [INFO] [Dummy-24362] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:45:40.938 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:46:05.941 [INFO] [Dummy-24363] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:46:05.958 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:46:30.961 [INFO] [Dummy-24364] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:46:30.977 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:46:55.980 [INFO] [Dummy-24365] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:46:55.996 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:47:20.999 [INFO] [Dummy-24366] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:47:21.016 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:47:46.019 [INFO] [Dummy-24367] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:47:46.037 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:48:11.040 [INFO] [Dummy-24368] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:48:11.057 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:48:36.060 [INFO] [Dummy-24369] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:48:36.077 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:49:01.080 [INFO] [Dummy-24370] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:49:01.097 [INFO] [Dummy-24357] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:49:26.100 [INFO] [Dummy-24371] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:49:26.117 [INFO] [Dummy-24372] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:49:51.119 [INFO] [Dummy-24373] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:49:51.135 [INFO] [Dummy-24372] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:50:16.137 [INFO] [Dummy-24374] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:50:16.154 [INFO] [Dummy-24372] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:50:41.157 [INFO] [Dummy-24375] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:50:41.176 [INFO] [Dummy-24372] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:51:06.177 [INFO] [Dummy-24376] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:51:06.194 [INFO] [Dummy-24377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:51:31.196 [INFO] [Dummy-24378] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:51:31.213 [INFO] [Dummy-24377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:51:56.215 [INFO] [Dummy-24379] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:51:56.231 [INFO] [Dummy-24377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:52:21.233 [INFO] [Dummy-24380] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:52:21.250 [INFO] [Dummy-24377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:52:46.252 [INFO] [Dummy-24381] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:52:46.272 [INFO] [Dummy-24377] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:53:11.273 [INFO] [Dummy-24382] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:53:11.290 [INFO] [Dummy-24383] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:53:36.293 [INFO] [Dummy-24384] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:53:36.311 [INFO] [Dummy-24383] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:54:01.314 [INFO] [Dummy-24385] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:54:01.331 [INFO] [Dummy-24386] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:54:26.335 [INFO] [Dummy-24387] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:54:26.352 [INFO] [Dummy-24386] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:54:51.355 [INFO] [Dummy-24388] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:54:51.372 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:55:16.375 [INFO] [Dummy-24390] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:55:16.391 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:55:41.394 [INFO] [Dummy-24391] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:55:41.411 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:56:06.414 [INFO] [Dummy-24392] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:56:06.430 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:56:31.433 [INFO] [Dummy-24393] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:56:31.449 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:56:56.452 [INFO] [Dummy-24394] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:56:56.469 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:57:21.472 [INFO] [Dummy-24395] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:57:21.488 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:57:46.492 [INFO] [Dummy-24396] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:57:46.508 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:58:11.511 [INFO] [Dummy-24397] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:58:11.529 [INFO] [Dummy-24389] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:58:36.532 [INFO] [Dummy-24398] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:58:36.547 [INFO] [Dummy-24399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:59:01.549 [INFO] [Dummy-24400] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:59:01.567 [INFO] [Dummy-24399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:59:26.570 [INFO] [Dummy-24401] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:59:26.586 [INFO] [Dummy-24399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T03:59:51.589 [INFO] [Dummy-24402] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T03:59:51.605 [INFO] [Dummy-24399] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:00:16.608 [INFO] [Dummy-24403] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:00:16.623 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:00:41.626 [INFO] [Dummy-24405] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:00:41.643 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:01:06.646 [INFO] [Dummy-24406] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:01:06.663 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:01:31.665 [INFO] [Dummy-24407] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:01:31.682 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:01:56.685 [INFO] [Dummy-24408] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:01:56.701 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:02:21.704 [INFO] [Dummy-24409] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:02:21.720 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:02:46.723 [INFO] [Dummy-24410] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:02:46.740 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:03:11.743 [INFO] [Dummy-24411] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:03:11.761 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:03:36.764 [INFO] [Dummy-24412] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:03:36.780 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:04:01.783 [INFO] [Dummy-24413] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:04:01.800 [INFO] [Dummy-24404] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:04:26.803 [INFO] [Dummy-24414] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:04:26.820 [INFO] [Dummy-24415] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:04:51.822 [INFO] [Dummy-24416] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:04:51.840 [INFO] [Dummy-24417] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:05:16.843 [INFO] [Dummy-24418] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:05:16.860 [INFO] [Dummy-24417] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:05:41.862 [INFO] [Dummy-24419] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:05:41.879 [INFO] [Dummy-24417] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:06:06.881 [INFO] [Dummy-24420] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:06:06.897 [INFO] [Dummy-24417] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:06:31.900 [INFO] [Dummy-24421] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:06:31.917 [INFO] [Dummy-24417] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:06:56.919 [INFO] [Dummy-24422] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:06:56.937 [INFO] [Dummy-24417] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:07:21.939 [INFO] [Dummy-24423] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:07:21.957 [INFO] [Dummy-24424] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:07:46.960 [INFO] [Dummy-24425] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:07:46.976 [INFO] [Dummy-24426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:08:11.979 [INFO] [Dummy-24427] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:08:11.995 [INFO] [Dummy-24426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:08:36.998 [INFO] [Dummy-24428] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:08:37.015 [INFO] [Dummy-24426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:09:02.017 [INFO] [Dummy-24429] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:09:02.033 [INFO] [Dummy-24426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:09:27.035 [INFO] [Dummy-24430] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:09:27.052 [INFO] [Dummy-24426] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:09:52.054 [INFO] [Dummy-24431] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:09:52.072 [INFO] [Dummy-24432] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:10:17.075 [INFO] [Dummy-24433] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:10:17.093 [INFO] [Dummy-24434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:10:42.096 [INFO] [Dummy-24435] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:10:42.113 [INFO] [Dummy-24434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:11:07.115 [INFO] [Dummy-24436] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:11:07.132 [INFO] [Dummy-24434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:11:32.134 [INFO] [Dummy-24437] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:11:32.150 [INFO] [Dummy-24434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:11:57.152 [INFO] [Dummy-24438] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:11:57.168 [INFO] [Dummy-24434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:12:22.172 [INFO] [Dummy-24439] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:12:22.190 [INFO] [Dummy-24434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:12:47.192 [INFO] [Dummy-24440] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:12:47.206 [INFO] [Dummy-24434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:13:12.208 [INFO] [Dummy-24441] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:13:12.228 [INFO] [Dummy-24434] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:13:37.232 [INFO] [Dummy-24442] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:13:37.248 [INFO] [Dummy-24443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:14:02.251 [INFO] [Dummy-24444] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:14:02.270 [INFO] [Dummy-24443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:14:27.272 [INFO] [Dummy-24445] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:14:27.291 [INFO] [Dummy-24443] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:14:52.294 [INFO] [Dummy-24446] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:14:52.311 [INFO] [Dummy-24447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:15:17.314 [INFO] [Dummy-24448] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:15:17.330 [INFO] [Dummy-24447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:15:42.334 [INFO] [Dummy-24449] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:15:42.350 [INFO] [Dummy-24447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:16:07.353 [INFO] [Dummy-24450] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:16:07.369 [INFO] [Dummy-24447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:16:32.373 [INFO] [Dummy-24451] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:16:32.389 [INFO] [Dummy-24447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:16:57.392 [INFO] [Dummy-24452] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:16:57.409 [INFO] [Dummy-24447] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:17:22.412 [INFO] [Dummy-24453] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:17:22.429 [INFO] [Dummy-24454] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:17:47.432 [INFO] [Dummy-24455] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:17:47.450 [INFO] [Dummy-24454] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:18:12.484 [INFO] [Dummy-24456] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:18:12.502 [INFO] [Dummy-24457] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:18:37.505 [INFO] [Dummy-24458] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:18:37.522 [INFO] [Dummy-24459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:19:02.525 [INFO] [Dummy-24460] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:19:02.544 [INFO] [Dummy-24459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:19:27.547 [INFO] [Dummy-24461] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:19:27.565 [INFO] [Dummy-24459] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:19:52.567 [INFO] [Dummy-24462] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:19:52.581 [INFO] [Dummy-24463] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:20:17.583 [INFO] [Dummy-24464] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:20:17.600 [INFO] [Dummy-24463] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:20:42.602 [INFO] [Dummy-24465] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:20:42.622 [INFO] [Dummy-24463] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:21:07.624 [INFO] [Dummy-24466] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:21:07.642 [INFO] [Dummy-24463] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:21:32.645 [INFO] [Dummy-24467] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:21:32.661 [INFO] [Dummy-24463] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:21:57.664 [INFO] [Dummy-24468] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:21:57.683 [INFO] [Dummy-24469] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:22:22.686 [INFO] [Dummy-24470] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:22:22.697 [INFO] [Dummy-24471] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:22:47.701 [INFO] [Dummy-24472] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:22:47.718 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:23:12.721 [INFO] [Dummy-24474] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:23:12.737 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:23:37.739 [INFO] [Dummy-24475] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:23:37.756 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:24:02.759 [INFO] [Dummy-24476] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:24:02.776 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:24:27.778 [INFO] [Dummy-24477] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:24:27.795 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:24:52.796 [INFO] [Dummy-24478] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:24:52.812 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:25:17.813 [INFO] [Dummy-24479] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:25:17.830 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:25:42.832 [INFO] [Dummy-24480] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:25:42.850 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:26:07.852 [INFO] [Dummy-24481] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:26:07.869 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:26:32.871 [INFO] [Dummy-24482] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:26:32.887 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:26:57.891 [INFO] [Dummy-24483] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:26:57.909 [INFO] [Dummy-24473] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:27:22.911 [INFO] [Dummy-24484] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:27:22.928 [INFO] [Dummy-24485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:27:47.930 [INFO] [Dummy-24486] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:27:47.948 [INFO] [Dummy-24485] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:28:12.951 [INFO] [Dummy-24487] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:28:12.969 [INFO] [Dummy-24488] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:28:37.971 [INFO] [Dummy-24489] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:28:37.985 [INFO] [Dummy-24488] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:29:02.987 [INFO] [Dummy-24490] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:29:03.005 [INFO] [Dummy-24488] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:29:28.008 [INFO] [Dummy-24491] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:29:28.024 [INFO] [Dummy-24492] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:29:53.026 [INFO] [Dummy-24493] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:29:53.042 [INFO] [Dummy-24494] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:30:18.044 [INFO] [Dummy-24495] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:30:18.061 [INFO] [Dummy-24494] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:30:43.062 [INFO] [Dummy-24496] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:30:43.082 [INFO] [Dummy-24494] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:31:08.084 [INFO] [Dummy-24497] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:31:08.098 [INFO] [Dummy-24498] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:31:33.100 [INFO] [Dummy-24499] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:31:33.118 [INFO] [Dummy-24498] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:31:58.121 [INFO] [Dummy-24500] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:31:58.136 [INFO] [Dummy-24498] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:32:23.138 [INFO] [Dummy-24501] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:32:23.155 [INFO] [Dummy-24498] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:32:48.158 [INFO] [Dummy-24502] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:32:48.173 [INFO] [Dummy-24498] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:33:13.176 [INFO] [Dummy-24503] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:33:13.192 [INFO] [Dummy-24498] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:33:38.195 [INFO] [Dummy-24504] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:33:38.211 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:34:03.213 [INFO] [Dummy-24506] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:34:03.229 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:34:28.232 [INFO] [Dummy-24507] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:34:28.249 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:34:53.252 [INFO] [Dummy-24508] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:34:53.268 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:35:18.271 [INFO] [Dummy-24509] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:35:18.288 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:35:43.291 [INFO] [Dummy-24510] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:35:43.306 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:36:08.308 [INFO] [Dummy-24511] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:36:08.325 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:36:33.328 [INFO] [Dummy-24512] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:36:33.346 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:36:58.349 [INFO] [Dummy-24513] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:36:58.367 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:37:23.370 [INFO] [Dummy-24514] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:37:23.387 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:37:48.390 [INFO] [Dummy-24515] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:37:48.406 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:38:13.409 [INFO] [Dummy-24516] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:38:13.426 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:38:38.429 [INFO] [Dummy-24517] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:38:38.446 [INFO] [Dummy-24505] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:39:03.449 [INFO] [Dummy-24518] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:39:03.465 [INFO] [Dummy-24519] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:39:28.468 [INFO] [Dummy-24520] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:39:28.484 [INFO] [Dummy-24519] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:39:53.488 [INFO] [Dummy-24521] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:39:53.506 [INFO] [Dummy-24519] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:40:18.509 [INFO] [Dummy-24522] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:40:18.526 [INFO] [Dummy-24519] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:40:43.529 [INFO] [Dummy-24523] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:40:43.547 [INFO] [Dummy-24519] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:41:08.549 [INFO] [Dummy-24524] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:41:08.567 [INFO] [Dummy-24525] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:41:33.569 [INFO] [Dummy-24526] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:41:33.586 [INFO] [Dummy-24525] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:41:58.588 [INFO] [Dummy-24527] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:41:58.604 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:42:23.607 [INFO] [Dummy-24529] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:42:23.624 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:42:48.627 [INFO] [Dummy-24530] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:42:48.642 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:43:13.643 [INFO] [Dummy-24531] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:43:13.660 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:43:38.663 [INFO] [Dummy-24532] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:43:38.680 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:44:03.682 [INFO] [Dummy-24533] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:44:03.698 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:44:28.700 [INFO] [Dummy-24534] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:44:28.716 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:44:53.718 [INFO] [Dummy-24535] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:44:53.733 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:45:18.735 [INFO] [Dummy-24536] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:45:18.753 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:45:43.755 [INFO] [Dummy-24537] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:45:43.771 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:46:08.772 [INFO] [Dummy-24538] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:46:08.792 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:46:33.795 [INFO] [Dummy-24539] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:46:33.812 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:46:58.814 [INFO] [Dummy-24540] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:46:58.831 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:47:23.833 [INFO] [Dummy-24541] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:47:23.850 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:47:48.853 [INFO] [Dummy-24542] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:47:48.868 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:48:13.870 [INFO] [Dummy-24543] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:48:13.886 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:48:38.888 [INFO] [Dummy-24544] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:48:38.904 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:49:03.906 [INFO] [Dummy-24545] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:49:03.924 [INFO] [Dummy-24528] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:49:28.926 [INFO] [Dummy-24546] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:49:28.943 [INFO] [Dummy-24547] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:49:53.945 [INFO] [Dummy-24548] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:49:53.961 [INFO] [Dummy-24547] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:50:18.963 [INFO] [Dummy-24549] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:50:18.980 [INFO] [Dummy-24547] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:50:43.983 [INFO] [Dummy-24550] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:50:44.010 [INFO] [Dummy-24551] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:51:09.013 [INFO] [Dummy-24552] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:51:09.029 [INFO] [Dummy-24553] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:51:34.032 [INFO] [Dummy-24554] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:51:34.049 [INFO] [Dummy-24553] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:51:59.051 [INFO] [Dummy-24555] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:51:59.068 [INFO] [Dummy-24553] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:52:24.071 [INFO] [Dummy-24556] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:52:24.089 [INFO] [Dummy-24557] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:52:49.092 [INFO] [Dummy-24558] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:52:49.109 [INFO] [Dummy-24559] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:53:14.112 [INFO] [Dummy-24560] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:53:14.128 [INFO] [Dummy-24561] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:53:39.131 [INFO] [Dummy-24562] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:53:39.148 [INFO] [Dummy-24561] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:54:04.151 [INFO] [Dummy-24563] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:54:04.168 [INFO] [Dummy-24561] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:54:29.171 [INFO] [Dummy-24564] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:54:29.189 [INFO] [Dummy-24561] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:54:54.193 [INFO] [Dummy-24565] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:54:54.208 [INFO] [Dummy-24561] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:55:19.212 [INFO] [Dummy-24566] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:55:19.227 [INFO] [Dummy-24567] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:55:44.230 [INFO] [Dummy-24568] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:55:44.247 [INFO] [Dummy-24567] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:56:09.250 [INFO] [Dummy-24569] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:56:09.268 [INFO] [Dummy-24570] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:56:34.270 [INFO] [Dummy-24571] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:56:34.286 [INFO] [Dummy-24570] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:56:59.289 [INFO] [Dummy-24572] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:56:59.303 [INFO] [Dummy-24570] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:57:24.305 [INFO] [Dummy-24573] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:57:24.321 [INFO] [Dummy-24570] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:57:49.324 [INFO] [Dummy-24574] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:57:49.341 [INFO] [Dummy-24570] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:58:14.343 [INFO] [Dummy-24575] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:58:14.360 [INFO] [Dummy-24570] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:58:39.363 [INFO] [Dummy-24576] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:58:39.380 [INFO] [Dummy-24577] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:59:04.383 [INFO] [Dummy-24578] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:59:04.400 [INFO] [Dummy-24577] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:59:29.404 [INFO] [Dummy-24579] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:59:29.421 [INFO] [Dummy-24580] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T04:59:54.424 [INFO] [Dummy-24581] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T04:59:54.440 [INFO] [Dummy-24582] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:00:19.443 [INFO] [Dummy-24583] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:00:19.459 [INFO] [Dummy-24584] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:00:44.462 [INFO] [Dummy-24585] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:00:44.478 [INFO] [Dummy-24586] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:01:09.480 [INFO] [Dummy-24587] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:01:09.499 [INFO] [Dummy-24586] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:01:34.501 [INFO] [Dummy-24588] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:01:34.514 [INFO] [Dummy-24586] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:01:59.516 [INFO] [Dummy-24589] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:01:59.533 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:02:24.536 [INFO] [Dummy-24591] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:02:24.553 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:02:49.556 [INFO] [Dummy-24592] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:02:49.573 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:03:14.576 [INFO] [Dummy-24593] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:03:14.592 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:03:39.594 [INFO] [Dummy-24594] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:03:39.611 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:04:04.613 [INFO] [Dummy-24595] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:04:04.629 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:04:29.631 [INFO] [Dummy-24596] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:04:29.648 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:04:54.650 [INFO] [Dummy-24597] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:04:54.667 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:05:19.669 [INFO] [Dummy-24598] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:05:19.686 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:05:44.688 [INFO] [Dummy-24599] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:05:44.705 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:06:09.707 [INFO] [Dummy-24600] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:06:09.724 [INFO] [Dummy-24590] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:06:34.727 [INFO] [Dummy-24601] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:06:34.744 [INFO] [Dummy-24602] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:06:59.747 [INFO] [Dummy-24603] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:06:59.764 [INFO] [Dummy-24604] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:07:24.766 [INFO] [Dummy-24605] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:07:24.783 [INFO] [Dummy-24606] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:07:49.785 [INFO] [Dummy-24607] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:07:49.802 [INFO] [Dummy-24606] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:08:14.804 [INFO] [Dummy-24608] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:08:14.821 [INFO] [Dummy-24606] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:08:39.823 [INFO] [Dummy-24609] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:08:39.841 [INFO] [Dummy-24606] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:09:04.843 [INFO] [Dummy-24610] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:09:04.861 [INFO] [Dummy-24611] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:09:29.863 [INFO] [Dummy-24612] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:09:29.882 [INFO] [Dummy-24613] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:09:54.885 [INFO] [Dummy-24614] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:09:54.902 [INFO] [Dummy-24615] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:10:19.905 [INFO] [Dummy-24616] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:10:19.922 [INFO] [Dummy-24615] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:10:44.925 [INFO] [Dummy-24617] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:10:44.943 [INFO] [Dummy-24615] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:11:09.945 [INFO] [Dummy-24618] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:11:09.962 [INFO] [Dummy-24615] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:11:34.965 [INFO] [Dummy-24619] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:11:34.983 [INFO] [Dummy-24620] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:11:59.985 [INFO] [Dummy-24621] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:12:00.002 [INFO] [Dummy-24620] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:12:25.037 [INFO] [Dummy-24622] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:12:25.055 [INFO] [Dummy-24623] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:12:50.058 [INFO] [Dummy-24624] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:12:50.072 [INFO] [Dummy-24623] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:13:15.073 [INFO] [Dummy-24625] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:13:15.090 [INFO] [Dummy-24623] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:13:40.093 [INFO] [Dummy-24626] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:13:40.109 [INFO] [Dummy-24623] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:14:05.112 [INFO] [Dummy-24627] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:14:05.129 [INFO] [Dummy-24623] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:14:30.132 [INFO] [Dummy-24628] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:14:30.150 [INFO] [Dummy-24629] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:14:55.152 [INFO] [Dummy-24630] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:14:55.168 [INFO] [Dummy-24631] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:15:20.172 [INFO] [Dummy-24632] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:15:20.189 [INFO] [Dummy-24631] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:15:45.192 [INFO] [Dummy-24633] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:15:45.210 [INFO] [Dummy-24631] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:16:10.214 [INFO] [Dummy-24634] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:16:10.230 [INFO] [Dummy-24631] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:16:35.233 [INFO] [Dummy-24635] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:16:35.249 [INFO] [Dummy-24631] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:17:00.252 [INFO] [Dummy-24636] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:17:00.268 [INFO] [Dummy-24631] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:17:25.304 [INFO] [Dummy-24637] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:17:25.321 [INFO] [Dummy-24638] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:17:50.324 [INFO] [Dummy-24639] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:17:50.342 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:18:15.345 [INFO] [Dummy-24641] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:18:15.361 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:18:40.364 [INFO] [Dummy-24642] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:18:40.381 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:19:05.384 [INFO] [Dummy-24643] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:19:05.401 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:19:30.404 [INFO] [Dummy-24644] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:19:30.420 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:19:55.422 [INFO] [Dummy-24645] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:19:55.437 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:20:20.439 [INFO] [Dummy-24646] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:20:20.456 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:20:45.459 [INFO] [Dummy-24647] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:20:45.476 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:21:10.479 [INFO] [Dummy-24648] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:21:10.496 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:21:35.498 [INFO] [Dummy-24649] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:21:35.516 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:22:00.518 [INFO] [Dummy-24650] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:22:00.535 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:22:25.537 [INFO] [Dummy-24651] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:22:25.559 [INFO] [Dummy-24640] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:22:50.561 [INFO] [Dummy-24652] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:22:50.578 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:23:15.580 [INFO] [Dummy-24654] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:23:15.597 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:23:40.599 [INFO] [Dummy-24655] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:23:40.615 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:24:05.617 [INFO] [Dummy-24656] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:24:05.634 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:24:30.637 [INFO] [Dummy-24657] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:24:30.654 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:24:55.657 [INFO] [Dummy-24658] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:24:55.674 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:25:20.676 [INFO] [Dummy-24659] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:25:20.693 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:25:45.696 [INFO] [Dummy-24660] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:25:45.711 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:26:10.714 [INFO] [Dummy-24661] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:26:10.733 [INFO] [Dummy-24653] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:26:35.735 [INFO] [Dummy-24662] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:26:35.751 [INFO] [Dummy-24663] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:27:00.753 [INFO] [Dummy-24664] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:27:00.767 [INFO] [Dummy-24663] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:27:25.769 [INFO] [Dummy-24665] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:27:25.786 [INFO] [Dummy-24663] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:27:50.789 [INFO] [Dummy-24666] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:27:50.804 [INFO] [Dummy-24663] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:28:15.806 [INFO] [Dummy-24667] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:28:15.822 [INFO] [Dummy-24663] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:28:40.825 [INFO] [Dummy-24668] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:28:40.842 [INFO] [Dummy-24663] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:29:05.845 [INFO] [Dummy-24669] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:29:05.861 [INFO] [Dummy-24670] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:29:30.863 [INFO] [Dummy-24671] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:29:30.880 [INFO] [Dummy-24672] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:29:55.882 [INFO] [Dummy-24673] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:29:55.899 [INFO] [Dummy-24672] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:30:20.901 [INFO] [Dummy-24674] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:30:20.919 [INFO] [Dummy-24672] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:30:45.921 [INFO] [Dummy-24675] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:30:45.938 [INFO] [Dummy-24676] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:31:10.939 [INFO] [Dummy-24677] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:31:10.959 [INFO] [Dummy-24676] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:31:35.961 [INFO] [Dummy-24678] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:31:35.977 [INFO] [Dummy-24679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:32:00.981 [INFO] [Dummy-24680] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:32:00.998 [INFO] [Dummy-24679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:32:26.001 [INFO] [Dummy-24681] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:32:26.017 [INFO] [Dummy-24679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:32:51.020 [INFO] [Dummy-24682] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:32:51.036 [INFO] [Dummy-24679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:33:16.039 [INFO] [Dummy-24683] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:33:16.055 [INFO] [Dummy-24679] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:33:41.058 [INFO] [Dummy-24684] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:33:41.074 [INFO] [Dummy-24685] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:34:06.078 [INFO] [Dummy-24686] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:34:06.093 [INFO] [Dummy-24685] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:34:31.094 [INFO] [Dummy-24687] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:34:31.110 [INFO] [Dummy-24685] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:34:56.112 [INFO] [Dummy-24688] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:34:56.129 [INFO] [Dummy-24685] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:35:21.132 [INFO] [Dummy-24689] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:35:21.152 [INFO] [Dummy-24685] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:35:46.155 [INFO] [Dummy-24690] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:35:46.173 [INFO] [Dummy-24685] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:36:11.176 [INFO] [Dummy-24691] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:36:11.192 [INFO] [Dummy-24692] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:36:36.195 [INFO] [Dummy-24693] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:36:36.213 [INFO] [Dummy-24694] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:37:01.216 [INFO] [Dummy-24695] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:37:01.234 [INFO] [Dummy-24694] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:37:26.237 [INFO] [Dummy-24696] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:37:26.254 [INFO] [Dummy-24694] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:37:51.257 [INFO] [Dummy-24697] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:37:51.273 [INFO] [Dummy-24694] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:38:16.276 [INFO] [Dummy-24698] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:38:16.292 [INFO] [Dummy-24694] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:38:41.295 [INFO] [Dummy-24699] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:38:41.313 [INFO] [Dummy-24700] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:39:06.316 [INFO] [Dummy-24701] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:39:06.333 [INFO] [Dummy-24702] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:39:31.337 [INFO] [Dummy-24703] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:39:31.353 [INFO] [Dummy-24702] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:39:56.356 [INFO] [Dummy-24704] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:39:56.373 [INFO] [Dummy-24702] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:40:21.376 [INFO] [Dummy-24705] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:40:21.395 [INFO] [Dummy-24702] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:40:46.398 [INFO] [Dummy-24706] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:40:46.415 [INFO] [Dummy-24707] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:41:11.417 [INFO] [Dummy-24708] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:41:11.434 [INFO] [Dummy-24709] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:41:36.436 [INFO] [Dummy-24710] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:41:36.453 [INFO] [Dummy-24709] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:42:01.455 [INFO] [Dummy-24711] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:42:01.472 [INFO] [Dummy-24712] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:42:26.474 [INFO] [Dummy-24713] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:42:26.493 [INFO] [Dummy-24712] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:42:51.494 [INFO] [Dummy-24714] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:42:51.510 [INFO] [Dummy-24712] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:43:16.511 [INFO] [Dummy-24715] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:43:16.529 [INFO] [Dummy-24712] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:43:41.531 [INFO] [Dummy-24716] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:43:41.549 [INFO] [Dummy-24717] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:44:06.551 [INFO] [Dummy-24718] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:44:06.569 [INFO] [Dummy-24717] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:44:31.571 [INFO] [Dummy-24719] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:44:31.587 [INFO] [Dummy-24720] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:44:56.590 [INFO] [Dummy-24721] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:44:56.606 [INFO] [Dummy-24720] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:45:21.608 [INFO] [Dummy-24722] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:45:21.627 [INFO] [Dummy-24720] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:45:46.630 [INFO] [Dummy-24723] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:45:46.647 [INFO] [Dummy-24724] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:46:11.649 [INFO] [Dummy-24725] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:46:11.666 [INFO] [Dummy-24724] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:46:36.668 [INFO] [Dummy-24726] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:46:36.685 [INFO] [Dummy-24724] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:47:01.687 [INFO] [Dummy-24727] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:47:01.703 [INFO] [Dummy-24724] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:47:26.706 [INFO] [Dummy-24728] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:47:26.724 [INFO] [Dummy-24729] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:47:51.726 [INFO] [Dummy-24730] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:47:51.744 [INFO] [Dummy-24731] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:48:16.746 [INFO] [Dummy-24732] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:48:16.766 [INFO] [Dummy-24733] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:48:41.768 [INFO] [Dummy-24734] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:48:41.783 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:49:06.785 [INFO] [Dummy-24736] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:49:06.801 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:49:31.803 [INFO] [Dummy-24737] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:49:31.819 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:49:56.822 [INFO] [Dummy-24738] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:49:56.837 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:50:21.839 [INFO] [Dummy-24739] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:50:21.856 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:50:46.859 [INFO] [Dummy-24740] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:50:46.877 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:51:11.879 [INFO] [Dummy-24741] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:51:11.896 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:51:36.898 [INFO] [Dummy-24742] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:51:36.915 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:52:01.919 [INFO] [Dummy-24743] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:52:01.938 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:52:26.942 [INFO] [Dummy-24744] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:52:26.958 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:52:51.961 [INFO] [Dummy-24745] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:52:51.978 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:53:16.981 [INFO] [Dummy-24746] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:53:16.999 [INFO] [Dummy-24735] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:53:42.002 [INFO] [Dummy-24747] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:53:42.019 [INFO] [Dummy-24748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:54:07.022 [INFO] [Dummy-24749] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:54:07.039 [INFO] [Dummy-24748] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:54:32.042 [INFO] [Dummy-24750] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:54:32.062 [INFO] [Dummy-24751] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:54:57.063 [INFO] [Dummy-24752] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:54:57.080 [INFO] [Dummy-24753] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:55:22.082 [INFO] [Dummy-24754] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:55:22.099 [INFO] [Dummy-24753] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:55:47.103 [INFO] [Dummy-24755] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:55:47.120 [INFO] [Dummy-24753] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:56:12.122 [INFO] [Dummy-24756] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:56:12.139 [INFO] [Dummy-24757] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:56:37.142 [INFO] [Dummy-24758] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:56:37.159 [INFO] [Dummy-24757] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:57:02.161 [INFO] [Dummy-24759] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:57:02.178 [INFO] [Dummy-24760] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:57:27.181 [INFO] [Dummy-24761] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:57:27.197 [INFO] [Dummy-24762] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:57:52.200 [INFO] [Dummy-24763] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:57:52.216 [INFO] [Dummy-24762] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:58:17.219 [INFO] [Dummy-24764] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:58:17.236 [INFO] [Dummy-24762] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:58:42.239 [INFO] [Dummy-24765] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:58:42.255 [INFO] [Dummy-24766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:59:07.257 [INFO] [Dummy-24767] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:59:07.273 [INFO] [Dummy-24766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:59:32.276 [INFO] [Dummy-24768] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:59:32.293 [INFO] [Dummy-24766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T05:59:57.295 [INFO] [Dummy-24769] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T05:59:57.312 [INFO] [Dummy-24766] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:00:22.314 [INFO] [Dummy-24770] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:00:22.331 [INFO] [Dummy-24771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:00:47.333 [INFO] [Dummy-24772] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:00:47.350 [INFO] [Dummy-24771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:01:12.352 [INFO] [Dummy-24773] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:01:12.369 [INFO] [Dummy-24771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:01:37.371 [INFO] [Dummy-24774] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:01:37.388 [INFO] [Dummy-24771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:02:02.391 [INFO] [Dummy-24775] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:02:02.404 [INFO] [Dummy-24771] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:02:27.407 [INFO] [Dummy-24776] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:02:27.423 [INFO] [Dummy-24777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:02:52.426 [INFO] [Dummy-24778] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:02:52.442 [INFO] [Dummy-24777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:03:17.444 [INFO] [Dummy-24779] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:03:17.464 [INFO] [Dummy-24777] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:03:42.466 [INFO] [Dummy-24780] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:03:42.483 [INFO] [Dummy-24781] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:04:07.485 [INFO] [Dummy-24782] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:04:07.503 [INFO] [Dummy-24781] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:04:32.505 [INFO] [Dummy-24783] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:04:32.521 [INFO] [Dummy-24781] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:04:57.523 [INFO] [Dummy-24784] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:04:57.542 [INFO] [Dummy-24785] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:05:22.544 [INFO] [Dummy-24786] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:05:22.561 [INFO] [Dummy-24785] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:05:47.563 [INFO] [Dummy-24787] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:05:47.581 [INFO] [Dummy-24785] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:06:12.583 [INFO] [Dummy-24788] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:06:12.601 [INFO] [Dummy-24785] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:06:37.603 [INFO] [Dummy-24789] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:06:37.619 [INFO] [Dummy-24785] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:07:02.622 [INFO] [Dummy-24790] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:07:02.638 [INFO] [Dummy-24791] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:07:27.640 [INFO] [Dummy-24792] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:07:27.657 [INFO] [Dummy-24793] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:07:52.659 [INFO] [Dummy-24794] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:07:52.676 [INFO] [Dummy-24793] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:08:17.678 [INFO] [Dummy-24795] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:08:17.695 [INFO] [Dummy-24793] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:08:42.699 [INFO] [Dummy-24796] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:08:42.715 [INFO] [Dummy-24797] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:09:07.718 [INFO] [Dummy-24798] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:09:07.735 [INFO] [Dummy-24797] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:09:32.738 [INFO] [Dummy-24799] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:09:32.754 [INFO] [Dummy-24797] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:09:57.756 [INFO] [Dummy-24800] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:09:57.773 [INFO] [Dummy-24797] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:10:22.775 [INFO] [Dummy-24801] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:10:22.792 [INFO] [Dummy-24802] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:10:47.796 [INFO] [Dummy-24803] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:10:47.813 [INFO] [Dummy-24802] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:11:12.816 [INFO] [Dummy-24804] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:11:12.832 [INFO] [Dummy-24805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:11:37.835 [INFO] [Dummy-24806] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:11:37.850 [INFO] [Dummy-24805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:12:02.853 [INFO] [Dummy-24807] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:12:02.870 [INFO] [Dummy-24805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:12:27.873 [INFO] [Dummy-24808] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:12:27.890 [INFO] [Dummy-24805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:12:52.892 [INFO] [Dummy-24809] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:12:52.908 [INFO] [Dummy-24805] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:13:17.910 [INFO] [Dummy-24810] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:13:17.926 [INFO] [Dummy-24811] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:13:42.929 [INFO] [Dummy-24812] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:13:42.945 [INFO] [Dummy-24811] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:14:07.948 [INFO] [Dummy-24813] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:14:07.964 [INFO] [Dummy-24811] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:14:32.968 [INFO] [Dummy-24814] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:14:32.985 [INFO] [Dummy-24811] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:14:57.987 [INFO] [Dummy-24815] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:14:58.003 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:15:23.005 [INFO] [Dummy-24817] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:15:23.022 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:15:48.025 [INFO] [Dummy-24818] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:15:48.040 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:16:13.042 [INFO] [Dummy-24819] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:16:13.060 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:16:38.063 [INFO] [Dummy-24820] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:16:38.079 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:17:03.082 [INFO] [Dummy-24821] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:17:03.098 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:17:28.100 [INFO] [Dummy-24822] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:17:28.115 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:17:53.117 [INFO] [Dummy-24823] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:17:53.133 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:18:18.135 [INFO] [Dummy-24824] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:18:18.150 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:18:43.153 [INFO] [Dummy-24825] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:18:43.169 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:19:08.171 [INFO] [Dummy-24826] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:19:08.187 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:19:33.189 [INFO] [Dummy-24827] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:19:33.205 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:19:58.207 [INFO] [Dummy-24828] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:19:58.224 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:20:23.226 [INFO] [Dummy-24829] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:20:23.243 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:20:48.245 [INFO] [Dummy-24830] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:20:48.262 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:21:13.264 [INFO] [Dummy-24831] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:21:13.280 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:21:38.282 [INFO] [Dummy-24832] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:21:38.298 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:22:03.301 [INFO] [Dummy-24833] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:22:03.318 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:22:28.320 [INFO] [Dummy-24834] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:22:28.336 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:22:53.338 [INFO] [Dummy-24835] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:22:53.355 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:23:18.357 [INFO] [Dummy-24836] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:23:18.374 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:23:43.376 [INFO] [Dummy-24837] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:23:43.392 [INFO] [Dummy-24816] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:24:08.394 [INFO] [Dummy-24838] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:24:08.412 [INFO] [Dummy-24839] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:24:33.414 [INFO] [Dummy-24840] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:24:33.432 [INFO] [Dummy-24839] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:24:58.435 [INFO] [Dummy-24841] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:24:58.452 [INFO] [Dummy-24839] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:25:23.455 [INFO] [Dummy-24842] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:25:23.474 [INFO] [Dummy-24843] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:25:48.477 [INFO] [Dummy-24844] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:25:48.494 [INFO] [Dummy-24845] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:26:13.497 [INFO] [Dummy-24846] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:26:13.515 [INFO] [Dummy-24847] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:26:38.518 [INFO] [Dummy-24848] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:26:38.537 [INFO] [Dummy-24847] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:27:03.539 [INFO] [Dummy-24849] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:27:03.558 [INFO] [Dummy-24850] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:27:28.560 [INFO] [Dummy-24851] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:27:28.576 [INFO] [Dummy-24850] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:27:53.579 [INFO] [Dummy-24852] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:27:53.596 [INFO] [Dummy-24850] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:28:18.600 [INFO] [Dummy-24853] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:28:18.617 [INFO] [Dummy-24850] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:28:43.620 [INFO] [Dummy-24854] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:28:43.636 [INFO] [Dummy-24850] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:29:08.639 [INFO] [Dummy-24855] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:29:08.655 [INFO] [Dummy-24850] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:29:33.659 [INFO] [Dummy-24856] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:29:33.675 [INFO] [Dummy-24850] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:29:58.679 [INFO] [Dummy-24857] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:29:58.695 [INFO] [Dummy-24850] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:30:23.699 [INFO] [Dummy-24858] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:30:23.717 [INFO] [Dummy-24859] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:30:48.720 [INFO] [Dummy-24860] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:30:48.737 [INFO] [Dummy-24859] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:31:13.740 [INFO] [Dummy-24861] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:31:13.756 [INFO] [Dummy-24859] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:31:38.758 [INFO] [Dummy-24862] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:31:38.774 [INFO] [Dummy-24863] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:32:03.776 [INFO] [Dummy-24864] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:32:03.796 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:32:28.798 [INFO] [Dummy-24866] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:32:28.815 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:32:53.819 [INFO] [Dummy-24867] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:32:53.835 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:33:18.838 [INFO] [Dummy-24868] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:33:18.856 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:33:43.859 [INFO] [Dummy-24869] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:33:43.876 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:34:08.878 [INFO] [Dummy-24870] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:34:08.894 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:34:33.896 [INFO] [Dummy-24871] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:34:33.913 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:34:58.916 [INFO] [Dummy-24872] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:34:58.935 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:35:23.938 [INFO] [Dummy-24873] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:35:23.955 [INFO] [Dummy-24865] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:35:48.959 [INFO] [Dummy-24874] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:35:48.976 [INFO] [Dummy-24875] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:36:13.978 [INFO] [Dummy-24876] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:36:13.996 [INFO] [Dummy-24875] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:36:38.999 [INFO] [Dummy-24877] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:36:39.015 [INFO] [Dummy-24875] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:37:04.017 [INFO] [Dummy-24878] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:37:04.035 [INFO] [Dummy-24875] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:37:29.037 [INFO] [Dummy-24879] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:37:29.053 [INFO] [Dummy-24880] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:37:54.056 [INFO] [Dummy-24881] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:37:54.073 [INFO] [Dummy-24882] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:38:19.075 [INFO] [Dummy-24883] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:38:19.091 [INFO] [Dummy-24882] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:38:44.094 [INFO] [Dummy-24884] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:38:44.110 [INFO] [Dummy-24882] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:39:09.112 [INFO] [Dummy-24885] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:39:09.129 [INFO] [Dummy-24882] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:39:34.131 [INFO] [Dummy-24886] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:39:34.150 [INFO] [Dummy-24882] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:39:59.152 [INFO] [Dummy-24887] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:39:59.169 [INFO] [Dummy-24888] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:40:24.171 [INFO] [Dummy-24889] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:40:24.188 [INFO] [Dummy-24888] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:40:49.190 [INFO] [Dummy-24890] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:40:49.207 [INFO] [Dummy-24891] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:41:14.209 [INFO] [Dummy-24892] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:41:14.226 [INFO] [Dummy-24893] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:41:39.228 [INFO] [Dummy-24894] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:41:39.245 [INFO] [Dummy-24895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:42:04.248 [INFO] [Dummy-24896] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:42:04.262 [INFO] [Dummy-24895] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:42:29.265 [INFO] [Dummy-24897] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:42:29.282 [INFO] [Dummy-24898] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:42:54.316 [INFO] [Dummy-24899] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:42:54.333 [INFO] [Dummy-24900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:43:19.335 [INFO] [Dummy-24901] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:43:19.352 [INFO] [Dummy-24900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:43:44.355 [INFO] [Dummy-24902] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:43:44.373 [INFO] [Dummy-24900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:44:09.376 [INFO] [Dummy-24903] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:44:09.394 [INFO] [Dummy-24900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:44:34.397 [INFO] [Dummy-24904] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:44:34.414 [INFO] [Dummy-24900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:44:59.417 [INFO] [Dummy-24905] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:44:59.434 [INFO] [Dummy-24900] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:45:24.437 [INFO] [Dummy-24906] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:45:24.453 [INFO] [Dummy-24907] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:45:49.456 [INFO] [Dummy-24908] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:45:49.473 [INFO] [Dummy-24907] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:46:14.476 [INFO] [Dummy-24909] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:46:14.493 [INFO] [Dummy-24907] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:46:39.495 [INFO] [Dummy-24910] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:46:39.512 [INFO] [Dummy-24907] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:47:04.516 [INFO] [Dummy-24911] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:47:04.532 [INFO] [Dummy-24907] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:47:29.535 [INFO] [Dummy-24912] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:47:29.552 [INFO] [Dummy-24907] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:47:54.555 [INFO] [Dummy-24913] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:47:54.572 [INFO] [Dummy-24907] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:48:19.574 [INFO] [Dummy-24914] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:48:19.592 [INFO] [Dummy-24915] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:48:44.595 [INFO] [Dummy-24916] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:48:44.612 [INFO] [Dummy-24917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:49:09.614 [INFO] [Dummy-24918] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:49:09.630 [INFO] [Dummy-24917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:49:34.632 [INFO] [Dummy-24919] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:49:34.649 [INFO] [Dummy-24917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:49:59.650 [INFO] [Dummy-24920] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:49:59.665 [INFO] [Dummy-24917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:50:24.666 [INFO] [Dummy-24921] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:50:24.683 [INFO] [Dummy-24917] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:50:49.686 [INFO] [Dummy-24922] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:50:49.702 [INFO] [Dummy-24923] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:51:14.705 [INFO] [Dummy-24924] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:51:14.723 [INFO] [Dummy-24923] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:51:39.726 [INFO] [Dummy-24925] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:51:39.742 [INFO] [Dummy-24923] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:52:04.745 [INFO] [Dummy-24926] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:52:04.763 [INFO] [Dummy-24923] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:52:29.765 [INFO] [Dummy-24927] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:52:29.784 [INFO] [Dummy-24928] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:52:54.787 [INFO] [Dummy-24929] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:52:54.804 [INFO] [Dummy-24930] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:53:19.806 [INFO] [Dummy-24931] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:53:19.823 [INFO] [Dummy-24930] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:53:44.826 [INFO] [Dummy-24932] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:53:44.842 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:54:09.845 [INFO] [Dummy-24934] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:54:09.862 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:54:34.865 [INFO] [Dummy-24935] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:54:34.882 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:54:59.885 [INFO] [Dummy-24936] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:54:59.901 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:55:24.903 [INFO] [Dummy-24937] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:55:24.919 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:55:49.922 [INFO] [Dummy-24938] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:55:49.938 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:56:14.940 [INFO] [Dummy-24939] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:56:14.956 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:56:39.958 [INFO] [Dummy-24940] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:56:39.974 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:57:04.976 [INFO] [Dummy-24941] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:57:04.991 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:57:29.993 [INFO] [Dummy-24942] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:57:30.010 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:57:55.012 [INFO] [Dummy-24943] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:57:55.029 [INFO] [Dummy-24933] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:58:20.031 [INFO] [Dummy-24944] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:58:20.048 [INFO] [Dummy-24945] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:58:45.050 [INFO] [Dummy-24946] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:58:45.065 [INFO] [Dummy-24945] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:59:10.067 [INFO] [Dummy-24947] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:59:10.083 [INFO] [Dummy-24945] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T06:59:35.085 [INFO] [Dummy-24948] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T06:59:35.101 [INFO] [Dummy-24945] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:00:00.104 [INFO] [Dummy-24949] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:00:00.122 [INFO] [Dummy-24945] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:00:25.125 [INFO] [Dummy-24950] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:00:25.142 [INFO] [Dummy-24945] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:00:50.145 [INFO] [Dummy-24951] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:00:50.162 [INFO] [Dummy-24952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:01:15.165 [INFO] [Dummy-24953] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:01:15.182 [INFO] [Dummy-24952] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:01:40.185 [INFO] [Dummy-24954] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:01:40.202 [INFO] [Dummy-24955] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:02:05.205 [INFO] [Dummy-24956] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:02:05.221 [INFO] [Dummy-24955] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:02:30.257 [INFO] [Dummy-24957] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:02:30.274 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:02:55.276 [INFO] [Dummy-24959] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:02:55.293 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:03:20.297 [INFO] [Dummy-24960] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:03:20.313 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:03:45.316 [INFO] [Dummy-24961] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:03:45.333 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:04:10.336 [INFO] [Dummy-24962] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:04:10.350 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:04:35.353 [INFO] [Dummy-24963] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:04:35.370 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:05:00.373 [INFO] [Dummy-24964] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:05:00.389 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:05:25.391 [INFO] [Dummy-24965] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:05:25.408 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:05:50.411 [INFO] [Dummy-24966] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:05:50.429 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:06:15.431 [INFO] [Dummy-24967] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:06:15.448 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:06:40.451 [INFO] [Dummy-24968] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:06:40.469 [INFO] [Dummy-24958] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:07:05.472 [INFO] [Dummy-24969] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:07:05.490 [INFO] [Dummy-24970] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:07:30.493 [INFO] [Dummy-24971] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:07:30.509 [INFO] [Dummy-24970] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:07:55.512 [INFO] [Dummy-24972] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:07:55.528 [INFO] [Dummy-24970] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:08:20.531 [INFO] [Dummy-24973] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:08:20.546 [INFO] [Dummy-24970] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:08:45.549 [INFO] [Dummy-24974] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:08:45.565 [INFO] [Dummy-24970] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:09:10.569 [INFO] [Dummy-24975] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:09:10.586 [INFO] [Dummy-24970] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:09:35.589 [INFO] [Dummy-24976] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:09:35.605 [INFO] [Dummy-24977] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:10:00.607 [INFO] [Dummy-24978] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:10:00.624 [INFO] [Dummy-24977] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:10:25.627 [INFO] [Dummy-24979] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:10:25.644 [INFO] [Dummy-24977] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:10:50.647 [INFO] [Dummy-24980] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:10:50.663 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:11:15.665 [INFO] [Dummy-24982] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:11:15.681 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:11:40.683 [INFO] [Dummy-24983] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:11:40.699 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:12:05.701 [INFO] [Dummy-24984] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:12:05.718 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:12:30.721 [INFO] [Dummy-24985] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:12:30.737 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:12:55.739 [INFO] [Dummy-24986] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:12:55.756 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:13:20.757 [INFO] [Dummy-24987] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:13:20.773 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:13:45.776 [INFO] [Dummy-24988] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:13:45.792 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:14:10.795 [INFO] [Dummy-24989] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:14:10.812 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:14:35.814 [INFO] [Dummy-24990] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:14:35.835 [INFO] [Dummy-24981] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:15:00.837 [INFO] [Dummy-24991] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:15:00.854 [INFO] [Dummy-24992] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:15:25.856 [INFO] [Dummy-24993] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:15:25.873 [INFO] [Dummy-24992] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:15:50.875 [INFO] [Dummy-24994] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:15:50.892 [INFO] [Dummy-24992] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:16:15.894 [INFO] [Dummy-24995] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:16:15.910 [INFO] [Dummy-24992] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:16:40.913 [INFO] [Dummy-24996] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:16:40.930 [INFO] [Dummy-24992] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:17:05.932 [INFO] [Dummy-24997] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:17:05.949 [INFO] [Dummy-24992] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:17:30.951 [INFO] [Dummy-24998] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:17:30.967 [INFO] [Dummy-24992] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:17:55.970 [INFO] [Dummy-24999] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:17:55.987 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:18:20.990 [INFO] [Dummy-25001] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:18:21.006 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:18:46.008 [INFO] [Dummy-25002] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:18:46.025 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:19:11.028 [INFO] [Dummy-25003] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:19:11.044 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:19:36.046 [INFO] [Dummy-25004] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:19:36.063 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:20:01.066 [INFO] [Dummy-25005] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:20:01.081 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:20:26.083 [INFO] [Dummy-25006] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:20:26.103 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:20:51.106 [INFO] [Dummy-25007] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:20:51.122 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:21:16.125 [INFO] [Dummy-25008] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:21:16.141 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:21:41.144 [INFO] [Dummy-25009] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:21:41.159 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:22:06.161 [INFO] [Dummy-25010] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:22:06.178 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:22:31.181 [INFO] [Dummy-25011] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:22:31.197 [INFO] [Dummy-25000] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:22:56.200 [INFO] [Dummy-25012] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:22:56.216 [INFO] [Dummy-25013] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:23:21.253 [INFO] [Dummy-25014] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:23:21.271 [INFO] [Dummy-25015] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:23:46.274 [INFO] [Dummy-25016] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:23:46.291 [INFO] [Dummy-25017] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:24:11.294 [INFO] [Dummy-25018] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:24:11.312 [INFO] [Dummy-25019] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:24:36.315 [INFO] [Dummy-25020] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:24:36.332 [INFO] [Dummy-25021] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:25:01.335 [INFO] [Dummy-25022] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:25:01.351 [INFO] [Dummy-25021] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:25:26.354 [INFO] [Dummy-25023] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:25:26.370 [INFO] [Dummy-25021] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:25:51.374 [INFO] [Dummy-25024] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:25:51.392 [INFO] [Dummy-25025] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:26:16.395 [INFO] [Dummy-25026] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:26:16.412 [INFO] [Dummy-25025] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:26:41.415 [INFO] [Dummy-25027] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:26:41.436 [INFO] [Dummy-25028] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:27:06.439 [INFO] [Dummy-25029] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:27:06.454 [INFO] [Dummy-25030] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:27:31.457 [INFO] [Dummy-25031] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:27:31.477 [INFO] [Dummy-25030] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:27:56.480 [INFO] [Dummy-25032] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:27:56.496 [INFO] [Dummy-25030] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:28:21.531 [INFO] [Dummy-25033] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:28:21.549 [INFO] [Dummy-25034] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:28:46.552 [INFO] [Dummy-25035] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:28:46.571 [INFO] [Dummy-25036] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:29:11.575 [INFO] [Dummy-25037] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:29:11.591 [INFO] [Dummy-25038] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:29:36.594 [INFO] [Dummy-25039] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:29:36.609 [INFO] [Dummy-25040] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:30:01.611 [INFO] [Dummy-25041] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:30:01.629 [INFO] [Dummy-25040] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:30:26.630 [INFO] [Dummy-25042] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:30:26.648 [INFO] [Dummy-25040] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:30:51.650 [INFO] [Dummy-25043] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:30:51.668 [INFO] [Dummy-25044] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:31:16.670 [INFO] [Dummy-25045] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:31:16.686 [INFO] [Dummy-25046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:31:41.689 [INFO] [Dummy-25047] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:31:41.706 [INFO] [Dummy-25046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:32:06.709 [INFO] [Dummy-25048] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:32:06.725 [INFO] [Dummy-25046] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:32:31.761 [INFO] [Dummy-25049] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:32:31.777 [INFO] [Dummy-25050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:32:56.780 [INFO] [Dummy-25051] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:32:56.796 [INFO] [Dummy-25050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:33:21.798 [INFO] [Dummy-25052] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:33:21.817 [INFO] [Dummy-25050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:33:46.820 [INFO] [Dummy-25053] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:33:46.837 [INFO] [Dummy-25050] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:34:11.871 [INFO] [Dummy-25054] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:34:11.888 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:34:36.890 [INFO] [Dummy-25056] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:34:36.907 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:35:01.910 [INFO] [Dummy-25057] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:35:01.925 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:35:26.927 [INFO] [Dummy-25058] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:35:26.944 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:35:51.946 [INFO] [Dummy-25059] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:35:51.961 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:36:16.963 [INFO] [Dummy-25060] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:36:16.979 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:36:41.980 [INFO] [Dummy-25061] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:36:41.998 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:37:07.000 [INFO] [Dummy-25062] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:37:07.018 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:37:32.021 [INFO] [Dummy-25063] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:37:32.037 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:37:57.040 [INFO] [Dummy-25064] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:37:57.056 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:38:22.059 [INFO] [Dummy-25065] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:38:22.077 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:38:47.080 [INFO] [Dummy-25066] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:38:47.096 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:39:12.098 [INFO] [Dummy-25067] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:39:12.115 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:39:37.118 [INFO] [Dummy-25068] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:39:37.135 [INFO] [Dummy-25055] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:40:02.138 [INFO] [Dummy-25069] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:40:02.154 [INFO] [Dummy-25070] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:40:27.157 [INFO] [Dummy-25071] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:40:27.173 [INFO] [Dummy-25070] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:40:52.209 [INFO] [Dummy-25072] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:40:52.226 [INFO] [Dummy-25073] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:41:17.229 [INFO] [Dummy-25074] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:41:17.248 [INFO] [Dummy-25073] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:41:42.251 [INFO] [Dummy-25075] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:41:42.268 [INFO] [Dummy-25076] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:42:07.271 [INFO] [Dummy-25077] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:42:07.287 [INFO] [Dummy-25078] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:42:32.290 [INFO] [Dummy-25079] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:42:32.306 [INFO] [Dummy-25078] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:42:57.308 [INFO] [Dummy-25080] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:42:57.327 [INFO] [Dummy-25078] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:43:22.329 [INFO] [Dummy-25081] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:43:22.346 [INFO] [Dummy-25078] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:43:47.349 [INFO] [Dummy-25082] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:43:47.368 [INFO] [Dummy-25078] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:44:12.371 [INFO] [Dummy-25083] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:44:12.387 [INFO] [Dummy-25084] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:44:37.389 [INFO] [Dummy-25085] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:44:37.407 [INFO] [Dummy-25086] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:45:02.408 [INFO] [Dummy-25087] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:45:02.424 [INFO] [Dummy-25086] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:45:27.427 [INFO] [Dummy-25088] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:45:27.444 [INFO] [Dummy-25086] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:45:52.479 [INFO] [Dummy-25089] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:45:52.495 [INFO] [Dummy-25090] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:46:17.498 [INFO] [Dummy-25091] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:46:17.514 [INFO] [Dummy-25092] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:46:42.516 [INFO] [Dummy-25093] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:46:42.534 [INFO] [Dummy-25092] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:47:07.536 [INFO] [Dummy-25094] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:47:07.552 [INFO] [Dummy-25092] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:47:32.555 [INFO] [Dummy-25095] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:47:32.574 [INFO] [Dummy-25092] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:47:57.576 [INFO] [Dummy-25096] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:47:57.595 [INFO] [Dummy-25092] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:48:22.598 [INFO] [Dummy-25097] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:48:22.616 [INFO] [Dummy-25092] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:48:47.619 [INFO] [Dummy-25098] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:48:47.636 [INFO] [Dummy-25099] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:49:12.640 [INFO] [Dummy-25100] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:49:12.657 [INFO] [Dummy-25101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:49:37.660 [INFO] [Dummy-25102] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:49:37.676 [INFO] [Dummy-25101] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:50:02.677 [INFO] [Dummy-25103] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:50:02.696 [INFO] [Dummy-25104] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:50:27.698 [INFO] [Dummy-25105] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:50:27.716 [INFO] [Dummy-25106] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:50:52.718 [INFO] [Dummy-25107] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:50:52.735 [INFO] [Dummy-25108] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:51:17.737 [INFO] [Dummy-25109] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:51:17.754 [INFO] [Dummy-25110] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:51:42.756 [INFO] [Dummy-25111] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:51:42.771 [INFO] [Dummy-25110] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:52:07.772 [INFO] [Dummy-25112] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:52:07.788 [INFO] [Dummy-25110] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:52:32.791 [INFO] [Dummy-25113] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:52:32.809 [INFO] [Dummy-25114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:52:57.811 [INFO] [Dummy-25115] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:52:57.829 [INFO] [Dummy-25114] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:53:22.831 [INFO] [Dummy-25116] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:53:22.847 [INFO] [Dummy-25117] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:53:47.849 [INFO] [Dummy-25118] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:53:47.866 [INFO] [Dummy-25119] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:54:12.868 [INFO] [Dummy-25120] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:54:12.884 [INFO] [Dummy-25119] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:54:37.886 [INFO] [Dummy-25121] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:54:37.904 [INFO] [Dummy-25119] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:55:02.905 [INFO] [Dummy-25122] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:55:02.922 [INFO] [Dummy-25123] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:55:27.925 [INFO] [Dummy-25124] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:55:27.942 [INFO] [Dummy-25125] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:55:52.945 [INFO] [Dummy-25126] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:55:52.963 [INFO] [Dummy-25125] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:56:17.967 [INFO] [Dummy-25127] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:56:17.983 [INFO] [Dummy-25125] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:56:42.986 [INFO] [Dummy-25128] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:56:43.002 [INFO] [Dummy-25125] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:57:08.004 [INFO] [Dummy-25129] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:57:08.021 [INFO] [Dummy-25125] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:57:33.024 [INFO] [Dummy-25130] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:57:33.042 [INFO] [Dummy-25125] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:57:58.044 [INFO] [Dummy-25131] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:57:58.060 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:58:23.063 [INFO] [Dummy-25133] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:58:23.080 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:58:48.083 [INFO] [Dummy-25134] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:58:48.098 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:59:13.100 [INFO] [Dummy-25135] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:59:13.117 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T07:59:38.120 [INFO] [Dummy-25136] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T07:59:38.138 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:00:03.140 [INFO] [Dummy-25137] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:00:03.156 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:00:28.159 [INFO] [Dummy-25138] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:00:28.174 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:00:53.176 [INFO] [Dummy-25139] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:00:53.192 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:01:18.193 [INFO] [Dummy-25140] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:01:18.209 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:01:43.211 [INFO] [Dummy-25141] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:01:43.228 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:02:08.231 [INFO] [Dummy-25142] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:02:08.253 [INFO] [Dummy-25132] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:02:33.256 [INFO] [Dummy-25143] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:02:33.272 [INFO] [Dummy-25144] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:02:58.275 [INFO] [Dummy-25145] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:02:58.291 [INFO] [Dummy-25146] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:03:23.294 [INFO] [Dummy-25147] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:03:23.311 [INFO] [Dummy-25146] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:03:48.314 [INFO] [Dummy-25148] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:03:48.330 [INFO] [Dummy-25146] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:04:13.333 [INFO] [Dummy-25149] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:04:13.349 [INFO] [Dummy-25146] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:04:38.351 [INFO] [Dummy-25150] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:04:38.368 [INFO] [Dummy-25146] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:05:03.371 [INFO] [Dummy-25151] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:05:03.392 [INFO] [Dummy-25146] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:05:28.395 [INFO] [Dummy-25152] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:05:28.411 [INFO] [Dummy-25153] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:05:53.413 [INFO] [Dummy-25154] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:05:53.431 [INFO] [Dummy-25153] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:06:18.434 [INFO] [Dummy-25155] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:06:18.450 [INFO] [Dummy-25153] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:06:43.453 [INFO] [Dummy-25156] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:06:43.470 [INFO] [Dummy-25153] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:07:08.473 [INFO] [Dummy-25157] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:07:08.491 [INFO] [Dummy-25158] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:07:33.493 [INFO] [Dummy-25159] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:07:33.509 [INFO] [Dummy-25160] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:07:58.511 [INFO] [Dummy-25161] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:07:58.528 [INFO] [Dummy-25160] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:08:23.530 [INFO] [Dummy-25162] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:08:23.547 [INFO] [Dummy-25160] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:08:48.549 [INFO] [Dummy-25163] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:08:48.565 [INFO] [Dummy-25160] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:09:13.568 [INFO] [Dummy-25164] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:09:13.585 [INFO] [Dummy-25160] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:09:38.587 [INFO] [Dummy-25165] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:09:38.603 [INFO] [Dummy-25160] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:10:03.605 [INFO] [Dummy-25166] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:10:03.621 [INFO] [Dummy-25160] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:10:28.624 [INFO] [Dummy-25167] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:10:28.644 [INFO] [Dummy-25160] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:10:53.647 [INFO] [Dummy-25168] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:10:53.667 [INFO] [Dummy-25169] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:11:18.670 [INFO] [Dummy-25170] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:11:18.686 [INFO] [Dummy-25169] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:11:43.688 [INFO] [Dummy-25171] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:11:43.704 [INFO] [Dummy-25172] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:12:08.707 [INFO] [Dummy-25173] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:12:08.723 [INFO] [Dummy-25172] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:12:33.726 [INFO] [Dummy-25174] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:12:33.744 [INFO] [Dummy-25172] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:12:58.747 [INFO] [Dummy-25175] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:12:58.763 [INFO] [Dummy-25176] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:13:23.766 [INFO] [Dummy-25177] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:13:23.786 [INFO] [Dummy-25176] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:13:48.788 [INFO] [Dummy-25178] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:13:48.804 [INFO] [Dummy-25179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:14:13.806 [INFO] [Dummy-25180] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:14:13.823 [INFO] [Dummy-25179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:14:38.825 [INFO] [Dummy-25181] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:14:38.842 [INFO] [Dummy-25179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:15:03.845 [INFO] [Dummy-25182] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:15:03.862 [INFO] [Dummy-25179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:15:28.865 [INFO] [Dummy-25183] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:15:28.883 [INFO] [Dummy-25179] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:15:53.885 [INFO] [Dummy-25184] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:15:53.901 [INFO] [Dummy-25185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:16:18.902 [INFO] [Dummy-25186] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:16:18.917 [INFO] [Dummy-25185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:16:43.919 [INFO] [Dummy-25187] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:16:43.933 [INFO] [Dummy-25185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:17:08.936 [INFO] [Dummy-25188] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:17:08.954 [INFO] [Dummy-25185] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:17:33.957 [INFO] [Dummy-25189] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:17:33.973 [INFO] [Dummy-25190] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:17:58.976 [INFO] [Dummy-25191] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:17:58.996 [INFO] [Dummy-25190] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:18:23.998 [INFO] [Dummy-25192] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:18:24.014 [INFO] [Dummy-25193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:18:49.017 [INFO] [Dummy-25194] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:18:49.035 [INFO] [Dummy-25193] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:19:14.039 [INFO] [Dummy-25195] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:19:14.055 [INFO] [Dummy-25196] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:19:39.058 [INFO] [Dummy-25197] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:19:39.075 [INFO] [Dummy-25196] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:20:04.079 [INFO] [Dummy-25198] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:20:04.099 [INFO] [Dummy-25199] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:20:29.102 [INFO] [Dummy-25200] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:20:29.118 [INFO] [Dummy-25199] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:20:54.120 [INFO] [Dummy-25201] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:20:54.142 [INFO] [Dummy-25199] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:21:19.145 [INFO] [Dummy-25202] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:21:19.164 [INFO] [Dummy-25203] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:21:44.167 [INFO] [Dummy-25204] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:21:44.183 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:22:09.185 [INFO] [Dummy-25206] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:22:09.201 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:22:34.203 [INFO] [Dummy-25207] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:22:34.218 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:22:59.220 [INFO] [Dummy-25208] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:22:59.240 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:23:24.243 [INFO] [Dummy-25209] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:23:24.259 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:23:49.261 [INFO] [Dummy-25210] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:23:49.278 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:24:14.281 [INFO] [Dummy-25211] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:24:14.298 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:24:39.301 [INFO] [Dummy-25212] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:24:39.318 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:25:04.321 [INFO] [Dummy-25213] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:25:04.338 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:25:29.340 [INFO] [Dummy-25214] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:25:29.357 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:25:54.360 [INFO] [Dummy-25215] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:25:54.377 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:26:19.380 [INFO] [Dummy-25216] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:26:19.397 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:26:44.400 [INFO] [Dummy-25217] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:26:44.415 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:27:09.419 [INFO] [Dummy-25218] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:27:09.436 [INFO] [Dummy-25205] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:27:34.439 [INFO] [Dummy-25219] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:27:34.456 [INFO] [Dummy-25220] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:27:59.458 [INFO] [Dummy-25221] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:27:59.477 [INFO] [Dummy-25220] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:28:24.480 [INFO] [Dummy-25222] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:28:24.496 [INFO] [Dummy-25223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:28:49.499 [INFO] [Dummy-25224] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:28:49.514 [INFO] [Dummy-25223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:29:14.517 [INFO] [Dummy-25225] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:29:14.536 [INFO] [Dummy-25223] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:29:39.539 [INFO] [Dummy-25226] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:29:39.556 [INFO] [Dummy-25227] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:30:04.559 [INFO] [Dummy-25228] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:30:04.576 [INFO] [Dummy-25229] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:30:29.578 [INFO] [Dummy-25230] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:30:29.595 [INFO] [Dummy-25231] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:30:54.597 [INFO] [Dummy-25232] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:30:54.616 [INFO] [Dummy-25231] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:31:19.618 [INFO] [Dummy-25233] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:31:19.634 [INFO] [Dummy-25234] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:31:44.636 [INFO] [Dummy-25235] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:31:44.653 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:32:09.655 [INFO] [Dummy-25237] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:32:09.672 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:32:34.675 [INFO] [Dummy-25238] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:32:34.690 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:32:59.692 [INFO] [Dummy-25239] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:32:59.709 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:33:24.711 [INFO] [Dummy-25240] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:33:24.729 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:33:49.731 [INFO] [Dummy-25241] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:33:49.749 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:34:14.751 [INFO] [Dummy-25242] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:34:14.770 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:34:39.772 [INFO] [Dummy-25243] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:34:39.790 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:35:04.793 [INFO] [Dummy-25244] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:35:04.809 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:35:29.813 [INFO] [Dummy-25245] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:35:29.831 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:35:54.835 [INFO] [Dummy-25246] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:35:54.852 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:36:19.855 [INFO] [Dummy-25247] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:36:19.873 [INFO] [Dummy-25236] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:36:44.877 [INFO] [Dummy-25248] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:36:44.893 [INFO] [Dummy-25249] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:37:09.896 [INFO] [Dummy-25250] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:37:09.912 [INFO] [Dummy-25249] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:37:34.915 [INFO] [Dummy-25251] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:37:34.930 [INFO] [Dummy-25249] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:37:59.933 [INFO] [Dummy-25252] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:37:59.951 [INFO] [Dummy-25249] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:38:24.954 [INFO] [Dummy-25253] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:38:24.971 [INFO] [Dummy-25254] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:38:50.006 [INFO] [Dummy-25255] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:38:50.024 [INFO] [Dummy-25256] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:39:15.027 [INFO] [Dummy-25257] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:39:15.041 [INFO] [Dummy-25258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:39:40.044 [INFO] [Dummy-25259] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:39:40.060 [INFO] [Dummy-25258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:40:05.063 [INFO] [Dummy-25260] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:40:05.081 [INFO] [Dummy-25258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:40:30.084 [INFO] [Dummy-25261] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:40:30.100 [INFO] [Dummy-25258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:40:55.102 [INFO] [Dummy-25262] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:40:55.120 [INFO] [Dummy-25258] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:41:20.122 [INFO] [Dummy-25263] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:41:20.140 [INFO] [Dummy-25264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:41:45.143 [INFO] [Dummy-25265] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:41:45.161 [INFO] [Dummy-25264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:42:10.164 [INFO] [Dummy-25266] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:42:10.181 [INFO] [Dummy-25264] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:42:35.184 [INFO] [Dummy-25267] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:42:35.203 [INFO] [Dummy-25268] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:43:00.206 [INFO] [Dummy-25269] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:43:00.223 [INFO] [Dummy-25270] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:43:25.226 [INFO] [Dummy-25271] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:43:25.242 [INFO] [Dummy-25270] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:43:50.245 [INFO] [Dummy-25272] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:43:50.263 [INFO] [Dummy-25273] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:44:15.265 [INFO] [Dummy-25274] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:44:15.282 [INFO] [Dummy-25273] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:44:40.285 [INFO] [Dummy-25275] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:44:40.302 [INFO] [Dummy-25273] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:45:05.305 [INFO] [Dummy-25276] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:45:05.321 [INFO] [Dummy-25277] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:45:30.324 [INFO] [Dummy-25278] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:45:30.341 [INFO] [Dummy-25279] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:45:55.344 [INFO] [Dummy-25280] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:45:55.360 [INFO] [Dummy-25279] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:46:20.362 [INFO] [Dummy-25281] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:46:20.376 [INFO] [Dummy-25279] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:46:45.377 [INFO] [Dummy-25282] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:46:45.394 [INFO] [Dummy-25279] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:47:10.398 [INFO] [Dummy-25283] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:47:10.416 [INFO] [Dummy-25279] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:47:35.418 [INFO] [Dummy-25284] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:47:35.436 [INFO] [Dummy-25279] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:48:00.438 [INFO] [Dummy-25285] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:48:00.456 [INFO] [Dummy-25279] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:48:25.459 [INFO] [Dummy-25286] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:48:25.477 [INFO] [Dummy-25287] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:48:50.479 [INFO] [Dummy-25288] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:48:50.496 [INFO] [Dummy-25287] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:49:15.499 [INFO] [Dummy-25289] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:49:15.516 [INFO] [Dummy-25287] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:49:40.518 [INFO] [Dummy-25290] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:49:40.535 [INFO] [Dummy-25287] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:50:05.537 [INFO] [Dummy-25291] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:50:05.554 [INFO] [Dummy-25292] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:50:30.556 [INFO] [Dummy-25293] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:50:30.572 [INFO] [Dummy-25292] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:50:55.575 [INFO] [Dummy-25294] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:50:55.592 [INFO] [Dummy-25295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:51:20.595 [INFO] [Dummy-25296] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:51:20.612 [INFO] [Dummy-25295] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:51:45.614 [INFO] [Dummy-25297] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:51:45.631 [INFO] [Dummy-25298] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:52:10.633 [INFO] [Dummy-25299] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:52:10.650 [INFO] [Dummy-25300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:52:35.652 [INFO] [Dummy-25301] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:52:35.668 [INFO] [Dummy-25300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:53:00.671 [INFO] [Dummy-25302] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:53:00.687 [INFO] [Dummy-25300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:53:25.689 [INFO] [Dummy-25303] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:53:25.705 [INFO] [Dummy-25300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:53:50.707 [INFO] [Dummy-25304] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:53:50.724 [INFO] [Dummy-25300] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:54:15.727 [INFO] [Dummy-25305] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:54:15.743 [INFO] [Dummy-25306] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:54:40.744 [INFO] [Dummy-25307] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:54:40.765 [INFO] [Dummy-25306] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:55:05.767 [INFO] [Dummy-25308] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:55:05.783 [INFO] [Dummy-25306] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:55:30.786 [INFO] [Dummy-25309] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:55:30.802 [INFO] [Dummy-25306] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:55:55.806 [INFO] [Dummy-25310] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:55:55.822 [INFO] [Dummy-25306] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:56:20.825 [INFO] [Dummy-25311] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:56:20.841 [INFO] [Dummy-25306] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:56:45.849 [INFO] [Dummy-25312] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:56:45.863 [INFO] [Dummy-25313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:57:10.866 [INFO] [Dummy-25314] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:57:10.883 [INFO] [Dummy-25313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:57:35.886 [INFO] [Dummy-25315] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:57:35.903 [INFO] [Dummy-25313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:58:00.906 [INFO] [Dummy-25316] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:58:00.923 [INFO] [Dummy-25313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:58:25.926 [INFO] [Dummy-25317] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:58:25.946 [INFO] [Dummy-25313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:58:50.949 [INFO] [Dummy-25318] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:58:50.966 [INFO] [Dummy-25313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:59:15.968 [INFO] [Dummy-25319] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:59:15.987 [INFO] [Dummy-25313] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T08:59:40.990 [INFO] [Dummy-25320] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T08:59:41.006 [INFO] [Dummy-25321] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
2025-12-22T09:00:06.008 [INFO] [Dummy-25322] [socket.py] [send()] YsxIx5rN9JxN6Jy1AAAC: Sending packet PING data None
2025-12-22T09:00:06.026 [INFO] [Dummy-25321] [socket.py] [receive()] YsxIx5rN9JxN6Jy1AAAC: Received packet PONG data 
