From 03cff92e763fb4979dd7431e5ad9a5b7e23359a7 Mon Sep 17 00:00:00 2001 From: Darren Lester Date: Wed, 4 Dec 2024 23:23:54 +0000 Subject: [PATCH] Document 2024 d4 solutions --- .../Dazbo's_Advent_of_Code_2024.ipynb | 2377 +---------------- 1 file changed, 86 insertions(+), 2291 deletions(-) diff --git a/src/AoC_2024/Dazbo's_Advent_of_Code_2024.ipynb b/src/AoC_2024/Dazbo's_Advent_of_Code_2024.ipynb index 5f775db..2c1d661 100644 --- a/src/AoC_2024/Dazbo's_Advent_of_Code_2024.ipynb +++ b/src/AoC_2024/Dazbo's_Advent_of_Code_2024.ipynb @@ -58,8 +58,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "Note: you may need to restart the kernel to use updated packages.\n", - "Requirement already satisfied: jupyterlab-lsp in c:\\users\\darren_lester\\localdev\\my-ip\\advent-of-code\\.aoc-env\\lib\\site-packages (5.1.0)\n", + "Requirement already satisfied: jupyterlab-lsp in c:\\users\\darren_lester\\localdev\\my-ip\\advent-of-code\\.aoc-env\\lib\\site-packages (5.1.0)Note: you may need to restart the kernel to use updated packages.\n", + "\n", "Requirement already satisfied: ipykernel in c:\\users\\darren_lester\\localdev\\my-ip\\advent-of-code\\.aoc-env\\lib\\site-packages (6.29.5)\n", "Requirement already satisfied: matplotlib in c:\\users\\darren_lester\\localdev\\my-ip\\advent-of-code\\.aoc-env\\lib\\site-packages (3.9.3)\n", "Requirement already satisfied: pandas in c:\\users\\darren_lester\\localdev\\my-ip\\advent-of-code\\.aoc-env\\lib\\site-packages (2.2.3)\n", @@ -252,8 +252,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32m17:14:12.476:aoc2024 - INF: Logger initialised.\u001b[39m\n", - "\u001b[34m17:14:12.477:aoc2024 - DBG: Debugging enabled\u001b[39m\n" + "\u001b[32m22:44:08.461:aoc2024 - INF: Logger initialised.\u001b[39m\n", + "\u001b[34m22:44:08.463:aoc2024 - DBG: Debugging enabled\u001b[39m\n" ] } ], @@ -286,8 +286,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "\u001b[34m17:14:12.498:aoc2024 - DBG: Checking if ffmpeg is installed\u001b[39m\n", - "\u001b[34m17:14:12.592:aoc2024 - DBG: ffmpeg version: ffmpeg version 6.1-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers\n", + "\u001b[34m22:44:08.510:aoc2024 - DBG: Checking if ffmpeg is installed\u001b[39m\n", + "\u001b[34m22:44:08.715:aoc2024 - DBG: ffmpeg version: ffmpeg version 6.1-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers\n", "built with gcc 12.2.0 (Rev10, Built by MSYS2 project)\n", "configuration: --enable-gpl --enable-version3 --enable-static --pkg-config=pkgconf --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-dxva2 --enable-d3d11va --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint\n", "libavutil 58. 29.100 / 58. 29.100\n", @@ -298,10 +298,10 @@ "libswscale 7. 5.100 / 7. 5.100\n", "libswresample 4. 12.100 / 4. 12.100\n", "libpostproc 57. 3.100 / 57. 3.100\u001b[39m\n", - "\u001b[34m17:14:12.594:aoc2024 - DBG: ffmpeg is already installed.\u001b[39m\n", - "\u001b[34m17:14:12.595:aoc2024 - DBG: Checking if dot is installed\u001b[39m\n", - "\u001b[34m17:14:12.598:aoc2024 - DBG: dot is not installed or absent from path.\u001b[39m\n", - "\u001b[32m17:14:12.600:aoc2024 - INF: Installing graphviz on Windows...\u001b[39m\n", + "\u001b[34m22:44:08.718:aoc2024 - DBG: ffmpeg is already installed.\u001b[39m\n", + "\u001b[34m22:44:08.719:aoc2024 - DBG: Checking if dot is installed\u001b[39m\n", + "\u001b[34m22:44:08.723:aoc2024 - DBG: dot is not installed or absent from path.\u001b[39m\n", + "\u001b[32m22:44:08.725:aoc2024 - INF: Installing graphviz on Windows...\u001b[39m\n", "A package version is already installed. Installation cancelled.\u001b[39m \n" ] } @@ -1446,8 +1446,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "\u001b[34m17:15:33.391:aoc2024 - DBG: input.txt already exists\u001b[39m\n", - "\u001b[32m17:15:33.393:aoc2024 - INF: Input data:\n", + "\u001b[34m22:44:22.630:aoc2024 - DBG: input.txt already exists\u001b[39m\n", + "\u001b[32m22:44:22.636:aoc2024 - INF: Input data:\n", " 1: XXASMSMSXMXSMMXMAXMMMAMSAMASMSAMXMAXSXMASMAMMXXMASASXAMAMXSXMMSXSAMXSSXXMXAAXMAXMXXSXMXMMAAMMMMMMMMMMXXMSMSSSMXAAMAMMMSAMXXXXSMSAXMMXXMASMSS\n", " 2: ASMMAAAMAMASAXSSMMSASAMXAAAAXXXMAXXAMSASXMASMSSMSAMSAMMSXMAXSMAAMMSAMAAMSMSMSSSSXSXSMSAAXMXMAAAAMMSAMXSXMAAAAAXMAMAMAMAMMXMSASAXMXSAMXSAMXAS\n", " 3: XSAMSMMSAMASXMXAAXSASXXSSMXXXMMSMSMSMAMMASASXAAXXAMXAXAMAXMASMMSMAMMSMSMAAAAAAAAASASASXSMSASXSSXSAXAMAMAMMMSMMMMAXASMSMXSAAMAMXMMAMAXXAMXMMS\n", @@ -1486,62 +1486,76 @@ "source": [ "### Day 4 Part 1\n", "\n", - "We have a word search! We need to find every instance of the word `XMAS`.\n", - "\n" + "We have a word search! We need to find every instance of the word `XMAS`. The string can be found horizontally, vertically, diagonally, and in forward/reverse directions.\n", + "\n", + "#### Solution Approach\n", + "\n", + "- Create a dictinary to count how many times a given character is part of a matched word. Why did I do this?\n", + " - Firstly, we can use this dictionary to determine if any given character in the grid has been matched in a word. This makes it easy to print a grid that only shows matched characters. Useful for debugging!\n", + " - Secondly, I thought Part 2 might be asking where we have characters that are matched more than once, i.e. where words cross. This dict would have made it super easy for me to determine that. Alas, my guess was wrong!\n", + "- Now move through each location in the grid, and stop whenever we find the `X` of `XMAS`.\n", + "- Having identified the starting `X`, now iterate through all 8 possible directions.\n", + "- For each direction, first determine if the full word can fit in the grid, i.e. that we don't get cut off by a grid edge.\n", + "- If the word can fit, we then move one char at a time in the current direction, and test if the characters match the remaining characters in our word. \n", + "- If all characters match, then we've matched the word and we can increment that `matches` counter. But also, increment the counts for each character in this word.\n", + "- Now, render a visualisation of the grid, showing a `.` whenever the count at this location is 0, else show the character at this location.#\n", + "- Finally, return the total number of `matches`.\n" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "def solve_part1(data):\n", " match_word = \"XMAS\"\n", - " matched_counts = defaultdict(int)\n", + " matched_posn_counts = defaultdict(int) # increment whenever this index is in a matched word\n", "\n", " grid_width = len(data[0])\n", " grid_height = len(data)\n", "\n", " matches = 0\n", "\n", - " for row_num in range(grid_height):\n", - " for col_num in range(grid_width):\n", + " # Iterate through all positions in the grid\n", + " for row_idx in range(grid_height):\n", + " for col_idx in range(grid_width):\n", " # Find the X (first char)\n", - " if data[row_num][col_num] == match_word[0]:\n", - " # Now we want to expand in all directions, one direction at a time\n", - " for direction in Vectors:\n", - " \n", - " # Check if the word will fit in the bounds\n", + " if data[row_idx][col_idx] == match_word[0]:\n", + " # Now we want to expand in all directions\n", + " for direction in Vectors: # Loop through all directions\n", + "\n", + " # Check if the full word can be within the grid bounds\n", " chars_left = len(match_word)-1\n", - " if not (0 <= (col_num + chars_left*direction.value[0]) < grid_width):\n", + " if not (0 <= (col_idx + chars_left*direction.value[0]) < grid_width):\n", " continue # try next direction\n", - " if not (0 <= (row_num + chars_left*direction.value[1]) < grid_height):\n", + " if not (0 <= (row_idx + chars_left*direction.value[1]) < grid_height):\n", " continue # try next direction\n", "\n", " found_word = True\n", "\n", - " # Test remaining letters\n", + " # Test remaining letters in this direction\n", " for steps, char in enumerate(match_word[1:], start=1):\n", - " new_row = row_num + steps*direction.value[1]\n", - " new_col = col_num + steps*direction.value[0]\n", - " if data[new_row][new_col] != char:\n", + " new_row_idx = row_idx + steps*direction.value[1]\n", + " new_col_idx = col_idx + steps*direction.value[0]\n", + " if data[new_row_idx][new_col_idx] != char:\n", " found_word = False\n", " break\n", "\n", " if found_word:\n", - " # Mark these locations as matched\n", + " # Mark these all word locations as matched\n", " for steps, char in enumerate(match_word):\n", - " new_row = row_num + steps*direction.value[1]\n", - " new_col = col_num + steps*direction.value[0]\n", - " matched_counts[(new_col, new_row)] += 1\n", + " new_row_idx = row_idx + steps*direction.value[1]\n", + " new_col_idx = col_idx + steps*direction.value[0]\n", + " matched_posn_counts[(new_col_idx, new_row_idx)] += 1\n", + " \n", " matches += 1\n", " \n", " grid_rows = []\n", - " for row_num in range(grid_height):\n", + " for row_idx in range(grid_height):\n", " row_str = \"\"\n", - " for col_num in range(grid_width):\n", - " row_str += data[row_num][col_num] if matched_counts[(col_num, row_num)] > 0 else \".\"\n", + " for col_idx in range(grid_width):\n", + " row_str += data[row_idx][col_idx] if matched_posn_counts[(col_idx, row_idx)] > 0 else \".\"\n", " \n", " grid_rows.append(row_str)\n", " \n", @@ -1553,180 +1567,8 @@ ] }, { - "cell_type": "code", - "execution_count": 12, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m17:15:39.492:aoc2024 - INF: \n", - "....XXMAS.\n", - ".SAMXMS...\n", - "...S..A...\n", - "..A.A.MS.X\n", - "XMASAMX.MM\n", - "X.....XA.A\n", - "S.S.S.S.SS\n", - ".A.A.A.A.A\n", - "..M.M.M.MM\n", - ".X.X.XMASX\u001b[39m\n", - "\u001b[32m17:15:39.492:aoc2024 - INF: Test passed\u001b[39m\n", - "\u001b[32m17:15:39.493:aoc2024 - INF: All tests passed!\u001b[39m\n", - "\u001b[32m17:15:39.566:aoc2024 - INF: \n", - ".......SX.X......X...........SAMX....XMAS.....XMAS..X.........S.SAMXSS...............................X..S.....X.......SAMXX..........XMAS.SS\n", - "......A.AM.....SM...SAMX.....X...XX.....XMAS.......S.M.S....S..A...A..A.S.S..SSS.S.S.S..X.........SAMX.X.A....XM......A...M..S...XSAMXSAMXA.\n", - "XS...M.SAMA.X..AA..........X..M..SMS................A.A.AXMAS..SM.M.S.SM.AAAAAA.A.ASAS..MS.....X...A....M.M..M..A.....M...A.A...MA.A.X...MM.\n", - ".MA.X.AS..XS.MS..M.........SM..A..AAX.X............S.M.S.MM...A..X..AAA.X.MMM.MM.MAMA...A...X..XMAS...S.SAMXA....S....X...SM...AMXS.M...X.X.\n", - "..AM.M....S..XA...X.......A..A..S.SMS..MS...........A.X..XX..M..S...M.M.S.XX.XX.XMXMXM.MS..MMM.M.A...A....SS........S.....X...SXM..A.X......\n", - "..ASX......A..MS........XMAS..S...AXX..AA....X...S...M......X....A.XX.X.AX......X.X...X...A.A.AA.XS.M.SAMX..AX.......A......X..A..S.........\n", - ".SXMAS......M..A..S..SS.XMAS.....S.M..M..SS.M.S..A....XMAS........M.M.M.M.SS..........MS.S..SS.SM.MX...XS...MM.....S..M..SAMXMS.M...........\n", - "X.X..........X..S..A.ASAMX.....S..A..X.....A...A.M.........XMAS..A.X.AAAXA.AA.........AAA..AA.AA...AMXMAS..A..X.....A..XA.A...AA.X..........\n", - "M.M.................MM......SAMXAS...M....SXM..SMX...S.....M..S.SXMAS.S.MM.SMM........SM.MMMS.SM.S..SAMXX.S..M.......M.MXS.S...SM...........\n", - "A.A...............SX.XS..XSAMXX..MX..A....M.SXAXAX.XA......A.A.XMAS.SAMX..A.XXXX.....AXX.XXA...XX.A.SXS..M.SAMX....SAMXA.MA...SAMX..S..S....\n", - "S.S..............A..MA.X.XM.M.MSAMX.SS...A.A.M.M.M.M.......SM.M.S.......XMASAMXM....M...M.M....MX..M..S...AS.S.SAMX...MS.MAS...M...X.AAAA.X.\n", - ".A.A........S...M.SAMX.MM..A..A.A..A....S.M.X..A.XXA.......X.A.A.A...S..X.A..AAAAS.X...A.X....ASM...XA.A...S.AA.......A.XS.SA..X.S..MMMMSMSS\n", - "..M.M......A...X.SSXS..A.AS.S.SS..M......X.....S.SMS...S....SXMX..M...A..M.S.S.S.SAMX.S......SXMASX.M...M....M..S.....S..SASAMX..A..XA.XAAXA\n", - "..SX.X....M......A.AX.SS..S.AAAA.X...S.S.S.S....A.AA....A....XM...XX...MX.X.A.AA...M......SAMXAMSM.X.S...X.XXXXA......XX.MAMX.X..MS...SSM.MM\n", - "..A..SAMXX.SAMX..MMMMXMASAMXMMMSM.....AA.AA....MS.SMS..SAMX.XA.A.SM.XMASXM.M.M.M....XX.....A...MA.XMASA...MM.MM......M.MXSAMX....XA...AXX.AX\n", - "..M.SAMX....A....XA.A...M..XX.X.AX.....M.M....X..AAXXXX...XMSMX.S.A.X.A.AXX.X.XX...M..M..X..MX.SXS.SAS.M...AAX.A....A..A..A.XX....M...MXXSS.\n", - "XXXX.XSAMX...M...SSXSAMX.SAMXM...M.....XXX.....S..M.MM......A.AM..SM.M.S.M.M.M.MS.AXMASAM...MX..A.AMA...XX.SS...S..S.S.SSS.MM.....XSAMXMMA..\n", - "M.MXM..A.AS.X.X..A.XMAMXM....SAMX.X....SM...X.A...XXAAA..S.S.S.SA.A.XMAS.AX.A.AA.SS....AS..A.....MXM.M....M.....A.A..AA.A..AX..........AAMX.\n", - "AA.AMA..MASXM..MM.M.SAM..A...X.S.X.....A..SS.MSS.MMS.SSSX.A.A.AS.SS.SM...S.S.SMS.A.A..SA..S...S...X.X.X..XMAS...MM.SAMXMM.SS.S.........SSXM.\n", - "S.S.SASAMXM.A..XAA..SASX..S...M.M.....SM.A.AXAA.A.A.A..M.M.MXM..AAAAXMAS...AAX..M.SAMXMAS....A...X.....M.M..S...X....X..X..AAA.........X.XA.\n", - ".A..SASX.AMSS.M.SS.XS.MA.......A...X...XMASMMMMS.MSM..A...A.XMX..MM....XA..M.M.X..S..X......M.S..SMS.S..AA....S.M.S.M......MMM.........MM.S.\n", - "..M.MAM.S.AA.A.A....M..XMXMAS.S.S.M.MS.XX..XX.XSX.XMAS...S.SS.AS.XX.....MMSX.AX....A..X....X.A....AAA....S....A.A..A......XX.X.........A...S\n", - "...X.AM..M..S.M......A...XMAS....A..AA..M.....A......S..AX..A..SA..M.....AX..S....X.M..M....M......MSM........M.S.SAMX.....SMS......SXSS..A.\n", - "....S.SXX....X.X......S....A....S..M..S.A....M..X.XMASAM..M.M....M..A...MXS..AA..SM..X..A..X..SS..XXX.X.......X.....MX.....A.SAMX..AM.A.XMAS\n", - ".X.A..A.....S......SAMX.....SX...XX...S.S...X..M..M...XM...AX..X..XMAS.X.M...MXMA.A......S....AX..XMM.............XA.SM...SM...M.XMASM..XM..\n", - "..M.SAMX.....A.SXMAS.M.......M...M...A........A...A.....X...S.M.M........A...X.MX.SM.........MM..MAA.A............SM..AA...X....XXS.X.....A.\n", - ".X.AX.X.......M.AM..A......X.A...A..M.....X..S....S.XMAS...A.A.XMAS.XMASXS....X.A...X....SX.XAX.AS.S..S.....SAMX....A..MS...XMAS...........S\n", - "..MMSS.S.......X.MAS.......M.S...S.X.SSS.SM......A....S...M.S.....S..SAMXXX....M.S.M....A..MSS.SAMX...........SAMX...S..X..X.MS......SAMX...\n", - "..AAAA.A....XMAS..XS.S.....A...SAMX..AAAAAA.....M......A.X.XS.S...X..XA..M......A.A.S..M....AXMAS.....S...............A....M..AA............\n", - "SS.MS.MM..............A..S.S.S.M.XMASMMM.MS.S..X........M.MSMA.A..MXMS..AA..XMASXS...AX....M.SAMX....A......X..XMAS...XMAS.A...SMS.S.SAMX.XX\n", - "A.X..A.XMAS.........X..M.AA.A.X...A.XXXXXX.A.....X.....X.X.A.AM.M.AAMX.S.S..MS..M...S.M...XSAMX..M..M......M...X.....SAMXMAS...A.XAA.....MMM\n", - "M.MS..M.M.......SX...M..XM.M..X..XS.......M..S..M.....X.MS.MS.SX.XSX.AM..A..A.X.A....A.X..........AX......A.....M.S.....ASXMAS.M...M....A.AA\n", - "X.AAAA.X.A...X.AM....SAMXXXMASM.M....S...X.A.A.A.X...MX..A.X....M.M...SA.M.MSM..S.....MS........XMAS...S.SXMAS..XA......AS..A..XSAMXX..S..SS\n", - "S.SMSM.SMSSSM.MA......AS.X....AAX....A....MSSMS.SM..AS.M.MS.....XA......SXX.A....A...AAXA...S.....A.A.A.A.X.A..SM.S.X..M...M..M..A....X.....\n", - "SAMX..X.AAAAAXS..S...S..M.....SMX....M.....AAX..AA.S..ASAXXMAS..SMS..XMAS.MS.S...XM.SM..SM..A..SAMX..M...M.M..AXA.XMASX..SX..A....MSSMSS...X\n", - "..M..SAMXMSMMM...XA....A..SAMXA..MS..X......SM..MSM.ASAMXSMS......A.X......AAS....MXX..A..X.MS..XMASX.X.X.X.AM..S.A.....A...S......XAAA....M\n", - "SAMX...X..XAX.XS.SMM.XS.....MS...AAA..........X.X..XXMASX.AAX......S.M.....MS.AS...A..MXSAMXXMASX.AS....M...XS...S.....M...........SMMM....A\n", - "....M...M.S...A...AAX.M....A...XMS.SM..S........XMASX.XM.MSMS.S.......A...X....MAS.SSX..M.M.M..M.MA.....A........A.X..X..........S.XX.X....S\n", - ".....A...A.SAMX....MS..A..S....XMXA..XAA........X.....XXX.A.X..A.......S........XMA......A..A.A.XM..X...S.....S..M..M...XMAS....A..XS.......\n", - "......S.M.S.X.SSS.S.X...S.....S..AMM.M.MSAMX...X.M....MM.SAMX...M...............XMXMASX.SSS.SS.MX..M.M.......A.A.XMASA..X....S.M..M.A..X....\n", - "...S...X.....X.A.A...M...A..SA....SAX.SX....M.SM.SAMXAA....SAMX..XX...SAMX.....SXMASXM..A.....A...A...A.....M.S.M..A..SM...SAMX..A..M...M...\n", - "..A..........M.MM.M...A...M.MA.X.A..S..A....XA.A...SSSS...SAMXXM.M.......M......A.ASA..M.....S...SAMX..S...X...A.XM...AX...M..M.S...X....A..\n", - ".M...........A.X.X.X...S.S.X..M.M.S.X...M...M.SS.SX....X...M...MA........A.....S.MASAMXS....................X...MX...SM...X.X.AXX...XM....S.\n", - "X......X....XS...XSAMX..XA....XX.A...M...X.XA.XMASMS..MM...XXMASAS.S.....S......XMX.XMASAMX.................MS..SX...AX..M.M.MSMSM.M..A.....\n", - "M......M...SXM....M....MMM.S.M.SM.S.X.A..X.XS..M..AA.A.A..XMAS...SA.....XMAS....XM.MAS...M...S..............A.A.A.X.SM..A.XMASAAA.A....SX.X.\n", - "A......A..AM..A....A..A.AXA.ASAXAS.MS..S..M.MAX...SMS..S.........M....SAMXXMAS.M..AS..A...X...A........S...SSS.MM..MA..SXMAS.SASMS.S....MM..\n", - "S......S.MA....S....SS..SM.SAMX.XMASA..X.A.ASAMX...XX.A.....XX..X...SAMXMAS...A..S.SX.SM..S....M.S.X....A..AASAMX..SA...A.XMASAMXXA.....A...\n", - "......A.XS.S...........AX..MXMXMASXMM..MS...S.SXM....MXMASAMX.M..............S....AM...AXA......XA.MSAMX.M.M..X......S.S.MM..MAMXM.MX..SSXX.\n", - "XMAS.M...SAMX...X.....MS..XXA.A.....X..A.........A..X.MS..A....A.........X.X.....MA.....M..X...X.M.A......XX.M.X........A.A.XSAMX.A.XM..MM..\n", - "X...X....MA..M.M.....XX.A..SMS.....SAMXSAMX.......S...A.AS.....XS.X.....MSM...S.XSAMX..X.X..M.M.MX.S..S.S..SA.M.S..S.S.S..S..SA.XX.S..AAAA..\n", - "MM.S....X..M..A.......SM.M..AA.....XXX.XX.......X.X..MS..MA.....M.M....A.AA...A.A..M..M.X....A..SA..AASAMXAS.A.A....AXA.....XSAMXM....SS.S..\n", - "A.AS.S.SSM.SXS.S.....A..A.XM..S....M.MMM.M.......M.SX.....XMX....AA...S.SSXMASMM.SA..A...M..S.S..AS.MMM..MX.S.M..SS..MSM.....MAM.A......A...\n", - "SM.SA.AA..A...A.....MS.S.SX......XAA.AA.XMAS....ASAMX...S..MX.XX..S..X....A.X.XMAS..S.....A.....SAMX.XX.XMSAMX...XA..AX.X.....AMXS.....M.X..\n", - "X..M.MMM.M.S.M.....XX.A.A.......MS.SSS..XMASA..SAM.S....A.A..M..M...M......M...M....SAMX.SSSS.S....XX.XSAMX...M.M.MMMS.M.SS..S.SX.....X.M...\n", - "S.X.XXXXX.AXX.......SM.M.M.....A..........XX.M.MX.SAMX..MSXMASA.SA.A........X.XS..........AA...A...SXMASX.....SA..XXX.A.AAA...ASAMX.SMSA....\n", - "A....M..SMSM..S...S..AA.X.XS..S.S......S.M.MS.X....XMAS.X..S...S.AS.......S..MA.A....X....MM....M...AMAMXMAS..SASX.SAMXMMS.M.M..AMA.AAS.S...\n", - "M....SAMXAAA.A...XMAS.MS.M..A.X..A.S....A..A...S...A..X......S....M..SAMXA..AM.S.M...M...XXSXMAS.X.SXMAS......SXMAS....XXMASX..SAMXSM...A...\n", - "X....X.S..MSM.......M..XAS..SM.M..MSA..S.MMS...A..S.S..MS.S...A..X.XA...M.SSX.A...X..A..X...A.X.X.A..SX.......SAMX..........A.ASAMXXX...M...\n", - ".SSSM.....XX....S.SAMX.SXA.A.AXXA..XAM...XX..X.M...A.A.AAA.....MSMMMS..XSA...M.SAMX..S..M..SAMX..M..AMX.......S.M............M..SAMX....X...\n", - "..AA.XMASX.......A.....M.MM...MM.S...MX....M.M.X..M.M.M.MS......XAXA..MAMX.XX....S...X..A.ASAMX.X.AMASAMX........XS.........XSXSAMX.X.S....S\n", - "..SMM...M.S.....M.M...A..X..SAMXA.A..MXS....AA...XSAMX.XX......MSSM.SAMXM.M.M.....A.SMS.SM.SAMXMASXS.S..A..........A...S....AX.....MM..A...A\n", - "...XXX.A...A...X...X.S......S..M.S.MAXA......S.SM.S.....S.....A.AX.XSXMAS..A.A...S.M.A.AXX..AMXSAMXMASAMXS....X.....M..A...MMM......A...M..M\n", - "......S.....MX.....M......SAMXX....SXMM..S....XA.A......AAXMAS.MS.M.M.S.S...S.S...A.XSM.M.MSS.X.AX.....M..A...M......X.M..XA.A......SS..SX.X\n", - "..SAMX......MX.....A.X....M.M..M...XX..A.A.S.MSMMS...S..M.MX..XSAMXA...A...XMASX...M.M.X.X.A.A.SM.....S.X..M..A.......SX.SS.SS......A.AASM.M\n", - "....M......A.X.....S..M..XMAS...A...M...SM..A.AXAXX.A..SX..XM.M.M.S.S.M.M...M.MA....X.A.S..MS.MA..S..AS...S.X.S.SSS...MA..AAA.......M.MM.A.A\n", - "...A......S.M.......A..A..S......S...A...X.S.MMM.MMM...SA....AA.XXMASX.X.X..SA..MX..S..SA..XA.SX...AMAS....A....AAAXSAMXM.MMM.......XX..XSMS\n", - "..SX.X.....A..S......M..S.S.....AA....S.......XAA.XA..A..M....S.SAMX..MM.X.ASXSXMXMASAMXMASMM.X....XMA......M...M.MMSA..XXX.X.S.....M......X\n", - "S..M.MM...S..A........XA.A...X.M.M....S...XMAS.S....SM....X.S....X...A.A..M.M.MAX..A..M.X..AX..M...XMXSAMX..SX..XAXXX.M.MSMM.S.A.X.A........\n", - "AA.A.A.ASAMXM.......X.M.M...M.X..X.....A....A......AX.S.....A...M...S..S.X.A.AS.M...S..X...S.M..A..XS.M...S..A.XS....M.XA.AA.A.XM.SXMAS.....\n", - "M.MS.S..SAMXS.....SM.X.X...A.S.SS.......M..M......M....A....M..A..........S.S...A............SA..S...A.A...A..MAM.....AMSSS.SMSAMXMAS.......\n", - "X..X.A.A.A...A...AA...X.M.S..A.A..S....X.XXS.....XS.SAMXM..SX.S...........X....SS...X.......A..SAA....M.S...M.MX.A....XS.X.A.XS..A..........\n", - "M....MM.S.....M.MS...SM..A...MMM.XMAS.M.....A.....A....S.X.AMM..SAMX..S...M....AA.XM....X..M...M.M.....X.....X..S.S.......M.M...S.S....SAMX.\n", - "A.SAMX.X.......X......A...SAMX.XMXSSMAX.....XM....M.S.A....MA.A..XMASXMAS.A...M..MAM...M..XSAMXS.XS.......X....A.........XSAMXSA..A.X.......\n", - "S....MM........X......SM..SXMASAMXMASXMAS..SAMXS..XA.M.....XS..SSXMASX..M.S..X...SX.A.A......S..AA.......M....M...SAMX..X.A.S.MA..MSMM.S....\n", - "...X.A.....S...XMAS.....XA.A..SA.A.MM.A......SAS..M.X..SAMX..XA..A.AX.M..X....S......S.......A..MM......A.X..X.XMAS....M..M..X..M.X.A.A.....\n", - "..M.SS...SAMX..S.A......M.S.S.S...SXSXSX.....MASAX......X...MM....MMSMXA.......A.............M.X..X....S.MM...S.S.....A...X...XXXX..SMXS....\n", - ".A.......M....AA..S....X...A.A....AA...XM..SX..M.MM.....MS.AX.....AX.MA.SAMX..S.M.....SAMX...XSSS.......A.A..A...A...S....XMAS.MMM.XX.XMAS..\n", - "S..X....XX.SAMXM.A..S...S.M.M..S..M.M..MSAMXA...X.XA....A.S..S...S..A..S....SASAMX....SA.......AA......S..S.M.....M...........A.AA.XM...AM..\n", - ".AM...S...M.X..XMASXMASAMX.X.XA..XX..X.A.XSX.M...MS.S..MS.....A....S...A...AMASAMX...A..M.......MM....A....XS.S....X.........SAMXSSM.AXMASX.\n", - "SAMX..A....A..XX.....AM.....SM..S.....MS..M...X.AAAAA.X.X......M...XA.XM..MXM...M..XM..S.X.S....XXX..M.....A.AA....................A..S.X...\n", - "SAMX..M.SAMXSM..M.SAMX.X..SAX....A.....A.A.A...SM.MSM..SM.S.....X..MSM.X.X.X...A.XMXMAS.A...AS......XSAMX.M...M..................S.SM...XM..\n", - ".AM...X.....A....AXX..XXXAMX......M.....S.S.S..X.X..XS..A.A.S..S...AA.X...M..SS..A.......M.XAMA.X........XSAMXXXMAS...S........S.ASAMXMASMA.\n", - "SA.........S.....MSXSSMMMXMS.S...S.XS...AA............A.SMM..A.A..MSAMX..A.A..AXS.S....S..XMX.XM........M......XMASA.A.......S.A.M...M...SAS\n", - "S...S..S........A..MA.AX.AA.AS...AXA....M..S..S......S.M..X...MM.X...M..SS..S.SM...A...XA.XAXMASX.....SA............M.......A..M.X...A..A..S\n", - "...A..A....S..SS.S.AMSSMSMSM.MA..MM.SAMXX.A...A.......ASXM.....X....A...AA...A.AX.S.M..MSM.S.SAXMAS..ASAMX.........X.X..X..MX..XX.X.XS.M....\n", - "..M..M......A.A.A.XSXA.AXAX...XMAX.X...SXMAS..M..S.....MA.......XMAS...M..M.M.MS...A.X.A..X....S...AM...............X...MSXS.M.M.M.M..X.XMAS\n", - ".X..X........MMM.M.MMS.SM...S.SSX.MM..AMXMASAMX.A.A...ASXM.S..........X....X...X....M.MS...S.......XM................M..A.A...AAA.A.X......A\n", - "....X.....S.X.X.A.AX.A.X.X.A.AAXXA.A.MA......M.M..XMASAMX.X.A.....X......X........S..X.A..A.....S...XX................AMSMS..S.S.S.M.......M\n", - "...SM.S..A.....S.S...M..MXM.MMMMS..SXS.....S..X.A...X.XMAS...M.S.M.S.S...M........AX....SM......A...M....X....S....X..XSXA.XX.A...A........X\n", - "SAMXAXA.M.S...X.A.A..X.AMX.XXAA.......XX.XA..SAMXS.M..........XMASASAMXX.A........M.....X.......M...A.....M..A...XMAS..MM..M.M.S.S..........\n", - "....SMMX.A.....MX..MS.SA...MSS...SAMX.M.MM.......SAMX....S.....SAMXM..SSMS.......AX...SAMX..X...X...S..S...AM....AX.A.AX..XAX.A........X....\n", - "......XAM.....X.AM..XAS.X.A.XAA.......AAXA...S...SXM.M....A.....XMX....AAA..S...S..M....M..S.M.M.....AAA...XS...SSM.MS.SAMXSAMXS....XMASM...\n", - "......SXSA..S....SA...MM.SX..M.M.....SSM..S.AAXMAS.MXSA....M....A...XX..MMS..A......A..A..A...A......MMM..X...X...A.X...AM..X.X...XX...X.A..\n", - "...XXA...XS..A.SAMXS..AX..M..XA.X.X.A.A....M.M...S.SASASAMX.XMAS....M.M..XX...M...S..SS.SM.S.S.S.SAMX..X.M...M....SMSM.SAM..MM..S..MM.SMM.S.\n", - ".SMMM...M.M...MXMAS.AS....A....S.M.M.S....X..X....A.ASAM...S..A....AA.SAMX.XMASX...AAA.AX...A.A.A......SAMX.A.......XAASAMX.A..AX.S.AA.A.A..\n", - ".AAX...A...A...X....AM....S..X.XA.XS.....S.XX.X....MAM.MX..A.M....S.S...SMM........MMMMM.....M.M..X....SX.XSAMX.......MS.M.SS.MM.A...SSSM.S.\n", - "SS.M..SAMXMAS......M.SX.....MMMS....A...A..MM.MS..XMX.X.XSAMX.X.....X....A.....S..XS.XAS......X.XSMS.S.M.MAM.MS........X..XA.XA.M......X.X..\n", - "....XA........S..SX.XA.....A.A..A....M.M...AAAA...X..XX..S.XMM.......M.SSS.S.SXMAS.AXSX.A..S..M.X.A..SAMXMASAA.AXMAS....SMMM.S.X....XMASM.S.\n", - "....M..SAMX..A..A..M.M...SS.SS...M....X....SSMS.....XM.MA.X.A.AX......A.A.A.A....M.MMM...M..A.A..MSM.SAMX..SMS..M......AAX.XXMAS...MS..A.A..\n", - "X..X....X...M..M..A.AX...A.A.A..X.X.......X.X....SAMXA.MAM.SS.MSM......S.M.M...X..XXA.....X..MS.X.A.X.A.X..X.....X....MSM..MS.....AA..SSM.SX\n", - "M.M.M.S..M.X..X..SX.XS...MM.M.MX.M.........M...X..A..SX.AS...AA..A....XSX.X...MS...SSS...SMS..X....S.S.MSM.S....X.SAMXA.X.AAA....SM..X.XA..M\n", - "AA.X.A.A..A..X...AM.MSAMXX...XMX..A.S......SA.SSMSS..M.SAMX.SMM...S...AM.....AA.....A..X..AA........A..XXAA.A..M.....M...S.SM....X..M..X.M.A\n", - "S.S.M.S.M..S.SM..MA.A.......MA..S..S.AS....XASXAAA..A....M..X..X.....MA.A...SMSAMX.M...MMMSM...XSS.SAMXMMMMS.MA.....XSAMX.A.X.....MAS.MS.SXS\n", - "...ASAMX.XA...AAXXSXS......AS..A......MA..M..M.MMMSS...XAX.....X.X..XS...SAMX.A..SX....AXA.XX.M.AXA...XAXAAX.SX.XX.X....SM...S....SA.AXAA..X\n", - "S...MAS.MM.....MSAMX.....XSA.XM........XMA..A.XX.XXMAS.SM.....S.M.S...A.......M.AS..S..S..S.MA.MMMSM...S.MSAMX..M.M....AX...A.......S.MM...M\n", - "SAMX.XMAX.....A.XAX.M.....M.MX.........MSX.S.........A.A.A.X.AXA.A.A.SAMX.....XMAS.AX...AXA.SAXAXA..X..XX.AXMASAAA....MX...M.S........XXA..A\n", - "..M.XXSX.....S..SM..SA...XSA....XS...S.A..........S..MS.S.SSM.SM..SSM...X.....XMASM.MM..MMM...S.M.X..X.XM..S..S.S.S.XX.M..XMAS........X..S.S\n", - "SAMXMMMMM..SAMXXAX...AS..AS.S..XXMASA..S.........XMASX.AA.AX.A..AA..AX.....X..XX.X..A.AA..XX.X.X.SM.M..M.A.....A.A.M...A...M.........SAMX...\n", - "...A.AAA.A.....SM.M...M.M..A.X.M..AM..X.A...........M.M.MMM.MXS.MS...M......M.MS....S.SS...MMSAMX.AA...A..S.S.M.M.A....S..X.A.XMAS......A..S\n", - "SSS.SS.S..S.....XA.A...XS.M..M.A..XSX..M.MXS.S.......X..XA...AMX.....XX.X....AXA...X.......A.X....SM...S.X.A.X.X.S......A....S...........SA.\n", - ".AAX.....X........S.S..A.X...A.S..XMAS.SAMXAA..X..X.X...S.S...SAS.S..M.M....S.SM....M.S...SSM.......X.X...M.M.M...X.XMASXM...............M..\n", - ".MM.M...MM.S.XMASXMAS.M..S...S......AX..AS.M.SM...MM.....A.A...ASAX..AA.....S..XA....A.A.A.A......X..M...X.A...A...M..AM..X.....SS.S....XX..\n", - ".XXX.A.A.ASAMX...S...XXMAS..A.....S..SMS..XXAAA.X.A.....M...M.M.M.MS.S.......A...S..M.S.M.S...S.SM..A.....S.S...S.X.AMA.S.......AAAA...SM.X.\n", - ".XMAS.S..S.M....A....SAMX..M...X...A..XA...MSS.M.SS.SAMX.....XXX.SAMXA.....S..M....XMASXSXMASAAAA..S..S.........A.M.XS...A.....MMMMM...AA.M.\n", - "....A......XXX.M......X.A.X.....M...MM.MS...A.A.XA.....SXMAS.M...MS..M.....SA..X......X.MA..M.MSM..XMASA........M.A..XMASAMX..XSX..XX.SMS.AX\n", - "....M.......MMX..........S.XS...SA..AX..A....S.M.M......A.A.A...XS...XMAS.X.AM.M.S....M..AMX.XX..X...A..M.......X.S.....SAMXXMASAMXS.XSX..SM\n", - "....X..X..S.AAXMAS........MXMASA..SS..M.SS....A.XX.......M.S.....SAMX....MS.SMXA.SA...A...SX........M....X.SAMX....X...XMASM.M...MA...MA.A.A\n", - "...M..S.MA..SSS.A........A.S..M..A.X..XA.....S..........X.X........M...XAA..A.XSXSAMX.S..ASAMXSXMASX.........X.....MS...SX.AX....MXS...AM..S\n", - "..A....AMA.......S......S..A.X.XM.MM.MM.S.....S..X......S.SX..SX....X..SM...M..MA.XMX...M...MAM...........SAMX.....AA.S.S.MSM...X.....SXSX..\n", - "SS.....XMAS...S............MSAMX.A.AAXS.......A...M.....SAS.MXMAS..SAMXXSAMXX.A.SM.XX..X...AMAS...SAMXX....A..S...MSM..A...A.X.........AM...\n", - "AA.XMASX.X...A.....S.SS.SAMX.A.XS.XS...A......M....A...AMAMX.A..M.....SAMXSM.S.XAAX.MXMAS.SXS...X......MX.S....A.X.AX.M.M...SM.......SM.MA.S\n", - "MSM.M.M.X...M.......AAAA....S..M.M.M....M.....X...S.S.MXM.MXS.S..XMAS.M.M.A....SM.M.AA.X.A.X.....M....XSAMX.....MS.M.X...X..XA.......XA.XXSA\n", - "XAAX.A.S.M.X......S.SMM.M.....XAAX.XAXMASX.....X...A.XMXMAM.S.S..X..SX.A.SM......AAXS.SAMXM.M.....A.XM...SAXMAS..XAX.S.....M.S........MMS..M\n", - "S..MS.S.A.A.S.S..A.A.XX..X.S.M.S..MSMSM.M....S..M...MA..SA.XMAS..M...AS.X.X.......S.XA.XMA...A.....SAM.SXMAS.....S.MAAX...A.........S.AAXA.X\n", - "....X....M.SA.A.M.M.M.M.....A......A.A.A......A.XA.ASX..S.S.M.M..A....M..M...SAMX..M.XMAS.S..SSS.S.SXMAS..ASA.SAMXAMXMM..S..........ASM.S.M.\n", - "SAMX.XXMASX.M.MX.XMAS..A...S.M....XMS.S.S....SAMX.S.SAMX...XMASX.SAMX..X..A.......A...SX......A.ASAM.M.SAMA..M....XM.XA.A...........MX...A.X\n", - "..MSMM.S.S..X.X.M.S.....S.....X..MSXMASA......A.XX.X...M.................SSSSS..XS.....A..X..MMMAMA.XMASXMXMASX...SSX.SMX...........X.M.SAMX\n", - ".AAAAAX.A.......SAMX......S.....A..A..M.....XS..M..M.S.A...SX.............AAAA.SM......SM..MX.XMXS.M.M.SXSXS.SAMXAX.AMXM.............S.A.A.X\n", - "SMSS.MSM.M.SAMX...S........A...S.XSAMX.....M...A...A.A.S.SAMXM.S...........MMM.AAX....A..X.SAMXSAMX.X.XMAS.MA...M..M.MA............SA...S.M.\n", - "X...A.X...X.A..............SM.....MAMX...SA...S...XSSM.A.MA..SAMX.S.........XX.MS.M..M....XMAS..SAMXMASM.M.MAM.X....ASXS.S........XMASAMX..X\n", - ".SXS..SS.SAMXM............A..X.XMASAMSXSAS.S.....M..AX.MX..M.M.S..A......S..SXMX...AX.S.SAMX.AAXA....AXAA.XMASXS..SS.SA..A........X..M...M.M\n", - "..AM..AXA.XMASX..........M....S.SXS.SXAM..A.XSXMAS..M..X....X.XMASM...X.A....AMA....S..A....SM.MMS.SM...MS......A.A.AM.M.M......XMASAMX...AA\n", - ".S.MAMMM..A....SX....SAMXMAS...AM....MXMAM.M.AXS...XXX..S......SAMXS...M.S...XMAS.....M.MX.A.X.AX.AX.....X.....X.MMMXSAMXX.S.......A.S.....S\n", - "..ASXSXA.SAMXS.MA...X...SAMX..MAM...XSAMXSA.XM.M...MSMS.A.....XMASX.A.XMAS.....XS....XSAMXM.S..SXMSM..........XMASXXA....MA........M..A.X...\n", - "...MA..S..AXXMAS.M...M....SM.XS..X..X....S...X..A.AA.A..M..........M.M.MXSA......X.XMASA.XSA...MXA..X..S..X..X.AX..MMS...MA.....SAMX...M.M..\n", - "....XM....MM.S.M..X...A..XMASAS....M.......X.....SMSMS.SX.....S.....A.X.M..M......MM..SAMAM...A.M.......A..M..MSMSX.AA..XMAS..........A.XMAS\n", - "...SAMX..A..X.S.X...XS.SAMXSMA....A....XS.M...SAMXAX..A.....S..AXS.SXS.SAMXXX......A...AMX..XS.X..X.X...XMASA..AA.AMX.SS.M...........S.....S\n", - "........S....A.......MA..AMXMX...S....M..A...A....MMMM.......A..MMAMA.A.S..MM......SS.SXMX..XMAS...MM..M..X.AS.MS.XMA.XMASA..SAMX...........\n", - "...SAMX.....M..SAMX...AM.SAX.........A..SAMXM....A.AXA.SAMX...M..XAM.M.M..A.AA.........A......ASAMX.A.A......MX...A.XS...M.S....SAMX........\n", - "...........X...........SX.SAMX......S......X....S..SS.SAMX..SAMX.S.SX.X.XS..SSS.......SAMX.....S....SS...SAMX.XMAS..SAMX..XMAS.....SAMXMAS..\u001b[39m\n", - "\u001b[32m17:15:39.568:aoc2024 - INF: Part 1 soln=2569\u001b[39m\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: total: 15.6 ms\n", - "Wall time: 77.3 ms\n" - ] - } - ], "source": [ "%%time\n", "sample_inputs = []\n", @@ -1750,20 +1592,10 @@ "logger.info(\"All tests passed!\")\n", "\n", "soln = solve_part1(input_data)\n", - "logger.info(f\"Part 1 soln={soln}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ + "logger.info(f\"Part 1 soln={soln}\")\n", "### Day 4 Part 2\n", "\n", - "Quite different for part 2! Now we need to find any any X shape that contains \"MAS\" twice.\n", - "\n", - "#### Solution Approach\n", - "\n", - "Let's move a 3x3 grid through our array, and look for the required chars in the X shape. E.g.\n", + "Quite different for part 2! Now we need to find any any X shape that contains \"MAS\" twice. E.g. a configuration like this:\n", "\n", "```text\n", "M.S\n", @@ -1771,23 +1603,33 @@ "M.S\n", "```\n", "\n", - "- Fix relative grid positions for NE, SE, SW, NW.\n", - "- Move through every point in the grid, starting at (1, 1), rather than (0, 0).\n", - "- In our X grid, we need to check that:\n", - " - The center letter must be `A`\n", - " - From the four corners, the remaining two letters each appear twice. AND they must spell \"MAS\" along any diagonal.\n" + "Observations:\n", + "\n", + "- The centre character will always be `A`.\n", + "- The `M` and `S` characters each need to appear twice in the X.\n", + "- The `MAS` must be spelled diagonally. So if `M` is in one corner, then `S` will be in the opposite corner.\n", + "\n", + "#### Solution Approach\n", + "\n", + "- Set up a moveable X grid, by storing a list of vectors that represent the corners: NE, SE, SW, NW.\n", + "- Move the X through every possible location in the grid. We'll start by matching the `A` at the centre of the grid. For this reason, we should start at position `(1, 1)`, we will we will always stop one row / column before any given edge.\n", + "- Having matched an `A`, determine the coordinates of the four corners.\n", + "- Check that the four corners contain each remaining character (i.e. `M` or `S`) twice. If so, this location is a candidate.\n", + "- If we've found a candidate, determine the char in the top-right corner. Then determine if the char in the bottom-left corner is the _other_ end character in our word. If it is, then we've got a match. Why? Because if we've verified this diagonal, then by previously verifying the character counts, we know that the other diagonal is also satisfied.\n", + "\n", + "And that's it! It's really quick too!" ] }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "def solve_part2(data):\n", " match_word = \"MAS\"\n", - " center = match_word[1]\n", - " ends = match_word[0] + match_word[-1]\n", + " center = match_word[1] # `A`\n", + " ends = match_word[0] + match_word[-1] # `MS`\n", "\n", " grid_width = len(data[0])\n", " grid_height = len(data)\n", @@ -1802,2091 +1644,44 @@ " # Traverse the grid, but always inset by 1\n", " for row_num in range(1, grid_height-1):\n", " for col_num in range(1, grid_width-1):\n", - " # Does middle of the X contain any of \"MAS\"?\n", " current_centre = data[row_num][col_num]\n", + " # Does middle of the X contain the A of \"MAS\"?\n", " if current_centre == center:\n", " corners = [(col_num+dx, row_num+dy) for dx, dy in corner_vecs]\n", " corner_chars = [data[y][x] for x, y in corners]\n", + "\n", + " # Check that each end char appears in the X exactly twice\n", " if all(corner_chars.count(char) == 2 for char in ends):\n", - " logger.debug(\"Matched.\")\n", - " matches += 1\n", + " # if top right char is the opposite end char to bottom left char, we're matched\n", + " tr_char = data[corners[0][1]][corners[0][0]]\n", + " bl_char = data[corners[2][1]][corners[2][0]]\n", + " tr_match_idx = ends.index(tr_char)\n", + " if bl_char == ends[(len(ends)-tr_match_idx)-1]:\n", + " matches += 1\n", "\n", " return matches" ] }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "\u001b[34m17:50:09.092:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.205:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.207:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.208:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.209:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.210:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.211:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.212:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.213:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[32m17:50:45.215:aoc2024 - INF: Test passed\u001b[39m\n", - "\u001b[32m17:50:45.216:aoc2024 - INF: Tests passed!\u001b[39m\n", - "\u001b[34m17:50:45.217:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.218:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.218:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.219:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.221:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.222:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.223:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.224:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.225:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.225:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.226:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.226:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.227:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.227:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.228:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.229:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.230:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.231:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.232:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.233:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.234:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.234:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.235:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.236:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.237:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.238:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.239:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.240:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.241:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.241:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.242:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.242:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.243:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.243:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.244:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.245:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.245:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.246:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.246:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.248:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.249:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.249:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.251:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.252:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.253:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.253:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.254:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.255:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.257:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.258:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.259:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.259:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.260:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.261:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.262:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.264:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.264:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.265:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.265:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.266:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.267:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.267:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.268:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.269:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.270:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.271:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.272:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.273:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.274:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.275:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.279:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.281:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.283:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.286:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.288:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.289:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.290:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.293:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.294:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.295:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.296:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.298:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.300:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.301:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.303:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.304:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.305:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.306:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.307:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.307:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.308:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.309:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.310:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.311:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.312:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.313:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.314:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.314:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.315:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.316:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.318:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.319:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.321:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.322:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.323:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.324:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.325:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.326:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.327:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.328:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.329:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.330:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.330:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.331:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.332:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.333:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.337:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.339:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.340:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.341:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.342:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.343:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.344:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.346:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.346:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.348:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.349:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.350:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.352:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.353:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.355:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.356:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.357:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.358:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.359:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.360:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.361:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.362:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.363:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.364:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.365:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.366:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.368:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.369:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.371:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.373:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.374:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.376:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.377:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.379:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.379:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.380:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.381:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.382:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.383:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.386:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.387:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.388:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.390:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.390:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.391:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.393:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.396:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.397:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.398:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.399:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.400:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.401:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.402:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.403:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.404:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.405:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.406:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.407:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.407:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.408:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.409:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.411:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.412:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.413:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.413:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.414:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.414:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.415:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.416:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.416:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.417:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.418:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.419:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.420:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.421:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.422:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.423:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.423:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.424:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.425:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.425:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.426:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.426:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.427:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.427:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.428:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.428:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.429:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.430:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.430:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.431:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.431:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.432:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.434:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.435:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.437:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.438:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.439:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.440:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.441:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.441:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.442:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.442:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.443:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.444:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.444:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.445:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.446:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.446:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.447:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.448:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.448:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.449:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.449:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.450:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.452:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.453:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.454:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.456:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.457:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.458:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.458:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.459:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.459:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.460:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.460:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.461:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.462:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.462:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.463:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.464:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.464:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.465:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.465:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.467:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.468:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.469:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.470:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.471:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.471:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.472:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.473:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.473:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.474:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.475:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.475:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.476:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.476:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.477:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.477:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.478:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.479:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.479:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.480:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.481:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.482:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.483:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.485:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.486:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.486:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.487:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.488:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.489:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.489:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.490:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.491:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.491:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.492:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.492:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.493:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.494:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.496:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.497:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.498:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.498:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.499:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.500:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.501:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.502:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.503:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.503:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.507:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.508:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.508:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.509:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.510:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.510:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.512:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.512:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.513:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.514:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.515:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.515:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.516:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.520:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.522:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.523:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.526:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.527:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.527:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.528:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.528:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.529:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.530:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.530:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.531:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.532:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.532:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.533:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.535:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.536:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.536:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.537:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.538:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.538:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.539:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.539:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.540:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.540:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.541:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.543:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.544:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.545:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.545:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.546:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.547:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.547:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.548:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.548:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.550:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.552:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.552:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.553:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.553:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.554:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.554:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.555:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.556:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.556:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.557:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.558:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.559:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.560:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.560:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.561:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.561:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.562:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.562:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.563:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.563:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.564:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.565:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.566:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.566:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.567:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.568:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.569:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.570:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.571:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.572:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.574:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.574:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.575:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.575:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.576:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.577:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.577:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.578:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.578:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.579:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.579:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.580:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.580:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.581:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.582:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.582:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.583:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.584:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.584:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.586:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.587:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.588:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.588:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.589:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.589:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.590:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.590:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.591:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.591:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.592:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.593:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.593:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.594:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.594:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.595:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.595:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.596:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.596:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.597:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.598:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.598:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.599:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.599:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.600:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.600:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.601:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.602:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.603:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.604:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.604:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.605:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.605:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.605:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.606:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.606:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.607:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.607:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.608:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.609:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.609:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.610:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.610:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.611:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.611:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.612:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.613:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.613:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.614:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.614:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.615:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.615:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.616:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.617:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.618:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.618:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.620:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.621:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.622:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.623:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.624:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.624:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.625:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.625:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.626:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.626:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.626:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.627:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.628:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.628:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.629:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.629:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.630:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.631:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.633:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.634:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.634:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.635:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.636:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.636:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.637:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.638:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.638:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.639:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.639:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.643:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.643:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.644:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.644:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.645:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.646:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.647:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.648:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.648:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.649:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.649:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.650:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.651:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.652:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.653:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.654:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.654:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.655:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.656:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.656:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.657:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.657:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.658:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.659:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.659:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.660:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.660:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.661:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.662:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.662:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.663:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.663:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.664:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.664:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.665:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.666:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.667:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.668:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.669:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.671:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.671:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.672:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.673:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.673:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.674:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.675:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.675:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.676:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.677:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.678:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.678:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.679:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.679:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.680:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.680:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.681:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.681:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.682:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.683:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.683:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.684:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.686:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.687:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.688:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.689:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.689:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.690:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.691:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.691:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.692:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.693:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.694:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.694:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.695:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.696:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.697:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.697:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.698:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.699:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.699:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.700:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.700:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.701:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.702:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.703:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.704:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.705:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.706:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.706:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.707:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.708:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.709:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.710:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.711:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.748:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.754:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.757:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.758:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.761:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.764:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.765:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.767:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.768:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.770:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.770:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.771:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.772:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.773:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.776:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.778:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.779:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.781:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.782:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.782:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.784:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.786:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.788:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.788:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.789:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.789:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.790:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.790:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.791:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.791:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.792:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.792:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.793:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.793:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.794:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.795:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.795:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.796:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.797:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.797:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.798:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.799:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.801:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.802:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.803:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.804:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.805:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.806:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.807:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.808:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.813:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.814:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.815:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.817:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.819:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.821:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.821:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.823:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.823:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.824:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.824:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.825:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.825:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.826:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.826:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.827:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.828:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.829:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.829:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.830:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.830:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.831:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.832:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.833:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.834:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.835:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.836:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.837:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.837:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.838:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.839:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.839:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.840:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.840:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.841:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.841:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.842:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.842:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.843:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.843:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.844:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.845:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.845:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.846:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.847:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.847:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.848:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.848:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.849:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.849:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.850:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.851:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.852:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.853:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.853:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.854:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.854:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.855:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.855:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.856:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.856:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.857:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.857:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.858:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.858:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.859:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.859:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.860:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.861:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.861:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.862:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.863:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.863:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.864:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.864:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.865:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.865:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.866:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.867:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.868:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.870:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.870:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.871:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.872:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.872:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.873:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.873:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.874:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.874:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.875:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.875:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.876:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.876:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.877:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.878:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.883:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.885:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.885:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.886:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.887:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.888:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.889:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.889:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.890:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.890:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.891:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.891:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.892:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.892:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.893:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.893:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.894:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.894:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.895:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.895:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.896:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.897:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.897:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.898:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.898:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.899:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.900:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.900:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.901:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.902:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.902:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.903:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.903:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.904:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.904:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.905:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.905:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.906:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.906:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.907:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.907:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.908:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.909:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.910:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.910:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.911:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.911:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.912:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.912:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.913:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.913:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.914:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.914:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.915:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.915:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.916:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.916:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.921:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.921:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.922:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.922:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.924:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.924:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.925:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.925:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.926:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.927:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.928:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.929:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.929:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.930:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.931:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.932:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.932:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.933:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.934:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.935:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.935:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.936:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.937:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.937:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.938:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.938:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.939:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.939:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.940:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.940:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.941:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.942:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.942:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.943:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.943:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.944:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.944:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.945:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.945:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.946:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.947:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.947:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.948:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.948:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.949:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.950:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.951:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.951:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.952:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.953:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.953:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.954:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.954:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.955:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.955:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.956:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.956:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.957:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.957:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.958:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.959:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.959:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.961:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.962:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.962:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.963:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.963:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.963:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.964:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.965:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.965:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.965:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.966:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.966:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.968:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.969:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.970:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.974:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.975:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.975:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.975:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.976:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.977:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.977:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.978:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.979:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.979:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.980:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.980:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.981:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.981:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.982:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.982:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.983:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.983:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.984:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.985:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.985:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.985:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.986:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.987:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.988:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.989:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.990:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.990:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.991:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.991:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.992:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.992:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.993:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.993:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.994:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.994:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.995:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.995:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.995:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.996:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.997:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.998:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:45.998:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.000:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.000:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.001:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.002:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.003:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.004:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.004:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.005:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.005:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.006:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.006:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.007:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.007:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.008:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.009:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.009:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.010:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.011:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.011:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.012:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.012:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.013:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.013:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.014:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.014:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.015:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.015:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.016:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.017:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.018:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.019:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.019:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.020:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.021:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.022:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.022:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.023:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.023:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.024:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.024:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.025:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.025:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.026:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.026:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.027:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.028:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.028:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.029:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.029:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.030:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.031:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.031:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.033:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.034:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.034:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.035:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.035:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.036:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.037:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.037:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.038:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.039:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.039:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.040:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.041:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.041:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.043:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.043:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.044:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.044:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.045:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.045:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.046:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.046:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.047:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.047:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.048:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.048:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.050:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.051:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.052:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.053:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.053:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.054:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.055:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.055:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.056:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.056:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.057:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.058:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.059:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.059:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.062:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.063:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.064:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.065:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.065:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.066:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.067:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.069:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.070:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.070:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.071:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.072:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.072:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.073:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.074:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.074:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.075:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.075:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.076:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.076:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.077:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.077:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.078:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.078:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.079:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.080:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.080:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.081:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.082:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.083:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.085:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.086:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.087:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.087:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.088:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.088:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.089:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.090:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.090:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.091:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.092:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.092:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.093:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.093:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.094:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.094:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.095:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.096:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.096:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.097:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.097:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.098:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.098:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.099:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.099:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.100:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.101:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.102:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.103:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.104:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.104:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.105:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.106:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.109:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.110:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.110:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.111:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.114:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.115:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.115:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.116:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.117:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.118:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.119:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.119:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.120:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.121:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.122:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.122:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.123:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.124:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.125:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.125:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.126:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.127:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.129:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.130:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.130:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.131:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.132:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.133:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.134:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.134:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.136:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.136:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.137:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.137:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.138:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.139:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.140:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.140:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.141:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.142:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.143:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.143:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.144:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.145:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.145:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.146:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.147:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.148:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.149:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.149:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.150:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.151:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.152:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.152:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.153:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.153:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.154:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.154:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.155:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.155:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.156:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.157:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.157:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.159:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.162:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.164:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.166:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.174:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.176:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.177:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.178:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.179:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.180:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.180:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.181:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.182:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.194:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.206:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.209:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.210:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.211:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.213:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.214:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.215:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.216:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.217:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.218:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.220:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.223:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.225:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.226:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.226:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.227:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.229:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.230:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.230:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.231:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.232:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.234:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.235:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.241:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.244:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.246:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.247:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.247:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.248:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.249:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.250:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.251:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.251:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.253:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.254:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.254:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.254:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.255:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.256:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.257:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.257:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.258:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.259:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.259:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.260:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.261:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.261:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.262:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.262:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.263:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.264:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.264:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.265:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.267:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.268:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.269:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.271:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.271:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.273:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.274:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.274:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.275:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.275:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.276:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.277:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.277:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.278:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.278:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.279:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.280:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.281:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.281:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.282:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.282:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.283:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.284:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.284:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.285:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.285:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.287:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.288:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.288:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.289:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.290:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.290:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.291:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.292:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.292:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.292:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.293:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.293:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.294:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.294:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.295:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.295:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.296:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.297:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.298:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.298:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.299:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.300:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.301:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.302:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.304:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.305:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.306:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.307:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.308:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.308:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.309:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.309:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.310:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.310:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.311:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.312:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.312:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.313:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.314:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.314:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.315:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.316:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.317:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.318:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.319:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.320:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.321:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.323:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.324:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.324:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.325:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.326:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.326:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.327:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.327:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.328:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.329:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.329:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.330:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.331:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.332:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.333:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.334:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.335:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.335:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.336:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.336:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.337:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.337:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.338:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.338:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.338:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.339:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.340:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.341:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.341:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.342:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.343:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.343:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.344:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.345:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.345:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.346:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.346:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.347:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.347:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.347:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.348:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.349:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.349:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.350:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.351:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.351:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.352:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.353:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.354:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.354:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.355:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.355:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.356:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.356:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.357:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.358:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.358:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.359:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.360:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.360:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.361:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.361:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.362:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.362:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.363:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.364:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.365:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.365:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.367:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.368:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.369:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.370:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.370:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.371:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.371:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.372:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.373:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.373:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.375:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.375:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.376:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.377:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.377:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.378:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.378:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.379:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.379:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.379:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.380:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.381:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.381:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.382:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.382:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.383:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.385:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.387:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.388:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.388:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.389:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.389:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.390:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.391:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.391:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.392:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.392:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.393:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.394:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.395:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.395:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.396:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.397:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.397:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.397:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.398:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.398:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.399:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.400:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.401:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.402:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.403:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.403:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.404:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.405:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.406:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.406:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.407:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.408:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.408:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.409:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.410:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.410:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.411:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.411:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.412:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.412:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.413:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.413:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.414:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.414:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.415:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.416:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.417:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.418:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.418:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.420:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.421:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.422:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.423:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.467:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.469:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.469:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.470:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.472:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.473:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.473:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.474:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.476:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.480:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.481:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.483:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.485:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.486:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.489:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.490:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.491:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.492:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.492:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.493:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.494:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.495:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.496:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.497:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.498:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.498:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.499:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.500:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.503:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.505:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.506:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.507:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.508:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.509:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.510:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.511:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.512:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.512:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.513:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.514:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.514:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.516:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.517:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.518:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.519:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.520:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.521:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.522:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.523:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.524:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.525:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.526:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.527:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.527:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.528:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.528:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.529:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.530:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.531:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.532:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.533:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.534:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.534:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.540:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.544:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.545:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.546:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.546:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.547:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.548:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.548:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.549:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.549:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.550:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.551:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.552:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.552:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.553:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.553:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.554:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.555:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.555:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.555:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.556:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.556:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.557:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.558:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.559:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.559:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.560:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.561:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.562:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.562:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.563:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.563:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.564:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.564:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.565:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.566:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.567:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.569:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.570:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.570:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.571:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.571:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.572:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.572:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.573:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.574:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.574:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.575:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.575:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.576:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.577:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.578:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.579:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.579:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.580:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.580:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.581:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.581:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.582:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.583:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.584:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.586:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.587:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.587:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.588:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.589:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.589:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.590:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.590:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.591:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.591:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.593:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.594:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.594:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.595:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.596:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.596:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.596:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.597:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.597:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.598:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.598:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.599:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.600:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.600:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.601:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.602:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.603:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.604:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.604:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.605:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.605:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.606:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.607:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.607:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.608:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.609:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.609:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.610:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.611:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.611:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.612:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.613:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.613:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.614:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.614:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.615:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.615:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.616:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.617:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.617:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.619:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.620:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.621:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.621:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.622:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.623:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.624:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.624:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.625:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.626:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.626:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.627:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.628:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.629:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.629:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.630:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.631:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.631:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.632:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.633:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.633:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.634:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.634:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.635:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.636:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.637:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.638:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.638:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.639:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.640:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.640:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.641:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.642:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.642:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.643:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.644:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.644:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.645:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.645:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.646:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.646:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.647:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.647:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.648:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.648:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.649:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.650:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.651:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.652:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.653:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.655:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.656:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.656:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.657:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.685:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.706:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.708:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.709:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.709:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.710:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.711:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.712:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.713:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.713:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.714:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.715:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.716:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.718:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.721:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.722:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.723:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.724:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.726:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.727:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.727:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.728:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.729:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.730:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.732:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.733:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.735:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.736:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.736:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.737:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.737:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.738:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.739:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.740:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.741:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.742:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.742:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.743:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.743:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.744:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.744:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.745:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.746:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.746:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.746:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.747:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.748:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.749:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.749:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.751:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.751:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.752:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.753:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.753:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.754:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.755:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.755:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.756:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.756:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.757:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.757:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.758:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.759:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.759:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.760:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.760:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.762:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.764:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.765:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.766:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.767:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.768:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.769:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.770:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.770:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.771:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.772:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.772:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.773:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.773:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.774:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.774:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.775:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.776:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.777:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.777:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.778:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.779:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.779:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.780:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.780:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.781:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.781:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.782:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.784:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.785:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.785:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.786:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.786:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.787:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.788:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.788:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.788:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.789:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.790:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.790:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.791:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.791:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.792:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.792:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.793:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.794:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.795:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.795:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.796:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.796:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.796:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.797:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.797:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.798:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.798:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.800:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.801:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.802:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.802:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.803:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.804:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.804:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.805:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.805:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.806:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.807:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.808:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.809:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.809:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.809:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.810:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.811:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.811:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.812:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.812:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.814:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.814:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.815:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.816:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.817:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.818:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.819:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.819:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.820:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.820:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.821:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.821:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.822:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.822:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.823:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.823:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.824:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.825:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.825:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.825:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.826:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.826:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.827:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.827:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.828:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.828:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.829:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.829:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.830:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.830:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.831:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.831:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.832:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.833:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.834:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.835:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.836:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.836:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.837:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.837:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.838:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.839:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.839:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.840:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.841:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.841:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.842:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.842:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.843:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.844:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.844:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.845:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.845:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.846:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.847:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.848:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.848:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.850:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.853:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.853:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.854:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.855:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.856:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.857:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.858:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.863:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.870:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.871:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.873:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.874:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.875:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.876:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.877:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.878:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.879:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.880:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.881:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.881:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.886:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.887:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.889:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.890:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.891:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.891:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.892:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.892:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.893:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.894:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.894:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.896:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.898:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.901:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.902:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.904:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.905:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.906:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.906:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.907:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.908:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.909:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.910:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.911:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.912:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.913:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.914:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.915:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.916:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.925:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.932:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.935:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.937:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.939:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.945:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.949:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.955:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.956:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.957:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.958:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.958:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.959:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.959:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.960:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.961:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.962:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.963:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.964:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.965:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.968:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.968:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.969:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.970:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.970:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.970:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.971:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.972:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.972:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.973:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.973:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.974:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.975:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.976:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.976:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.977:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.978:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.978:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.979:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.980:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.980:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.982:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.985:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.985:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.986:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.987:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.988:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.989:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.989:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.990:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.990:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.991:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.991:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.992:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.993:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.994:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.995:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.996:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.996:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.997:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.998:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:46.999:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.000:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.001:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.002:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.002:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.003:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.004:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.005:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.005:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.006:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.006:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.006:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.007:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.007:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.008:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.009:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.009:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.010:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.010:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.011:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.012:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.012:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.013:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.013:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.014:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.014:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.015:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.017:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.017:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.018:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.019:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.019:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.020:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.020:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.021:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.022:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.022:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.023:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.023:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.025:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.025:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.026:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.027:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.027:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.028:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.029:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.029:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.030:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.031:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.031:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.032:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.034:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.035:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.035:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.036:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.036:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.037:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.037:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.038:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.038:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.039:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.039:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.040:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.040:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.041:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.043:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.044:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.044:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.045:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.045:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.046:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.046:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.047:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.047:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.047:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.048:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.048:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.049:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.050:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.051:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.052:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.053:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.054:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.054:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.056:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.056:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.057:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.057:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.058:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.058:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.059:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.059:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.060:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.065:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.066:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.067:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.068:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.069:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.069:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.070:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.071:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.071:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.072:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.072:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[34m17:50:47.073:aoc2024 - DBG: Matched.\u001b[39m\n", - "\u001b[32m17:50:47.077:aoc2024 - INF: Part 2 soln=2044\u001b[39m\n" + "\u001b[32m23:23:25.139:aoc2024 - INF: Test passed\u001b[39m\n", + "\u001b[32m23:23:25.139:aoc2024 - INF: Tests passed!\u001b[39m\n", + "\u001b[32m23:23:25.154:aoc2024 - INF: Part 2 soln=1998\u001b[39m\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: total: 1.53 s\n", - "Wall time: 1min 3s\n" + "CPU times: total: 15.6 ms\n", + "Wall time: 17 ms\n" ] } ],