"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Option 2: Include test inputs (outputs unknown)\n",
"print(\"\\n🎨 Complete Task - With Test Input:\")\n",
"task_svg_with_test = draw_parsed_task_data_svg(\n",
" task_data=task,\n",
" include_test=True, # Show test inputs with \"?\" for outputs\n",
")\n",
"display(task_svg_with_test)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "8a65eabff63a45729fe45fb5ade58bdc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"💻 Rich Terminal - Complete Task:\n"
]
},
{
"data": {
"text/html": [
"╭─ Task: e40b9e2f ────────────────────────────────────────────────────────────────────────────────────────────────╮\n",
"│ Training Examples: 3 Test Examples: 1 │\n",
"╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n",
"\n"
],
"text/plain": [
"\u001b[94m╭─\u001b[0m\u001b[94m Task: e40b9e2f \u001b[0m\u001b[94m───────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[94m─╮\u001b[0m\n",
"\u001b[94m│\u001b[0m \u001b[1mTraining Examples: \u001b[0m3 \u001b[1mTest Examples: \u001b[0m1 \u001b[94m│\u001b[0m\n",
"\u001b[94m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n"
],
"text/plain": [
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"╭─ Training Examples (3) ─────────────────────────────────────────────────────────────────────────────────────────╮\n",
"│ │\n",
"│ ╭────────────────────────────────────────────── Input 1 (10x10) ──────────────────────────────────────────────╮ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │\n",
"│ ↓ │\n",
"│ │\n",
"│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Output 1 (10x10) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │\n",
"│ ─────────────────────────────────────────────────────────────────────────────────────────────────────────────── │\n",
"│ ╭────────────────────────────────────────────── Input 2 (10x10) ──────────────────────────────────────────────╮ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │\n",
"│ ↓ │\n",
"│ │\n",
"│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Output 2 (10x10) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │\n",
"│ ─────────────────────────────────────────────────────────────────────────────────────────────────────────────── │\n",
"│ ╭────────────────────────────────────────────── Input 3 (10x10) ──────────────────────────────────────────────╮ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │\n",
"│ ↓ │\n",
"│ │\n",
"│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Output 3 (10x10) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │\n",
"│ │\n",
"╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n",
"\n"
],
"text/plain": [
"\u001b[34m╭─\u001b[0m\u001b[34m Training Examples (3) \u001b[0m\u001b[34m────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[34m─╮\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m╭─\u001b[0m\u001b[34m─────────────────────────────────────────────\u001b[0m\u001b[1;34m Input 1 (10x10) \u001b[0m\u001b[34m─────────────────────────────────────────────\u001b[0m\u001b[34m─╮\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1m ↓ \u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┏━\u001b[0m\u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[1;32m Output 1 (10x10) \u001b[0m\u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[32m━┓\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[2m───────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m╭─\u001b[0m\u001b[34m─────────────────────────────────────────────\u001b[0m\u001b[1;34m Input 2 (10x10) \u001b[0m\u001b[34m─────────────────────────────────────────────\u001b[0m\u001b[34m─╮\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1m ↓ \u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┏━\u001b[0m\u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[1;32m Output 2 (10x10) \u001b[0m\u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[32m━┓\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;135;30m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[2m───────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m╭─\u001b[0m\u001b[34m─────────────────────────────────────────────\u001b[0m\u001b[1;34m Input 3 (10x10) \u001b[0m\u001b[34m─────────────────────────────────────────────\u001b[0m\u001b[34m─╮\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;141;29;44m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[1m ↓ \u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┏━\u001b[0m\u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[1;32m Output 3 (10x10) \u001b[0m\u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[32m━┓\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;141;29;44m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;141;29;44m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;141;29;44m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;141;29;44m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[32m┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m│\u001b[0m \u001b[34m│\u001b[0m\n",
"\u001b[34m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n"
],
"text/plain": [
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"╭─ Test Examples (1) ─────────────────────────────────────────────────────────────────────────────────────────────╮\n",
"│ │\n",
"│ ╭─────────────────────────────────────────── Test Input 1 (10x10) ────────────────────────────────────────────╮ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ │████████████████████ │ │\n",
"│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │\n",
"│ ↓ │\n",
"│ │\n",
"│ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Test Output 1 (10x10) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┃████████████████████ ┃ │\n",
"│ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ │\n",
"│ │\n",
"╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\n",
"\n"
],
"text/plain": [
"\u001b[31m╭─\u001b[0m\u001b[31m Test Examples (1) \u001b[0m\u001b[31m────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[31m─╮\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m╭─\u001b[0m\u001b[34m──────────────────────────────────────────\u001b[0m\u001b[1;34m Test Input 1 (10x10) \u001b[0m\u001b[34m───────────────────────────────────────────\u001b[0m\u001b[34m─╮\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m│\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[34m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[34m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[1m ↓ \u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┏━\u001b[0m\u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[1;32m Test Output 1 (10x10) \u001b[0m\u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[32m━┓\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;55;212;73m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┃\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m\u001b[38;2;37;37;37m██\u001b[0m \u001b[32m┃\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[32m┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m│\u001b[0m \u001b[31m│\u001b[0m\n",
"\u001b[31m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Rich terminal version - compact overview\n",
"print(\"\\n💻 Rich Terminal - Complete Task:\")\n",
"visualize_parsed_task_data_rich(\n",
" task_data=task,\n",
" show_test=True,\n",
" show_coordinates=False,\n",
" show_numbers=False,\n",
" double_width=True,\n",
")"
]
},
{
"cell_type": "markdown",
"id": "c3933fab20d04ec698c2621248eb3be0",
"metadata": {},
"source": [
"### Customization Options\n",
"\n",
"All visualization functions support customization:\n",
"\n",
"```python\n",
"# Grid customization\n",
"draw_grid_svg(grid, max_width=15.0, max_height=10.0, label=\"Custom\")\n",
"\n",
"# Show coordinates in terminal\n",
"visualize_grid_rich(grid, show_coordinates=True, show_numbers=True)\n",
"\n",
"# Custom task layout\n",
"draw_parsed_task_data_svg(task, width=40.0, border_colors=[\"#0066cc\", \"#00cc66\"])\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "4dd4641cc4064e0191573fe9c69df29b",
"metadata": {},
"source": [
"## Iterating Through Training Examples\n",
"\n",
"When analyzing a task, you often want to examine each training example individually. This loop demonstrates how to visualize multiple pairs programmatically.\n",
"\n",
"### Practical Use Cases\n",
"\n",
"- **Pattern recognition** - Study how the transformation rule applies across examples\n",
"- **Edge case detection** - Identify examples that behave differently\n",
"- **Agent debugging** - Compare your agent's output with expected results for each example"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "8309879909854d7188b41380fd92a7c3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"============================================================\n",
"Training Pair 1 / 3\n",
"============================================================\n"
]
},
{
"data": {
"image/svg+xml": [
"\n",
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"============================================================\n",
"Training Pair 2 / 3\n",
"============================================================\n"
]
},
{
"data": {
"image/svg+xml": [
"\n",
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"============================================================\n",
"Test Input (Output Unknown)\n",
"============================================================\n"
]
},
{
"data": {
"image/svg+xml": [
"\n",
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Iterate through training pairs (showing first 2 for documentation brevity)\n",
"from IPython.display import display\n",
"\n",
"num_pairs_to_show = min(2, task.num_train_pairs)\n",
"\n",
"for i in range(num_pairs_to_show):\n",
" pair = task.get_train_pair(i)\n",
"\n",
" print(f\"\\n{'=' * 60}\")\n",
" print(f\"Training Pair {i + 1} / {task.num_train_pairs}\")\n",
" print(f\"{'=' * 60}\")\n",
"\n",
" # Visualize this pair\n",
" pair_svg = draw_task_pair_svg(\n",
" input_grid=pair.input_grid,\n",
" output_grid=pair.output_grid,\n",
" label=f\"Training Pair {i + 1}\",\n",
" )\n",
" display(pair_svg)\n",
"\n",
"# Show test input if available\n",
"if task.num_test_pairs > 0:\n",
" print(f\"\\n{'=' * 60}\")\n",
" print(\"Test Input (Output Unknown)\")\n",
" print(f\"{'=' * 60}\")\n",
" test_input = task.get_test_input_grid(0)\n",
" display(draw_grid_svg(test_input, label=\"Test Input\"))"
]
},
{
"cell_type": "markdown",
"id": "024aec28",
"metadata": {},
"source": [
"## Method 4: Environment Rendering\n",
"\n",
"When interacting with the environment (RL agents or interactive scripts), you can use the unified `env.render()` API.\n",
"\n",
"### Standard Render Modes\n",
"\n",
"The environment supports three standard modes:\n",
"- `rgb_array`: Returns a numpy array (H, W, 3)\n",
"- `ansi`: Returns a string for terminal display\n",
"- `svg`: Returns an SVG string of the current grid\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "ea696509",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[32m2025-11-18 22:47:44.316\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.utils.dataset_manager\u001b[0m:\u001b[36mvalidate_dataset\u001b[0m:\u001b[36m212\u001b[0m - \u001b[34m\u001b[1mDataset validation passed: /Users/aadam/workspace/JaxARC/data/MiniARC\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.317\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.utils.dataset_manager\u001b[0m:\u001b[36mensure_dataset_available\u001b[0m:\u001b[36m81\u001b[0m - \u001b[34m\u001b[1mDataset 'MiniARC' found at /Users/aadam/workspace/JaxARC/data/MiniARC\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.318\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mjaxarc.parsers.mini_arc\u001b[0m:\u001b[36m_validate_grid_constraints\u001b[0m:\u001b[36m104\u001b[0m - \u001b[1mMiniARC parser configured with optimal 5x5 grid constraints\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.320\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mjaxarc.parsers.mini_arc\u001b[0m:\u001b[36m_scan_available_tasks\u001b[0m:\u001b[36m131\u001b[0m - \u001b[1mFound 149 tasks in MiniARC dataset (lazy loading - tasks loaded on-demand, optimized for 5x5 grids)\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.321\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.parsers.mini_arc\u001b[0m:\u001b[36m_load_task_from_disk\u001b[0m:\u001b[36m171\u001b[0m - \u001b[34m\u001b[1mLoaded MiniARC task 'Most_Common_color_l6ab0lf3xztbyxsu3p' from disk\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.317\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.utils.dataset_manager\u001b[0m:\u001b[36mensure_dataset_available\u001b[0m:\u001b[36m81\u001b[0m - \u001b[34m\u001b[1mDataset 'MiniARC' found at /Users/aadam/workspace/JaxARC/data/MiniARC\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.318\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mjaxarc.parsers.mini_arc\u001b[0m:\u001b[36m_validate_grid_constraints\u001b[0m:\u001b[36m104\u001b[0m - \u001b[1mMiniARC parser configured with optimal 5x5 grid constraints\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.320\u001b[0m | \u001b[1mINFO \u001b[0m | \u001b[36mjaxarc.parsers.mini_arc\u001b[0m:\u001b[36m_scan_available_tasks\u001b[0m:\u001b[36m131\u001b[0m - \u001b[1mFound 149 tasks in MiniARC dataset (lazy loading - tasks loaded on-demand, optimized for 5x5 grids)\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.321\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.parsers.mini_arc\u001b[0m:\u001b[36m_load_task_from_disk\u001b[0m:\u001b[36m171\u001b[0m - \u001b[34m\u001b[1mLoaded MiniARC task 'Most_Common_color_l6ab0lf3xztbyxsu3p' from disk\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.694\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.parsers.base_parser\u001b[0m:\u001b[36m_log_parsing_stats\u001b[0m:\u001b[36m479\u001b[0m - \u001b[34m\u001b[1mTask Most_Common_color_l6ab0lf3xztbyxsu3p: 3 train pairs, 1 test pairs, max grid size: 5x5\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.694\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.utils.task_manager\u001b[0m:\u001b[36mregister_task\u001b[0m:\u001b[36m72\u001b[0m - \u001b[34m\u001b[1mRegistered task 'Most_Common_color_l6ab0lf3xztbyxsu3p' with index 1\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.694\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.parsers.base_parser\u001b[0m:\u001b[36m_log_parsing_stats\u001b[0m:\u001b[36m479\u001b[0m - \u001b[34m\u001b[1mTask Most_Common_color_l6ab0lf3xztbyxsu3p: 3 train pairs, 1 test pairs, max grid size: 5x5\u001b[0m\n",
"\u001b[32m2025-11-18 22:47:44.694\u001b[0m | \u001b[34m\u001b[1mDEBUG \u001b[0m | \u001b[36mjaxarc.utils.task_manager\u001b[0m:\u001b[36mregister_task\u001b[0m:\u001b[36m72\u001b[0m - \u001b[34m\u001b[1mRegistered task 'Most_Common_color_l6ab0lf3xztbyxsu3p' with index 1\u001b[0m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"ANSI Render:\n"
]
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[34m┏━\u001b[0m\u001b[34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[1;34m Grid (5x5) \u001b[0m\u001b[34m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[34m━┓\u001b[0m\n",
"\u001b[34m┃\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m \u001b[34m┃\u001b[0m\n",
"\u001b[34m┃\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m \u001b[34m┃\u001b[0m\n",
"\u001b[34m┃\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m \u001b[34m┃\u001b[0m\n",
"\u001b[34m┃\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;240;18;190m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m\u001b[38;2;84;210;235m██\u001b[0m \u001b[34m┃\u001b[0m\n",
"\u001b[34m┃\u001b[0m\u001b[38;2;255;220;0m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m\u001b[38;2;255;65;54m██\u001b[0m \u001b[34m┃\u001b[0m\n",
"\u001b[34m┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\u001b[0m\n",
"\n",
"\n",
"SVG Render:\n"
]
},
{
"data": {
"text/html": [
"\n",
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import jax.random as jr\n",
"\n",
"from jaxarc.configs import JaxArcConfig\n",
"from jaxarc.registration import make\n",
"from jaxarc.utils.core import get_config\n",
"\n",
"# Create an environment\n",
"config = JaxArcConfig.from_hydra(get_config(overrides=[\"dataset=mini_arc\"]))\n",
"env, env_params = make(\"Mini-Most_Common_color_l6ab0lf3xztbyxsu3p\", config=config)\n",
"\n",
"# Reset\n",
"key = jr.PRNGKey(42)\n",
"state, _ = env.reset(key, env_params)\n",
"\n",
"# 1. ANSI Render (for terminal)\n",
"print(\"ANSI Render:\")\n",
"print(env.render(state, mode=\"ansi\"))\n",
"\n",
"# 2. SVG Render (for notebooks)\n",
"print(\"\\nSVG Render:\")\n",
"from IPython.display import HTML, display\n",
"\n",
"display(HTML(env.render(state, mode=\"svg\")))"
]
},
{
"cell_type": "markdown",
"id": "6653d433",
"metadata": {},
"source": [
"### Advanced: Step Visualization Wrapper\n",
"\n",
"For detailed analysis of agent actions, use the `StepVisualizationWrapper`. It enables `mode=\"detailed\"` which produces a rich SVG showing:\n",
"- Before/After states\n",
"- Action taken\n",
"- Changed cells highlighted\n",
"- Reward received\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "ec7c3c2e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Detailed Step Visualization:\n"
]
},
{
"data": {
"text/html": [
"\n",
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import jax.numpy as jnp\n",
"\n",
"from jaxarc.wrappers import StepVisualizationWrapper\n",
"\n",
"# Wrap the environment\n",
"viz_env = StepVisualizationWrapper(env)\n",
"\n",
"# Take a dummy action to generate a transition\n",
"# (Selecting top-left corner and filling with color 2)\n",
"h, w = state.working_grid.shape\n",
"selection = jnp.zeros((h, w), dtype=bool)\n",
"selection = selection.at[:2, :2].set(True)\n",
"\n",
"action = {\n",
" \"operation\": 0, # FILL\n",
" \"selection\": selection,\n",
" \"color\": 2,\n",
"}\n",
"\n",
"# Step\n",
"next_state, timestep = viz_env.step(state, action, env_params)\n",
"\n",
"# Render detailed view\n",
"print(\"Detailed Step Visualization:\")\n",
"display(HTML(viz_env.render(next_state, mode=\"detailed\")))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "dev",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}