Skip to content

Instantly share code, notes, and snippets.

@anosatsuk124
Last active November 29, 2021 16:44
Show Gist options
  • Save anosatsuk124/4e7acba63f322586afe18e9b2063d5f7 to your computer and use it in GitHub Desktop.
Save anosatsuk124/4e7acba63f322586afe18e9b2063d5f7 to your computer and use it in GitHub Desktop.
; Copyright (C) 2021 Viterum(Satsuki Akiba). This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program. If not, see <https://www.gnu.org/licenses/>.
(import os base64 [IPython.display [HTML]])
(defn show [&optional fig [file_ex "svg"]]
(setv filename_n 0)
(if (= (os.path.isdir "temp") False)
(os.mkdir "temp"))
(while (os.path.isfile (+ (+ "temp/" (str filename_n)) (.format ".{file_ex}" :file_ex file_ex)))
(setv filename_n (+ filename_n 1))
)
(setv filename (+ (+ "temp/" (str filename_n)) (.format ".{file_ex}" :file_ex file_ex)))
(fig.savefig filename)
(with [file (open filename "rb")]
(setv data (.b64encode base64 (.read file)))
)
(setv tag (.format (+(+ "<img src='data:image/{file_ex};base64," (.decode data "utf-8")) "'>") :file_ex file_ex))
(if (= file_ex "svg")
(setv tag (+(+ "<img src='data:image/svg+xml;base64," (.decode data "utf-8")) "'>"))
)
(.remove os (+ "temp/" (+ (str filename_n) (.format ".{file_ex}" :file_ex file_ex))))
(.rmdir os "temp")
(return (HTML tag))
)
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "alone-jackson",
"metadata": {},
"outputs": [],
"source": [
"(import os base64 [numpy :as np]\n",
" [pandas :as pd]\n",
" [matplotlib.pyplot :as plt]\n",
" [matplotlib_inline [show]]\n",
" )\n",
"\n",
"(np.random.seed 0)\n",
"\n",
"(plt.style.use \"ggplot\")\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "floral-creation",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<img src='data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iDQogICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPCEtLSBDcmVhdGVkIHdpdGggbWF0cGxvdGxpYiAoaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pIC0tPg0KPHN2ZyBoZWlnaHQ9IjM0NS42cHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQ2MC44IDM0NS42IiB3aWR0aD0iNDYwLjhwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQogPG1ldGFkYXRhPg0KICA8cmRmOlJERiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+DQogICA8Y2M6V29yaz4NCiAgICA8ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+DQogICAgPGRjOmRhdGU+MjAyMS0wMi0wMlQwMTo1NDowMi42NTg0NDg8L2RjOmRhdGU+DQogICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+DQogICAgPGRjOmNyZWF0b3I+DQogICAgIDxjYzpBZ2VudD4NCiAgICAgIDxkYzp0aXRsZT5NYXRwbG90bGliIHYzLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88L2RjOnRpdGxlPg0KICAgICA8L2NjOkFnZW50Pg0KICAgIDwvZGM6Y3JlYXRvcj4NCiAgIDwvY2M6V29yaz4NCiAgPC9yZGY6UkRGPg0KIDwvbWV0YWRhdGE+DQogPGRlZnM+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+KntzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDt9PC9zdHlsZT4NCiA8L2RlZnM+DQogPGcgaWQ9ImZpZ3VyZV8xIj4NCiAgPGcgaWQ9InBhdGNoXzEiPg0KICAgPHBhdGggZD0iTSAwIDM0NS42IA0KTCA0NjAuOCAzNDUuNiANCkwgNDYwLjggMCANCkwgMCAwIA0Keg0KIiBzdHlsZT0iZmlsbDojZmZmZmZmOyIvPg0KICA8L2c+DQogIDxnIGlkPSJheGVzXzEiPg0KICAgPGcgaWQ9InBhdGNoXzIiPg0KICAgIDxwYXRoIGQ9Ik0gNTcuNiAzMDcuNTg0IA0KTCA0MTQuNzIgMzA3LjU4NCANCkwgNDE0LjcyIDQxLjQ3MiANCkwgNTcuNiA0MS40NzIgDQp6DQoiIHN0eWxlPSJmaWxsOiNlNWU1ZTU7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0ibWF0cGxvdGxpYi5heGlzXzEiPg0KICAgIDxnIGlkPSJ4dGlja18xIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gNzMuODMyNzI3IDMwNy41ODQgDQpMIDczLjgzMjcyNyA0MS40NzIgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yIj4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMCAwIA0KTCAwIDMuNSANCiIgaWQ9Im1kNzA0YjFiYjIzIiBzdHlsZT0ic3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iNzMuODMyNzI3IiB4bGluazpocmVmPSIjbWQ3MDRiMWJiMjMiIHk9IjMwNy41ODQiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xIj4NCiAgICAgIDwhLS0gMC4wIC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY1Ljg4MTE2NSAzMjIuMTgyNDM3KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPGRlZnM+DQogICAgICAgIDxwYXRoIGQ9Ik0gMzEuNzgxMjUgNjYuNDA2MjUgDQpRIDI0LjE3MTg3NSA2Ni40MDYyNSAyMC4zMjgxMjUgNTguOTA2MjUgDQpRIDE2LjUgNTEuNDIxODc1IDE2LjUgMzYuMzc1IA0KUSAxNi41IDIxLjM5MDYyNSAyMC4zMjgxMjUgMTMuODkwNjI1IA0KUSAyNC4xNzE4NzUgNi4zOTA2MjUgMzEuNzgxMjUgNi4zOTA2MjUgDQpRIDM5LjQ1MzEyNSA2LjM5MDYyNSA0My4yODEyNSAxMy44OTA2MjUgDQpRIDQ3LjEyNSAyMS4zOTA2MjUgNDcuMTI1IDM2LjM3NSANClEgNDcuMTI1IDUxLjQyMTg3NSA0My4yODEyNSA1OC45MDYyNSANClEgMzkuNDUzMTI1IDY2LjQwNjI1IDMxLjc4MTI1IDY2LjQwNjI1IA0Keg0KTSAzMS43ODEyNSA3NC4yMTg3NSANClEgNDQuMDQ2ODc1IDc0LjIxODc1IDUwLjUxNTYyNSA2NC41MTU2MjUgDQpRIDU2Ljk4NDM3NSA1NC44MjgxMjUgNTYuOTg0Mzc1IDM2LjM3NSANClEgNTYuOTg0Mzc1IDE3Ljk2ODc1IDUwLjUxNTYyNSA4LjI2NTYyNSANClEgNDQuMDQ2ODc1IC0xLjQyMTg3NSAzMS43ODEyNSAtMS40MjE4NzUgDQpRIDE5LjUzMTI1IC0xLjQyMTg3NSAxMy4wNjI1IDguMjY1NjI1IA0KUSA2LjU5Mzc1IDE3Ljk2ODc1IDYuNTkzNzUgMzYuMzc1IA0KUSA2LjU5Mzc1IDU0LjgyODEyNSAxMy4wNjI1IDY0LjUxNTYyNSANClEgMTkuNTMxMjUgNzQuMjE4NzUgMzEuNzgxMjUgNzQuMjE4NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0gMTAuNjg3NSAxMi40MDYyNSANCkwgMjEgMTIuNDA2MjUgDQpMIDIxIDAgDQpMIDEwLjY4NzUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8L2RlZnM+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ4dGlja18yIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF8zIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gMTM4Ljc2MzYzNiAzMDcuNTg0IA0KTCAxMzguNzYzNjM2IDQxLjQ3MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzQiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSIxMzguNzYzNjM2IiB4bGluazpocmVmPSIjbWQ3MDRiMWJiMjMiIHk9IjMwNy41ODQiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8yIj4NCiAgICAgIDwhLS0gMC4yIC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzMC44MTIwNzQgMzIyLjE4MjQzNylzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDxkZWZzPg0KICAgICAgICA8cGF0aCBkPSJNIDE5LjE4NzUgOC4yOTY4NzUgDQpMIDUzLjYwOTM3NSA4LjI5Njg3NSANCkwgNTMuNjA5Mzc1IDAgDQpMIDcuMzI4MTI1IDAgDQpMIDcuMzI4MTI1IDguMjk2ODc1IA0KUSAxMi45Mzc1IDE0LjEwOTM3NSAyMi42MjUgMjMuODkwNjI1IA0KUSAzMi4zMjgxMjUgMzMuNjg3NSAzNC44MTI1IDM2LjUzMTI1IA0KUSAzOS41NDY4NzUgNDEuODQzNzUgNDEuNDIxODc1IDQ1LjUzMTI1IA0KUSA0My4zMTI1IDQ5LjIxODc1IDQzLjMxMjUgNTIuNzgxMjUgDQpRIDQzLjMxMjUgNTguNTkzNzUgMzkuMjM0Mzc1IDYyLjI1IA0KUSAzNS4xNTYyNSA2NS45MjE4NzUgMjguNjA5Mzc1IDY1LjkyMTg3NSANClEgMjMuOTY4NzUgNjUuOTIxODc1IDE4LjgxMjUgNjQuMzEyNSANClEgMTMuNjcxODc1IDYyLjcwMzEyNSA3LjgxMjUgNTkuNDIxODc1IA0KTCA3LjgxMjUgNjkuMzkwNjI1IA0KUSAxMy43NjU2MjUgNzEuNzgxMjUgMTguOTM3NSA3MyANClEgMjQuMTI1IDc0LjIxODc1IDI4LjQyMTg3NSA3NC4yMTg3NSANClEgMzkuNzUgNzQuMjE4NzUgNDYuNDg0Mzc1IDY4LjU0Njg3NSANClEgNTMuMjE4NzUgNjIuODkwNjI1IDUzLjIxODc1IDUzLjQyMTg3NSANClEgNTMuMjE4NzUgNDguOTIxODc1IDUxLjUzMTI1IDQ0Ljg5MDYyNSANClEgNDkuODU5Mzc1IDQwLjg3NSA0NS40MDYyNSAzNS40MDYyNSANClEgNDQuMTg3NSAzMy45ODQzNzUgMzcuNjQwNjI1IDI3LjIxODc1IA0KUSAzMS4xMDkzNzUgMjAuNDUzMTI1IDE5LjE4NzUgOC4yOTY4NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTUwIi8+DQogICAgICAgPC9kZWZzPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTAiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieHRpY2tfMyI+DQogICAgIDxnIGlkPSJsaW5lMmRfNSI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcGI3ZTIzODk1ZTApIiBkPSJNIDIwMy42OTQ1NDUgMzA3LjU4NCANCkwgMjAzLjY5NDU0NSA0MS40NzIgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF82Ij4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iMjAzLjY5NDU0NSIgeGxpbms6aHJlZj0iI21kNzA0YjFiYjIzIiB5PSIzMDcuNTg0Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMyI+DQogICAgICA8IS0tIDAuNCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTUuNzQyOTgzIDMyMi4xODI0Mzcpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8ZGVmcz4NCiAgICAgICAgPHBhdGggZD0iTSAzNy43OTY4NzUgNjQuMzEyNSANCkwgMTIuODkwNjI1IDI1LjM5MDYyNSANCkwgMzcuNzk2ODc1IDI1LjM5MDYyNSANCnoNCk0gMzUuMjAzMTI1IDcyLjkwNjI1IA0KTCA0Ny42MDkzNzUgNzIuOTA2MjUgDQpMIDQ3LjYwOTM3NSAyNS4zOTA2MjUgDQpMIDU4LjAxNTYyNSAyNS4zOTA2MjUgDQpMIDU4LjAxNTYyNSAxNy4xODc1IA0KTCA0Ny42MDkzNzUgMTcuMTg3NSANCkwgNDcuNjA5Mzc1IDAgDQpMIDM3Ljc5Njg3NSAwIA0KTCAzNy43OTY4NzUgMTcuMTg3NSANCkwgNC44OTA2MjUgMTcuMTg3NSANCkwgNC44OTA2MjUgMjYuNzAzMTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDwvZGVmcz4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inh0aWNrXzQiPg0KICAgICA8ZyBpZD0ibGluZTJkXzciPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiN2UyMzg5NWUwKSIgZD0iTSAyNjguNjI1NDU1IDMwNy41ODQgDQpMIDI2OC42MjU0NTUgNDEuNDcyIA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfOCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjI2OC42MjU0NTUiIHhsaW5rOmhyZWY9IiNtZDcwNGIxYmIyMyIgeT0iMzA3LjU4NCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzQiPg0KICAgICAgPCEtLSAwLjYgLS0+DQogICAgICA8ZyBzdHlsZT0iZmlsbDojNTU1NTU1OyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjYwLjY3Mzg5MiAzMjIuMTgyNDM3KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPGRlZnM+DQogICAgICAgIDxwYXRoIGQ9Ik0gMzMuMDE1NjI1IDQwLjM3NSANClEgMjYuMzc1IDQwLjM3NSAyMi40ODQzNzUgMzUuODI4MTI1IA0KUSAxOC42MDkzNzUgMzEuMjk2ODc1IDE4LjYwOTM3NSAyMy4zOTA2MjUgDQpRIDE4LjYwOTM3NSAxNS41MzEyNSAyMi40ODQzNzUgMTAuOTUzMTI1IA0KUSAyNi4zNzUgNi4zOTA2MjUgMzMuMDE1NjI1IDYuMzkwNjI1IA0KUSAzOS42NTYyNSA2LjM5MDYyNSA0My41MzEyNSAxMC45NTMxMjUgDQpRIDQ3LjQwNjI1IDE1LjUzMTI1IDQ3LjQwNjI1IDIzLjM5MDYyNSANClEgNDcuNDA2MjUgMzEuMjk2ODc1IDQzLjUzMTI1IDM1LjgyODEyNSANClEgMzkuNjU2MjUgNDAuMzc1IDMzLjAxNTYyNSA0MC4zNzUgDQp6DQpNIDUyLjU5Mzc1IDcxLjI5Njg3NSANCkwgNTIuNTkzNzUgNjIuMzEyNSANClEgNDguODc1IDY0LjA2MjUgNDUuMDkzNzUgNjQuOTg0Mzc1IA0KUSA0MS4zMTI1IDY1LjkyMTg3NSAzNy41OTM3NSA2NS45MjE4NzUgDQpRIDI3LjgyODEyNSA2NS45MjE4NzUgMjIuNjcxODc1IDU5LjMyODEyNSANClEgMTcuNTMxMjUgNTIuNzM0Mzc1IDE2Ljc5Njg3NSAzOS40MDYyNSANClEgMTkuNjcxODc1IDQzLjY1NjI1IDI0LjAxNTYyNSA0NS45MjE4NzUgDQpRIDI4LjM3NSA0OC4xODc1IDMzLjU5Mzc1IDQ4LjE4NzUgDQpRIDQ0LjU3ODEyNSA0OC4xODc1IDUwLjk1MzEyNSA0MS41MTU2MjUgDQpRIDU3LjMyODEyNSAzNC44NTkzNzUgNTcuMzI4MTI1IDIzLjM5MDYyNSANClEgNTcuMzI4MTI1IDEyLjE1NjI1IDUwLjY4NzUgNS4zNTkzNzUgDQpRIDQ0LjA0Njg3NSAtMS40MjE4NzUgMzMuMDE1NjI1IC0xLjQyMTg3NSANClEgMjAuMzU5Mzc1IC0xLjQyMTg3NSAxMy42NzE4NzUgOC4yNjU2MjUgDQpRIDYuOTg0Mzc1IDE3Ljk2ODc1IDYuOTg0Mzc1IDM2LjM3NSANClEgNi45ODQzNzUgNTMuNjU2MjUgMTUuMTg3NSA2My45Mzc1IA0KUSAyMy4zOTA2MjUgNzQuMjE4NzUgMzcuMjAzMTI1IDc0LjIxODc1IA0KUSA0MC45MjE4NzUgNzQuMjE4NzUgNDQuNzAzMTI1IDczLjQ4NDM3NSANClEgNDguNDg0Mzc1IDcyLjc1IDUyLjU5Mzc1IDcxLjI5Njg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNTQiLz4NCiAgICAgICA8L2RlZnM+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01NCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ4dGlja181Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF85Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gMzMzLjU1NjM2NCAzMDcuNTg0IA0KTCAzMzMuNTU2MzY0IDQxLjQ3MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzEwIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iMzMzLjU1NjM2NCIgeGxpbms6aHJlZj0iI21kNzA0YjFiYjIzIiB5PSIzMDcuNTg0Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfNSI+DQogICAgICA8IS0tIDAuOCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMjUuNjA0ODAxIDMyMi4xODI0Mzcpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8ZGVmcz4NCiAgICAgICAgPHBhdGggZD0iTSAzMS43ODEyNSAzNC42MjUgDQpRIDI0Ljc1IDM0LjYyNSAyMC43MTg3NSAzMC44NTkzNzUgDQpRIDE2LjcwMzEyNSAyNy4wOTM3NSAxNi43MDMxMjUgMjAuNTE1NjI1IA0KUSAxNi43MDMxMjUgMTMuOTIxODc1IDIwLjcxODc1IDEwLjE1NjI1IA0KUSAyNC43NSA2LjM5MDYyNSAzMS43ODEyNSA2LjM5MDYyNSANClEgMzguODEyNSA2LjM5MDYyNSA0Mi44NTkzNzUgMTAuMTcxODc1IA0KUSA0Ni45MjE4NzUgMTMuOTY4NzUgNDYuOTIxODc1IDIwLjUxNTYyNSANClEgNDYuOTIxODc1IDI3LjA5Mzc1IDQyLjg5MDYyNSAzMC44NTkzNzUgDQpRIDM4Ljg3NSAzNC42MjUgMzEuNzgxMjUgMzQuNjI1IA0Keg0KTSAyMS45MjE4NzUgMzguODEyNSANClEgMTUuNTc4MTI1IDQwLjM3NSAxMi4wMzEyNSA0NC43MTg3NSANClEgOC41IDQ5LjA3ODEyNSA4LjUgNTUuMzI4MTI1IA0KUSA4LjUgNjQuMDYyNSAxNC43MTg3NSA2OS4xNDA2MjUgDQpRIDIwLjk1MzEyNSA3NC4yMTg3NSAzMS43ODEyNSA3NC4yMTg3NSANClEgNDIuNjcxODc1IDc0LjIxODc1IDQ4Ljg3NSA2OS4xNDA2MjUgDQpRIDU1LjA3ODEyNSA2NC4wNjI1IDU1LjA3ODEyNSA1NS4zMjgxMjUgDQpRIDU1LjA3ODEyNSA0OS4wNzgxMjUgNTEuNTMxMjUgNDQuNzE4NzUgDQpRIDQ4IDQwLjM3NSA0MS43MDMxMjUgMzguODEyNSANClEgNDguODI4MTI1IDM3LjE1NjI1IDUyLjc5Njg3NSAzMi4zMTI1IA0KUSA1Ni43ODEyNSAyNy40ODQzNzUgNTYuNzgxMjUgMjAuNTE1NjI1IA0KUSA1Ni43ODEyNSA5LjkwNjI1IDUwLjMxMjUgNC4yMzQzNzUgDQpRIDQzLjg0Mzc1IC0xLjQyMTg3NSAzMS43ODEyNSAtMS40MjE4NzUgDQpRIDE5LjczNDM3NSAtMS40MjE4NzUgMTMuMjUgNC4yMzQzNzUgDQpRIDYuNzgxMjUgOS45MDYyNSA2Ljc4MTI1IDIwLjUxNTYyNSANClEgNi43ODEyNSAyNy40ODQzNzUgMTAuNzgxMjUgMzIuMzEyNSANClEgMTQuNzk2ODc1IDM3LjE1NjI1IDIxLjkyMTg3NSAzOC44MTI1IA0Keg0KTSAxOC4zMTI1IDU0LjM5MDYyNSANClEgMTguMzEyNSA0OC43MzQzNzUgMjEuODQzNzUgNDUuNTYyNSANClEgMjUuMzkwNjI1IDQyLjM5MDYyNSAzMS43ODEyNSA0Mi4zOTA2MjUgDQpRIDM4LjE0MDYyNSA0Mi4zOTA2MjUgNDEuNzE4NzUgNDUuNTYyNSANClEgNDUuMzEyNSA0OC43MzQzNzUgNDUuMzEyNSA1NC4zOTA2MjUgDQpRIDQ1LjMxMjUgNjAuMDYyNSA0MS43MTg3NSA2My4yMzQzNzUgDQpRIDM4LjE0MDYyNSA2Ni40MDYyNSAzMS43ODEyNSA2Ni40MDYyNSANClEgMjUuMzkwNjI1IDY2LjQwNjI1IDIxLjg0Mzc1IDYzLjIzNDM3NSANClEgMTguMzEyNSA2MC4wNjI1IDE4LjMxMjUgNTQuMzkwNjI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01NiIvPg0KICAgICAgIDwvZGVmcz4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTU2Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inh0aWNrXzYiPg0KICAgICA8ZyBpZD0ibGluZTJkXzExIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gMzk4LjQ4NzI3MyAzMDcuNTg0IA0KTCAzOTguNDg3MjczIDQxLjQ3MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzEyIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iMzk4LjQ4NzI3MyIgeGxpbms6aHJlZj0iI21kNzA0YjFiYjIzIiB5PSIzMDcuNTg0Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfNiI+DQogICAgICA8IS0tIDEuMCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuNTM1NzEgMzIyLjE4MjQzNylzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDxkZWZzPg0KICAgICAgICA8cGF0aCBkPSJNIDEyLjQwNjI1IDguMjk2ODc1IA0KTCAyOC41MTU2MjUgOC4yOTY4NzUgDQpMIDI4LjUxNTYyNSA2My45MjE4NzUgDQpMIDEwLjk4NDM3NSA2MC40MDYyNSANCkwgMTAuOTg0Mzc1IDY5LjM5MDYyNSANCkwgMjguNDIxODc1IDcyLjkwNjI1IA0KTCAzOC4yODEyNSA3Mi45MDYyNSANCkwgMzguMjgxMjUgOC4yOTY4NzUgDQpMIDU0LjM5MDYyNSA4LjI5Njg3NSANCkwgNTQuMzkwNjI1IDAgDQpMIDEyLjQwNjI1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTQ5Ii8+DQogICAgICAgPC9kZWZzPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDkiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJtYXRwbG90bGliLmF4aXNfMiI+DQogICAgPGcgaWQ9Inl0aWNrXzEiPg0KICAgICA8ZyBpZD0ibGluZTJkXzEzIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gNTcuNiAyODUuOTM5ODI3IA0KTCA0MTQuNzIgMjg1LjkzOTgyNyANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzE0Ij4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMCAwIA0KTCAtMy41IDAgDQoiIGlkPSJtZTFkMjc0ZGZhYiIgc3R5bGU9InN0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgICA8L2RlZnM+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjU3LjYiIHhsaW5rOmhyZWY9IiNtZTFkMjc0ZGZhYiIgeT0iMjg1LjkzOTgyNyIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzciPg0KICAgICAgPCEtLSAwLjI1IC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4LjMzNDM3NSAyODkuNzM5MDQ1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPGRlZnM+DQogICAgICAgIDxwYXRoIGQ9Ik0gMTAuNzk2ODc1IDcyLjkwNjI1IA0KTCA0OS41MTU2MjUgNzIuOTA2MjUgDQpMIDQ5LjUxNTYyNSA2NC41OTM3NSANCkwgMTkuODI4MTI1IDY0LjU5Mzc1IA0KTCAxOS44MjgxMjUgNDYuNzM0Mzc1IA0KUSAyMS45Njg3NSA0Ny40Njg3NSAyNC4xMDkzNzUgNDcuODI4MTI1IA0KUSAyNi4yNjU2MjUgNDguMTg3NSAyOC40MjE4NzUgNDguMTg3NSANClEgNDAuNjI1IDQ4LjE4NzUgNDcuNzUgNDEuNSANClEgNTQuODkwNjI1IDM0LjgxMjUgNTQuODkwNjI1IDIzLjM5MDYyNSANClEgNTQuODkwNjI1IDExLjYyNSA0Ny41NjI1IDUuMDkzNzUgDQpRIDQwLjIzNDM3NSAtMS40MjE4NzUgMjYuOTA2MjUgLTEuNDIxODc1IA0KUSAyMi4zMTI1IC0xLjQyMTg3NSAxNy41NDY4NzUgLTAuNjQwNjI1IA0KUSAxMi43OTY4NzUgMC4xNDA2MjUgNy43MTg3NSAxLjcwMzEyNSANCkwgNy43MTg3NSAxMS42MjUgDQpRIDEyLjEwOTM3NSA5LjIzNDM3NSAxNi43OTY4NzUgOC4wNjI1IA0KUSAyMS40ODQzNzUgNi44OTA2MjUgMjYuNzAzMTI1IDYuODkwNjI1IA0KUSAzNS4xNTYyNSA2Ljg5MDYyNSA0MC4wNzgxMjUgMTEuMzI4MTI1IA0KUSA0NS4wMTU2MjUgMTUuNzY1NjI1IDQ1LjAxNTYyNSAyMy4zOTA2MjUgDQpRIDQ1LjAxNTYyNSAzMSA0MC4wNzgxMjUgMzUuNDM3NSANClEgMzUuMTU2MjUgMzkuODkwNjI1IDI2LjcwMzEyNSAzOS44OTA2MjUgDQpRIDIyLjc1IDM5Ljg5MDYyNSAxOC44MTI1IDM5LjAxNTYyNSANClEgMTQuODkwNjI1IDM4LjE0MDYyNSAxMC43OTY4NzUgMzYuMjgxMjUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTUzIi8+DQogICAgICAgPC9kZWZzPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTAiLz4NCiAgICAgICA8dXNlIHg9IjE1OS4wMzMyMDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUzIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzIiPg0KICAgICA8ZyBpZD0ibGluZTJkXzE1Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gNTcuNiAyNTMuNTA0ODY1IA0KTCA0MTQuNzIgMjUzLjUwNDg2NSANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzE2Ij4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iNTcuNiIgeGxpbms6aHJlZj0iI21lMWQyNzRkZmFiIiB5PSIyNTMuNTA0ODY1Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfOCI+DQogICAgICA8IS0tIDAuNTAgLS0+DQogICAgICA8ZyBzdHlsZT0iZmlsbDojNTU1NTU1OyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjguMzM0Mzc1IDI1Ny4zMDQwODQpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUzIi8+DQogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja18zIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xNyI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcGI3ZTIzODk1ZTApIiBkPSJNIDU3LjYgMjIxLjA2OTkwNCANCkwgNDE0LjcyIDIyMS4wNjk5MDQgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xOCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjU3LjYiIHhsaW5rOmhyZWY9IiNtZTFkMjc0ZGZhYiIgeT0iMjIxLjA2OTkwNCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzkiPg0KICAgICAgPCEtLSAwLjc1IC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4LjMzNDM3NSAyMjQuODY5MTIzKXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPGRlZnM+DQogICAgICAgIDxwYXRoIGQ9Ik0gOC4yMDMxMjUgNzIuOTA2MjUgDQpMIDU1LjA3ODEyNSA3Mi45MDYyNSANCkwgNTUuMDc4MTI1IDY4LjcwMzEyNSANCkwgMjguNjA5Mzc1IDAgDQpMIDE4LjMxMjUgMCANCkwgNDMuMjE4NzUgNjQuNTkzNzUgDQpMIDguMjAzMTI1IDY0LjU5Mzc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01NSIvPg0KICAgICAgIDwvZGVmcz4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTU1Ii8+DQogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja180Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xOSI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcGI3ZTIzODk1ZTApIiBkPSJNIDU3LjYgMTg4LjYzNDk0MyANCkwgNDE0LjcyIDE4OC42MzQ5NDMgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yMCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjU3LjYiIHhsaW5rOmhyZWY9IiNtZTFkMjc0ZGZhYiIgeT0iMTg4LjYzNDk0MyIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEwIj4NCiAgICAgIDwhLS0gMS4wMCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOC4zMzQzNzUgMTkyLjQzNDE2MilzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDkiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgICA8dXNlIHg9IjE1OS4wMzMyMDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzUiPg0KICAgICA8ZyBpZD0ibGluZTJkXzIxIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gNTcuNiAxNTYuMTk5OTgyIA0KTCA0MTQuNzIgMTU2LjE5OTk4MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzIyIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iNTcuNiIgeGxpbms6aHJlZj0iI21lMWQyNzRkZmFiIiB5PSIxNTYuMTk5OTgyIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMTEiPg0KICAgICAgPCEtLSAxLjI1IC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4LjMzNDM3NSAxNTkuOTk5MjAxKXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OSIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MCIvPg0KICAgICAgIDx1c2UgeD0iMTU5LjAzMzIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTMiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfNiI+DQogICAgIDxnIGlkPSJsaW5lMmRfMjMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiN2UyMzg5NWUwKSIgZD0iTSA1Ny42IDEyMy43NjUwMjEgDQpMIDQxNC43MiAxMjMuNzY1MDIxIA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMjQiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSI1Ny42IiB4bGluazpocmVmPSIjbWUxZDI3NGRmYWIiIHk9IjEyMy43NjUwMjEiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xMiI+DQogICAgICA8IS0tIDEuNTAgLS0+DQogICAgICA8ZyBzdHlsZT0iZmlsbDojNTU1NTU1OyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjguMzM0Mzc1IDEyNy41NjQyNClzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDkiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTMiLz4NCiAgICAgICA8dXNlIHg9IjE1OS4wMzMyMDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzciPg0KICAgICA8ZyBpZD0ibGluZTJkXzI1Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gNTcuNiA5MS4zMzAwNiANCkwgNDE0LjcyIDkxLjMzMDA2IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMjYiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSI1Ny42IiB4bGluazpocmVmPSIjbWUxZDI3NGRmYWIiIHk9IjkxLjMzMDA2Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMTMiPg0KICAgICAgPCEtLSAxLjc1IC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4LjMzNDM3NSA5NS4xMjkyNzgpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ5Ii8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTU1Ii8+DQogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja184Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yNyI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcGI3ZTIzODk1ZTApIiBkPSJNIDU3LjYgNTguODk1MDk5IA0KTCA0MTQuNzIgNTguODk1MDk5IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMjgiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSI1Ny42IiB4bGluazpocmVmPSIjbWUxZDI3NGRmYWIiIHk9IjU4Ljg5NTA5OSIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzE0Ij4NCiAgICAgIDwhLS0gMi4wMCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOC4zMzQzNzUgNjIuNjk0MzE3KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MCIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgIDx1c2UgeD0iMTU5LjAzMzIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJsaW5lMmRfMjkiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjdlMjM4OTVlMCkiIGQ9Ik0gNzMuODMyNzI3IDI5NS40ODggDQpMIDEwOS45MDU0NTUgMjg0LjM1MjA3OCANCkwgMTQ1Ljk3ODE4MiAyNDguMDE0NTAzIA0KTCAxODIuMDUwOTA5IDIwMi44MDgyNDQgDQpMIDIxOC4xMjM2MzYgMTc4LjgyMDgxMyANCkwgMjU0LjE5NjM2NCAxODYuODk4NTkzIA0KTCAyOTAuMjY5MDkxIDEzMy4wNjE4OTYgDQpMIDMyNi4zNDE4MTggMTE4LjUyMDk1OCANCkwgMzYyLjQxNDU0NSA4OS4wNjUzMzUgDQpMIDM5OC40ODcyNzMgNTMuNTY4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZTI0YTMzO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MS41OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzMiPg0KICAgIDxwYXRoIGQ9Ik0gNTcuNiAzMDcuNTg0IA0KTCA1Ny42IDQxLjQ3MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyOyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzQiPg0KICAgIDxwYXRoIGQ9Ik0gNDE0LjcyIDMwNy41ODQgDQpMIDQxNC43MiA0MS40NzIgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjptaXRlcjsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF81Ij4NCiAgICA8cGF0aCBkPSJNIDU3LjYgMzA3LjU4NCANCkwgNDE0LjcyIDMwNy41ODQgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjptaXRlcjsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF82Ij4NCiAgICA8cGF0aCBkPSJNIDU3LjYgNDEuNDcyIA0KTCA0MTQuNzIgNDEuNDcyIA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46bWl0ZXI7Ii8+DQogICA8L2c+DQogIDwvZz4NCiA8L2c+DQogPGRlZnM+DQogIDxjbGlwUGF0aCBpZD0icGI3ZTIzODk1ZTAiPg0KICAgPHJlY3QgaGVpZ2h0PSIyNjYuMTEyIiB3aWR0aD0iMzU3LjEyIiB4PSI1Ny42IiB5PSI0MS40NzIiLz4NCiAgPC9jbGlwUGF0aD4NCiA8L2RlZnM+DQo8L3N2Zz4NCg=='>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(setv x (np.linspace 0 1 10))\n",
"(setv y (+ (* 2 x) (* 0.1 (np.random.randn 10))))\n",
"\n",
"(setv fig (plt.figure))\n",
"(setv ax (fig.add_subplot 111))\n",
"(ax.plot x y)\n",
"\n",
"(show fig)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "driven-organizer",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<img src='data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iDQogICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPCEtLSBDcmVhdGVkIHdpdGggbWF0cGxvdGxpYiAoaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pIC0tPg0KPHN2ZyBoZWlnaHQ9IjM0NS42cHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDQ2MC44IDM0NS42IiB3aWR0aD0iNDYwLjhwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQogPG1ldGFkYXRhPg0KICA8cmRmOlJERiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+DQogICA8Y2M6V29yaz4NCiAgICA8ZGM6dHlwZSByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIi8+DQogICAgPGRjOmRhdGU+MjAyMS0wMi0wMlQwMTo1NDoxMi45NzA5OTA8L2RjOmRhdGU+DQogICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+DQogICAgPGRjOmNyZWF0b3I+DQogICAgIDxjYzpBZ2VudD4NCiAgICAgIDxkYzp0aXRsZT5NYXRwbG90bGliIHYzLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88L2RjOnRpdGxlPg0KICAgICA8L2NjOkFnZW50Pg0KICAgIDwvZGM6Y3JlYXRvcj4NCiAgIDwvY2M6V29yaz4NCiAgPC9yZGY6UkRGPg0KIDwvbWV0YWRhdGE+DQogPGRlZnM+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+KntzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDt9PC9zdHlsZT4NCiA8L2RlZnM+DQogPGcgaWQ9ImZpZ3VyZV8xIj4NCiAgPGcgaWQ9InBhdGNoXzEiPg0KICAgPHBhdGggZD0iTSAwIDM0NS42IA0KTCA0NjAuOCAzNDUuNiANCkwgNDYwLjggMCANCkwgMCAwIA0Keg0KIiBzdHlsZT0iZmlsbDojZmZmZmZmOyIvPg0KICA8L2c+DQogIDxnIGlkPSJheGVzXzEiPg0KICAgPGcgaWQ9InBhdGNoXzIiPg0KICAgIDxwYXRoIGQ9Ik0gNTcuNiAzMDcuNTg0IA0KTCA0MTQuNzIgMzA3LjU4NCANCkwgNDE0LjcyIDQxLjQ3MiANCkwgNTcuNiA0MS40NzIgDQp6DQoiIHN0eWxlPSJmaWxsOiNlNWU1ZTU7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0ibWF0cGxvdGxpYi5heGlzXzEiPg0KICAgIDxnIGlkPSJ4dGlja18xIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwOTMxMmEzZTkzOCkiIGQ9Ik0gNzMuODMyNzI3IDMwNy41ODQgDQpMIDczLjgzMjcyNyA0MS40NzIgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yIj4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMCAwIA0KTCAwIDMuNSANCiIgaWQ9Im05ZWJlMzNiMmJhIiBzdHlsZT0ic3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iNzMuODMyNzI3IiB4bGluazpocmVmPSIjbTllYmUzM2IyYmEiIHk9IjMwNy41ODQiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xIj4NCiAgICAgIDwhLS0gMC4wIC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY1Ljg4MTE2NSAzMjIuMTgyNDM3KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPGRlZnM+DQogICAgICAgIDxwYXRoIGQ9Ik0gMzEuNzgxMjUgNjYuNDA2MjUgDQpRIDI0LjE3MTg3NSA2Ni40MDYyNSAyMC4zMjgxMjUgNTguOTA2MjUgDQpRIDE2LjUgNTEuNDIxODc1IDE2LjUgMzYuMzc1IA0KUSAxNi41IDIxLjM5MDYyNSAyMC4zMjgxMjUgMTMuODkwNjI1IA0KUSAyNC4xNzE4NzUgNi4zOTA2MjUgMzEuNzgxMjUgNi4zOTA2MjUgDQpRIDM5LjQ1MzEyNSA2LjM5MDYyNSA0My4yODEyNSAxMy44OTA2MjUgDQpRIDQ3LjEyNSAyMS4zOTA2MjUgNDcuMTI1IDM2LjM3NSANClEgNDcuMTI1IDUxLjQyMTg3NSA0My4yODEyNSA1OC45MDYyNSANClEgMzkuNDUzMTI1IDY2LjQwNjI1IDMxLjc4MTI1IDY2LjQwNjI1IA0Keg0KTSAzMS43ODEyNSA3NC4yMTg3NSANClEgNDQuMDQ2ODc1IDc0LjIxODc1IDUwLjUxNTYyNSA2NC41MTU2MjUgDQpRIDU2Ljk4NDM3NSA1NC44MjgxMjUgNTYuOTg0Mzc1IDM2LjM3NSANClEgNTYuOTg0Mzc1IDE3Ljk2ODc1IDUwLjUxNTYyNSA4LjI2NTYyNSANClEgNDQuMDQ2ODc1IC0xLjQyMTg3NSAzMS43ODEyNSAtMS40MjE4NzUgDQpRIDE5LjUzMTI1IC0xLjQyMTg3NSAxMy4wNjI1IDguMjY1NjI1IA0KUSA2LjU5Mzc1IDE3Ljk2ODc1IDYuNTkzNzUgMzYuMzc1IA0KUSA2LjU5Mzc1IDU0LjgyODEyNSAxMy4wNjI1IDY0LjUxNTYyNSANClEgMTkuNTMxMjUgNzQuMjE4NzUgMzEuNzgxMjUgNzQuMjE4NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgIDxwYXRoIGQ9Ik0gMTAuNjg3NSAxMi40MDYyNSANCkwgMjEgMTIuNDA2MjUgDQpMIDIxIDAgDQpMIDEwLjY4NzUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8L2RlZnM+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ4dGlja18yIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF8zIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwOTMxMmEzZTkzOCkiIGQ9Ik0gMTM4Ljc2MzYzNiAzMDcuNTg0IA0KTCAxMzguNzYzNjM2IDQxLjQ3MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzQiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSIxMzguNzYzNjM2IiB4bGluazpocmVmPSIjbTllYmUzM2IyYmEiIHk9IjMwNy41ODQiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8yIj4NCiAgICAgIDwhLS0gMC4yIC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzMC44MTIwNzQgMzIyLjE4MjQzNylzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDxkZWZzPg0KICAgICAgICA8cGF0aCBkPSJNIDE5LjE4NzUgOC4yOTY4NzUgDQpMIDUzLjYwOTM3NSA4LjI5Njg3NSANCkwgNTMuNjA5Mzc1IDAgDQpMIDcuMzI4MTI1IDAgDQpMIDcuMzI4MTI1IDguMjk2ODc1IA0KUSAxMi45Mzc1IDE0LjEwOTM3NSAyMi42MjUgMjMuODkwNjI1IA0KUSAzMi4zMjgxMjUgMzMuNjg3NSAzNC44MTI1IDM2LjUzMTI1IA0KUSAzOS41NDY4NzUgNDEuODQzNzUgNDEuNDIxODc1IDQ1LjUzMTI1IA0KUSA0My4zMTI1IDQ5LjIxODc1IDQzLjMxMjUgNTIuNzgxMjUgDQpRIDQzLjMxMjUgNTguNTkzNzUgMzkuMjM0Mzc1IDYyLjI1IA0KUSAzNS4xNTYyNSA2NS45MjE4NzUgMjguNjA5Mzc1IDY1LjkyMTg3NSANClEgMjMuOTY4NzUgNjUuOTIxODc1IDE4LjgxMjUgNjQuMzEyNSANClEgMTMuNjcxODc1IDYyLjcwMzEyNSA3LjgxMjUgNTkuNDIxODc1IA0KTCA3LjgxMjUgNjkuMzkwNjI1IA0KUSAxMy43NjU2MjUgNzEuNzgxMjUgMTguOTM3NSA3MyANClEgMjQuMTI1IDc0LjIxODc1IDI4LjQyMTg3NSA3NC4yMTg3NSANClEgMzkuNzUgNzQuMjE4NzUgNDYuNDg0Mzc1IDY4LjU0Njg3NSANClEgNTMuMjE4NzUgNjIuODkwNjI1IDUzLjIxODc1IDUzLjQyMTg3NSANClEgNTMuMjE4NzUgNDguOTIxODc1IDUxLjUzMTI1IDQ0Ljg5MDYyNSANClEgNDkuODU5Mzc1IDQwLjg3NSA0NS40MDYyNSAzNS40MDYyNSANClEgNDQuMTg3NSAzMy45ODQzNzUgMzcuNjQwNjI1IDI3LjIxODc1IA0KUSAzMS4xMDkzNzUgMjAuNDUzMTI1IDE5LjE4NzUgOC4yOTY4NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTUwIi8+DQogICAgICAgPC9kZWZzPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTAiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieHRpY2tfMyI+DQogICAgIDxnIGlkPSJsaW5lMmRfNSI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDkzMTJhM2U5MzgpIiBkPSJNIDIwMy42OTQ1NDUgMzA3LjU4NCANCkwgMjAzLjY5NDU0NSA0MS40NzIgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF82Ij4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iMjAzLjY5NDU0NSIgeGxpbms6aHJlZj0iI205ZWJlMzNiMmJhIiB5PSIzMDcuNTg0Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMyI+DQogICAgICA8IS0tIDAuNCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOTUuNzQyOTgzIDMyMi4xODI0Mzcpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8ZGVmcz4NCiAgICAgICAgPHBhdGggZD0iTSAzNy43OTY4NzUgNjQuMzEyNSANCkwgMTIuODkwNjI1IDI1LjM5MDYyNSANCkwgMzcuNzk2ODc1IDI1LjM5MDYyNSANCnoNCk0gMzUuMjAzMTI1IDcyLjkwNjI1IA0KTCA0Ny42MDkzNzUgNzIuOTA2MjUgDQpMIDQ3LjYwOTM3NSAyNS4zOTA2MjUgDQpMIDU4LjAxNTYyNSAyNS4zOTA2MjUgDQpMIDU4LjAxNTYyNSAxNy4xODc1IA0KTCA0Ny42MDkzNzUgMTcuMTg3NSANCkwgNDcuNjA5Mzc1IDAgDQpMIDM3Ljc5Njg3NSAwIA0KTCAzNy43OTY4NzUgMTcuMTg3NSANCkwgNC44OTA2MjUgMTcuMTg3NSANCkwgNC44OTA2MjUgMjYuNzAzMTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDwvZGVmcz4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inh0aWNrXzQiPg0KICAgICA8ZyBpZD0ibGluZTJkXzciPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A5MzEyYTNlOTM4KSIgZD0iTSAyNjguNjI1NDU1IDMwNy41ODQgDQpMIDI2OC42MjU0NTUgNDEuNDcyIA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfOCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjI2OC42MjU0NTUiIHhsaW5rOmhyZWY9IiNtOWViZTMzYjJiYSIgeT0iMzA3LjU4NCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzQiPg0KICAgICAgPCEtLSAwLjYgLS0+DQogICAgICA8ZyBzdHlsZT0iZmlsbDojNTU1NTU1OyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjYwLjY3Mzg5MiAzMjIuMTgyNDM3KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPGRlZnM+DQogICAgICAgIDxwYXRoIGQ9Ik0gMzMuMDE1NjI1IDQwLjM3NSANClEgMjYuMzc1IDQwLjM3NSAyMi40ODQzNzUgMzUuODI4MTI1IA0KUSAxOC42MDkzNzUgMzEuMjk2ODc1IDE4LjYwOTM3NSAyMy4zOTA2MjUgDQpRIDE4LjYwOTM3NSAxNS41MzEyNSAyMi40ODQzNzUgMTAuOTUzMTI1IA0KUSAyNi4zNzUgNi4zOTA2MjUgMzMuMDE1NjI1IDYuMzkwNjI1IA0KUSAzOS42NTYyNSA2LjM5MDYyNSA0My41MzEyNSAxMC45NTMxMjUgDQpRIDQ3LjQwNjI1IDE1LjUzMTI1IDQ3LjQwNjI1IDIzLjM5MDYyNSANClEgNDcuNDA2MjUgMzEuMjk2ODc1IDQzLjUzMTI1IDM1LjgyODEyNSANClEgMzkuNjU2MjUgNDAuMzc1IDMzLjAxNTYyNSA0MC4zNzUgDQp6DQpNIDUyLjU5Mzc1IDcxLjI5Njg3NSANCkwgNTIuNTkzNzUgNjIuMzEyNSANClEgNDguODc1IDY0LjA2MjUgNDUuMDkzNzUgNjQuOTg0Mzc1IA0KUSA0MS4zMTI1IDY1LjkyMTg3NSAzNy41OTM3NSA2NS45MjE4NzUgDQpRIDI3LjgyODEyNSA2NS45MjE4NzUgMjIuNjcxODc1IDU5LjMyODEyNSANClEgMTcuNTMxMjUgNTIuNzM0Mzc1IDE2Ljc5Njg3NSAzOS40MDYyNSANClEgMTkuNjcxODc1IDQzLjY1NjI1IDI0LjAxNTYyNSA0NS45MjE4NzUgDQpRIDI4LjM3NSA0OC4xODc1IDMzLjU5Mzc1IDQ4LjE4NzUgDQpRIDQ0LjU3ODEyNSA0OC4xODc1IDUwLjk1MzEyNSA0MS41MTU2MjUgDQpRIDU3LjMyODEyNSAzNC44NTkzNzUgNTcuMzI4MTI1IDIzLjM5MDYyNSANClEgNTcuMzI4MTI1IDEyLjE1NjI1IDUwLjY4NzUgNS4zNTkzNzUgDQpRIDQ0LjA0Njg3NSAtMS40MjE4NzUgMzMuMDE1NjI1IC0xLjQyMTg3NSANClEgMjAuMzU5Mzc1IC0xLjQyMTg3NSAxMy42NzE4NzUgOC4yNjU2MjUgDQpRIDYuOTg0Mzc1IDE3Ljk2ODc1IDYuOTg0Mzc1IDM2LjM3NSANClEgNi45ODQzNzUgNTMuNjU2MjUgMTUuMTg3NSA2My45Mzc1IA0KUSAyMy4zOTA2MjUgNzQuMjE4NzUgMzcuMjAzMTI1IDc0LjIxODc1IA0KUSA0MC45MjE4NzUgNzQuMjE4NzUgNDQuNzAzMTI1IDczLjQ4NDM3NSANClEgNDguNDg0Mzc1IDcyLjc1IDUyLjU5Mzc1IDcxLjI5Njg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNTQiLz4NCiAgICAgICA8L2RlZnM+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01NCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ4dGlja181Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF85Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwOTMxMmEzZTkzOCkiIGQ9Ik0gMzMzLjU1NjM2NCAzMDcuNTg0IA0KTCAzMzMuNTU2MzY0IDQxLjQ3MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzEwIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iMzMzLjU1NjM2NCIgeGxpbms6aHJlZj0iI205ZWJlMzNiMmJhIiB5PSIzMDcuNTg0Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfNSI+DQogICAgICA8IS0tIDAuOCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMjUuNjA0ODAxIDMyMi4xODI0Mzcpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8ZGVmcz4NCiAgICAgICAgPHBhdGggZD0iTSAzMS43ODEyNSAzNC42MjUgDQpRIDI0Ljc1IDM0LjYyNSAyMC43MTg3NSAzMC44NTkzNzUgDQpRIDE2LjcwMzEyNSAyNy4wOTM3NSAxNi43MDMxMjUgMjAuNTE1NjI1IA0KUSAxNi43MDMxMjUgMTMuOTIxODc1IDIwLjcxODc1IDEwLjE1NjI1IA0KUSAyNC43NSA2LjM5MDYyNSAzMS43ODEyNSA2LjM5MDYyNSANClEgMzguODEyNSA2LjM5MDYyNSA0Mi44NTkzNzUgMTAuMTcxODc1IA0KUSA0Ni45MjE4NzUgMTMuOTY4NzUgNDYuOTIxODc1IDIwLjUxNTYyNSANClEgNDYuOTIxODc1IDI3LjA5Mzc1IDQyLjg5MDYyNSAzMC44NTkzNzUgDQpRIDM4Ljg3NSAzNC42MjUgMzEuNzgxMjUgMzQuNjI1IA0Keg0KTSAyMS45MjE4NzUgMzguODEyNSANClEgMTUuNTc4MTI1IDQwLjM3NSAxMi4wMzEyNSA0NC43MTg3NSANClEgOC41IDQ5LjA3ODEyNSA4LjUgNTUuMzI4MTI1IA0KUSA4LjUgNjQuMDYyNSAxNC43MTg3NSA2OS4xNDA2MjUgDQpRIDIwLjk1MzEyNSA3NC4yMTg3NSAzMS43ODEyNSA3NC4yMTg3NSANClEgNDIuNjcxODc1IDc0LjIxODc1IDQ4Ljg3NSA2OS4xNDA2MjUgDQpRIDU1LjA3ODEyNSA2NC4wNjI1IDU1LjA3ODEyNSA1NS4zMjgxMjUgDQpRIDU1LjA3ODEyNSA0OS4wNzgxMjUgNTEuNTMxMjUgNDQuNzE4NzUgDQpRIDQ4IDQwLjM3NSA0MS43MDMxMjUgMzguODEyNSANClEgNDguODI4MTI1IDM3LjE1NjI1IDUyLjc5Njg3NSAzMi4zMTI1IA0KUSA1Ni43ODEyNSAyNy40ODQzNzUgNTYuNzgxMjUgMjAuNTE1NjI1IA0KUSA1Ni43ODEyNSA5LjkwNjI1IDUwLjMxMjUgNC4yMzQzNzUgDQpRIDQzLjg0Mzc1IC0xLjQyMTg3NSAzMS43ODEyNSAtMS40MjE4NzUgDQpRIDE5LjczNDM3NSAtMS40MjE4NzUgMTMuMjUgNC4yMzQzNzUgDQpRIDYuNzgxMjUgOS45MDYyNSA2Ljc4MTI1IDIwLjUxNTYyNSANClEgNi43ODEyNSAyNy40ODQzNzUgMTAuNzgxMjUgMzIuMzEyNSANClEgMTQuNzk2ODc1IDM3LjE1NjI1IDIxLjkyMTg3NSAzOC44MTI1IA0Keg0KTSAxOC4zMTI1IDU0LjM5MDYyNSANClEgMTguMzEyNSA0OC43MzQzNzUgMjEuODQzNzUgNDUuNTYyNSANClEgMjUuMzkwNjI1IDQyLjM5MDYyNSAzMS43ODEyNSA0Mi4zOTA2MjUgDQpRIDM4LjE0MDYyNSA0Mi4zOTA2MjUgNDEuNzE4NzUgNDUuNTYyNSANClEgNDUuMzEyNSA0OC43MzQzNzUgNDUuMzEyNSA1NC4zOTA2MjUgDQpRIDQ1LjMxMjUgNjAuMDYyNSA0MS43MTg3NSA2My4yMzQzNzUgDQpRIDM4LjE0MDYyNSA2Ni40MDYyNSAzMS43ODEyNSA2Ni40MDYyNSANClEgMjUuMzkwNjI1IDY2LjQwNjI1IDIxLjg0Mzc1IDYzLjIzNDM3NSANClEgMTguMzEyNSA2MC4wNjI1IDE4LjMxMjUgNTQuMzkwNjI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01NiIvPg0KICAgICAgIDwvZGVmcz4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTU2Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inh0aWNrXzYiPg0KICAgICA8ZyBpZD0ibGluZTJkXzExIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwOTMxMmEzZTkzOCkiIGQ9Ik0gMzk4LjQ4NzI3MyAzMDcuNTg0IA0KTCAzOTguNDg3MjczIDQxLjQ3MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzEyIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iMzk4LjQ4NzI3MyIgeGxpbms6aHJlZj0iI205ZWJlMzNiMmJhIiB5PSIzMDcuNTg0Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfNiI+DQogICAgICA8IS0tIDEuMCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuNTM1NzEgMzIyLjE4MjQzNylzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDxkZWZzPg0KICAgICAgICA8cGF0aCBkPSJNIDEyLjQwNjI1IDguMjk2ODc1IA0KTCAyOC41MTU2MjUgOC4yOTY4NzUgDQpMIDI4LjUxNTYyNSA2My45MjE4NzUgDQpMIDEwLjk4NDM3NSA2MC40MDYyNSANCkwgMTAuOTg0Mzc1IDY5LjM5MDYyNSANCkwgMjguNDIxODc1IDcyLjkwNjI1IA0KTCAzOC4yODEyNSA3Mi45MDYyNSANCkwgMzguMjgxMjUgOC4yOTY4NzUgDQpMIDU0LjM5MDYyNSA4LjI5Njg3NSANCkwgNTQuMzkwNjI1IDAgDQpMIDEyLjQwNjI1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTQ5Ii8+DQogICAgICAgPC9kZWZzPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDkiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJtYXRwbG90bGliLmF4aXNfMiI+DQogICAgPGcgaWQ9Inl0aWNrXzEiPg0KICAgICA8ZyBpZD0ibGluZTJkXzEzIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwOTMxMmEzZTkzOCkiIGQ9Ik0gNTcuNiAyOTUuNDg4IA0KTCA0MTQuNzIgMjk1LjQ4OCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzE0Ij4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMCAwIA0KTCAtMy41IDAgDQoiIGlkPSJtMmRhNDRhNzYxMyIgc3R5bGU9InN0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgICA8L2RlZnM+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjU3LjYiIHhsaW5rOmhyZWY9IiNtMmRhNDRhNzYxMyIgeT0iMjk1LjQ4OCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzciPg0KICAgICAgPCEtLSAxLjAwIC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4LjMzNDM3NSAyOTkuMjg3MjE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OSIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgIDx1c2UgeD0iMTU5LjAzMzIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfMiI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTUiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A5MzEyYTNlOTM4KSIgZD0iTSA1Ny42IDI2NS4yNDggDQpMIDQxNC43MiAyNjUuMjQ4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMTYiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSI1Ny42IiB4bGluazpocmVmPSIjbTJkYTQ0YTc2MTMiIHk9IjI2NS4yNDgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF84Ij4NCiAgICAgIDwhLS0gMS4yNSAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOC4zMzQzNzUgMjY5LjA0NzIxOSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDxkZWZzPg0KICAgICAgICA8cGF0aCBkPSJNIDEwLjc5Njg3NSA3Mi45MDYyNSANCkwgNDkuNTE1NjI1IDcyLjkwNjI1IA0KTCA0OS41MTU2MjUgNjQuNTkzNzUgDQpMIDE5LjgyODEyNSA2NC41OTM3NSANCkwgMTkuODI4MTI1IDQ2LjczNDM3NSANClEgMjEuOTY4NzUgNDcuNDY4NzUgMjQuMTA5Mzc1IDQ3LjgyODEyNSANClEgMjYuMjY1NjI1IDQ4LjE4NzUgMjguNDIxODc1IDQ4LjE4NzUgDQpRIDQwLjYyNSA0OC4xODc1IDQ3Ljc1IDQxLjUgDQpRIDU0Ljg5MDYyNSAzNC44MTI1IDU0Ljg5MDYyNSAyMy4zOTA2MjUgDQpRIDU0Ljg5MDYyNSAxMS42MjUgNDcuNTYyNSA1LjA5Mzc1IA0KUSA0MC4yMzQzNzUgLTEuNDIxODc1IDI2LjkwNjI1IC0xLjQyMTg3NSANClEgMjIuMzEyNSAtMS40MjE4NzUgMTcuNTQ2ODc1IC0wLjY0MDYyNSANClEgMTIuNzk2ODc1IDAuMTQwNjI1IDcuNzE4NzUgMS43MDMxMjUgDQpMIDcuNzE4NzUgMTEuNjI1IA0KUSAxMi4xMDkzNzUgOS4yMzQzNzUgMTYuNzk2ODc1IDguMDYyNSANClEgMjEuNDg0Mzc1IDYuODkwNjI1IDI2LjcwMzEyNSA2Ljg5MDYyNSANClEgMzUuMTU2MjUgNi44OTA2MjUgNDAuMDc4MTI1IDExLjMyODEyNSANClEgNDUuMDE1NjI1IDE1Ljc2NTYyNSA0NS4wMTU2MjUgMjMuMzkwNjI1IA0KUSA0NS4wMTU2MjUgMzEgNDAuMDc4MTI1IDM1LjQzNzUgDQpRIDM1LjE1NjI1IDM5Ljg5MDYyNSAyNi43MDMxMjUgMzkuODkwNjI1IA0KUSAyMi43NSAzOS44OTA2MjUgMTguODEyNSAzOS4wMTU2MjUgDQpRIDE0Ljg5MDYyNSAzOC4xNDA2MjUgMTAuNzk2ODc1IDM2LjI4MTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01MyIvPg0KICAgICAgIDwvZGVmcz4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ5Ii8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUwIi8+DQogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja18zIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xNyI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDkzMTJhM2U5MzgpIiBkPSJNIDU3LjYgMjM1LjAwOCANCkwgNDE0LjcyIDIzNS4wMDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xOCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjU3LjYiIHhsaW5rOmhyZWY9IiNtMmRhNDRhNzYxMyIgeT0iMjM1LjAwOCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzkiPg0KICAgICAgPCEtLSAxLjUwIC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4LjMzNDM3NSAyMzguODA3MjE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OSIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICAgIDx1c2UgeD0iMTU5LjAzMzIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfNCI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTkiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A5MzEyYTNlOTM4KSIgZD0iTSA1Ny42IDIwNC43NjggDQpMIDQxNC43MiAyMDQuNzY4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMjAiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSI1Ny42IiB4bGluazpocmVmPSIjbTJkYTQ0YTc2MTMiIHk9IjIwNC43NjgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xMCI+DQogICAgICA8IS0tIDEuNzUgLS0+DQogICAgICA8ZyBzdHlsZT0iZmlsbDojNTU1NTU1OyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjguMzM0Mzc1IDIwOC41NjcyMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8ZGVmcz4NCiAgICAgICAgPHBhdGggZD0iTSA4LjIwMzEyNSA3Mi45MDYyNSANCkwgNTUuMDc4MTI1IDcyLjkwNjI1IA0KTCA1NS4wNzgxMjUgNjguNzAzMTI1IA0KTCAyOC42MDkzNzUgMCANCkwgMTguMzEyNSAwIA0KTCA0My4yMTg3NSA2NC41OTM3NSANCkwgOC4yMDMxMjUgNjQuNTkzNzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTU1Ii8+DQogICAgICAgPC9kZWZzPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDkiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTUiLz4NCiAgICAgICA8dXNlIHg9IjE1OS4wMzMyMDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUzIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzUiPg0KICAgICA8ZyBpZD0ibGluZTJkXzIxIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwOTMxMmEzZTkzOCkiIGQ9Ik0gNTcuNiAxNzQuNTI4IA0KTCA0MTQuNzIgMTc0LjUyOCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzIyIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9ImZpbGw6IzU1NTU1NTtzdHJva2U6IzU1NTU1NTtzdHJva2Utd2lkdGg6MC44OyIgeD0iNTcuNiIgeGxpbms6aHJlZj0iI20yZGE0NGE3NjEzIiB5PSIxNzQuNTI4Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMTEiPg0KICAgICAgPCEtLSAyLjAwIC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4LjMzNDM3NSAxNzguMzI3MjE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MCIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgIDx1c2UgeD0iOTUuNDEwMTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgIDx1c2UgeD0iMTU5LjAzMzIwMyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfNiI+DQogICAgIDxnIGlkPSJsaW5lMmRfMjMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A5MzEyYTNlOTM4KSIgZD0iTSA1Ny42IDE0NC4yODggDQpMIDQxNC43MiAxNDQuMjg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMjQiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSI1Ny42IiB4bGluazpocmVmPSIjbTJkYTQ0YTc2MTMiIHk9IjE0NC4yODgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xMiI+DQogICAgICA8IS0tIDIuMjUgLS0+DQogICAgICA8ZyBzdHlsZT0iZmlsbDojNTU1NTU1OyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjguMzM0Mzc1IDE0OC4wODcyMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUwIi8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUwIi8+DQogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja183Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yNSI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDkzMTJhM2U5MzgpIiBkPSJNIDU3LjYgMTE0LjA0OCANCkwgNDE0LjcyIDExNC4wNDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yNiI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjU3LjYiIHhsaW5rOmhyZWY9IiNtMmRhNDRhNzYxMyIgeT0iMTE0LjA0OCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEzIj4NCiAgICAgIDwhLS0gMi41MCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOC4zMzQzNzUgMTE3Ljg0NzIxOSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTAiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgICA8dXNlIHg9Ijk1LjQxMDE1NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTMiLz4NCiAgICAgICA8dXNlIHg9IjE1OS4wMzMyMDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzgiPg0KICAgICA8ZyBpZD0ibGluZTJkXzI3Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwOTMxMmEzZTkzOCkiIGQ9Ik0gNTcuNiA4My44MDggDQpMIDQxNC43MiA4My44MDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yOCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJmaWxsOiM1NTU1NTU7c3Ryb2tlOiM1NTU1NTU7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjU3LjYiIHhsaW5rOmhyZWY9IiNtMmRhNDRhNzYxMyIgeT0iODMuODA4Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMTQiPg0KICAgICAgPCEtLSAyLjc1IC0tPg0KICAgICAgPGcgc3R5bGU9ImZpbGw6IzU1NTU1NTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4LjMzNDM3NSA4Ny42MDcyMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUwIi8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTU1Ii8+DQogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja185Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yOSI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDkzMTJhM2U5MzgpIiBkPSJNIDU3LjYgNTMuNTY4IA0KTCA0MTQuNzIgNTMuNTY4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMzAiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0iZmlsbDojNTU1NTU1O3N0cm9rZTojNTU1NTU1O3N0cm9rZS13aWR0aDowLjg7IiB4PSI1Ny42IiB4bGluazpocmVmPSIjbTJkYTQ0YTc2MTMiIHk9IjUzLjU2OCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzE1Ij4NCiAgICAgIDwhLS0gMy4wMCAtLT4NCiAgICAgIDxnIHN0eWxlPSJmaWxsOiM1NTU1NTU7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOC4zMzQzNzUgNTcuMzY3MjE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPGRlZnM+DQogICAgICAgIDxwYXRoIGQ9Ik0gNDAuNTc4MTI1IDM5LjMxMjUgDQpRIDQ3LjY1NjI1IDM3Ljc5Njg3NSA1MS42MjUgMzMgDQpRIDU1LjYwOTM3NSAyOC4yMTg3NSA1NS42MDkzNzUgMjEuMTg3NSANClEgNTUuNjA5Mzc1IDEwLjQwNjI1IDQ4LjE4NzUgNC40ODQzNzUgDQpRIDQwLjc2NTYyNSAtMS40MjE4NzUgMjcuMDkzNzUgLTEuNDIxODc1IA0KUSAyMi41MTU2MjUgLTEuNDIxODc1IDE3LjY1NjI1IC0wLjUxNTYyNSANClEgMTIuNzk2ODc1IDAuMzkwNjI1IDcuNjI1IDIuMjAzMTI1IA0KTCA3LjYyNSAxMS43MTg3NSANClEgMTEuNzE4NzUgOS4zMjgxMjUgMTYuNTkzNzUgOC4xMDkzNzUgDQpRIDIxLjQ4NDM3NSA2Ljg5MDYyNSAyNi44MTI1IDYuODkwNjI1IA0KUSAzNi4wNzgxMjUgNi44OTA2MjUgNDAuOTM3NSAxMC41NDY4NzUgDQpRIDQ1Ljc5Njg3NSAxNC4yMDMxMjUgNDUuNzk2ODc1IDIxLjE4NzUgDQpRIDQ1Ljc5Njg3NSAyNy42NDA2MjUgNDEuMjgxMjUgMzEuMjY1NjI1IA0KUSAzNi43NjU2MjUgMzQuOTA2MjUgMjguNzE4NzUgMzQuOTA2MjUgDQpMIDIwLjIxODc1IDM0LjkwNjI1IA0KTCAyMC4yMTg3NSA0My4wMTU2MjUgDQpMIDI5LjEwOTM3NSA0My4wMTU2MjUgDQpRIDM2LjM3NSA0My4wMTU2MjUgNDAuMjM0Mzc1IDQ1LjkyMTg3NSANClEgNDQuMDkzNzUgNDguODI4MTI1IDQ0LjA5Mzc1IDU0LjI5Njg3NSANClEgNDQuMDkzNzUgNTkuOTA2MjUgNDAuMTA5Mzc1IDYyLjkwNjI1IA0KUSAzNi4xNDA2MjUgNjUuOTIxODc1IDI4LjcxODc1IDY1LjkyMTg3NSANClEgMjQuNjU2MjUgNjUuOTIxODc1IDIwLjAxNTYyNSA2NS4wMzEyNSANClEgMTUuMzc1IDY0LjE1NjI1IDkuODEyNSA2Mi4zMTI1IA0KTCA5LjgxMjUgNzEuMDkzNzUgDQpRIDE1LjQzNzUgNzIuNjU2MjUgMjAuMzQzNzUgNzMuNDM3NSANClEgMjUuMjUgNzQuMjE4NzUgMjkuNTkzNzUgNzQuMjE4NzUgDQpRIDQwLjgyODEyNSA3NC4yMTg3NSA0Ny4zNTkzNzUgNjkuMTA5Mzc1IA0KUSA1My45MDYyNSA2NC4wMTU2MjUgNTMuOTA2MjUgNTUuMzI4MTI1IA0KUSA1My45MDYyNSA0OS4yNjU2MjUgNTAuNDM3NSA0NS4wOTM3NSANClEgNDYuOTY4NzUgNDAuOTIxODc1IDQwLjU3ODEyNSAzOS4zMTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01MSIvPg0KICAgICAgIDwvZGVmcz4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUxIi8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICAgPHVzZSB4PSI5NS40MTAxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ4Ii8+DQogICAgICAgPHVzZSB4PSIxNTkuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00OCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9ImxpbmUyZF8zMSI+DQogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A5MzEyYTNlOTM4KSIgZD0iTSA3My44MzI3MjcgMjk1LjQ4OCANCkwgMTA5LjkwNTQ1NSAyNjguNjA4IA0KTCAxNDUuOTc4MTgyIDI0MS43MjggDQpMIDE4Mi4wNTA5MDkgMjE0Ljg0OCANCkwgMjE4LjEyMzYzNiAxODcuOTY4IA0KTCAyNTQuMTk2MzY0IDE2MS4wODggDQpMIDI5MC4yNjkwOTEgMTM0LjIwOCANCkwgMzI2LjM0MTgxOCAxMDcuMzI4IA0KTCAzNjIuNDE0NTQ1IDgwLjQ0OCANCkwgMzk4LjQ4NzI3MyA1My41NjggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNlMjRhMzM7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDoxLjU7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfMyI+DQogICAgPHBhdGggZD0iTSA1Ny42IDMwNy41ODQgDQpMIDU3LjYgNDEuNDcyIA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZmZmZmZmO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46bWl0ZXI7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfNCI+DQogICAgPHBhdGggZD0iTSA0MTQuNzIgMzA3LjU4NCANCkwgNDE0LjcyIDQxLjQ3MiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyOyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzUiPg0KICAgIDxwYXRoIGQ9Ik0gNTcuNiAzMDcuNTg0IA0KTCA0MTQuNzIgMzA3LjU4NCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2ZmZmZmZjtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyOyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzYiPg0KICAgIDxwYXRoIGQ9Ik0gNTcuNiA0MS40NzIgDQpMIDQxNC43MiA0MS40NzIgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjptaXRlcjsiLz4NCiAgIDwvZz4NCiAgPC9nPg0KIDwvZz4NCiA8ZGVmcz4NCiAgPGNsaXBQYXRoIGlkPSJwOTMxMmEzZTkzOCI+DQogICA8cmVjdCBoZWlnaHQ9IjI2Ni4xMTIiIHdpZHRoPSIzNTcuMTIiIHg9IjU3LjYiIHk9IjQxLjQ3MiIvPg0KICA8L2NsaXBQYXRoPg0KIDwvZGVmcz4NCjwvc3ZnPg0K'>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(setv fig (plt.figure))\n",
"\n",
"(setv ax (fig.add_subplot 111))\n",
"\n",
"(setv y (+ (* 2 x) 1))\n",
"\n",
"(.plot ax x y)\n",
"\n",
"(show fig)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "reverse-mauritius",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<img src='data:image/png;base64,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fel/pf2FUs3acu54QE6H8i9bqOr4ffYGffYGffYGfY6sKhkA69atq379+qlFixYqKSnRwoULNXz4cI0YMULNmzfX7t275bpumesBJSk5OVk//vhjufudNWuWsrKywsvNmjXTyJEj1bBhw0gdilJTUyO2b/ykovpsDxSrYPJY7Z33miQp/lenq/6wvykuhZ+jxO+zV+izN+izN+hzZFTJAJienq709PTwcps2bbR9+3bNmzdP995773Hvt0ePHurevXt4+eBfJbm5uQoGg8df8GEYY5Samqrs7GxZayt03/hJRfbZbv9Rpc+PlLZsCO378utUes3Nyi210rZtFVFu1OL32Rv02Rv02RuR7HNcXFxET95EgyoZAA+nZcuW+uabbySFbgZxHEcFBQVl1ikoKDjkrOB/CwQCCpTzyI5IvQlYa3mD8cCJ9tn9ZLHsy/+QivdLterIuetBmdPODO8bIfw+e4M+e4M+e4M+R4bjdwFe2bRpk+rWrSsplPybN2+u1atXh193XVerV69W69at/SoRUcgeKJY7dbzs5KdD4a/1r+X8ZVw4/AEAUBlFxRnAoqIiZWdnh5dzcnK0adMm1apVSw0aNNC0adOUl5ene+65R5I0b948paSk6JRTTtGBAwe0aNEirV69Wn/+85/D++jevbuee+45NW/eXC1bttT8+fNVXFysLl26eH14iFJ22w9yJ4yUtn4vGSNzxfUyv+8tU62a36UBAHBEUREA169fX+bBzlOnTpUkde7cWYMHD1Z+fr527NgRfj0YDGrq1KnKy8tT9erV1aRJEz322GM67bTTwuucf/752r17tzIzM1VQUKCmTZvqkUceOeIUMHCQ+9Ei2Vf/KR0olmonyen7sMypHfwuCwCAo2IsE+snLDc3t8zjYSqCMUZpaWnatm0b1z5E0LH22RYXyU6bIPvRwtBA29Pl3PWQTHK9CFca3fh99gZ99gZ99kYk+xwIBLgJxO8CgGhht24OTflu2yIZR+b3vWSuvF7GYcoXABBdCIDAL7DWyi55V3bGROnAASmpnpx+D8u0aed3aQAAHBcCIHAEtqhQ9pV/yn6yODRwasfQI17qJPtaFwAAJ4IACJTDbtkY+izf7Vslx5G5+iaZy6+TcWLm6UkAgCqKAAj8jLVWdvHbsjMnS8ESKbm+nP5DZVqd6ndpAABUCAIg8F/s/kLZ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+22PK48+x9rr++67T5dddpmaNm2qk08+WQMHDpS1VqtWrfK48uhyrH2WJNd19eyzz+qGG25QSkqKh9VGr2Pt86JFi7R3714NHTpUbdu2VUpKik499VQ1bdrU28KjzLH2+dtvv1WbNm104YUXKiUlRe3bt9cFF1ygdevWeVx5dOnYsaN69er1i2f9DlqwYIFSUlJ06623qlGjRrr88st17rnnat68eRGutGoiAHosGAxqw4YNateuXXjMcRy1a9dOa9euPew2a9euLbO+JLVv317fffddRGuNdsfT658rLi5WMBhUrVq1IlVm1DvePmdlZalOnTrq2rWrF2VGvePp8+eff65WrVopIyND/fr108MPP6zXX39drut6VXbUOZ4+t2nTRhs2bAgHvu3bt+s///mPOnbs6EnNseK777477L+FR/t+jrK4BtBju3fvluu6Sk5OLjOenJysH3/88bDbFBQUKCkpqcxYUlKSCgoKIlRl1XA8vf65V199VfXq1TvkTQc/OZ4+f/PNN1q0aJFGjRrlQYVVw/H0efv27crNzdWFF16oP/3pT8rOztbkyZNVWlqq66+/3oOqo8/x9PnCCy/U7t279dhjj0mSSktLdckll+jaa6+NdLkxpbx/C/fv368DBw5wveUxIgAC5XjjjTe0dOlSPf7447yxVKD9+/fr2Wef1YABA1SnTh2/y6nSrLWqU6eOBgwYIMdx1Lx5c+Xl5WnOnDkEwAr01VdfadasWerbt69atWql7OxsvfDCC8rKylLPnj39Lg84LAKgx+rUqSPHcQ45e1dQUHDIX5wHJScnH3Lx8a5du8pdHyHH0+uD5syZozfeeEOPPfaYmjRpErkiq4Bj7fPBs1IjR44Mjx38RMpevXpp7NixSk1NjWTJUel43zvi4uLkOD9d7XPyySeroKBAwWBQcXH8E/Bzx9PnmTNn6je/+Y26desmSWrcuLGKioo0ceJEXXvttWX6j+NX3r+FCQkJ/JF+HPit9FhcXJyaN2+u1atXh8dc19Xq1avVunXrw27TunXrQ25C+PLLL9WqVauI1hrtjqfXkjR79mz961//0iOPPKIWLVp4UWpUO9Y+p6en66mnntKoUaPC/5155pnhO/saNGjgZflR43h+n9u0aaPs7Owy1/xt27ZNdevWJfyV43j6XFxcLGNMmTFCX8Vr1arVYf8tPNL7OcrHb6gPunfvroULF+qDDz7QDz/8oMmTJ6u4uDj8LKPx48dr2rRp4fWvuOIKrVy5UnPnztXWrVuVmZmp9evX6/LLL/fpCKLHsfb6jTfe0MyZM3X33XcrJSVFBQUFKigoUFFRkU9HEB2Opc/x8fFq3Lhxmf9q1qypGjVqqHHjxgSTIzjW3+dLL71Ue/fu1Ysvvqgff/xRK1as0KxZs3TZZZf5dATR4Vj7fOaZZ+rdd9/V0qVLlZOToy+//FIzZ87UmWeeSRA8gqKiIm3atEmbNm2SFHrMy6ZNm7Rjxw5J0rRp0zR+/Pjw+pdeeqlycnL0yiuvaOvWrXrnnXe0bNkyXXnllX6UH/V4p/XB+eefr927dyszM1MFBQVq2rSpHnnkkfD0wo4dO8r8NdmmTRvdd999mjFjhqZPn660tDQNHTpUjRs39ukIosex9vrdd99VMBjUmDFjyuynZ8+euuGGG7wsPaoca59xfI61zw0aNNCjjz6ql156SUOHDlW9evX0u9/9Ttdcc40/BxAljrXP1113nYwxmjFjhvLy8lSnTh2deeaZ6t27t09HEB3Wr1+v4cOHh5enTp0qSercubMGDx6s/Pz8cBiUpJSUFP3xj3/USy+9pPnz56t+/foaOHCgOnTo4HXpVYKxBy++AQAAQEzg3DQAAECMIQACAADEGAIgAABAjCEAAgAAxBgCIAAAQIwhAAIAAMQYAiAAAECMIQACAADEGAIgAABAjCEAAgAAxBgCIAAAQIwhAAIAAMQYAiAAAECMIQACAADEGAIgAABAjCEAAgAAxBgCIAAAQIwhAAIAAMQYAiAAAECMIQACAADEGAIgAABAjCEAAgAAxBgCIAAAQIwhAAIAAMQYAiAAAECMIQACAADEGAIgAABAjCEAAgAAxBgCIAAAQIwhAAIAAMQYAiAAAECM+f9sdg4qtje0LQAAAABJRU5ErkJggg=='>"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(setv fig (plt.figure))\n",
"\n",
"(setv ax (fig.add_subplot 111))\n",
"\n",
"(setv y (+ (* 2 x) 1))\n",
"\n",
"(.plot ax x y)\n",
"\n",
"(show fig \"png\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Calysto Hy",
"language": "hy",
"name": "calysto_hy"
},
"language_info": {
"codemirror_mode": {
"name": "scheme"
},
"mimetype": "text/x-hylang",
"name": "hy",
"pygments_lexer": "lisp"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

matplotlib_inline.hy

It makes you able to preview and make matplotlib inline in Calysto_hy in your Jupyter and any viewers.

How to use (e.g.)

Download in your project's directory.

curl -O https://gist.githubusercontent.com/anosatsuk124/4e7acba63f322586afe18e9b2063d5f7/raw/70c00d6a31c86942c239519df1eff9e175a58492/matplotlib_inline.hy

or

wget https://gist.githubusercontent.com/anosatsuk124/4e7acba63f322586afe18e9b2063d5f7/raw/70c00d6a31c86942c239519df1eff9e175a58492/matplotlib_inline.hy

Import and Use in your project.

SVG(default)

(import [matplotlib_inline [show]]
        [matplotlib.pyplot :as plt]
        [numpy :as np]
        )

(setv fig (plt.figure))

(setv ax (fig.add_subplot 111))

(setv y (+ (* 2 x) 1))

(.plot ax x y)

(show fig)

PNG

(import [matplotlib_inline [show]]
        [matplotlib.pyplot :as plt]
        [numpy :as np]
        )

(setv fig (plt.figure))

(setv ax (fig.add_subplot 111))

(setv y (+ (* 2 x) 1))

(.plot ax x y)

(show fig "png")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment