From fbcef4f652710fbe4b535bd3c8ad524a8051dd8c Mon Sep 17 00:00:00 2001 From: Louis Oliphant <ltoliphant@wisc.edu> Date: Wed, 23 Oct 2024 08:10:35 -0500 Subject: [PATCH] finished lec 21 --- .../21_Copying/Lec_21_Copying.ipynb | 102 +------- ...nt.ipynb => Lec_21_Copying_Solution.ipynb} | 107 ++++---- .../21_Copying/Lec_21_Copying_Worksheet.ipynb | 2 +- .../21_Copying/Untitled.ipynb | 204 --------------- f24/Louis_Lecture_Notes/21_Copying/life.ipynb | 232 ------------------ 5 files changed, 51 insertions(+), 596 deletions(-) rename f24/Louis_Lecture_Notes/21_Copying/{Lec_21_Copying_Solution_Oliphant.ipynb => Lec_21_Copying_Solution.ipynb} (99%) delete mode 100644 f24/Louis_Lecture_Notes/21_Copying/Untitled.ipynb delete mode 100644 f24/Louis_Lecture_Notes/21_Copying/life.ipynb diff --git a/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying.ipynb b/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying.ipynb index 0098673..08b242f 100644 --- a/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying.ipynb +++ b/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying.ipynb @@ -303,7 +303,7 @@ "metadata": {}, "source": [ "### Use Case 1: Get Max Score\n", - "Loop through each player's score and find the maximum score.\n", + "Loop through each player's score and finds and returns the maximum score.\n", "\n", "We only need to use a *reference copy* -- we shouldn't change the data in the function." ] @@ -347,7 +347,7 @@ "### Use Case 2: Get Median Score\n", "Sort the dictionary by score and find the median player's score.\n", "\n", - "We should use a *shallow copy* to ensure that we don't change the data." + "Since the list will need to be sorted, We should use a *shallow copy* to ensure that we don't change the data." ] }, { @@ -440,101 +440,6 @@ "**Note:** Deepcopy is also known as a Recursive copy. " ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Specific Copying\n", - "Suppose that we have a big data object: a list of basketball players, where each player is a dictionary of their name, age, total_points, demographic information (which is a dictionary of ...), game history (which is a list of ...), and academic records (which is a dictionary of ...).\n", - "\n", - "We want to create a copy of just the high-scoring players. How could we accomplish this? Why might we only want to create a copy of some of the data?\n", - "\n", - "Write your answer in the cell below." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "basketball_players [\n", - " {\n", - " 'name' : 'John Smith',\n", - " 'total_points_earned' : 55,\n", - " 'position' : 'forward',\n", - " 'demographic' : {\n", - " 'sex' : 'M',\n", - " 'age' : 20,\n", - " 'height' : 6.02\n", - " },\n", - " 'game_history' : [{},{}],\n", - " 'academic record' : {\n", - " 'starting_year' : 2022,\n", - " 'class' : 'sophomore',\n", - " 'gpa' : '1.9',\n", - " 'major' : 'business',\n", - " 'standing' : 'probation'\n", - " }\n", - " },\n", - " {\n", - " 'name' : 'John Smith',\n", - " 'total_points_earned' : 55,\n", - " 'position' : 'forward',\n", - " 'demographic' : {\n", - " 'sex' : 'M',\n", - " 'age' : 20,\n", - " 'height' : 6.02\n", - " },\n", - " 'game_history' : [{},{}],\n", - " 'academic record' : {\n", - " 'starting_year' : 2022,\n", - " 'class' : 'sophomore',\n", - " 'gpa' : '1.9',\n", - " 'major' : 'business',\n", - " 'standing' : 'probation'\n", - " }\n", - " },\n", - " {\n", - " 'name' : 'John Smith',\n", - " 'total_points_earned' : 55,\n", - " 'position' : 'forward',\n", - " 'demographic' : {\n", - " 'sex' : 'M',\n", - " 'age' : 20,\n", - " 'height' : 6.02\n", - " },\n", - " 'game_history' : [{},{}],\n", - " 'academic record' : {\n", - " 'starting_year' : 2022,\n", - " 'class' : 'sophomore',\n", - " 'gpa' : '1.9',\n", - " 'major' : 'business',\n", - " 'standing' : 'probation'\n", - " }\n", - " },\n", - " {\n", - " 'name' : 'John Smith',\n", - " 'total_points_earned' : 55,\n", - " 'position' : 'forward',\n", - " 'demographic' : {\n", - " 'sex' : 'M',\n", - " 'age' : 20,\n", - " 'height' : 6.02\n", - " },\n", - " 'game_history' : [{},{}],\n", - " 'academic record' : {\n", - " 'starting_year' : 2022,\n", - " 'class' : 'sophomore',\n", - " 'gpa' : '1.9',\n", - " 'major' : 'business',\n", - " 'standing' : 'probation'\n", - " }\n", - " }\n", - "]\n", - "\n" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -559,7 +464,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "For good exam practice, complete this week's worksheet and interactive exercises. Try tracing reference copy, shallow copy, and deep copy by hand." + "## Practice Using Worksheet\n", + "Open today's worksheet to practice your understanding of references; objects; tuples and namedtuples; and the 3 levels of copying." ] } ], diff --git a/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Solution_Oliphant.ipynb b/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Solution.ipynb similarity index 99% rename from f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Solution_Oliphant.ipynb rename to f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Solution.ipynb index 4a6277c..58d6a8a 100644 --- a/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Solution_Oliphant.ipynb +++ b/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Solution.ipynb @@ -1,20 +1,20 @@ { "cells": [ { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 1, "metadata": {}, + "outputs": [], "source": [ - "## Warmup" + "# Run this! Today we will be learning about copying using the copy module\n", + "import copy" ] }, { - "cell_type": "code", - "execution_count": 1, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "# Warmup 0: Run this! Today we will be learning about copy.\n", - "import copy" + "## Warmup" ] }, { @@ -254,16 +254,6 @@ "cell_type": "code", "execution_count": 12, "metadata": {}, - "outputs": [], - "source": [ - "change_usage(boring_dict, 'sailboat', 'my sailboat crashed into the dock!')\n", - "change_usage(fun_dict, 'bamboozle', 'the Stormtroopers were bamboozled by Jedi mindtricks')" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, "outputs": [ { "name": "stdout", @@ -275,13 +265,16 @@ } ], "source": [ + "change_usage(boring_dict, 'sailboat', 'my sailboat crashed into the dock!')\n", + "change_usage(fun_dict, 'bamboozle', 'the Stormtroopers were bamboozled by Jedi mindtricks')\n", + "\n", "print('sailboat usage after:', boring_dict['sailboat']['usage'])\n", "print('bamboozle usage after:', fun_dict['bamboozle']['usage'])" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -302,16 +295,19 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# CS220: Lecture 21\n", + "# Copying\n", + "\n", + "## Read\n", "\n", + "- [Sweigart Ch 4 (\"References\" through the end)](https://automatetheboringstuff.com/2e/chapter4/)\n", "\n", "## Learning Objectives\n", "After this lecture you will be able to...\n", " - Correctly predict the output of code that uses reference variable mutation and reassignment.\n", " - Compare and contrast the 3 levels of copying: \n", - " - reference copy \n", - " - shallow copy(copy.copy)\n", - " - deep copy (copy.deepcopy)\n", + " - **reference copy** \n", + " - **shallow copy** (copy.copy)\n", + " - **deep copy** (copy.deepcopy)\n", " - Write code that copies a data structure at the appropriate level for a given use case. \n", "\n" ] @@ -320,7 +316,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Copying\n", + "## Copying\n", "- reference copy \n", "- shallow copy (copy.copy) # one level of object depth\n", "- deep copy (copy.deepcopy) # all levels of object depth" @@ -335,12 +331,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "" + "\n", + "\n", + "Link to [Python Tutor](https://pythontutor.com/render.html#code=%23%20Run%20this%20in%20Python%20Tutor,%20and%20uncomment%20one%20option%20at%20a%20time.%20%0A%0Aimport%20copy%0A%0Aw%20%3D%5B%0A%20%20%20%20%7B%22name%22%3A%22A%22,%20%22score%22%3A88%7D,%0A%20%20%20%20%7B%22name%22%3A%22B%22,%20%22score%22%3A111%7D,%0A%20%20%20%20%7B%22name%22%3A%22C%22,%20%22score%22%3A100%7D%5D%0A%0A%23x%20%3D%20w%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23%20reference%20copy%0A%23y%20%3D%20copy.copy%28w%29%20%20%20%20%20%23%20shallow%20copy...copies%20the%20first%20level%0A%23z%20%3D%20copy.deepcopy%28w%29%20%23%20deep%20copy...copies%20down%20to%20every%20level&cumulative=false&curInstr=5&heapPrimitives=nevernest&mode=display&origin=opt-frontend.js&py=311&rawInputLstJSON=%5B%5D&textReferences=false)" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -397,7 +395,7 @@ "metadata": {}, "source": [ "### Use Case 1: Get Max Score\n", - "Loop through each player's score and find the maximum score.\n", + "Loop through each player's score and finds and returns the maximum score.\n", "\n", "We only need to use a *reference copy* -- we shouldn't change the data in the function." ] @@ -412,7 +410,7 @@ "output_type": "stream", "text": [ "[{'name': 'Anna', 'score': 88}, {'name': 'Bianca', 'score': 111}, {'name': 'Carl', 'score': 100}]\n", - "Bianca\n", + "111\n", "[{'name': 'Anna', 'score': 88}, {'name': 'Bianca', 'score': 111}, {'name': 'Carl', 'score': 100}]\n" ] } @@ -425,14 +423,12 @@ "]\n", "\n", "def max_score(score_list):\n", - " best_person = None\n", " high_score = None\n", " for person in score_list:\n", " if high_score == None or person['score'] > high_score:\n", " high_score = person['score']\n", - " best_person = person['name']\n", " \n", - " return best_person\n", + " return high_score\n", "\n", "print(player_scores)\n", "print(max_score(player_scores))\n", @@ -448,7 +444,7 @@ "### Use Case 2: Get Median Score\n", "Sort the dictionary by score and find the median player's score.\n", "\n", - "We should use a *shallow copy* to ensure that we don't change the data." + "Since the list will need to be sorted, We should use a *shallow copy* to ensure that we don't change the data." ] }, { @@ -515,7 +511,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -523,8 +519,20 @@ "output_type": "stream", "text": [ "players_before: [{'name': 'Anna', 'score': 88}, {'name': 'Bianca', 'score': 111}, {'name': 'Carl', 'score': 100}]\n", - "player_scores: [{'name': 'Anna', 'score': 98}, {'name': 'Bianca', 'score': 111}, {'name': 'Carl', 'score': 100}]\n", - "enter y to keep changes: n\n", + "player_scores: [{'name': 'Anna', 'score': 98}, {'name': 'Bianca', 'score': 111}, {'name': 'Carl', 'score': 100}]\n" + ] + }, + { + "name": "stdin", + "output_type": "stream", + "text": [ + "enter y to keep changes: n\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "players_before: [{'name': 'Anna', 'score': 88}, {'name': 'Bianca', 'score': 111}, {'name': 'Carl', 'score': 100}]\n", "player_scores: [{'name': 'Anna', 'score': 88}, {'name': 'Bianca', 'score': 111}, {'name': 'Carl', 'score': 100}]\n" ] @@ -564,30 +572,6 @@ "**Note:** Deepcopy is also known as a Recursive copy. " ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Specific Copying\n", - "Suppose that we have a big data object: a list of basketball players, where each player is a dictionary of their name, age, total_points, demographic information (which is a dictionary of ...), game history (which is a list of ...), and academic records (which is a dictionary of ...).\n", - "\n", - "We want to create a copy of just the high-scoring players. How could we accomplish this? Why might we only want to create a copy of some of the data?\n", - "\n", - "Write your answer in the cell below." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# Answer: We would write a loop to check a player's total score, and only copy those players.\n", - "# We would do this if there was too much data to copy, and we only needed to make\n", - "# a copy of certain types of objects (such as high-scoring players).\n", - "# See the slides for a similar example." - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -600,7 +584,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -614,7 +598,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "For good exam practice, complete this week's worksheet and interactive exercises. Try tracing reference copy, shallow copy, and deep copy by hand." + "## Practice Using Worksheet\n", + "Open today's worksheet to practice your understanding of references; objects; tuples and namedtuples; and the 3 levels of copying." ] } ], @@ -634,7 +619,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.10.12" } }, "nbformat": 4, diff --git a/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Worksheet.ipynb b/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Worksheet.ipynb index 6976533..294210e 100644 --- a/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Worksheet.ipynb +++ b/f24/Louis_Lecture_Notes/21_Copying/Lec_21_Copying_Worksheet.ipynb @@ -264,7 +264,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.10.12" } }, "nbformat": 4, diff --git a/f24/Louis_Lecture_Notes/21_Copying/Untitled.ipynb b/f24/Louis_Lecture_Notes/21_Copying/Untitled.ipynb deleted file mode 100644 index a7bc863..0000000 --- a/f24/Louis_Lecture_Notes/21_Copying/Untitled.ipynb +++ /dev/null @@ -1,204 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 13, - "id": "9c14f33c-708b-4095-9a4b-c5b46de4f75c", - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "import numpy as np\n", - "from scipy.signal import convolve\n", - "\n", - "# used for counting the number of living neighbors each cell has\n", - "FILTER = np.array([[1, 1, 1],\n", - " [1, 100, 1],\n", - " [1, 1, 1]], dtype=np.uint8)" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "c69d214a-ca17-4a76-a634-0a456de695b1", - "metadata": {}, - "outputs": [], - "source": [ - "def evolve(length, generations):\n", - " \"\"\"\n", - " Run the Game of Life. Starting state is random.\n", - "\n", - " Parameters\n", - " ----------\n", - " length : int\n", - " Universe will be `length` units per side.\n", - " generations : int\n", - " Number of generations to run simulation.\n", - "\n", - " \"\"\"\n", - " current = np.random.randint(2, size=(length, length))\n", - " next = np.empty_like(current)\n", - " current[length//2, 1:(length-1)] = 1\n", - " show_board(current)\n", - " for _ in range(generations):\n", - " advance(current, next)\n", - " current, next = next, current\n", - " show_board(current)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "f804fbb6-ce8d-4a0d-8219-2a0d23ed7b90", - "metadata": {}, - "outputs": [], - "source": [ - "def advance(current, next):\n", - " \"\"\"\n", - " Calculate the next iteration of the Game of Life.\n", - "\n", - " Parameters\n", - " ----------\n", - " current : 2D array\n", - " Current state of universe.\n", - " next : 2D array\n", - " This array will be modified in place so that it contains the\n", - " next step. Must be the same size as `current`.\n", - "\n", - " \"\"\"\n", - " assert current.shape[0] == current.shape[1], \\\n", - " 'Expected square universe'\n", - " next[:] = 0\n", - " count = convolve(current, FILTER, mode='same')\n", - " next[(count == 3) | (count == 102) | (count == 103)] = 1" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "16c396cc-def8-4077-9889-18f780ebcee8", - "metadata": {}, - "outputs": [], - "source": [ - "from IPython.display import clear_output, display_html\n", - "import time\n", - "def show_board(board):\n", - " \"\"\"\n", - " Print the current Game of Life universe in an HTML table.\n", - " Removes any existing output using `IPython.display.clear_output`\n", - " to make an animation. This doesn't scale well beyond ~50x50 boards.\n", - "\n", - " Parameters\n", - " ----------\n", - " board : 2D array\n", - " Array representing the current universe.\n", - "\n", - " \"\"\"\n", - " clear_output()\n", - " nx, ny = board.shape\n", - " table = '\\n'\n", - " for y in range(ny-1, -1, -1):\n", - " table += ''\n", - " for x in range(0, nx):\n", - " if board[x, y]:\n", - " table += ''\n", - " else:\n", - " table += ''\n", - " table += '\\n'\n", - " table += ''\n", - " display_html(table, raw=True)\n", - " time.sleep(1)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "abab91fb-d51a-43b6-83b3-9e7c4d589537", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "\n", - "evolve(40, 3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3ca43466-b0cb-47ab-aec3-d6ea725ce664", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/f24/Louis_Lecture_Notes/21_Copying/life.ipynb b/f24/Louis_Lecture_Notes/21_Copying/life.ipynb deleted file mode 100644 index 36df1e2..0000000 --- a/f24/Louis_Lecture_Notes/21_Copying/life.ipynb +++ /dev/null @@ -1,232 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "399087f7", - "metadata": {}, - "source": [ - "# Conway's Game of Life\n", - "\n", - "For more on Conway's Game of Life: http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life\n", - "\n", - "Based on code originally sent to me by [@gvwilson](http://twitter.com/gvwilson)." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1020b733", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - }, - "outputs": [], - "source": [ - "import numpy as np\n", - "from scipy.signal import convolve\n", - "\n", - "# used for counting the number of living neighbors each cell has\n", - "FILTER = np.array([[1, 1, 1],\n", - " [1, 100, 1],\n", - " [1, 1, 1]], dtype=np.uint8)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "21fcd6ea", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - }, - "outputs": [], - "source": [ - "def evolve(length, generations):\n", - " \"\"\"\n", - " Run the Game of Life. Starting state is random.\n", - "\n", - " Parameters\n", - " ----------\n", - " length : int\n", - " Universe will be `length` units per side.\n", - " generations : int\n", - " Number of generations to run simulation.\n", - "\n", - " \"\"\"\n", - " current = np.random.randint(2, size=(length, length))\n", - " next = np.empty_like(current)\n", - " current[length//2, 1:(length-1)] = 1\n", - " show_board(current)\n", - " for _ in range(generations):\n", - " advance(current, next)\n", - " current, next = next, current\n", - " show_board(current)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "4616d525", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - }, - "outputs": [], - "source": [ - "def advance(current, next):\n", - " \"\"\"\n", - " Calculate the next iteration of the Game of Life.\n", - "\n", - " Parameters\n", - " ----------\n", - " current : 2D array\n", - " Current state of universe.\n", - " next : 2D array\n", - " This array will be modified in place so that it contains the\n", - " next step. Must be the same size as `current`.\n", - "\n", - " \"\"\"\n", - " assert current.shape[0] == current.shape[1], \\\n", - " 'Expected square universe'\n", - " next[:] = 0\n", - " count = convolve(current, FILTER, mode='same')\n", - " next[(count == 3) | (count == 102) | (count == 103)] = 1" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "50e63504", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - }, - "outputs": [], - "source": [ - "from IPython.display import clear_output, display_html\n", - "import time\n", - "def show_board(board):\n", - " \"\"\"\n", - " Print the current Game of Life universe in an HTML table.\n", - " Removes any existing output using `IPython.display.clear_output`\n", - " to make an animation. This doesn't scale well beyond ~50x50 boards.\n", - "\n", - " Parameters\n", - " ----------\n", - " board : 2D array\n", - " Array representing the current universe.\n", - "\n", - " \"\"\"\n", - " clear_output()\n", - " nx, ny = board.shape\n", - " table = '<table style=\"border-color: black; border-width: 5px;\">\\n'\n", - " for y in range(ny-1, -1, -1):\n", - " table += '<tr>'\n", - " for x in range(0, nx):\n", - " if board[x, y]:\n", - " table += '<td style=\"background: black; border-color: white;\"></td>'\n", - " else:\n", - " table += '<td style=\"border-color: white;\"></td>'\n", - " table += '</tr>\\n'\n", - " table += '</table>'\n", - " display_html(table, raw=True)\n", - " time.sleep(0.1)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "b1ebf2f0", - "metadata": { - "collapsed": false, - "jupyter": { - "outputs_hidden": false - } - }, - "outputs": [ - { - "data": { - "text/html": [ - "<table style=\"border-color: black; border-width: 5px;\">\n", - "<tr><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td></tr>\n", - "<tr><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "<tr><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"background: black; border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td><td style=\"border-color: white;\"></td></tr>\n", - "</table>" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "evolve(40, 400)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "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.10.12" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} -- GitLab