{ "cells": [ { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "# Testing Graphical User Interfaces\n", "\n", "In this chapter, we explore how to generate tests for Graphical User Interfaces (GUIs), abstracting from our [previous examples on Web testing](WebFuzzer.ipynb). Building on general means to extract user interface elements and activate them, our techniques generalize to arbitrary graphical user interfaces, from rich Web applications to mobile apps, and systematically explore user interfaces through forms and navigation elements." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:24.626457Z", "iopub.status.busy": "2025-10-26T13:35:24.626370Z", "iopub.status.idle": "2025-10-26T13:35:25.364232Z", "shell.execute_reply": "2025-10-26T13:35:25.363742Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from bookutils import YouTubeVideo\n", "YouTubeVideo('79-HRgFot4k')" ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "source": [ "**Prerequisites**\n", "\n", "* We build on the Web server introduced in the [chapter on Web testing](WebFuzzer.ipynb)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Synopsis\n", "To [use the code provided in this chapter](Importing.ipynb), write\n", "\n", "```python\n", ">>> from fuzzingbook.GUIFuzzer import \n", "```\n", "\n", "and then make use of the following features.\n", "\n", "**Note**: The examples in this section only work after the rest of the cells have been executed.\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The function `start_webdriver()` starts a headless Web browser in the background and returns a _GUI driver_ as handle for further communication." ] }, { "cell_type": "code", "execution_count": 159, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:46.175236Z", "iopub.status.busy": "2025-10-26T13:36:46.175118Z", "iopub.status.idle": "2025-10-26T13:36:49.248610Z", "shell.execute_reply": "2025-10-26T13:36:49.248004Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "The geckodriver version (0.34.0) detected in PATH at /Users/zeller/bin/geckodriver might not be compatible with the detected firefox version (144.09); currently, geckodriver 0.36.0 is recommended for firefox 144.*, so it is advised to delete the driver in PATH and retry\n" ] } ], "source": [ "gui_driver = start_webdriver()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We let the browser open the URL of the server we want to investigate (in this case, the vulnerable server from [the chapter on Web fuzzing](WebFuzzer.ipynb)) and obtain a screenshot." ] }, { "cell_type": "code", "execution_count": 160, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:49.250599Z", "iopub.status.busy": "2025-10-26T13:36:49.250450Z", "iopub.status.idle": "2025-10-26T13:36:49.398174Z", "shell.execute_reply": "2025-10-26T13:36:49.397292Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydB5gUxdaG6xquOSvmiFkMKEYwIEYwoyJmMGfMiDlgzjkgigFQUTEhijmBBDGjgooBARVzjn+/xX/m1vb2zPTszszuzHz1PD4uM93VVW9V19RX59Sp//wbJackAiIgAiIgAiIgAiIgAiIgAiIgAiKQmsB/JKZTs9KFIiACIiACIiACIiACIiACIiACIuAJSEyrI4iACIiACIiACIiACIiACIiACIhAgQQkpgsEpstFQAREQAREQAREQAREQAREQAREQGJafUAEREAEREAEREAEREAEREAEREAECiQgMV0gMF0uAiIgAiIgAiIgAiIgAiIgAiIgAhLT6gMiIAIiIAIiIAIiIAIiIAIiIAIiUCABiekCgelyERABERABERABERABERABERABEZCYVh8QAREQAREQAREQAREQAREQAREQgQIJSEwXCEyXi4AIiIAIiIAIiIAIiIAIiIAIiIDEtPqACIiACIiACIiACIiACIiACIiACBRIoDAx/Z//FJi9LhcBERABERABERABERABERABERCBCiLw77+pCisxnQqTLhIBERABERABERABERABERABEagJAhLTNdHMqqQIiIAIiIAIiIAIiIAIiIAIiEAxCUhMF5Om8hIBERABERABERABERABERABEagJAmUR0ykfUhPAVUkREAEREAEREAEREAEREAEREIHKIxCPDZZS5zZuz3TKh1QeTZVYBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghUm5j++++/3b///luUtptxxhndf+KAipJz02Ty7bffuvvuu88tvPDCrlOnTm6mmWZqmoLkeeo///zj+C8pNdcy56pSrj5ZjvpMmTLFjRs3zv/3ySefuMUWW8ytuOKKboUVVnDLLLOM7wfTpk1zJ598sjvwwAPdBhts0Cz7RXMu1IQJE9ybb77pvv76a/fLL7/4MWihhRZySy21lFtvvfXcrLPO2qTFzzculqMfNhZAvjoUkn+1je2F1F3XioAIiIAIiIAIFJFANYnpyZMne6FQrPTaa6+51q1bFyu7Js3n5Zdfdu3atcuUYYkllnDvv/++m3322Zu0XEkPP/74493ll1+eWK7XX3/drbnmms2uzLkK1K1bN3f77bcnXvLXX385JvalSL///rs788wz3UUXXZTJfq655nI//vhjnX/vuOOOXmS/+OKLrn///q5r166lKE7V5fn999+7q6++2rftRx99lLN+nTt39osV6667bpNw2GGHHdwjjzyS+OzlllvOffjhh01SrrQP1dielpSuEwEREAEREAERKCuBahLTv/32m3vppZfcmDFjXM+ePbNy3G+//dyyyy7rmAwzSZs0aZIXEvFUTWJ6991391bpMN1xxx1un332KWt/S/Owd99914vpW2+9td7lI0aMcOuvv36abJrNNWPHjnWnnnqqe/zxx+uVqVRiGkvzVltt5ejDJPr8BRdc4BZddFFvOcWKetJJJ9Xr9xLT6brNXXfd5Q4//PA6CxN77723O+aYY/zYwkLVU0895RczwsR7eNNNN7l555033YOKdBWW8/fee89dfPHF9dq8EsS0xvYidQRlIwIiIAIiIAIiUFwC1SSmQzI333yzO+SQQ+rBatu2rRfc8fT555+76667zl144YWZr6pJTGPNRUCF6cQTT/ST6+aYmDzPNtts9Yo2fPjwinRDfuedd1yrVq3KJqYRejfccIN/3pZbbumGDh3qZphhhjrPR8gj9s4///zM5xLTud8Gth+wMBKOE9zBeHPQQQfVu/mFF15wm266aZ3PcbF/9NFHvZt9udMzzzzjOnToUOexlSCmNbaXu6foeSIgAiIgAiIgAqkIVKuYxhq49tpr12Nw1FFHedfMbOmcc87JWJOqSUwz+T/llFPqVLu5u0yvttpqDit1mCpVTGdbHCiFZTre92+77Ta3//77Z+3zu+66q7v//vv99xLTuYfNs88+25111ll1LurevXuiF4Vd9OCDD7pddtmlzj1ss2B8YV91OVPSuFhpYlpjezl7jJ4lAiIgAiIgAiKQk0C1imlcGldZZZWCxTTiZp111vFW3GoS0wQfw833xhtv9BN4rNKHHnpos347kqzplejmDeRyiun4wgkW6lxtjUs4rsnspR4wYIDbY489mnW/aKrCPfbYY2677bar93jGmpVWWilnsfj+gw8+qHPNxhtv7J577rl6HgOlrN8bb7zh1lprrTqPqDQxrbG9lD1EeYuACIiACIiACBREQGLauXvuucctuOCCGfdHXJ8JFlRNYto6xZ9//ukDXsVdfgvqNGW6WGK6YaC7dOni7r333szNa6yxhnv11VdzRpTG3RuvDFmmk5nz3qy88sr1Ao1tvvnm7umnn87bUDamxC+knXbbbbe89xfrgloT07U0therjygfERABERABERCBAgjUuphmDyTBgA477LBM1GNci3ExZp/rqquuWgDN6r8UC/eXX37pj/xJ2tOcjQAWf/alE2G6RYsWbr755ssLK5+Y/uabbxzlwapa6OIA5cBSSNsvueSSecuSdAEB7IjivPTSS7v5558/Zx7ltExvsskm9YJMcdwVUaezWVCJ5rz88ss3CzFNm3KcF/2LY9wK6WfWCORBcMG5557b5zHzzDM3qI3tpjvvvNPtu+++9fLA7fuMM87Im/fHH3/ssADHE58RHCztEXwcuUW96L/0+3zpiy++8JfYKQcNFdM897PPPnN//PGHf/f/+9//5nt01u9//fVXHz2e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lqp9sJoy+cbjAjYkmOHqDrNp06b5RR08CFjsIbp6oYn4ACxwEGAtbsG3vDhKCTfr+JaApGfhCo3VHuGN1ZW2QPDZogriHOsg1j9EH8eGhW6vuOQjUnNZuJOeGwaIK5RBeD0Wdhab6FOUgf4122yz+TKyuIdlsiFnhjemTDDF4sp+f/q4jVO8M1iSWWyh/dMkgqJRN95NxCP30tfTbDtIk39zuobgd9ST+sLKtqAkHWvWnMqtsoiACIiACIiACDQRAYnpJgJfxY9FUGAltsBRTL4RVmFC9CE64vvMw0BGVYxIVSsiASzvWBXxwsAKt9Zaa9XLHZHENoXQq0QWuyI2grISAREQAREQAREQgVokIDFdi61e2jpzZBTWQlL37t3rRWMOn87ZwOGe13j089KWVLlXOoF40C07GzypXli4Ed1sFyARcI2AX0oiIAIiIAIiIAIiIAIi0CACEtMNwqabshDAjTjcV4hLqe1tzQYt3Cua7wgggReBkMDxxx/vg+iR2PPLMWK5Urivl0BZdq+oioAIiIAIiIAIiIAIiEDBBCSmC0amG3IQwPpHNG2Lbku0XwI9JQXqYS8mx/UQxIgUng8tyCKQhgABsohybYl99p07d068lX3jHKlFQCj2XrPnPU0AqTTl0DUiIAIiIAIiIAIiIAI1SEBiugYbvcRVJvIyZ/GGAaE4+oogTJwzPXXqVPfFF194UcMeVqIKExU52xm4JS6usq9gAizIEEgsjPZNcCy2GhBcje/paxwxZEfL4SnB0UNpA3BVMB4VXQREQAREQAREQAREoJQEJKZLSbd28+ZYHc7yHT58uI+azd5oIgyTiNiM0CHqOZGZd9ppp3oBymqXnGreEAIszDz66KNu3Lhx3uI8efJknw2Ry7E+s5DDmdRbbbWV73dKIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIlAtBF599XU3YcInbqaZZnSTJ39ZLdVSPURABESgYAKLLLKQ++eff93yyy/t1ltvzYLv1w0i0CACEtMNwqabREAEREAERKBJCfTte69bZZUV3DzzzO0WXHC+Ji2LHi4CIiACTU3g33//ddOmfee+++579/77H7pu3XZr6iLp+bVAQGK6FlpZdRQBERABEagmAgjpdddd0y288ELVVC3VRQREQASKQmDy5KnutdfelqAuCk1lkpOAxLQ6iAiIgAiIgAhUDoERI8a6yADjWrZcunIKrZKKgAiIQJkJTJjwsZtxxhnc+uu3LvOT9biaIiAxXVPNrcqKgAiIgAhUOIH+/R9ya63VSq7dFd6OKr4IiEBpCXz99Tfu9dffdXvuuUNpH6Tca5tAtYnpP/74I7FBZ5ppJjfDDDNkvvvzzz+jlf1oaT9I//3vf4vaGaZMmeJ+/PFHt8IKK+TM96+//ooCJvxT75r/RI0z88wzZ733559/ds8995z75Zdf3G67aV9IsRpv2rRp7vHHH3edO3d2s802W7GyVT5VSCDbO8g7ef/997t11lnHrbrqqlVY88qrUjW1yT33POrat9+o8hpBJRYBERCBMhJgnv/cc8Ndly7blfGpelTNEagmMf3tt9+6lVde2X35Zd2IpltvvbW7+OKL3RprrJFp35NPPtndfvvtmWtbtGjhnn322aJNfJm4LbLIIl5Mv/XWW65Vq1ZZ+9aZZ57pbrzxxnrlths23nhjRx0OP/xwN99880URWye7gw46yD322GP+kj322MMNGDCg5vpusSuMgO7du7d7+eWXfdbfffddFNhnnmI/RvlVAYF87+BNN93kDj30ULfEEku4zz77rApqXPlVqKY2ufLKvpGlZafKb5QKqAEL3fzHgrxSdRDA6FJs40l1kKnOWvTvP9j16NG9OiunWjUPAtUkpiHKIHnuuee68847zwOea6653DfffJP4Q3jttde6o446yh199NHu8ssvj/ZVzFi0Rhk7dqxbe+21fX733ntvXsvxJ5984pZZZhl//bbbbutuueUWx2dvvvmmO+mkk7wopy6vvfZaFPJ/effDDz+4ww47zPXv319iukit9vvvv7vhw4dHFp/2PkesjrPPPnuRcm8e2WB1X2CBBZpHYSq8FLneQTxG6Ef77LOPu+OOO0pWUxZ8GBeKOXaVrLBNnHG52qQc1SxUTE/3thkS/aZMdL/++otbfPElXNu27aIF5qY9OuaNN17PuogMR37rll12uXIgTXwGHmwdOmwaRQf+JlpkHeHmnXfekpVlypTJ0e/53f4ZSy65VOY5/A2Hcon5bt32jdxix7qxY98qqK4YM0aPHpXqns0375B6zPriiy/cmDGjI6PEm967kD677rrruoUWalHnWWnLPX78B26bbbZ0G264kbvrLhkhUjVYhV8kMV3hDVgJxa82MQ1zVpF32WUX99BDD/kmuPLKK90xxxxTpzkQSlixV199dffoo4/WcQEvRru9//77Pn/S4MGD3Y477pg324UXXthPLBDJ119/feb6iRMneqs6gpr/v/HGG/47rjniiCMkpvOSTX8BHgVzzDGHv+G3335zs8wyS/qbm/mVuB0///zz7uqrr27mJa2c4uV6B5mI59qm0dha0j/btm3rPVTwglHKT6DUbZK/BMW5ohAxff/990VeTYcmPni77bZ3N93Up2xCLV6IQw89yD344ANZoZx11jnR7+ERxYHWgFx+/vknt9xy04O8jR79eiRyl2xALuluufPOfu6EE47LevF1193gdt1193SZNeKq7bfv6EaOfNVNnTqtoFxGjRrptttu21T3fPzxZ6kWqh9++KHIC6++RXHOOed0N998a7TQsUXmeWnLPWLE8Gg+tp1beullonqOyVte5pOXXnpxJN4XiqJCH5D3el3Q/AhITDe/Nqm6ElWjmKaR4i7fH3zwQZ29y1h7ca2eMGGCw8W72Omnn37yFqPpP8Kj/d7JfGmllVZylBN37uuuu67O5fvuu6+78847/Wes1C666KLRJGi6K6ncvPORTf/9r7/+mvmRx8uhlGIofakaf6Ut7uCJITHdeJ6WQ1O+g4wTN9xwg9/2ITFdvDathJzSiukXX3whEmA7+yodcshhbtNNN4uCli3oXnrpRXf33Xe5Dz+c4Pbbr1u0DerSJqm2ienevS+MjvhauF4ZWJBeYYUVm6Rs9tDPP/88Wlj9NbIO54590thCmphu337zjGjDo+Dpp4dFC/6P+OwffvixKCrxBo19VM7704rSeCZ46jz//HOZj//443e/iLPYYou5c87pXefybbftmHcBZ8yYMa5jx638fRdddElkSW4bGUr+jng8FXkfnu0/Hz58ZLTY0dL/XUi5sXIvuuhi/l3Il4hps/jiC0dbAFeLtgK+kO9yfd8MCUhMN8NGqbYiVauYpp2eeuopt+WWW/omw4KDVQ53SAbpNm3auIEDB0ZBCbrUaVKChiF+J02aFB070jKafGxaT1CxUsm+WvZYL7vssv46XLT50QjT3HPP7a3JaSe7ucQ0lnUTQe+9957j2lwTeX4AsGCzXxv3sI022ij60anvLvfKK6941+avvvrKW9I7dOiQuPrOM7H0s4cY6zgrw+EedOqdhl229weL/IMPPuhYhFhzzTW9oKXMYUqT/0cffeSefPJJv8iAC+zTTz/ty9WxY0ffVvGEeKYtR40a5Sdz9BPzKEgjpikve6132mknh9Vr5MiRDk+CHXbYwc0///z+cX///bfPf9y4cb7f4Q0RT+RDv0T0srhDv2N/fJr0/fffuwceeMB9/PHHPmAaCzf0ewLYkd59913vcgzj7bff3i/W0DfjfLmWfmN7xu3ZXNu69fRjJdhmQJ8mEViL1XpLlJ1tCV9//bVnyDaHcM85nOBNov+uttpq/j179dVXM3mstdZadfopbffwww+7gw8+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Tvw62gc3fgQ67Znkblxove16RAVlN2+cbPmkGcMaWob4fbnapKHPoJ4s6MEw2+8EeRf67ELEtJUdK/Vnn30eLej84bkjivMd/VdIvem3vPv0acRiqRK/vX/88Xt0tGCLVNunSlWONPn27393FFzyT39udMikT59bIsHbs56Ldpo8k66hn/G+0q75PNoKubah5Sn2fT/99KP3uKJuK6ywYkn7V66yM//jN6qYY2GxWSm/+gQkptUrSk5AYrrkiPUAEahYAiwuEIUb7wFc/5VEQASankBDxHTTl7r2SmBWbCy5HMs011xzR8HIXowsojd5Kz7HQHEclJIIiEDpCEhMl46tcv5/AhLT6goiIAIhAdwpceMnOBJWNVyrk6ISi5oIiEDTEBg48JHIpXijZm+ZbRo6zeepeF8cd1yPaFvE0HqFiu9Vbz6lVklEoHoIYBB49tlXIhf/5OMBq6emqkmTEpCYblL8ergINDsC7Mdn/60loryHx2E1uwKrQCJQYwQGDHg4isOwWhRUbL4aq3llVpfAn+z1ZjvRiiuu5LfyzDHHHJVZGZVaBCqIwNdffxOdaT4uiqUhMV1BzVZ5RZWYrrw2U4lFoJQEsExzFjOBkzgv99BDDy3l45S3CIhAgQRGjBgbxZf4J9o/umyBd+pyERABEagdAh988HEUP2bG6HSatWqn0qpp+QlITJefuZ4oAiIgAiIgAo0hcNtt90VRnltFASEXbkw2ulcEREAEqpLApElTotMW3o1OCZl+RruSCJSMgMR0ydAqYxEQAREQAREoGQEE9YortowiaM8dRQufT3uoS0ZaGYuACFQCAfZIT5v2bXQqzffRaTYfS0hXQqNVQxklpquhFVUHERABERCBWiTw6qtjo/24n/pjriZP/rIWEajOIiACIuAJLLLIQv6I05Ytl5Jrt/pE+QhITJePtZ4kAiIgAiIgAiIgAiIgAiIgAiJQJQQkpqukIVUNERABERABERABERABERABERCB8hGQmC4faz1JBERABERABERABERABERABESgSghITFdJQ6oaIiACIiACIiACIiACIiACIiAC5SMgMV0+1k35pFGj3owiG050U6d+3ZTF0LNFQASakECLFgu4lVdu6Y9UUspNQGOmeogIiIDGTPUBERCBvAQkpvMiqvgLRo9+0/3886+ubdt13EwzzVTx9VEFREAEGkbgzz//ci+/PMrNOeecrk2b1RuWSQ3cpTGzBhpZVRSBFAQ0ZqaApEtEoNYJSExXfw8YMOBht9tuHSWkq7+pVUMRyEuAyeGgQUNc16475L22Vi/QmFmrLa96i0B9Ahoz1StEQARyEpCYrv4OcuWVfV2PHt2rv6KqoQiIQCoCGhNyYxKfVN1IF4lAzRDQmFAzTa2KikDhBCSmC2dWaXfoR6DSWkzlFYHSEtCYIDFd2h6m3EWgughozKyu9lRtRKCoBKpZTP/777/uzz//rMPrv//9byI/ruP6MM0wwwxV4RqtH4GivjLKTAQqnkC2MeGff/5xf/31V+r6NeUY+cUXX7ihQ4e67bff3i200EKZMv/888/uueeec7/88ku0vWW31HUJL9SY2SBsukkEqpaAxoSqbVpVTAQaT6CaxfQ333zj9t57b/f4449nQA0YMMDtscce9cAde+yx7tZbb3U//vij/65FixbulFNOidyjezQechPnoB+BJm4APV4EmhmBbGPCK6+84o4//ng3YsSIVCXeeuutvaBtitSlSxd37733uoMPPtjddNNNbvLkye6ggw5yjz32mC8O4zzjfUOSxsyGUNM9IlC9BDQmVG/bqmYi0GgC1SymDQ6Tq+222y7D6rXXXnOtW7eux27q1KlukUUWcSuuuKIbO3asm3322RvNtzlkoB+B5tAKKoMINB8C+caEo446yl177bW+wE899VR0lNba/m+8d1hwHD9+vDvmmGP8ouOzzz7bJBW7+OKL3cknn+xuvvlmL6JJP/zwgzvssMNc//79JaabpFX0UBGoTgL5xszqrLVqJQIikIpALYhpQPwnqOgSSyzhxfKCCy5Yj1G7du280L7mmmtS8auEi/QjUAmtpDKKQPkI5BsTEKiHHHKIL9Dnn3/uFl988XqFe/rpp91pp53mhg8fXr6Cx57E9pyZZ565zqfXX3+9O+KIIySmm6xV9GARqD4C+cbM6quxaiQCIpCaQC2JaSzOH3zwgWez5ZZbuiFDhtTbE73LLru4Vq1auXPOOSc1w+Z+oX4EmnsLqXwiUF4C+caE2267zXXvPv0EgEmTJrnFFlusXgF///13b7Xu1KlTeQuf52m4fB966KES082qVVQYEahsAvnGzMqunUovAiLQKAK1JKafeOIJd9FFF7lnnnnGMzvxxBMdroJh2n333d1qq63mzjzzzDqff/jhh35v4GeffeawbLdt2zbRVfzNN9/0gW822GADN2HCBL/3cOmll3Ybb7xxJr+vvvrKPfnkk27eeef1n88999z12vD999/31vNff/3Vrb766q5Nmzb1rhk0aJB3u9x1113rWN7jF+pHoFGviG4WgaojkG9MyCem3377bT8WbrvttnXYEBRszJgxPigY4xxWawKasc3Ggj8yPuIajrs441+S1Zu929xLHiuvvLLr0KGDW3LJJeu1w7vvvusYm3mepWximsBkd999t1tzzTXd+uuvn7NN8/Gpug6hComACGhMUB8QARFoGIFaEtNM4LA648aN6yIpHpAsSUzff//9XrAeeeSRXkRfddVVXiSH9/JZ3759HWL66KOPdkS5vfLKKzONsu6663pLOHsRBw4cmPl8jTXWcC+//LKbc845/Wd//PGHO+GEE9yDDz7oNtlkE/+cjz76yEelveOOO9yss87qrxs1apRbb731/N9ck2tyqIlhw94N3SUC1Uog35iQT0z37NnTx5Q444wzPCKCPF533XU++Bf7qxkrzbLN9+ytZhHzoYcecqeeemodrO+8845bddVVM58dd9xx7oorrvD5kS644AL3/fffe3HNQidj5NVXX+3uvPNOP9527tzZsbBoKZuYvvzyy31wNdJvv/3mZplllqzNm49PtfYL1UsERCCZgMYE9QwREIGsBGpNTG+22WZ+AoZ1wlIYkCwupglogyUaKwqWDSaQWF+wpjBpxApDYqJ47rnn+iNZSFi9Ec5YYRDFX375pf+cgDmHH364nxC2b9/ei3pE8j777OO/5x7ywjIzzzzzuG+//dYhuLmO/Yk8g4TrJeUiIbaXXXZZTQz1nouACKQikG9iGIrp3r17u/nmm8/ni5WZrTIEJzv77LMzYvq9995zN9xwgxe5JLbRXHbZZW7RRRd1e+65pxs2bJj/HJdwxjC8dfbff3/3yCOPeNHNSQokFgY33HBD79lje7Hvu+8+x7jM2HnhhRf6sfOtt97yXkZ8l1ZMP/zww27HHXf0wv2NN97IeexhPj6pIOsiERCBqiGgMaFqmlIVEYHiE6hFMQ1Fm6DxdxiQLC6mEcMIVSzHuF7PNNNMjrNYZ5xxRt8YTOwsAA7WFKwqWJE5ssUSlpjzzz/fC2aEsyWsO0wITSSPGzfOT/TOOussv+fPEpbqu+66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bipz6/zvcRpEmwy9HiwCzZJAqcaEU0891Z1//vmp69ynTx83adKkOuOqja1bbLGFO+2009zRRx8dRSB/OTHP5ZZbzq233nrukEMOcZtttlnq53755Zfu5JNPdkOGDHH8HaYllljC5/XQQw+5Bx54wFGOxiYEdO/evTP1+O6779w888zT2GwT7y9V25aksMpUBGqQQFox/f77H7kxY97MEFpvvbXc8ssvk4qYxHQqTLpIBJqeQK2I6XHjxrm9997bvfbaa27VVVd1N954o1tnnXXc7LPP7iZOnOj69u3rzj33XN8gxx57rLv88sv93xdffLGfsN18883uoIMOqtNgiPPff/89YwUpZWtqclVKuspbBCqPQKnGhH322cfdddddXjhuu+22bskll/TWZUtvvPGGa9++vf/nBhts4F588UV/ysC///7rNtpoIzdixAj/3aeffurvtcSC5C233OL/OWzYMP/de++95wYOHOj/i4+9uVrk0UcfdXvuuadfCN199929YF9llVX8LeTZq1cv98gjj/h/Dx482O24446NbmDG+uHDh2fq/vPPP/vfj1KkUrVtKcqqPEWgFgmkEdMTJnziRo4c6/EsvPBCburUr/zf66/fOvJ+XDovNonpvIh0gQg0DwK1IKYnT57sVlppJT/xYnJ4zz33JApgPt9jjz3coYce6m644YZMA/35559u5plnrtdgWFs23XRT7+5X6qTJVakJK38RqCwCpRoT2rVr57p16+YOOOCAekDYHrPuuuu6d99913+Ha7VtieHfhx9+uB878fT54Ycf6tx/++23+3xJn3/+uVt88cX934jwU045xV100UX+31iTd9gh+5FfTz75pNt66639tWeeeab/D3fyMOGm3qNHD3fttde6AQMG+HG9GIn6zzHHHD6r3377zc0yyyzFyLZeHqVq25IUVpmKQA0SyCemP/nk88iLZbQn07r1atFi3wpu3LjxbuzYd/xnbdu2ibYYLpGTnMR0DXYsVbkyCdSCmN5rr71c//79fQN98sknbqmllsraWB06dHCLLbaYu/POO3M2KJaUrl27Rme9DpKYrsyur1KLQEUTKJXgwmKMWLZ9xyEkFhCvueYa/1G/fv3cvvvuW4chXj1XXnllophmrNxtt9389biFM85aIn7Fyiuv7P955JFHZp4RbyDELAujiHE8jN588806VvPwemJfUJcrrrgicWGgIY3/66+/ZqzReCYlLbI2JN/4PaVq22KUTXmIgAi4aGtJ9nOmJ02a4p5/frqHztprr15nnzT7p1977S3/3aabbhAtKi6SFafEtHqaCFQIgWoX06+88kq0Atg27yTNmuu5557zLt933HFHpgWZWH744Yc+CBkpnBTiTrjxxhv7oDdYvnH9CxPfEWDno48+cp999pn/iknkCius4P8eOXKke/31173L4pxzzpm112hyVSEvlIopAmUiUKoxAYsrgbzi6bHHHnPbbbed/xjXajx54qmhYvrbb791888/v8+O7TjZFjOxXvfs2dNfd99997ldd901J2227mAB7969e+Y6gqHhqk58DKziq622WmQ5ap0ojBHP7PUeNWpU5Ka5sP8tMdEfF9Nhvri94/LOfvAw8ftAzI4111wzcvVcX+N9md4VPUYEik0gl5geM+atKMDth1EsiOT90RMmTIzmfq9HC4Mto+2Gq2ctmsR0sVtN+YlAiQhUu5jGKnHcccd5euyz69SpUyqSTJSuvvpqP6nD+oErNyL6p59+8sIX0Y14Xnvttd2iiy7qJ4C4GobuhLfddpu33CCm33nnHR9gh4nZgw8+6HbaaSe/35oo4uRzySWXuBNOOEGTq1Sto4tEQARKJaaTyIZbZVq0aBG5K47LiN/w+oaK6dB1+4ILLsgI5nhZcP+2vdBE8C40Sjdu6YzfeCgxVrPAyXi8xhpr+AVURK4lrN/stUYks9/77bff9rE2LLH9B9FMmjp1qre6sxDBwirByhjXEf8nnXRS5h5icRx//PH+37ncxMvZtnqTREAECieQz8278Bzr3yExXQyKykMEykCg2sU0+/6wNJMQxauvnn0VMMSNmMZywWQIC4iJabuG6LNYKx5++OGMxZrvrrrqKr9XDxfJKVOm1AlQs8suu/hjuBD4JKwibdq08UHRiBhuLpBJza7JVRleBj1CBCqIQLnGBI686tixo3viiSc8nWeeeSYThCuOqyFiGq8fIm+b6/arr76a1UsH6zCRu5P2ZOdrOqJv4yKOtZmgk2YJtyCT5EnwMjyHELpYrO13YN555/XZE5iNAG0kE9OIbUQ4vwn81rCoOmbMGD+2k+DGSREkfi8Q6LioYx03MR4ve7naNh8zfS8CIpBMQGJaPUMERCBDoNrF9IYbbpiJLssZ0gss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", "text/plain": [ "" ] }, "execution_count": 160, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_driver.get(httpd_url)\n", "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The `GUICoverageFuzzer` class explores the user interface and builds a _grammar_ that encodes all states as well as the user interactions required to move from one state to the next. It is paired with a `GUIRunner` which interacts with the GUI driver." ] }, { "cell_type": "code", "execution_count": 161, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:49.400621Z", "iopub.status.busy": "2025-10-26T13:36:49.400474Z", "iopub.status.idle": "2025-10-26T13:36:49.563396Z", "shell.execute_reply": "2025-10-26T13:36:49.563072Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer = GUICoverageFuzzer(gui_driver)" ] }, { "cell_type": "code", "execution_count": 162, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:49.565300Z", "iopub.status.busy": "2025-10-26T13:36:49.565174Z", "iopub.status.idle": "2025-10-26T13:36:49.566915Z", "shell.execute_reply": "2025-10-26T13:36:49.566659Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_runner = GUIRunner(gui_driver)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The `explore_all()` method extracts all states and all transitions from a Web user interface." ] }, { "cell_type": "code", "execution_count": 163, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:49.568246Z", "iopub.status.busy": "2025-10-26T13:36:49.568147Z", "iopub.status.idle": "2025-10-26T13:36:50.482610Z", "shell.execute_reply": "2025-10-26T13:36:50.482293Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer.explore_all(gui_runner)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The grammar embeds a finite state automation and is best visualized as such." ] }, { "cell_type": "code", "execution_count": 164, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:50.484594Z", "iopub.status.busy": "2025-10-26T13:36:50.484467Z", "iopub.status.idle": "2025-10-26T13:36:50.570559Z", "shell.execute_reply": "2025-10-26T13:36:50.570149Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "ename": "ExecutableNotFound", "evalue": "failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:76\u001b[39m, in \u001b[36mrun_check\u001b[39m\u001b[34m(cmd, input_lines, encoding, quiet, **kwargs)\u001b[39m\n\u001b[32m 75\u001b[39m kwargs[\u001b[33m'\u001b[39m\u001b[33mstdout\u001b[39m\u001b[33m'\u001b[39m] = kwargs[\u001b[33m'\u001b[39m\u001b[33mstderr\u001b[39m\u001b[33m'\u001b[39m] = subprocess.PIPE\n\u001b[32m---> \u001b[39m\u001b[32m76\u001b[39m proc = \u001b[43m_run_input_lines\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minput_lines\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m=\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 77\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:96\u001b[39m, in \u001b[36m_run_input_lines\u001b[39m\u001b[34m(cmd, input_lines, kwargs)\u001b[39m\n\u001b[32m 95\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_run_input_lines\u001b[39m(cmd, input_lines, *, kwargs):\n\u001b[32m---> \u001b[39m\u001b[32m96\u001b[39m popen = \u001b[43msubprocess\u001b[49m\u001b[43m.\u001b[49m\u001b[43mPopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstdin\u001b[49m\u001b[43m=\u001b[49m\u001b[43msubprocess\u001b[49m\u001b[43m.\u001b[49m\u001b[43mPIPE\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 98\u001b[39m stdin_write = popen.stdin.write\n", "\u001b[36mFile \u001b[39m\u001b[32m/opt/homebrew/Cellar/python@3.13/3.13.4/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:1039\u001b[39m, in \u001b[36mPopen.__init__\u001b[39m\u001b[34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, user, group, extra_groups, encoding, errors, text, umask, pipesize, process_group)\u001b[39m\n\u001b[32m 1036\u001b[39m \u001b[38;5;28mself\u001b[39m.stderr = io.TextIOWrapper(\u001b[38;5;28mself\u001b[39m.stderr,\n\u001b[32m 1037\u001b[39m encoding=encoding, errors=errors)\n\u001b[32m-> \u001b[39m\u001b[32m1039\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_execute_child\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexecutable\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreexec_fn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclose_fds\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1040\u001b[39m \u001b[43m \u001b[49m\u001b[43mpass_fds\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcwd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43menv\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1041\u001b[39m \u001b[43m \u001b[49m\u001b[43mstartupinfo\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcreationflags\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mshell\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1042\u001b[39m \u001b[43m \u001b[49m\u001b[43mp2cread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mp2cwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1043\u001b[39m \u001b[43m \u001b[49m\u001b[43mc2pread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mc2pwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1044\u001b[39m \u001b[43m \u001b[49m\u001b[43merrread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1045\u001b[39m \u001b[43m \u001b[49m\u001b[43mrestore_signals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1046\u001b[39m \u001b[43m \u001b[49m\u001b[43mgid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgids\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43muid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mumask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1047\u001b[39m \u001b[43m \u001b[49m\u001b[43mstart_new_session\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprocess_group\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1048\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m:\n\u001b[32m 1049\u001b[39m \u001b[38;5;66;03m# Cleanup if the child failed starting.\u001b[39;00m\n", "\u001b[36mFile \u001b[39m\u001b[32m/opt/homebrew/Cellar/python@3.13/3.13.4/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:1972\u001b[39m, in \u001b[36mPopen._execute_child\u001b[39m\u001b[34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group)\u001b[39m\n\u001b[32m 1971\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m err_filename \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1972\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m child_exception_type(errno_num, err_msg, err_filename)\n\u001b[32m 1973\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: PosixPath('dot')", "\nThe above exception was the direct cause of the following exception:\n", "\u001b[31mExecutableNotFound\u001b[39m Traceback (most recent call last)", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/IPython/core/formatters.py:1036\u001b[39m, in \u001b[36mMimeBundleFormatter.__call__\u001b[39m\u001b[34m(self, obj, include, exclude)\u001b[39m\n\u001b[32m 1033\u001b[39m method = get_real_method(obj, \u001b[38;5;28mself\u001b[39m.print_method)\n\u001b[32m 1035\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m method \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1036\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[43minclude\u001b[49m\u001b[43m=\u001b[49m\u001b[43minclude\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexclude\u001b[49m\u001b[43m=\u001b[49m\u001b[43mexclude\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1037\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m 1038\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/jupyter_integration.py:98\u001b[39m, in \u001b[36mJupyterIntegration._repr_mimebundle_\u001b[39m\u001b[34m(self, include, exclude, **_)\u001b[39m\n\u001b[32m 96\u001b[39m include = \u001b[38;5;28mset\u001b[39m(include) \u001b[38;5;28;01mif\u001b[39;00m include \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m {\u001b[38;5;28mself\u001b[39m._jupyter_mimetype}\n\u001b[32m 97\u001b[39m include -= \u001b[38;5;28mset\u001b[39m(exclude \u001b[38;5;129;01mor\u001b[39;00m [])\n\u001b[32m---> \u001b[39m\u001b[32m98\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m {mimetype: \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmethod_name\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 99\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m mimetype, method_name \u001b[38;5;129;01min\u001b[39;00m MIME_TYPES.items()\n\u001b[32m 100\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m mimetype \u001b[38;5;129;01min\u001b[39;00m include}\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/jupyter_integration.py:112\u001b[39m, in \u001b[36mJupyterIntegration._repr_image_svg_xml\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 110\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_repr_image_svg_xml\u001b[39m(\u001b[38;5;28mself\u001b[39m) -> \u001b[38;5;28mstr\u001b[39m:\n\u001b[32m 111\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Return the rendered graph as SVG string.\"\"\"\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m112\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mpipe\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m=\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43msvg\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mSVG_ENCODING\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:104\u001b[39m, in \u001b[36mPipe.pipe\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 55\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mpipe\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[32m 56\u001b[39m \u001b[38;5;28mformat\u001b[39m: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 57\u001b[39m renderer: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m (...)\u001b[39m\u001b[32m 61\u001b[39m engine: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 62\u001b[39m encoding: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m) -> typing.Union[\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[32m 63\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Return the source piped through the Graphviz layout command.\u001b[39;00m\n\u001b[32m 64\u001b[39m \n\u001b[32m 65\u001b[39m \u001b[33;03m Args:\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 102\u001b[39m \u001b[33;03m ' \u001b[39m\u001b[32m104\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_legacy\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 105\u001b[39m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 106\u001b[39m \u001b[43m \u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 107\u001b[39m \u001b[43m \u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m=\u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 108\u001b[39m \u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 109\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 110\u001b[39m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/_tools.py:185\u001b[39m, in \u001b[36mdeprecate_positional_args..decorator..wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 177\u001b[39m wanted = \u001b[33m'\u001b[39m\u001b[33m, \u001b[39m\u001b[33m'\u001b[39m.join(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mvalue\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 178\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m name, value \u001b[38;5;129;01min\u001b[39;00m deprecated.items())\n\u001b[32m 179\u001b[39m warnings.warn(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33mThe signature of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfunc_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m will be reduced\u001b[39m\u001b[33m'\u001b[39m\n\u001b[32m 180\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33m to \u001b[39m\u001b[38;5;132;01m{\u001b[39;00msupported_number\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m positional arg\u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms_\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mqualification\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 181\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlist\u001b[39m(supported)\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m: pass \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mwanted\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m as keyword arg\u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms_\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m,\n\u001b[32m 182\u001b[39m stacklevel=stacklevel,\n\u001b[32m 183\u001b[39m category=category)\n\u001b[32m--> \u001b[39m\u001b[32m185\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:121\u001b[39m, in \u001b[36mPipe._pipe_legacy\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 112\u001b[39m \u001b[38;5;129m@_tools\u001b[39m.deprecate_positional_args(supported_number=\u001b[32m1\u001b[39m, ignore_arg=\u001b[33m'\u001b[39m\u001b[33mself\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 113\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_pipe_legacy\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[32m 114\u001b[39m \u001b[38;5;28mformat\u001b[39m: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m (...)\u001b[39m\u001b[32m 119\u001b[39m engine: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 120\u001b[39m encoding: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m) -> typing.Union[\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[32m--> \u001b[39m\u001b[32m121\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_future\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 122\u001b[39m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 123\u001b[39m \u001b[43m \u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 124\u001b[39m \u001b[43m \u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m=\u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 125\u001b[39m \u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 126\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 127\u001b[39m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:149\u001b[39m, in \u001b[36mPipe._pipe_future\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 146\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m encoding \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 147\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m codecs.lookup(encoding) \u001b[38;5;129;01mis\u001b[39;00m codecs.lookup(\u001b[38;5;28mself\u001b[39m.encoding):\n\u001b[32m 148\u001b[39m \u001b[38;5;66;03m# common case: both stdin and stdout need the same encoding\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m149\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_lines_string\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 150\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 151\u001b[39m raw = \u001b[38;5;28mself\u001b[39m._pipe_lines(*args, input_encoding=\u001b[38;5;28mself\u001b[39m.encoding, **kwargs)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/piping.py:212\u001b[39m, in \u001b[36mpipe_lines_string\u001b[39m\u001b[34m(engine, format, input_lines, encoding, renderer, formatter, neato_no_op, quiet)\u001b[39m\n\u001b[32m 206\u001b[39m cmd = dot_command.command(engine, \u001b[38;5;28mformat\u001b[39m,\n\u001b[32m 207\u001b[39m renderer=renderer,\n\u001b[32m 208\u001b[39m formatter=formatter,\n\u001b[32m 209\u001b[39m neato_no_op=neato_no_op)\n\u001b[32m 210\u001b[39m kwargs = {\u001b[33m'\u001b[39m\u001b[33minput_lines\u001b[39m\u001b[33m'\u001b[39m: input_lines, \u001b[33m'\u001b[39m\u001b[33mencoding\u001b[39m\u001b[33m'\u001b[39m: encoding}\n\u001b[32m--> \u001b[39m\u001b[32m212\u001b[39m proc = \u001b[43mexecute\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrun_check\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcapture_output\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 213\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m proc.stdout\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:81\u001b[39m, in \u001b[36mrun_check\u001b[39m\u001b[34m(cmd, input_lines, encoding, quiet, **kwargs)\u001b[39m\n\u001b[32m 79\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 80\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m e.errno == errno.ENOENT:\n\u001b[32m---> \u001b[39m\u001b[32m81\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ExecutableNotFound(cmd) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01me\u001b[39;00m\n\u001b[32m 82\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m\n\u001b[32m 84\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m quiet \u001b[38;5;129;01mand\u001b[39;00m proc.stderr:\n", "\u001b[31mExecutableNotFound\u001b[39m: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH" ] }, { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fsm_diagram(gui_fuzzer.grammar)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The GUI Fuzzer `fuzz()` method produces sequences of interactions that follow paths through the finite state machine. Since `GUICoverageFuzzer` is derived from `CoverageFuzzer` (see the [chapter on coverage-based grammar fuzzing](GrammarCoverageFuzzer.ipynb)), it automatically covers (a) as many transitions between states as well as (b) as many form elements as possible. In our case, the first set of actions explores the transition via the \"order form\" link; the second set then goes until the \"\" state." ] }, { "cell_type": "code", "execution_count": 165, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:50.572180Z", "iopub.status.busy": "2025-10-26T13:36:50.572064Z", "iopub.status.idle": "2025-10-26T13:36:50.593551Z", "shell.execute_reply": "2025-10-26T13:36:50.592797Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "click('terms and conditions')\n", "\n" ] } ], "source": [ "gui_driver.get(httpd_url)\n", "actions = gui_fuzzer.fuzz()\n", "print(actions)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "These actions can be fed into the GUI runner, which will execute them on the given GUI driver." ] }, { "cell_type": "code", "execution_count": 166, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:50.595400Z", "iopub.status.busy": "2025-10-26T13:36:50.595244Z", "iopub.status.idle": "2025-10-26T13:36:50.648653Z", "shell.execute_reply": "2025-10-26T13:36:50.648052Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)\n", "result, outcome = gui_runner.run(actions)" ] }, { "cell_type": "code", "execution_count": 167, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:50.650859Z", "iopub.status.busy": "2025-10-26T13:36:50.650730Z", "iopub.status.idle": "2025-10-26T13:36:50.664184Z", "shell.execute_reply": "2025-10-26T13:36:50.663842Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBXhcx9WGxyzbsiyHmbGhhpkahuZ3A07SMDTM7GADDTM70DAzN5yGyU3D2DA5ZJRkyZL1zzs3ZzU7e+/uvdKKz3mePLF2L8x8AzvfwT7NVoyKIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIpEagj5Lp1FjphYqAIqAIKAKKgCKgCCgCioAioAgoAoqAQ0DJtE4ERUARUAQUAUVAEVAEFAFFQBFQBBQBRSAjAkqmMwKmlysCioAioAgoAoqAIqAIKAKKgCKgCCgCSqZ1DigCioAioAgoAoqAIqAIKAKKgCKgCCgCGRFQMp0RML1cEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAyrXNAEVAEFAFFQBFQBBQBRUARUAQUAUVAEciIgJLpjIDp5YqAIqAIKAKKgCKgCCgCioAioAgoAoqAkmmdA4qAIqAIKAKKgCKgCCgCioAioAgoAopARgSUTGcETC9XBBQBRUARUAQUAUVAEVAEFAFFQBFQBJRM6xxQBBQBRUARUAQUAUVAEVAEFAFFQBFQBDIikI1M9+mT8fF6uSKgCCgCioAioAgoAoqAIqAIKAKKgCLQjRBobk7VWCXTqWDSixQBRUARUAQUAUVAEVAEFAFFQBFQBHoFAkqme8UwaycVAUVAEVAEFAFFQBFQBBQBRUARUATKiYCS6XKiqc9SBBQBRUARUAQUAUVAEVAEFAFFQBHoFQh0CJlO+ZJeAbh2UhFQBBQBRUARUAQUAUVAEVAEFAFFoPshEOYGS8lz2xYznfIl3Q9NbbEioAgoAoqAIqAIKAKKgCKgCCgCikCvQEDJdK8YZu2kIqAIKAKKgCKgCCgCioAioAgoAopAORFQMl1ONPVZioAioAgoAoqAIqAIKAKKgCKgCCgCvQIBJdO9Ypi1k4qAIqAIKAKKgCKgCCgCioAioAgoAuVEQMl0OdHUZykCioAioAgoAoqAIqAIKAKKgCKgCPQKBJRM94ph1k4qAoqAIqAIKAKKgCKgCCgCioAioAiUEwEl0+VEU5+lCCgCioAioAgoAoqAIqAIKAKKgCLQKxBQMt0rhlk7qQgoAoqAIqAIKAKKgCKgCCgCioAiUE4ElEyXE019liKgCCgCioAioAgoAoqAIqAIKAKKQK9AQMl0rxhm7aQioAgoAoqAIqAIKAKKgCKgCCgCikA5EVAyXU409VmKgCKgCCgCioAioAgoAoqAIqAIKAK9AgEl071imLWTioAioAgoAoqAIqAIKAKKgCKgCCgC5URAyXQ50dRnKQKKgCKgCCgCioAioAgoAoqAIqAI9AoElEz3imHWTioCioAioAgoAoqAIqAIKAKKgCKgCJQTASXT5URTn6UIKAKKgCKgCCgCioAioAgoAoqAItArEFAy3SuGWTupCCgCioAioAgoAoqAIqAIKAKKgCJQTgSUTJcTTX2WIqAIKAKKgCKgCCgCioAioAgoAopAr0BAyXSvGGbtpCKgCCgCioAioAgoAoqAIqAIKAKKQDkRUDJdTjT1WYqAIqAIKAKKgCKgCCgCioAioAgoAr0CASXTvWKYtZOKgCKgCCgCioAioAgoAoqAIqAIKALlREDJdDnR1GcpAoqAIqAIKAKKgCKgCCgCioAioAj0CgSUTPeKYdZOKgKKgCKgCCgCioAioAgoAoqAIqAIlBMBJdPlRFOfpQgoAoqAIqAIKAKKgCKgCCgCioAi0CsQ6GlkuqmpyTQ3N5dl7Pr162f6hACV5cmd85Dx48ebu+66y8w666xms802M/379++chpR46/Tp0w3/xUlXbXOxLhWbk+XuD3Of95VTeto6KCc2PeVZpfbNcs9TcPv111/NBx98YL799ltTWVlpllhiCTPffPOZvn375sH6/vvvm7feesvsuOOO3Q7uUusxaW19/vnn5v777zdrrLGGWWmlldrc72nTppmHHnrI/Pbbb2abbbYxw4cPb/Mz9QGKgCKgCCgCioAiYBHoSWT6hx9+MHPMMUfZxvU///mPWXbZZcv2vM580EsvveQOZiJzzTWX+fjjj82QIUM6s1mx7z788MPN+eefH/vdf//7X7PMMst0uTYXa9Buu+1mrr/++thLGhsbDQfqcsljjz1mNt1003I9zj3nlVdeMausskpZn6kP61oIbLHFFo5sxckCCyxg/ve//5WlwU888YS5+OKLzRtvvGF++umn2GeuueaaZr311jNbb721mWmmmcyf//xnd325lKRl6UjKh7z55ptmxRVXTLz6zjvvdOTWF/Y+9kCR7bbbztx2220p31h42cSJE80iiyyShzftWn755Vv9TL1REVAEFAFFQBFQBH5HoCeR6alTp5oXX3zRjB071hxzzDGJY7zLLruY+eef33DIgIB/99135oUXXii4vieR6VGjRjmrtC833nij2WmnnbrcWsBaxYHy2muvLWjbq6++alZeeeUu1+ZiDcKqdtxxxxmIbigdQaaHDRvmCMncc89tzjrrrII28P1+++1nvvjiC9fGyZMn512jZLpbTbdWNfazzz4zH330kTn77LML9sJykOlffvnFHHHEEeaGG27ItW+55ZYzI0eONGuttZazTLO2n376aXPffffF9qE7kuna2lpnVX/ttdfyCLJ0MCTTDQ0Nbp2GigbGZ8EFF4zFhXdcd911ZuONN4695oorrnDr25fdd989dn9t1eTRmxQBRUARUAQUgd6MQE8i0/44XnXVVWbvvfcuGNrVV1/dEe5QcDW87LLLzJlnnpn7qieRaay577zzTl63jzzySHd47oqCYmTw4MEFTeuuxA5X1SWXXLLdyfQjjzxiNt9889x7zjvvPHPAAQeYgQMHus9w8Q8P6ksvvbR5++233ffg/o9//MOcdtppuWfg1bDaaqt1xWmibSozAs8884yzCvvSVjJ9zz33GLwzfCXNOuusY/71r3+ZQYMGFfTgjjvuMFhjQ+mOZNrvA55BrCVfbr/9drPtttvmPsL1HWt8KHgN+Ova/148X5KuQYnBPuCLv+bLPIX0cYqAIqAIKAKKQO9CoKeSaawBWD5COfDAA52bYZKccsop5qSTTnJf9yQyjZJg9OjRed3u6i7TxFBipfalu5LpJOVAuS3TDz/8sLNCI5deeqnZf//98/ArRablYjw7xIqtZLr3/CbE7ZttIdMPPvig+b//+788AHE5xgo9YsSIRGBpB5ZWX/HT3cn0lltuWWB1D8k0gGy44YbmySefzGGD58jPP/8cq3i45pprzN/+9jd3bRKZfvnllw1KZF/i9obeM8u1p4qAIqAIKAKKQBkR6KlkGpfFxRdfvACpUmQackMsGVbcnkSmST52xhlnmCuvvNLMPPPMBqv0PvvsU8aZVP5HxVnTu6ObN8h0FJnmQE386yabbGIeffTRgkFJS6YhLgsttJAhERKeHOFhvPyjrU/sCgjgofDHP/4xrymtJdMffvih+cMf/lDQrbvvvttstdVWJbsbksCeSKbjYqZRIOIdcuuttxos+Mcff3yBtwDg8fvkxz0Xs15fdNFFTokMKUfBduyxxxpIuooi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XbsSpmNSf++99+yII46wQw891EaOHBnTWTnNP0Xgq0SYviURphscUMtufPmUWC5ryYJfres+/WIN8LF0jJMggAACCCCAAAII/CUQUpjOq/78maxE6+8FhWn9/o8//nAbkOm/X375pX311VfuOw0bNrTGjRvbJptsktXtog2uRo0aZWeffbbNnTvX3nrrLfvll1/s8MMPd8eJtoLCtAK+vjtnzhyrWbOmHXTQQet931/32LFjbfz48VamTBlr2bKl7bjjjutd66+//urWCU+dOtWqVq1qzZs3t2222SarPun6hwwZYt99951tvvnmts8++7gKb6nITSMrXYeut23btu6/b7/9tm222WZ2zDHHZH0uXZCuceLEibZ48WLbdddd3RrnrbfeOt+1anz10EQ/32OPPey1115zm85p/bnfSE7fVwX666+/tgYNGjgfXVu6MJ2Nz4IFC9xSgPPOO89d4//+9z/XN798oDBMfX7lypXuY/Xr13f31rx58+zTTz9NfrVRo0ZWp06d5N/Vz48//tiF/5122sl23nlnN77Vq1fPdzpdj/YK0PHlse+++xZ2OcnfL1++3H33m2++sdhsg1IAACAASURBVEqVKrnvy8s33Yv6N+FbmzZtnKVmcshNbdNNN7Vjjz0233UXNj6ZLvCHGUvs+0mLEuuLV1r1XSpZnT22SzsdevbkRbZg1lLbr1Vdmzxmjs2estgOPnG35MZeyxLfnzxmrs2Zsshq1qtipcuUst6dX0sbplf9tsZmTlxgOvdWVcpbg/1rrbdBmKaKfzrsW9ur+Y5WqnQpG/P6VKtRt7I1PLDWel1ZtWKNTfl0rs2d9pM9ffP7bo1017tbus/Vql/FKlevkPxOSfR37R9/2jefzLFqO1a0KtW3slmTFtqsbxZag6a1rNpOFfOda8rn86x6nUpuunuZsnmzdWgIIIAAAggggAACxRAILUynUhQWpvV5BeHTTjvNvv/+exfKFAhfeeUV23PPPe3pp5+2vfbaK6OwKuF33323ff7551ahQgXr3Lmz3Xvvvfk+r02wLr/88uTPMoXpwYMH28knn2wXXnihC9Fa66t14NqkTNflm8K6//upp55qH3zwgavIK7gryPpQqWtSiNT1a6r766+/7q7x5ZdftqOOOqrAu0YmCrP77befXXTRRe74Wueta3vggQfcd9VPTZ3X9SjMN23a1G6++ebkcRXMdA1at15QU6i79NJL7fHHH7czzzzTBfFBgwa5rzz22GNuB26tc9e5nnzySXe+//znP+4zCt9q6rf6pAcaCrqyaNWqlQ0bNsz1Wy01TBfmo9D44IMPJt0eeughO+usvA2sirL+WsdRvxYuXOjuA90PCui6fr/sQJuk6d5R07p6BW5dr5YtvPrqq85B9+QJJ5zgPrN69Wq74oor3M8OOeQQd59oeYOsdM/KsKCmqe+nn366VatWzTkptMtD31ef9eDlhx9+cPf2fffd5w71008/udCthwMa+3feecfdT7rebMcn3TWt/HW1PXnDCBs56Gs75KQGtkm5svbxa5PdRy+4p1VyB+63nphgH7z0jc34coHtf2w9K79lORsx6Cv3ubaX7G8drjzYJieC7O1nDrbdD6ptjQ7bySaMmGnj3pnhPpNamZ7+xYJEyH7VdmxQ1YVkfW6zLTaxywe0ccF57rc/2ZuPjnPXotB94f2tbeDV77g/qz0x6SLbYuv8a5+X/7zSnrx+pC2a+4tN+WyeO96+R+7iPt/0mHrWtHVdK4n+HnPevrbJpmVsxPNf2bKfVth5dx5po4dOta8/np0kPvqcvU3/d2/XoYmdzBcmf97itD3t/LsL/vdf4M3DLxFAAAEEEEAAAQTyBDb2ML106VJXLVRlb9asWS4sqN1111121VVXubAwZcqU9SqC/v5RFVRroG+44Qb3I1XvtNGZKrlXXnmlC3lqqvApnKulC9MKJKpEK1jq1VkKoAoz2kQtugu1NtTS9SogK0ipcq6fKRTpuz5468GAKplPPPGEderUyZ1XoUjhTX1SRXP77bfP+M+gdevWLjT5kKoPqjqqwCYzVYZ1fddff70LemraGf26665zQVFBTeEx9UFAuhOqsqkdzvVQQMFQTaHY/1mBWBvLqeKpvqifarfccour8KoK7SvUCvAnnXSSvfjii8kZCgqpukYFbE35VsvGR/1QgPb904MFzTyQqY6lNffZtksuucTuv//+ZJj23zv44INdBToapv29p35uueWWbqaEHhDo3P5VanrAIY/Ro0e7sVCY1f2lBw3XXnuts8nUVBHXwwD1QaFaMw00M0NBXeOg32npg6rQP/74o7u31HyY1p917hYtWiTDtO6JwsZnl13yQmVqu+OsITb+vZl24+AOicpwTfdrheIb2uY9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", "text/plain": [ "" ] }, "execution_count": 167, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Further invocations of `fuzz()` will further cover the model – for instance, exploring the terms and conditions." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Internally, `GUIFuzzer` and `GUICoverageFuzzer` use a subclass `GUIGrammarMiner` which implements the analysis of the GUI and all its states. Subclassing `GUIGrammarMiner` allows extending the interpretation of GUIs; the `GUIFuzzer` constructor allows passing a miner via the `miner` keyword parameter." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "A tool like `GUICoverageFuzzer` will provide \"deep\" exploration of user interfaces, even filling out forms to explore what is behind them. Keep in mind, though, that `GUICoverageFuzzer` is experimental: It only supports a subset of HTML form and link features, and does not take JavaScript into account." ] }, { "cell_type": "code", "execution_count": 168, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:50.666249Z", "iopub.status.busy": "2025-10-26T13:36:50.666124Z", "iopub.status.idle": "2025-10-26T13:36:50.667956Z", "shell.execute_reply": "2025-10-26T13:36:50.667709Z" }, "slideshow": { "slide_type": "fragment" }, "tags": [ "remove-input" ] }, "outputs": [], "source": [ "# ignore\n", "from ClassDiagram import display_class_hierarchy\n", "from Fuzzer import Fuzzer, Runner\n", "from Grammars import Grammar, Expansion\n", "from GrammarFuzzer import GrammarFuzzer, DerivationTree" ] }, { "cell_type": "code", "execution_count": 169, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:50.669092Z", "iopub.status.busy": "2025-10-26T13:36:50.669011Z", "iopub.status.idle": "2025-10-26T13:36:50.872836Z", "shell.execute_reply": "2025-10-26T13:36:50.872532Z" }, "slideshow": { "slide_type": "subslide" }, "tags": [ "remove-input" ] }, "outputs": [ { "ename": "ExecutableNotFound", "evalue": "failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:76\u001b[39m, in \u001b[36mrun_check\u001b[39m\u001b[34m(cmd, input_lines, encoding, quiet, **kwargs)\u001b[39m\n\u001b[32m 75\u001b[39m kwargs[\u001b[33m'\u001b[39m\u001b[33mstdout\u001b[39m\u001b[33m'\u001b[39m] = kwargs[\u001b[33m'\u001b[39m\u001b[33mstderr\u001b[39m\u001b[33m'\u001b[39m] = subprocess.PIPE\n\u001b[32m---> \u001b[39m\u001b[32m76\u001b[39m proc = \u001b[43m_run_input_lines\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minput_lines\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m=\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 77\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:96\u001b[39m, in \u001b[36m_run_input_lines\u001b[39m\u001b[34m(cmd, input_lines, kwargs)\u001b[39m\n\u001b[32m 95\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_run_input_lines\u001b[39m(cmd, input_lines, *, kwargs):\n\u001b[32m---> \u001b[39m\u001b[32m96\u001b[39m popen = \u001b[43msubprocess\u001b[49m\u001b[43m.\u001b[49m\u001b[43mPopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstdin\u001b[49m\u001b[43m=\u001b[49m\u001b[43msubprocess\u001b[49m\u001b[43m.\u001b[49m\u001b[43mPIPE\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 98\u001b[39m stdin_write = popen.stdin.write\n", "\u001b[36mFile \u001b[39m\u001b[32m/opt/homebrew/Cellar/python@3.13/3.13.4/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:1039\u001b[39m, in \u001b[36mPopen.__init__\u001b[39m\u001b[34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, user, group, extra_groups, encoding, errors, text, umask, pipesize, process_group)\u001b[39m\n\u001b[32m 1036\u001b[39m \u001b[38;5;28mself\u001b[39m.stderr = io.TextIOWrapper(\u001b[38;5;28mself\u001b[39m.stderr,\n\u001b[32m 1037\u001b[39m encoding=encoding, errors=errors)\n\u001b[32m-> \u001b[39m\u001b[32m1039\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_execute_child\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexecutable\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreexec_fn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclose_fds\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1040\u001b[39m \u001b[43m \u001b[49m\u001b[43mpass_fds\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcwd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43menv\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1041\u001b[39m \u001b[43m \u001b[49m\u001b[43mstartupinfo\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcreationflags\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mshell\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1042\u001b[39m \u001b[43m \u001b[49m\u001b[43mp2cread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mp2cwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1043\u001b[39m \u001b[43m \u001b[49m\u001b[43mc2pread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mc2pwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1044\u001b[39m \u001b[43m \u001b[49m\u001b[43merrread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1045\u001b[39m \u001b[43m \u001b[49m\u001b[43mrestore_signals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1046\u001b[39m \u001b[43m \u001b[49m\u001b[43mgid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgids\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43muid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mumask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1047\u001b[39m \u001b[43m \u001b[49m\u001b[43mstart_new_session\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprocess_group\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1048\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m:\n\u001b[32m 1049\u001b[39m \u001b[38;5;66;03m# Cleanup if the child failed starting.\u001b[39;00m\n", "\u001b[36mFile \u001b[39m\u001b[32m/opt/homebrew/Cellar/python@3.13/3.13.4/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:1972\u001b[39m, in \u001b[36mPopen._execute_child\u001b[39m\u001b[34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group)\u001b[39m\n\u001b[32m 1971\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m err_filename \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1972\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m child_exception_type(errno_num, err_msg, err_filename)\n\u001b[32m 1973\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: PosixPath('dot')", "\nThe above exception was the direct cause of the following exception:\n", "\u001b[31mExecutableNotFound\u001b[39m Traceback (most recent call last)", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/IPython/core/formatters.py:1036\u001b[39m, in \u001b[36mMimeBundleFormatter.__call__\u001b[39m\u001b[34m(self, obj, include, exclude)\u001b[39m\n\u001b[32m 1033\u001b[39m method = get_real_method(obj, \u001b[38;5;28mself\u001b[39m.print_method)\n\u001b[32m 1035\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m method \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1036\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[43minclude\u001b[49m\u001b[43m=\u001b[49m\u001b[43minclude\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexclude\u001b[49m\u001b[43m=\u001b[49m\u001b[43mexclude\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1037\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m 1038\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/jupyter_integration.py:98\u001b[39m, in \u001b[36mJupyterIntegration._repr_mimebundle_\u001b[39m\u001b[34m(self, include, exclude, **_)\u001b[39m\n\u001b[32m 96\u001b[39m include = \u001b[38;5;28mset\u001b[39m(include) \u001b[38;5;28;01mif\u001b[39;00m include \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m {\u001b[38;5;28mself\u001b[39m._jupyter_mimetype}\n\u001b[32m 97\u001b[39m include -= \u001b[38;5;28mset\u001b[39m(exclude \u001b[38;5;129;01mor\u001b[39;00m [])\n\u001b[32m---> \u001b[39m\u001b[32m98\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m {mimetype: \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmethod_name\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 99\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m mimetype, method_name \u001b[38;5;129;01min\u001b[39;00m MIME_TYPES.items()\n\u001b[32m 100\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m mimetype \u001b[38;5;129;01min\u001b[39;00m include}\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/jupyter_integration.py:112\u001b[39m, in \u001b[36mJupyterIntegration._repr_image_svg_xml\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 110\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_repr_image_svg_xml\u001b[39m(\u001b[38;5;28mself\u001b[39m) -> \u001b[38;5;28mstr\u001b[39m:\n\u001b[32m 111\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Return the rendered graph as SVG string.\"\"\"\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m112\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mpipe\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m=\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43msvg\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mSVG_ENCODING\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:104\u001b[39m, in \u001b[36mPipe.pipe\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 55\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mpipe\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[32m 56\u001b[39m \u001b[38;5;28mformat\u001b[39m: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 57\u001b[39m renderer: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m (...)\u001b[39m\u001b[32m 61\u001b[39m engine: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 62\u001b[39m encoding: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m) -> typing.Union[\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[32m 63\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Return the source piped through the Graphviz layout command.\u001b[39;00m\n\u001b[32m 64\u001b[39m \n\u001b[32m 65\u001b[39m \u001b[33;03m Args:\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 102\u001b[39m \u001b[33;03m ' \u001b[39m\u001b[32m104\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_legacy\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 105\u001b[39m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 106\u001b[39m \u001b[43m \u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 107\u001b[39m \u001b[43m \u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m=\u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 108\u001b[39m \u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 109\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 110\u001b[39m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/_tools.py:185\u001b[39m, in \u001b[36mdeprecate_positional_args..decorator..wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 177\u001b[39m wanted = \u001b[33m'\u001b[39m\u001b[33m, \u001b[39m\u001b[33m'\u001b[39m.join(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mvalue\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 178\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m name, value \u001b[38;5;129;01min\u001b[39;00m deprecated.items())\n\u001b[32m 179\u001b[39m warnings.warn(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33mThe signature of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfunc_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m will be reduced\u001b[39m\u001b[33m'\u001b[39m\n\u001b[32m 180\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33m to \u001b[39m\u001b[38;5;132;01m{\u001b[39;00msupported_number\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m positional arg\u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms_\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mqualification\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 181\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlist\u001b[39m(supported)\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m: pass \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mwanted\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m as keyword arg\u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms_\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m,\n\u001b[32m 182\u001b[39m stacklevel=stacklevel,\n\u001b[32m 183\u001b[39m category=category)\n\u001b[32m--> \u001b[39m\u001b[32m185\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:121\u001b[39m, in \u001b[36mPipe._pipe_legacy\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 112\u001b[39m \u001b[38;5;129m@_tools\u001b[39m.deprecate_positional_args(supported_number=\u001b[32m1\u001b[39m, ignore_arg=\u001b[33m'\u001b[39m\u001b[33mself\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 113\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_pipe_legacy\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[32m 114\u001b[39m \u001b[38;5;28mformat\u001b[39m: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m (...)\u001b[39m\u001b[32m 119\u001b[39m engine: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 120\u001b[39m encoding: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m) -> typing.Union[\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[32m--> \u001b[39m\u001b[32m121\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_future\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 122\u001b[39m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 123\u001b[39m \u001b[43m \u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 124\u001b[39m \u001b[43m \u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m=\u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 125\u001b[39m \u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 126\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 127\u001b[39m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:149\u001b[39m, in \u001b[36mPipe._pipe_future\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 146\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m encoding \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 147\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m codecs.lookup(encoding) \u001b[38;5;129;01mis\u001b[39;00m codecs.lookup(\u001b[38;5;28mself\u001b[39m.encoding):\n\u001b[32m 148\u001b[39m \u001b[38;5;66;03m# common case: both stdin and stdout need the same encoding\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m149\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_lines_string\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 150\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 151\u001b[39m raw = \u001b[38;5;28mself\u001b[39m._pipe_lines(*args, input_encoding=\u001b[38;5;28mself\u001b[39m.encoding, **kwargs)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/piping.py:212\u001b[39m, in \u001b[36mpipe_lines_string\u001b[39m\u001b[34m(engine, format, input_lines, encoding, renderer, formatter, neato_no_op, quiet)\u001b[39m\n\u001b[32m 206\u001b[39m cmd = dot_command.command(engine, \u001b[38;5;28mformat\u001b[39m,\n\u001b[32m 207\u001b[39m renderer=renderer,\n\u001b[32m 208\u001b[39m formatter=formatter,\n\u001b[32m 209\u001b[39m neato_no_op=neato_no_op)\n\u001b[32m 210\u001b[39m kwargs = {\u001b[33m'\u001b[39m\u001b[33minput_lines\u001b[39m\u001b[33m'\u001b[39m: input_lines, \u001b[33m'\u001b[39m\u001b[33mencoding\u001b[39m\u001b[33m'\u001b[39m: encoding}\n\u001b[32m--> \u001b[39m\u001b[32m212\u001b[39m proc = \u001b[43mexecute\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrun_check\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcapture_output\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 213\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m proc.stdout\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:81\u001b[39m, in \u001b[36mrun_check\u001b[39m\u001b[34m(cmd, input_lines, encoding, quiet, **kwargs)\u001b[39m\n\u001b[32m 79\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 80\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m e.errno == errno.ENOENT:\n\u001b[32m---> \u001b[39m\u001b[32m81\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ExecutableNotFound(cmd) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01me\u001b[39;00m\n\u001b[32m 82\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m\n\u001b[32m 84\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m quiet \u001b[38;5;129;01mand\u001b[39;00m proc.stderr:\n", "\u001b[31mExecutableNotFound\u001b[39m: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH" ] }, { "ename": "ExecutableNotFound", "evalue": "failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:76\u001b[39m, in \u001b[36mrun_check\u001b[39m\u001b[34m(cmd, input_lines, encoding, quiet, **kwargs)\u001b[39m\n\u001b[32m 75\u001b[39m kwargs[\u001b[33m'\u001b[39m\u001b[33mstdout\u001b[39m\u001b[33m'\u001b[39m] = kwargs[\u001b[33m'\u001b[39m\u001b[33mstderr\u001b[39m\u001b[33m'\u001b[39m] = subprocess.PIPE\n\u001b[32m---> \u001b[39m\u001b[32m76\u001b[39m proc = \u001b[43m_run_input_lines\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minput_lines\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m=\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 77\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:96\u001b[39m, in \u001b[36m_run_input_lines\u001b[39m\u001b[34m(cmd, input_lines, kwargs)\u001b[39m\n\u001b[32m 95\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_run_input_lines\u001b[39m(cmd, input_lines, *, kwargs):\n\u001b[32m---> \u001b[39m\u001b[32m96\u001b[39m popen = \u001b[43msubprocess\u001b[49m\u001b[43m.\u001b[49m\u001b[43mPopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstdin\u001b[49m\u001b[43m=\u001b[49m\u001b[43msubprocess\u001b[49m\u001b[43m.\u001b[49m\u001b[43mPIPE\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 98\u001b[39m stdin_write = popen.stdin.write\n", "\u001b[36mFile \u001b[39m\u001b[32m/opt/homebrew/Cellar/python@3.13/3.13.4/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:1039\u001b[39m, in \u001b[36mPopen.__init__\u001b[39m\u001b[34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, user, group, extra_groups, encoding, errors, text, umask, pipesize, process_group)\u001b[39m\n\u001b[32m 1036\u001b[39m \u001b[38;5;28mself\u001b[39m.stderr = io.TextIOWrapper(\u001b[38;5;28mself\u001b[39m.stderr,\n\u001b[32m 1037\u001b[39m encoding=encoding, errors=errors)\n\u001b[32m-> \u001b[39m\u001b[32m1039\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_execute_child\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexecutable\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreexec_fn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclose_fds\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1040\u001b[39m \u001b[43m \u001b[49m\u001b[43mpass_fds\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcwd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43menv\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1041\u001b[39m \u001b[43m \u001b[49m\u001b[43mstartupinfo\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcreationflags\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mshell\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1042\u001b[39m \u001b[43m \u001b[49m\u001b[43mp2cread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mp2cwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1043\u001b[39m \u001b[43m \u001b[49m\u001b[43mc2pread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mc2pwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1044\u001b[39m \u001b[43m \u001b[49m\u001b[43merrread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1045\u001b[39m \u001b[43m \u001b[49m\u001b[43mrestore_signals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1046\u001b[39m \u001b[43m \u001b[49m\u001b[43mgid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgids\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43muid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mumask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1047\u001b[39m \u001b[43m \u001b[49m\u001b[43mstart_new_session\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprocess_group\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1048\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m:\n\u001b[32m 1049\u001b[39m \u001b[38;5;66;03m# Cleanup if the child failed starting.\u001b[39;00m\n", "\u001b[36mFile \u001b[39m\u001b[32m/opt/homebrew/Cellar/python@3.13/3.13.4/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:1972\u001b[39m, in \u001b[36mPopen._execute_child\u001b[39m\u001b[34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group)\u001b[39m\n\u001b[32m 1971\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m err_filename \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1972\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m child_exception_type(errno_num, err_msg, err_filename)\n\u001b[32m 1973\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: PosixPath('dot')", "\nThe above exception was the direct cause of the following exception:\n", "\u001b[31mExecutableNotFound\u001b[39m Traceback (most recent call last)", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/IPython/core/formatters.py:406\u001b[39m, in \u001b[36mBaseFormatter.__call__\u001b[39m\u001b[34m(self, obj)\u001b[39m\n\u001b[32m 404\u001b[39m method = get_real_method(obj, \u001b[38;5;28mself\u001b[39m.print_method)\n\u001b[32m 405\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m method \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m406\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 407\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m 408\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/jupyter_integration.py:112\u001b[39m, in \u001b[36mJupyterIntegration._repr_image_svg_xml\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 110\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_repr_image_svg_xml\u001b[39m(\u001b[38;5;28mself\u001b[39m) -> \u001b[38;5;28mstr\u001b[39m:\n\u001b[32m 111\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Return the rendered graph as SVG string.\"\"\"\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m112\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mpipe\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m=\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43msvg\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mSVG_ENCODING\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:104\u001b[39m, in \u001b[36mPipe.pipe\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 55\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mpipe\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[32m 56\u001b[39m \u001b[38;5;28mformat\u001b[39m: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 57\u001b[39m renderer: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m (...)\u001b[39m\u001b[32m 61\u001b[39m engine: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 62\u001b[39m encoding: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m) -> typing.Union[\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[32m 63\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Return the source piped through the Graphviz layout command.\u001b[39;00m\n\u001b[32m 64\u001b[39m \n\u001b[32m 65\u001b[39m \u001b[33;03m Args:\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 102\u001b[39m \u001b[33;03m ' \u001b[39m\u001b[32m104\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_legacy\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 105\u001b[39m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 106\u001b[39m \u001b[43m \u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 107\u001b[39m \u001b[43m \u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m=\u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 108\u001b[39m \u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 109\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 110\u001b[39m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/_tools.py:185\u001b[39m, in \u001b[36mdeprecate_positional_args..decorator..wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 177\u001b[39m wanted = \u001b[33m'\u001b[39m\u001b[33m, \u001b[39m\u001b[33m'\u001b[39m.join(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mvalue\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 178\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m name, value \u001b[38;5;129;01min\u001b[39;00m deprecated.items())\n\u001b[32m 179\u001b[39m warnings.warn(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33mThe signature of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfunc_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m will be reduced\u001b[39m\u001b[33m'\u001b[39m\n\u001b[32m 180\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33m to \u001b[39m\u001b[38;5;132;01m{\u001b[39;00msupported_number\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m positional arg\u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms_\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mqualification\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 181\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlist\u001b[39m(supported)\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m: pass \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mwanted\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m as keyword arg\u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms_\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m,\n\u001b[32m 182\u001b[39m stacklevel=stacklevel,\n\u001b[32m 183\u001b[39m category=category)\n\u001b[32m--> \u001b[39m\u001b[32m185\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:121\u001b[39m, in \u001b[36mPipe._pipe_legacy\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 112\u001b[39m \u001b[38;5;129m@_tools\u001b[39m.deprecate_positional_args(supported_number=\u001b[32m1\u001b[39m, ignore_arg=\u001b[33m'\u001b[39m\u001b[33mself\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 113\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_pipe_legacy\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[32m 114\u001b[39m \u001b[38;5;28mformat\u001b[39m: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m (...)\u001b[39m\u001b[32m 119\u001b[39m engine: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 120\u001b[39m encoding: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m) -> typing.Union[\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[32m--> \u001b[39m\u001b[32m121\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_future\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 122\u001b[39m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 123\u001b[39m \u001b[43m \u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 124\u001b[39m \u001b[43m \u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m=\u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 125\u001b[39m \u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 126\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 127\u001b[39m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:149\u001b[39m, in \u001b[36mPipe._pipe_future\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 146\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m encoding \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 147\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m codecs.lookup(encoding) \u001b[38;5;129;01mis\u001b[39;00m codecs.lookup(\u001b[38;5;28mself\u001b[39m.encoding):\n\u001b[32m 148\u001b[39m \u001b[38;5;66;03m# common case: both stdin and stdout need the same encoding\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m149\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_lines_string\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 150\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 151\u001b[39m raw = \u001b[38;5;28mself\u001b[39m._pipe_lines(*args, input_encoding=\u001b[38;5;28mself\u001b[39m.encoding, **kwargs)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/piping.py:212\u001b[39m, in \u001b[36mpipe_lines_string\u001b[39m\u001b[34m(engine, format, input_lines, encoding, renderer, formatter, neato_no_op, quiet)\u001b[39m\n\u001b[32m 206\u001b[39m cmd = dot_command.command(engine, \u001b[38;5;28mformat\u001b[39m,\n\u001b[32m 207\u001b[39m renderer=renderer,\n\u001b[32m 208\u001b[39m formatter=formatter,\n\u001b[32m 209\u001b[39m neato_no_op=neato_no_op)\n\u001b[32m 210\u001b[39m kwargs = {\u001b[33m'\u001b[39m\u001b[33minput_lines\u001b[39m\u001b[33m'\u001b[39m: input_lines, \u001b[33m'\u001b[39m\u001b[33mencoding\u001b[39m\u001b[33m'\u001b[39m: encoding}\n\u001b[32m--> \u001b[39m\u001b[32m212\u001b[39m proc = \u001b[43mexecute\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrun_check\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcapture_output\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 213\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m proc.stdout\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:81\u001b[39m, in \u001b[36mrun_check\u001b[39m\u001b[34m(cmd, input_lines, encoding, quiet, **kwargs)\u001b[39m\n\u001b[32m 79\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 80\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m e.errno == errno.ENOENT:\n\u001b[32m---> \u001b[39m\u001b[32m81\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ExecutableNotFound(cmd) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01me\u001b[39;00m\n\u001b[32m 82\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m\n\u001b[32m 84\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m quiet \u001b[38;5;129;01mand\u001b[39;00m proc.stderr:\n", "\u001b[31mExecutableNotFound\u001b[39m: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 169, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ignore\n", "display_class_hierarchy([GUIFuzzer, GUICoverageFuzzer,\n", " GUIRunner, GUIGrammarMiner],\n", " public_methods=[\n", " Fuzzer.__init__,\n", " Fuzzer.fuzz,\n", " Fuzzer.run,\n", " Fuzzer.runs,\n", " Runner.__init__,\n", " Runner.run,\n", " GUIRunner.__init__,\n", " GUIRunner.run,\n", " GrammarFuzzer.__init__,\n", " GrammarFuzzer.fuzz,\n", " GrammarFuzzer.fuzz_tree,\n", " GUIFuzzer.__init__,\n", " GUIFuzzer.restart,\n", " GUIFuzzer.run,\n", " GUIGrammarMiner.__init__,\n", " GrammarCoverageFuzzer.__init__,\n", " GUICoverageFuzzer.__init__,\n", " GUICoverageFuzzer.explore_all,\n", " ],\n", " types={\n", " 'DerivationTree': DerivationTree,\n", " 'Expansion': Expansion,\n", " 'Grammar': Grammar\n", " },\n", " project='fuzzingbook')" ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": true, "run_control": { "read_only": false }, "slideshow": { "slide_type": "slide" } }, "source": [ "## Automated GUI Interaction\n", "\n", "In the [chapter on Web testing](WebFuzzer.ipynb), we have shown how to test Web-based interfaces by directly interacting with a Web server using the HTTP protocol, and processing the retrieved HTML pages to identify user interface elements. While these techniques work well for user interfaces that are based on HTML only, they fail as soon as there are interactive elements that use JavaScript to execute code within the browser, and generate and change the user interface without having to interact with the browser." ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": true, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "source": [ "In this chapter, we therefore take a different approach to user interface testing. Rather than using HTTP and HTML as the mechanisms for interaction, we leverage a dedicated _UI testing framework_, which allows us to\n", "\n", "* query the program under test for available user interface elements, and\n", "* query the UI elements for how they can be interacted with.\n", "\n", "Although we will again illustrate our approach using a Web server, the approach easily generalizes to _arbitrary user interfaces_. In fact, the UI testing framework we use, *Selenium*, also comes in variants that run for Android apps." ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": true, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "source": [ "### Our Web Server, Again\n", "\n", "As in the [chapter on Web testing](WebFuzzer.ipynb), we run a Web server that allows us to order products." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "button": false, "execution": { "iopub.execute_input": "2025-10-26T13:35:25.386391Z", "iopub.status.busy": "2025-10-26T13:35:25.386168Z", "iopub.status.idle": "2025-10-26T13:35:25.389036Z", "shell.execute_reply": "2025-10-26T13:35:25.388576Z" }, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import bookutils.setup" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:25.391236Z", "iopub.status.busy": "2025-10-26T13:35:25.391064Z", "iopub.status.idle": "2025-10-26T13:35:25.393419Z", "shell.execute_reply": "2025-10-26T13:35:25.392974Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from typing import Set, FrozenSet, List, Optional, Tuple, Any" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:25.395500Z", "iopub.status.busy": "2025-10-26T13:35:25.395348Z", "iopub.status.idle": "2025-10-26T13:35:25.397226Z", "shell.execute_reply": "2025-10-26T13:35:25.396882Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import os\n", "import sys" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:25.399160Z", "iopub.status.busy": "2025-10-26T13:35:25.399041Z", "iopub.status.idle": "2025-10-26T13:35:25.400929Z", "shell.execute_reply": "2025-10-26T13:35:25.400621Z" }, "slideshow": { "slide_type": "fragment" }, "tags": [ "remove-input" ] }, "outputs": [], "source": [ "# ignore\n", "if 'CI' in os.environ:\n", " # Can't run this in our continuous environment,\n", " # since it can't run a headless Web browser\n", " sys.exit(0)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:25.402567Z", "iopub.status.busy": "2025-10-26T13:35:25.402444Z", "iopub.status.idle": "2025-10-26T13:35:25.956003Z", "shell.execute_reply": "2025-10-26T13:35:25.955683Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from WebFuzzer import init_db, start_httpd, webbrowser, print_httpd_messages\n", "from WebFuzzer import print_url, ORDERS_DB" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:25.957538Z", "iopub.status.busy": "2025-10-26T13:35:25.957449Z", "iopub.status.idle": "2025-10-26T13:35:25.959018Z", "shell.execute_reply": "2025-10-26T13:35:25.958800Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import html" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:25.960167Z", "iopub.status.busy": "2025-10-26T13:35:25.960091Z", "iopub.status.idle": "2025-10-26T13:35:25.962648Z", "shell.execute_reply": "2025-10-26T13:35:25.962324Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "db = init_db()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "This is the address of our web server:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:25.964582Z", "iopub.status.busy": "2025-10-26T13:35:25.964463Z", "iopub.status.idle": "2025-10-26T13:35:26.011863Z", "shell.execute_reply": "2025-10-26T13:35:26.010756Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
http://127.0.0.1:8800
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "httpd_process, httpd_url = start_httpd()\n", "print_url(httpd_url)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Using `webbrowser()`, we can retrieve the HTML of the home page, and use `HTML()` to render it." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.014183Z", "iopub.status.busy": "2025-10-26T13:35:26.014021Z", "iopub.status.idle": "2025-10-26T13:35:26.016371Z", "shell.execute_reply": "2025-10-26T13:35:26.015972Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from IPython.display import display, Image" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.018114Z", "iopub.status.busy": "2025-10-26T13:35:26.017961Z", "iopub.status.idle": "2025-10-26T13:35:26.019868Z", "shell.execute_reply": "2025-10-26T13:35:26.019534Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from bookutils import HTML, rich_output" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.021751Z", "iopub.status.busy": "2025-10-26T13:35:26.021595Z", "iopub.status.idle": "2025-10-26T13:35:26.040741Z", "shell.execute_reply": "2025-10-26T13:35:26.040318Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
127.0.0.1 - - [26/Oct/2025 14:35:26] \"GET / HTTP/1.1\" 200 -\n",
       "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n", "
\n", " Fuzzingbook Swag Order Form\n", "

\n", " Yes! Please send me at your earliest convenience\n", " \n", "
\n", " \n", " \n", " \n", "
\n", " \n", " \n", "
\n", "
\n", " \n", " \n", " \n", "
\n", " .
\n", " \n", "

\n", "
\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML(webbrowser(httpd_url))" ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "source": [ "### Remote Control with Selenium\n", "\n", "Let us take a look at the GUI above. In contrast to the [chapter on Web testing](WebFuzzer.ipynb), we do not assume we can access the HTML source of the current page. All we assume is that there is a set of *user interface elements* we can interact with." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "[Selenium](https://www.seleniumhq.org) is a framework for testing Web applications by _automating interaction in the browser_. Selenium provides an API that allows one to launch a Web browser, query the state of the user interface, and interact with individual user interface elements. The Selenium API is available in a number of languages; we use the [Selenium API for Python](https://selenium-python.readthedocs.io/index.html)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "A Selenium *web driver* is the interface between a program and a browser controlled by the program.\n", "The following code starts a Web browser in the background, which we then control through the web driver." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.044142Z", "iopub.status.busy": "2025-10-26T13:35:26.043855Z", "iopub.status.idle": "2025-10-26T13:35:26.125696Z", "shell.execute_reply": "2025-10-26T13:35:26.121482Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from selenium import webdriver" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We support both Firefox and Google Chrome." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.131051Z", "iopub.status.busy": "2025-10-26T13:35:26.130857Z", "iopub.status.idle": "2025-10-26T13:35:26.133119Z", "shell.execute_reply": "2025-10-26T13:35:26.132548Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "BROWSER = 'firefox' # Set to 'chrome' if you prefer Chrome" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Setting up Firefox" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "For Firefox, you have to make sure the [geckodriver program](https://github.com/mozilla/geckodriver/releases) is in your path." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.144008Z", "iopub.status.busy": "2025-10-26T13:35:26.143460Z", "iopub.status.idle": "2025-10-26T13:35:26.154646Z", "shell.execute_reply": "2025-10-26T13:35:26.150590Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import shutil" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.160822Z", "iopub.status.busy": "2025-10-26T13:35:26.160621Z", "iopub.status.idle": "2025-10-26T13:35:26.163283Z", "shell.execute_reply": "2025-10-26T13:35:26.162791Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "if BROWSER == 'firefox':\n", " assert shutil.which('geckodriver') is not None, \\\n", " \"Please install the 'geckodriver' executable \" \\\n", " \"from https://github.com/mozilla/geckodriver/releases\"" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Setting up Chrome" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "For Chrome, you may have to make sure the [chromedriver program](https://chromedriver.chromium.org) is in your path." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.165648Z", "iopub.status.busy": "2025-10-26T13:35:26.165494Z", "iopub.status.idle": "2025-10-26T13:35:26.167453Z", "shell.execute_reply": "2025-10-26T13:35:26.167177Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "if BROWSER == 'chrome':\n", " assert shutil.which('chromedriver') is not None, \\\n", " \"Please install the 'chromedriver' executable \" \\\n", " \"from https://chromedriver.chromium.org\"" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Running a Headless Browser" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The browser is _headless_, meaning that it does not show on the screen." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.169081Z", "iopub.status.busy": "2025-10-26T13:35:26.168953Z", "iopub.status.idle": "2025-10-26T13:35:26.170622Z", "shell.execute_reply": "2025-10-26T13:35:26.170373Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "HEADLESS = True" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "**Note**: If the notebook server runs locally (i.e. on the same machine on which you are seeing this), you can also set `HEADLESS` to `False` and see what happens right on the screen as you execute the notebook cells. This is very much recommended for interactive sessions." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Starting the Web driver\n", "\n", "This code starts the Selenium web driver." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.171977Z", "iopub.status.busy": "2025-10-26T13:35:26.171876Z", "iopub.status.idle": "2025-10-26T13:35:26.175555Z", "shell.execute_reply": "2025-10-26T13:35:26.175090Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "def start_webdriver(browser=BROWSER, headless=HEADLESS, zoom=1.4):\n", " # Set headless option\n", " if browser == 'firefox':\n", " options = webdriver.FirefoxOptions()\n", " if headless:\n", " # See https://www.browserstack.com/guide/firefox-headless\n", " options.add_argument(\"--headless\")\n", " elif browser == 'chrome':\n", " options = webdriver.ChromeOptions()\n", " if headless:\n", " # See https://www.selenium.dev/blog/2023/headless-is-going-away/\n", " options.add_argument(\"--headless=new\")\n", " else:\n", " assert False, \"Select 'firefox' or 'chrome' as browser\"\n", "\n", " # Start the browser, and obtain a _web driver_ object such that we can interact with it.\n", " if browser == 'firefox':\n", " # For firefox, set a higher resolution for our screenshots\n", " options.set_preference(\"layout.css.devPixelsPerPx\", repr(zoom))\n", " gui_driver = webdriver.Firefox(options=options)\n", "\n", " # We set the window size such that it fits our order form exactly;\n", " # this is useful for not wasting too much space when taking screen shots.\n", " gui_driver.set_window_size(700, 300)\n", "\n", " elif browser == 'chrome':\n", " gui_driver = webdriver.Chrome(options=options)\n", " gui_driver.set_window_size(700, 210 if headless else 340)\n", "\n", " return gui_driver" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:35:26.177854Z", "iopub.status.busy": "2025-10-26T13:35:26.177693Z", "iopub.status.idle": "2025-10-26T13:36:01.540406Z", "shell.execute_reply": "2025-10-26T13:36:01.539901Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "The geckodriver version (0.34.0) detected in PATH at /Users/zeller/bin/geckodriver might not be compatible with the detected firefox version (144.09); currently, geckodriver 0.36.0 is recommended for firefox 144.*, so it is advised to delete the driver in PATH and retry\n" ] } ], "source": [ "gui_driver = start_webdriver(browser=BROWSER, headless=HEADLESS)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We can now interact with the browser programmatically. First, we have it navigate to the URL of our Web server:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.542858Z", "iopub.status.busy": "2025-10-26T13:36:01.542671Z", "iopub.status.idle": "2025-10-26T13:36:01.644874Z", "shell.execute_reply": "2025-10-26T13:36:01.644348Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We see that the home page is actually accessed, together with a (failing) request to get a page icon:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.646666Z", "iopub.status.busy": "2025-10-26T13:36:01.646539Z", "iopub.status.idle": "2025-10-26T13:36:01.650261Z", "shell.execute_reply": "2025-10-26T13:36:01.649839Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
127.0.0.1 - - [26/Oct/2025 14:36:01] \"GET / HTTP/1.1\" 200 -\n",
       "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
127.0.0.1 - - [26/Oct/2025 14:36:01] \"GET /favicon.ico HTTP/1.1\" 404 -\n",
       "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print_httpd_messages()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "To see what the \"headless\" browser displays, we can obtain a screenshot. We see that it actually displays the home page." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.651954Z", "iopub.status.busy": "2025-10-26T13:36:01.651848Z", "iopub.status.idle": "2025-10-26T13:36:01.715132Z", "shell.execute_reply": "2025-10-26T13:36:01.714751Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydB5gUxdaG6xquOSvmiFkMKEYwIEYwoyJmMGfMiDlgzjkgigFQUTEhijmBBDGjgooBARVzjn+/xX/m1vb2zPTszszuzHz1PD4uM93VVW9V19RX59Sp//wbJackAiIgAiIgAiIgAiIgAiIgAiIgAiKQmsB/JKZTs9KFIiACIiACIiACIiACIiACIiACIuAJSEyrI4iACIiACIiACIiACIiACIiACIhAgQQkpgsEpstFQAREQAREQAREQAREQAREQAREQGJafUAEREAEREAEREAEREAEREAEREAECiQgMV0gMF0uAiIgAiIgAiIgAiIgAiIgAiIgAhLT6gMiIAIiIAIiIAIiIAIiIAIiIAIiUCABiekCgelyERABERABERABERABERABERABEZCYVh8QAREQAREQAREQAREQAREQAREQgQIJSEwXCEyXi4AIiIAIiIAIiIAIiIAIiIAIiIDEtPqACIiACIiACIiACIiACIiACIiACBRIoDAx/Z//FJi9LhcBERABERABERABERABERABERCBCiLw77+pCisxnQqTLhIBERABERABERABERABERABEagJAhLTNdHMqqQIiIAIiIAIiIAIiIAIiIAIiEAxCUhMF5Om8hIBERABERABERABERABERABEagJAmUR0ykfUhPAVUkREAEREAEREAEREAEREAEREIHKIxCPDZZS5zZuz3TKh1QeTZVYBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghUm5j++++/3b///luUtptxxhndf+KAipJz02Ty7bffuvvuu88tvPDCrlOnTm6mmWZqmoLkeeo///zj+C8pNdcy56pSrj5ZjvpMmTLFjRs3zv/3ySefuMUWW8ytuOKKboUVVnDLLLOM7wfTpk1zJ598sjvwwAPdBhts0Cz7RXMu1IQJE9ybb77pvv76a/fLL7/4MWihhRZySy21lFtvvfXcrLPO2qTFzzculqMfNhZAvjoUkn+1je2F1F3XioAIiIAIiIAIFJFANYnpyZMne6FQrPTaa6+51q1bFyu7Js3n5Zdfdu3atcuUYYkllnDvv/++m3322Zu0XEkPP/74493ll1+eWK7XX3/drbnmms2uzLkK1K1bN3f77bcnXvLXX385JvalSL///rs788wz3UUXXZTJfq655nI//vhjnX/vuOOOXmS/+OKLrn///q5r166lKE7V5fn999+7q6++2rftRx99lLN+nTt39osV6667bpNw2GGHHdwjjzyS+OzlllvOffjhh01SrrQP1dielpSuEwEREAEREAERKCuBahLTv/32m3vppZfcmDFjXM+ePbNy3G+//dyyyy7rmAwzSZs0aZIXEvFUTWJ6991391bpMN1xxx1un332KWt/S/Owd99914vpW2+9td7lI0aMcOuvv36abJrNNWPHjnWnnnqqe/zxx+uVqVRiGkvzVltt5ejDJPr8BRdc4BZddFFvOcWKetJJJ9Xr9xLT6brNXXfd5Q4//PA6CxN77723O+aYY/zYwkLVU0895RczwsR7eNNNN7l555033YOKdBWW8/fee89dfPHF9dq8EsS0xvYidQRlIwIiIAIiIAIiUFwC1SSmQzI333yzO+SQQ+rBatu2rRfc8fT555+76667zl144YWZr6pJTGPNRUCF6cQTT/ST6+aYmDzPNtts9Yo2fPjwinRDfuedd1yrVq3KJqYRejfccIN/3pZbbumGDh3qZphhhjrPR8gj9s4///zM5xLTud8Gth+wMBKOE9zBeHPQQQfVu/mFF15wm266aZ3PcbF/9NFHvZt9udMzzzzjOnToUOexlSCmNbaXu6foeSIgAiIgAiIgAqkIVKuYxhq49tpr12Nw1FFHedfMbOmcc87JWJOqSUwz+T/llFPqVLu5u0yvttpqDit1mCpVTGdbHCiFZTre92+77Ta3//77Z+3zu+66q7v//vv99xLTuYfNs88+25111ll1LurevXuiF4Vd9OCDD7pddtmlzj1ss2B8YV91OVPSuFhpYlpjezl7jJ4lAiIgAiIgAiKQk0C1imlcGldZZZWCxTTiZp111vFW3GoS0wQfw833xhtv9BN4rNKHHnpos347kqzplejmDeRyiun4wgkW6lxtjUs4rsnspR4wYIDbY489mnW/aKrCPfbYY2677bar93jGmpVWWilnsfj+gw8+qHPNxhtv7J577rl6HgOlrN8bb7zh1lprrTqPqDQxrbG9lD1EeYuACIiACIiACBREQGLauXvuucctuOCCGfdHXJ8JFlRNYto6xZ9//ukDXsVdfgvqNGW6WGK6YaC7dOni7r333szNa6yxhnv11VdzRpTG3RuvDFmmk5nz3qy88sr1Ao1tvvnm7umnn87bUDamxC+knXbbbbe89xfrgloT07U0therjygfERABERABERCBAgjUuphmDyTBgA477LBM1GNci3ExZp/rqquuWgDN6r8UC/eXX37pj/xJ2tOcjQAWf/alE2G6RYsWbr755ssLK5+Y/uabbxzlwapa6OIA5cBSSNsvueSSecuSdAEB7IjivPTSS7v5558/Zx7ltExvsskm9YJMcdwVUaezWVCJ5rz88ss3CzFNm3KcF/2LY9wK6WfWCORBcMG5557b5zHzzDM3qI3tpjvvvNPtu+++9fLA7fuMM87Im/fHH3/ssADHE58RHCztEXwcuUW96L/0+3zpiy++8JfYKQcNFdM897PPPnN//PGHf/f/+9//5nt01u9//fVXHz2efBpymkBay3RDx3aO4KK9GLN4Jxp7bBj5fPrpp45I+g1x66e9GWsWX3xxn0dS+uGHH/z4SoDBNGNrgxtPN4qACIiACIiACNQlUOti2vbfEdk4PEKICQwTE6x1BAuKJyaTuGgy0WKSzQQvKbFfFWFOIsJvodGzOabo2GOPbfC9BDtiwp+UEAG4rSI8OB4JwRdPlJeFBoKzDR482NfZ0mabbeauuuoqh+UzKeE2zH233HJLPYsek0Keufrqq9e5dZtttsnklySmCaDEMV8PP/ywGzVqlL+XvBCQuDcnBfmyByAEaGPqYVGuw/txfY8Hi4rXa+rUqe7000/31sjwOCT2wLZv396de+65XlzHUz4xjfv60UcfnXV4GjRokBcfadIBBxzg+vbtm3gpfQmvCwRmUhnpzyYesHAjKpISiwcENaN/5jpW6bzzznNM9OOB7uiT2267bSZrLOe4o/fr16/e41h8YV8y+75zuVPDkPeVAIPh8V9kSB/deeed64i3Oeec00fkTpM6duyYGI2dfrj99tunycIzZyEqnthSwnuw1157ufHjxyfWnzGI+tG2FkeAmBCXXnqp73dhou69evXy/RyBRWJRkPyJ8B4/niuXmzftQlvFme65555+ESFsj+eff95vH0lKXMuzTzvtNHfJJZdkLmFsufLKKwsS52nFdL6xPV7OgQMH+kjr4RjHNQStZIwnwFy46PHdd9/5OiUlxlXqzAIW77X1x06dOrnrr7/ej1m5xlyexZYc8gj7Mm1HzA87C55TKIiFwZhoibZmXN5iiy1S9UtdJAIiIAIiIAIi0AgCtS6mmWDi2hoX04aU4EEcsxXf78j3P//8s5+c40rIsVMWxClsDiaj6623nv/olVde8ROzMPFvrKNYjGziG36PQET8NPReJm8c14MIjScLTIXYOeGEE7zojacePXp4AQCjpMSkEFGJm3yYmPgz0QwngkyisZog6OJix+5FTJkFMElM5+vqnKWbtK8V6x8CwAQ4iwxwYb9waFlEOCBEkqxRTz75pF8MMUFElGzyZPJtIhAeWDGZKIcpn5hGkCKYORIsFFzsq0Wssec5m1UqzuTaa691BNrLlVgQYJIfb7fwnuOOO85dccUVidnwOX0DscACQtI5y7w3iL+vv/7aiz57PxCBHMtmi0x9+vTJRMLmu4MPPtjNM888/lzkeL9DsLFwEiYsiTwnFOIs9PAZx1MlCXTuR6SzOJIvYUnNZkFNs1/a8icWQ7iIY5/T5rwTLDzxd5wl5XzooYfchhtuWK+o9AmslibyJk6c6Hjn44H77Mb4OeN8niSmsaYy9tBPLNGv2CKCADZ+iDistyT6MMIufgQf3zG2DBs2rM72A8sXAUubp01pxXS+sd2ex1jEu2BnwcOIRYEFFljALyTY+8hiDMf1meWXd5rfDe6Lj2ccRdemTZvE95CYBNSZcR3BHE9HHnmkX8Rij35Sonww4F1g/MmWWPBjG4KSCIiACIiACIhACQnUqpjGBRBLGBMXUjYxzXfZjjUyMc01TD6x1sUnVaGYRoxtvfXW/nlMprC0YeHGYoplKi7YmURjqcJVtTH38rwkq1g8yjMMQqtR2O0QOYgYrEjxxIQbi6AlXBqxEIcswmsQBjvttFOdbNg3Ossss3hRZWIpm5hmgsvEFqvMEUccUa88cYGDYOIYorA8YSRzxDPB2SwhFrAehQlRhni2RNsw4UVkIebatWvnLYeWsHJh2bWUT0zbdUR9ZgGHxMS9W7duqV2ALQ/qicBJsoLGYVF3BBBW2qR04IEH1otUjVB99tlnM5cjqKh/mOJClbOt55hjDr8ggOgyd9c41zi3eB/gfhZGyN8Soj30KuFztgAgenjPW7duXedYOO5loYfvc0X2t/zfeuutrN4XuFHjwZImsciTJJDo8xytRaJPxxcL+DxJBNsz6d/UiXGEoItxMd67d28/7gwZMiTRJT1JTLNYwmKKJd4POJPIDwszCY8M+j0uyJY4eitp8S4bIxZlsi3aJN2TT0wXMrZzLbxDyy6LBjau4H0RelBg9WXsCLcNhDzS9APy4DeFxDFr4dF04f0syDH2szgXTywG8ntBv2AsxQsh/ttTaYHl0rDTNSIgAiIgAiLQ7AjUmphmIoNFbMyYMXUmnbnENBMuLDLxFIppvsNF+YknnqhzWSim7YicuPjEJY8JZTwhpnBvJTXmXu5nwoWIDVNcTBPJOcnSgcDGck1iASLuGsukj8mcpfB4MfsM6625UMMtLt4QQ7RBmJLEdPy6448/3lvzwoTlh7pYwtIdTkgRFkySLSWJpbDdsEyyOBCKlHg54lzChRCek0ZMY73FIsa9WJ0IeNXQlC3ydFJ+TLrhs9FGG9X7OpuQZE+zuYqzn3aRRRapJ95ZCDKrpZ1vjHhHfFhi4SK0zsUFAF4DWL7DhCg0gYNXBVbsMMXFfjwP+CLI0u4tpe/GXanteTw/rcdANvd7PA9wFyfhOpxULp6BB8xdd91Vx1qPqGL7CAlBfsghh9RhwWLhNddck/mM9/iyyy6rc02cOQsEoTjmYnNF52/6JowtsSjIWGIpaXGD7xjLWCyKe44UGoQtm5huyNhOuW2MtfLzvs8666z+n/Rt+lcoVOEXLjRke9dYgGSxhvzDhdKwTR544AHXuXPneu9dODZj6d99993rXQN3hD+LVGxLsn3x4YW2qFTvZn0gAiIgAiIgAiJQHAK1JqazUcslprknKUBQXEwnWZ5CUWZBjHDFtH21WA8RHEl7PBH85m7cmHspf3iWsDGIi2km6/FjkXBDZ7+kJaxQcXfT0NLCdbi1mzu13cdkEuuwJSwuYZ3Z04qre5jyBSDjWp5jbvThvSbkKDuu0mHCvRIXVktY9LCKh4mJ8OjRo327YznCghQm9rDiTmsp33PyiWkWBFgYQDTRZ5KOdSv0jcfqi3jJ5lIfz4+Jf5J7OFbn0HLHfXgo4CZPQnCwnzu+TQGRbOKOiT/u1nGvgSTLN3v42fpAwjWcvhsm2sPOTH/88ccd+5nDhCs+buSW8AKJHw1WyF7nbIKH/InynTZAFf0uvnecPMJ37KeffkoU59Zn6atwhy3vHcKORTwE4DLLLFNvQQPvCT63lOacaRbLWBwKU1hPxq8w+Bl9lkUACwKYzdpqwo4xBBdsFqdw78YqXUggsmxiOtv7kW1sp58xDofvB+89426YkiztoUdC6DWUNEYgdG07CItALJ7aWEg/jG8J4RoWjCzhiRGOnfY5QejCQHAEUoy/g9V4IkWh46CuFwEREAEREIGSEqg1MY11COsflhasCzb5KIeY5llMbkNxF7fMWWNjyQutYY25lzwbKqbjEzuL+hx2Slw9ifRrCct/fM9maKXkuiS3c4RC6D6ZRkx/9dVXdVx+rQxY8rHGJ1k22Zsat64nTUSpE3Vj8SB04eYZCP8w8BrRiUPRwjWhxS+XmEbEmqVr+PDhmeBCxXjx4YNIT3IVTco/afKNNTQeOC9cQMnmmmwWV/b0Io7p9y+88EKdx8ZdxONHTZlHRnhT6BactGUgLqYR1uxhDVMoyPNxzlY/7kP8YhlMkxDBSW7loadENjEd3//KtpJQxCeJZEQulvMwpYnmneRaH+bDHvh4VOrwfUgS0/FFOcoUr0MahlyTTUwXOrbHtxiQN9tNwmPl+AzBH48nEZ7Hnk1MI9JDDxwWJOJR5ZPENFtYWMCxlG3PPotYYUoS/eFiblq+uk4EREAEREAERKAAArUmprG82YSWiSsTRywk5RDT8WZJmgBzTdxtOqk5C723WGIaVi1btqxTpLibKC6J8SBEcct03NKP6y2uw+HnacQ0BUnyGjDX9DTu7eSRtABAwCTEXZKLf3xxIJuoN++FbGKacoYRkBEEBOQqdmIxgIUF6pQrJVnm2O+MG3fcwo1XAEGWzOqclC9CAOGBqyuCfu+99653GX2ZYGMsaNBeuDnzLKxzWGDj0ZVDMc2iGP0kTHExzeKJxUaw67JZ4ZPqQJC6bIHaQnf3fG3G/ncLchVeG7Z5NjGdz12XbRaIsDAR+XnkyJF1PssnprNtaQmPCEQEx+M7hG2bJKbp40lW+XzMkr7Pt2eae9KM7bi/xyPox13WySspEB/vkp2SkCSmkzxtkuqSRkxnGzskphvSe3SPCIiACIiACBSZQC2LaVCaa3O5xTQTISx1cfdZyhQXnvEmb8i95RTTSZbMcJ8rAZMQZ2FKCvqVVkwnRUm2fYkI/3hAptCqZGVIck1nsr3DDjskHnVFkLXwfOpsIsgsvdkmxEmvczwIVyGvPH2Dfc64XZurdHg/UeHPOuusnKI6SbglWVVZmCIvoh5jXWVRJe4ejPXvzDPP9P08nxUXkYa4oP5JEaGtHqGYxtrH3vKwjeMiMqnslAtLXtqU7Vir+KJKrvzC4HLhdRwfZtsIsvWj0PU96RnxgGFcE7fy81k+MY0HTNK56xzFlLSoZGWhH9hRTEliOr61Ii33pOvSiOk0Y3uSVxDbAeJ9OKk+ofU4SUwnLUol1UViujE9QfeKgAiIgAiIQDMgUOti2qIMl1tMJ+1PpjukseA05N5yimmiW+Piy35WS6G1PclSmHSMS1oxjeDFshkmgqAR6C3JfTu+V5z7kvYFs6+ac5STzo1GvIX7Rq0fxV9pRCSBvQoR07jnInrC/NMOFeyjJHgS0ZbjgbvCPBCT7GdOOtKK/d/xI9ySRBjlhDHvDm6p7IOPn23LNgH6AW71tHtSwr3/7rvvdohKKw/u9YgY+lLcqhyP/kzfiT+X/e4ssmDhxqoa7iWlbrib2x7fNGyzReLG0p/2PN8k7weeHbr2N1RMs2ARRtQnX6LPI/TClE9MT5o0yW9tiKd4f8/FrLmI6XxjO/3foqhbfZIs00lsQ9d8iek0b5CuEQEREAEREIEqJVDrYppmZdLNhDh+vE7Y5MUIQGb54fqLFS9+dBHihL23uaIMN/Tecopp6okIIkiVRQHnM4QVE/Vw/yH/ZnEgKZJ0WjHN3vK4K7BZd5P2EbKHNr4HOOlZuM5S5nhwMurC3nHa0BLWXCy08YT7Ny7C2cQ0wYWoe7wvYAlE8MX3WOYbhkxMpzkWB+GGsMRVOkzZzupOst5zHy767C9HnCYdD8c15hIeLz9u0lj5wj3plJ19ykQntsB74X1JRylhISaolQW+o0z0efINz3YmcjIRkOOeEfm4Zju7286Bz3c/op7FhniinASzMqtvQ8W0RYIP80/ap5xPTCcF4yPPQgK2NRcxnW9sTwosyHYETlEIU1IEdM4Ft1MEJKbz9X59LwIiIAIiIAJVTEBi2jlcdhEtuc6LLaaYTjo6ii7G2ca4HlpiTx7HsoTHZjX03nKLaeqAoKbsCBESiwUELuJMbax0RKwmEjMCLCmlFdNJ15llMmm/I2KeKNJhSnIHt8jTSRbFcePG1Tm6KsmiFwaAyhWADEtweNSQlSufdTmJmYlpvksTyZfzonEHDlM2K2TSMULcFx71lhQJOtf+Uc57ju/jDo9RSyumKQdHROHibXu7EapEQab9cAVn0SzpDOc0wzvu5OwPjy88pIlvQP7ZgpjF3/mGiumkPdPhsVlWx3ximuuS3gXz9EjDqjmJ6VxjexIzom7jJRGmpD5NXAP2upMkptP0Cl0jAiIgAiIgAlVKQGI6XcMmien4GbP5jsbiSfFjZezpTHzfeeedTIReLH3sew2DKTXm3nKLacQsbpQIOkQNVtaVVlopHez/vyqNmEbkhMfD2AOsbbBQ46odJtyfEaqWks6Spcy4BrPIkrS3krN2Q2GWFAiLQGxY3Un5jsbiqKfwuC4rWzyqez6AoZhG6BENO6nvWj7xRQAWAIi+nXRPNutqaKVPcrlmMeWII46oV/Rs/Tk8ci6NmMaaipXRAkLRtgSIKtSqn48tfRqxHk/hMUnZ8kg6Aox3nv3tYf9tqJhO6n+UJX58UpqjsZK2TWQ7m5uAZbjv49ljx7k1JzGdq02TIvDHzyjn/qSxMzx3W2I635uj70VABERABESgiglUq5jOFu36oIMOqrdPLk3zJllrwuNgECC4wcaj3IaBt3hOly5d6h29wufsK+W8WEsEd0KEhIF7GnNvUvCj+N7hJOEZPxorKZp3/GgsrLZh9N+GRqhOEtNxF+QkgROegYx1nKOtwnOv49Gek4IuhdGJk6zOffv2dURntpTELgxOle14Gzu/F9FD/4lbPhExLLJkiyYd77uhmOY7zljmaJ9sKX48EK6ruLBmS/GFhXDvKPcQRCzu6s1RSkku8Figw+Pf7JnmVcAiB+9r3O027uYdF6p2pFma97rQa5JcfvN5ECT1LxYtOM84fn4w5zUnbfPIFzUcUYvQD13aqVt8S0OSZ0v8nGjeMQR1PMXfYxYxWDAjQnloqe3Zs2e9LTNEzeZ85WKkYo7t7Pcnor4l3jcCJIYpPvbHOTz22GOOhdQwJXkFJNU96ei3+NFYiuZdjF6jPERABERABESgRASqVUxzpE7oMm34cDllMlZI8CHuTTpiiSBbvXr1cohHrIpxIc19BLQhKjTnjWLNTHLnDQUrk2ImozbBM2HYmHvJExf2+L7c8HgXyopwjx9fE997i6U0HgU5fp5tUvRk9m8uvvjifv8xFkPOyOU+BDP/tWrVql6bJInpuFU57oKJiGeRIzyDF9GCi26YQoGHW2d4ZBNlxS03tM4iBEJ3+/h+1LigC12feW42ARC6VGOlDM+utvLSzzhPOZeF2a6Ni2k+Z9GEc5bj9zNJpx4mwBBjRPsO2cWHnfjihZ3nHV4XtkmS26xdm83SCwPc/znWif4WT7il826z15w6sbc6TAgiFlA4/xmrL/uR+T/ngBNlmf+ybS3IN8yyKMI7HT+L+IknnnC4rMcT12+66aZ1FnPo90OHDk2ME0Cd119//Xr5pDkvOGlxgveXBT3EHdsbEL9Jif5FP7M+km3hjnz4jlgAvDd4K8TbOMlDp1OnTu7RRx/NhzfV98Uc2yn/8ssvX2dsDIPKxb0naDviHNDHLF122WV1YkOE72KS10xYyaTFmfi2CMZtosnHE5Z1vJcsJZ1qUEiAvFTwdZEIiIAIiIAIiEBdAtUkphEHuBMjDnCbzZZwfyVYEUGIEBNphHWSiCykLzEpw9oTtzySB5YOJkUIKyzUoehl0r7bbrt5wdmQezl+CyGY5EKMRRlLJOXCgoWFLS64KR9RlnHTxdKK0E8SOAhNrmFiuu+++/rAUYUkJtv9+vWrY8EM68zk1cqGOGAfLBGkQysqk1B4JbmTxy3He+yxh492jaimP1je8OLauEDD4gqfMEjdBRdc4OtKnwtdyYk+zWIIUbVJ9EeitCdxw/KK1Y5FABZMKFdSG9CfWfywPLOxTRLTXIsFGUh9P0sAACAASURBVEs6+9URl+wHZyHo3Xff9VmxyIOFMSlyefxZ1i6hK3x4TejqnesIKqItE7E8qb6Wn0UDT6oviwSIZvZDF5rsvSr0Pq5ncQoLr7mVWx70J94BLMv0FxYm6J+htRghf//993thH0+IYdzVk84C5z7ePaLO54rtkBQjIG0dw0U9LOEsmln/yJYHEcN5D1ksJAgf40g2zwZ44YnAO1ZoKuXYzkIXrtwWSZ5xBI8OvCloT2sP+juLRxYskTZmrCDad1JUfN5lxgcWU2afffY6VeY95fg3Fp7i57dzIeMHCx8ff/yxH3P69+9fDxmLGBxJRmA7PAPCrSt2MawZO2hbJREQAREQAREQgRIQqCYxTbCZNGIgxBgGO8qHlwkLk9X45IeJytVXX+0tl7j8Yb1gwoV7INZYhBlu1gQTKzQh1JhApxH88by5FxdTJl25EkI/aXIf3kOQLCaYuURy7969vUDD6taQyRtWNKw+Zh0z0YZoYlLK+a/xY5KsjExoeXYuSxB54+IdRo4O68hklHxyWWbZH0keSQKQdsclmcWPMCUdwRN+j1snVr74hDveZmncl01MI744M5fFGQRAtkSZsayxoJO2j9EPyDvu2WDPMFdv+jt9K9f5xFhcWcyJ80TQsIiDtRQrdXjMGmVm4QVupGxRxvO9a405z5u86U+I6jQLRyyWwAvRlo1HkmUxXod8bvhcz6JIuAXB8kDcIb5s8cEs+Lx3LKxRxnCrCX0JIcc7EU92LBrjodUnyd05qQ1w3y80lXpsZ0xnUQt2SYkFN8b/cLsFZ3+n8XBIimSftF87/tzXX3/dB6WMH98VXseYi7dAfMwJr4l7DhXKXteLgAiIgAiIgAjkIFBNYrocDc0ECosTky8mVohmE0F8jphr3bp1TgFRjnI25TPYp8xkPo3IiJcTV2dcvkmDBg3yFvlwXykWKty4EZY8B0srk8lcAjj+DFxUsfK//fbb3orIMwielM8l0/JBDDAZphwIKhYiyANRklaQlqp9sJoy+cbjAjYkmOHqDrNp06b5RR08CFjsIbp6oYn4ACxwEGAtbsG3vDhKCTfr+JaApGfhCo3VHuGN1ZW2QPDZogriHOsg1j9EH8eGhW6vuOQjUnNZuJOeGwaIK5RBeD0Wdhab6FOUgf4122yz+TKyuIdlsiFnhjemTDDF4sp+f/q4jVO8M1iSWWyh/dMkgqJRN95NxCP30tfTbDtIk39zuobgd9ST+sLKtqAkHWvWnMqtsoiACIiACIiACDQRAYnpJgJfxY9FUGAltsBRTL4RVmFC9CE64vvMw0BGVYxIVSsiASzvWBXxwsAKt9Zaa9XLHZHENoXQq0QWuyI2grISAREQAREQAREQgVokIDFdi61e2jpzZBTWQlL37t3rRWMOn87ZwOGe13j089KWVLlXOoF40C07GzypXli4Ed1sFyARcI2AX0oiIAIiIAIiIAIiIAIi0CACEtMNwqabshDAjTjcV4hLqe1tzQYt3Cua7wgggReBkMDxxx/vg+iR2PPLMWK5Urivl0BZdq+oioAIiIAIiIAIiIAIiEDBBCSmC0amG3IQwPpHNG2Lbku0XwI9JQXqYS8mx/UQxIgUng8tyCKQhgABsohybYl99p07d068lX3jHKlFQCj2XrPnPU0AqTTl0DUiIAIiIAIiIAIiIAI1SEBiugYbvcRVJvIyZ/GGAaE4+oogTJwzPXXqVPfFF194UcMeVqIKExU52xm4JS6usq9gAizIEEgsjPZNcCy2GhBcje/paxwxZEfL4SnB0UNpA3BVMB4VXQREQAREQAREQAREoJQEJKZLSbd28+ZYHc7yHT58uI+azd5oIgyTiNiM0CHqOZGZd9ppp3oBymqXnGreEAIszDz66KNu3Lhx3uI8efJknw2Ry7E+s5DDmdRbbbWV73dKIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIlAtBF599XU3YcInbqaZZnSTJ39ZLdVSPURABESgYAKLLLKQ++eff93yyy/t1ltvzYLv1w0i0CACEtMNwqabREAEREAERKBJCfTte69bZZUV3DzzzO0WXHC+Ji2LHi4CIiACTU3g33//ddOmfee+++579/77H7pu3XZr6iLp+bVAQGK6FlpZdRQBERABEagmAgjpdddd0y288ELVVC3VRQREQASKQmDy5KnutdfelqAuCk1lkpOAxLQ6iAiIgAiIgAhUDoERI8a6yADjWrZcunIKrZKKgAiIQJkJTJjwsZtxxhnc+uu3LvOT9biaIiAxXVPNrcqKgAiIgAhUOIH+/R9ya63VSq7dFd6OKr4IiEBpCXz99Tfu9dffdXvuuUNpH6Tca5tAtYnpP/74I7FBZ5ppJjfDDDNkvvvzzz+jlf1oaT9I//3vf4vaGaZMmeJ+/PFHt8IKK+TM96+//ooCJvxT75r/RI0z88wzZ733559/ds8995z75Zdf3G67aV9IsRpv2rRp7vHHH3edO3d2s802W7GyVT5VSCDbO8g7ef/997t11lnHrbrqqlVY88qrUjW1yT33POrat9+o8hpBJRYBERCBMhJgnv/cc8Ndly7blfGpelTNEagmMf3tt9+6lVde2X35Zd2IpltvvbW7+OKL3RprrJFp35NPPtndfvvtmWtbtGjhnn322aJNfJm4LbLIIl5Mv/XWW65Vq1ZZ+9aZZ57pbrzxxnrlths23nhjRx0OP/xwN99880URWye7gw46yD322GP+kj322MMNGDCg5vpusSuMgO7du7d7+eWXfdbfffddFNhnnmI/RvlVAYF87+BNN93kDj30ULfEEku4zz77rApqXPlVqKY2ufLKvpGlZafKb5QKqAEL3fzHgrxSdRDA6FJs40l1kKnOWvTvP9j16NG9OiunWjUPAtUkpiHKIHnuuee68847zwOea6653DfffJP4Q3jttde6o446yh199NHu8ssvj/ZVzFi0Rhk7dqxbe+21fX733ntvXsvxJ5984pZZZhl//bbbbutuueUWx2dvvvmmO+mkk7wopy6vvfZaFPJ/effDDz+4ww47zPXv319iukit9vvvv7vhw4dHFp/2PkesjrPPPnuRcm8e2WB1X2CBBZpHYSq8FLneQTxG6Ef77LOPu+OOO0pWUxZ8GBeKOXaVrLBNnHG52qQc1SxUTE/3thkS/aZMdL/++otbfPElXNu27aIF5qY9OuaNN17PuogMR37rll12uXIgTXwGHmwdOmwaRQf+JlpkHeHmnXfekpVlypTJ0e/53f4ZSy65VOY5/A2Hcon5bt32jdxix7qxY98qqK4YM0aPHpXqns0375B6zPriiy/cmDGjI6PEm967kD677rrruoUWalHnWWnLPX78B26bbbZ0G264kbvrLhkhUjVYhV8kMV3hDVgJxa82MQ1zVpF32WUX99BDD/kmuPLKK90xxxxTpzkQSlixV199dffoo4/WcQEvRru9//77Pn/S4MGD3Y477pg324UXXthPLBDJ119/feb6iRMneqs6gpr/v/HGG/47rjniiCMkpvOSTX8BHgVzzDGHv+G3335zs8wyS/qbm/mVuB0///zz7uqrr27mJa2c4uV6B5mI59qm0dha0j/btm3rPVTwglHKT6DUbZK/BMW5ohAxff/990VeTYcmPni77bZ3N93Up2xCLV6IQw89yD344ANZoZx11jnR7+ERxYHWgFx+/vknt9xy04O8jR79eiRyl2xALuluufPOfu6EE47LevF1193gdt1193SZNeKq7bfv6EaOfNVNnTqtoFxGjRrptttu21T3fPzxZ6kWqh9++KHIC6++RXHOOed0N998a7TQsUXmeWnLPWLE8Gg+tp1beullonqOyVte5pOXXnpxJN4XiqJCH5D3el3Q/AhITDe/Nqm6ElWjmKaR4i7fH3zwQZ29y1h7ca2eMGGCw8W72Omnn37yFqPpP8Kj/d7JfGmllVZylBN37uuuu67O5fvuu6+78847/Wes1C666KLRJGi6K6ncvPORTf/9r7/+mvmRx8uhlGIofakaf6Ut7uCJITHdeJ6WQ1O+g4wTN9xwg9/2ITFdvDathJzSiukXX3whEmA7+yodcshhbtNNN4uCli3oXnrpRXf33Xe5Dz+c4Pbbr1u0DerSJqm2ienevS+MjvhauF4ZWJBeYYUVm6Rs9tDPP/88Wlj9NbIO54590thCmphu337zjGjDo+Dpp4dFC/6P+OwffvixKCrxBo19VM7704rSeCZ46jz//HOZj//443e/iLPYYou5c87pXefybbftmHcBZ8yYMa5jx638fRdddElkSW4bGUr+jng8FXkfnu0/Hz58ZLTY0dL/XUi5sXIvuuhi/l3Il4hps/jiC0dbAFeLtgK+kO9yfd8MCUhMN8NGqbYiVauYpp2eeuopt+WWW/omw4KDVQ53SAbpNm3auIEDB0ZBCbrUaVKChiF+J02aFB070jKafGxaT1CxUsm+WvZYL7vssv46XLT50QjT3HPP7a3JaSe7ucQ0lnUTQe+9957j2lwTeX4AsGCzXxv3sI022ij60anvLvfKK6941+avvvrKW9I7dOiQuPrOM7H0s4cY6zgrw+EedOqdhl229weL/IMPPuhYhFhzzTW9oKXMYUqT/0cffeSefPJJv8iAC+zTTz/ty9WxY0ffVvGEeKYtR40a5Sdz9BPzKEgjpikve6132mknh9Vr5MiRDk+CHXbYwc0///z+cX///bfPf9y4cb7f4Q0RT+RDv0T0srhDv2N/fJr0/fffuwceeMB9/PHHPmAaCzf0ewLYkd59913vcgzj7bff3i/W0DfjfLmWfmN7xu3ZXNu69fRjJdhmQJ8mEViL1XpLlJ1tCV9//bVnyDaHcM85nOBNov+uttpq/j179dVXM3mstdZadfopbffwww+7gw8+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Tvw62gc3fgQ67Znkblxove16RAVlN2+cbPmkGcMaWob4fbnapKHPoJ4s6MEw2+8EeRf67ELEtJUdK/Vnn30eLej84bkjivMd/VdIvem3vPv0acRiqRK/vX/88Xt0tGCLVNunSlWONPn27393FFzyT39udMikT59bIsHbs56Ldpo8k66hn/G+0q75PNoKubah5Sn2fT/99KP3uKJuK6ywYkn7V66yM//jN6qYY2GxWSm/+gQkptUrSk5AYrrkiPUAEahYAiwuEIUb7wFc/5VEQASankBDxHTTl7r2SmBWbCy5HMs011xzR8HIXowsojd5Kz7HQHEclJIIiEDpCEhMl46tcv5/AhLT6goiIAIhAdwpceMnOBJWNVyrk6ISi5oIiEDTEBg48JHIpXijZm+ZbRo6zeepeF8cd1yPaFvE0HqFiu9Vbz6lVklEoHoIYBB49tlXIhf/5OMBq6emqkmTEpCYblL8ergINDsC7Mdn/60loryHx2E1uwKrQCJQYwQGDHg4isOwWhRUbL4aq3llVpfAn+z1ZjvRiiuu5LfyzDHHHJVZGZVaBCqIwNdffxOdaT4uiqUhMV1BzVZ5RZWYrrw2U4lFoJQEsExzFjOBkzgv99BDDy3l45S3CIhAgQRGjBgbxZf4J9o/umyBd+pyERABEagdAh988HEUP2bG6HSatWqn0qpp+QlITJefuZ4oAiIgAiIgAo0hcNtt90VRnltFASEXbkw2ulcEREAEqpLApElTotMW3o1OCZl+RruSCJSMgMR0ydAqYxEQAREQAREoGQEE9YortowiaM8dRQufT3uoS0ZaGYuACFQCAfZIT5v2bXQqzffRaTYfS0hXQqNVQxklpquhFVUHERABERCBWiTw6qtjo/24n/pjriZP/rIWEajOIiACIuAJLLLIQv6I05Ytl5Jrt/pE+QhITJePtZ4kAiIgAiIgAiIgAiIgAiIgAiJQJQQkpqukIVUNERABERABERABERABERABERCB8hGQmC4faz1JBERABERABERABERABERABESgSghITFdJQ6oaIiACIiACIiACIiACIiACIiAC5SMgMV0+1k35pFGj3owiG050U6d+3ZTF0LNFQASakECLFgu4lVdu6Y9UUspNQGOmeogIiIDGTPUBERCBvAQkpvMiqvgLRo9+0/3886+ubdt13EwzzVTx9VEFREAEGkbgzz//ci+/PMrNOeecrk2b1RuWSQ3cpTGzBhpZVRSBFAQ0ZqaApEtEoNYJSExXfw8YMOBht9tuHSWkq7+pVUMRyEuAyeGgQUNc16475L22Vi/QmFmrLa96i0B9Ahoz1StEQARyEpCYrv4OcuWVfV2PHt2rv6KqoQiIQCoCGhNyYxKfVN1IF4lAzRDQmFAzTa2KikDhBCSmC2dWaXfoR6DSWkzlFYHSEtCYIDFd2h6m3EWgughozKyu9lRtRKCoBKpZTP/777/uzz//rMPrv//9byI/ruP6MM0wwwxV4RqtH4GivjLKTAQqnkC2MeGff/5xf/31V+r6NeUY+cUXX7ihQ4e67bff3i200EKZMv/888/uueeec7/88ku0vWW31HUJL9SY2SBsukkEqpaAxoSqbVpVTAQaT6CaxfQ333zj9t57b/f4449nQA0YMMDtscce9cAde+yx7tZbb3U//vij/65FixbulFNOidyjezQechPnoB+BJm4APV4EmhmBbGPCK6+84o4//ng3YsSIVCXeeuutvaBtitSlSxd37733uoMPPtjddNNNbvLkye6ggw5yjz32mC8O4zzjfUOSxsyGUNM9IlC9BDQmVG/bqmYi0GgC1SymDQ6Tq+222y7D6rXXXnOtW7eux27q1KlukUUWcSuuuKIbO3asm3322RvNtzlkoB+B5tAKKoMINB8C+caEo446yl177bW+wE899VR0lNba/m+8d1hwHD9+vDvmmGP8ouOzzz7bJBW7+OKL3cknn+xuvvlmL6JJP/zwgzvssMNc//79JaabpFX0UBGoTgL5xszqrLVqJQIikIpALYhpQPwnqOgSSyzhxfKCCy5Yj1G7du280L7mmmtS8auEi/QjUAmtpDKKQPkI5BsTEKiHHHKIL9Dnn3/uFl988XqFe/rpp91pp53mhg8fXr6Cx57E9pyZZ565zqfXX3+9O+KIIySmm6xV9GARqD4C+cbM6quxaiQCIpCaQC2JaSzOH3zwgWez5ZZbuiFDhtTbE73LLru4Vq1auXPOOSc1w+Z+oX4EmnsLqXwiUF4C+caE2267zXXvPv0EgEmTJrnFFlusXgF///13b7Xu1KlTeQuf52m4fB966KES082qVVQYEahsAvnGzMqunUovAiLQKAK1JKafeOIJd9FFF7lnnnnGMzvxxBMdroJh2n333d1qq63mzjzzzDqff/jhh35v4GeffeawbLdt2zbRVfzNN9/0gW822GADN2HCBL/3cOmll3Ybb7xxJr+vvvrKPfnkk27eeef1n88999z12vD999/31vNff/3Vrb766q5Nmzb1rhk0aJB3u9x1113rWN7jF+pHoFGviG4WgaojkG9MyCem3377bT8WbrvttnXYEBRszJgxPigY4xxWawKasc3Ggj8yPuIajrs441+S1Zu929xLHiuvvLLr0KGDW3LJJeu1w7vvvusYm3mepWximsBkd999t1tzzTXd+uuvn7NN8/Gpug6hComACGhMUB8QARFoGIFaEtNM4LA648aN6yIpHpAsSUzff//9XrAeeeSRXkRfddVVXiSH9/JZ3759HWL66KOPdkS5vfLKKzONsu6663pLOHsRBw4cmPl8jTXWcC+//LKbc845/Wd//PGHO+GEE9yDDz7oNtlkE/+cjz76yEelveOOO9yss87qrxs1apRbb731/N9ck2tyqIlhw94N3SUC1Uog35iQT0z37NnTx5Q444wzPCKCPF533XU++Bf7qxkrzbLN9+ytZhHzoYcecqeeemodrO+8845bddVVM58dd9xx7oorrvD5kS644AL3/fffe3HNQidj5NVXX+3uvPNOP9527tzZsbBoKZuYvvzyy31wNdJvv/3mZplllqzNm49PtfYL1UsERCCZgMYE9QwREIGsBGpNTG+22WZ+AoZ1wlIYkCwupglogyUaKwqWDSaQWF+wpjBpxApDYqJ47rnn+iNZSFi9Ec5YYRDFX375pf+cgDmHH364nxC2b9/ei3pE8j777OO/5x7ywjIzzzzzuG+//dYhuLmO/Yk8g4TrJeUiIbaXXXZZTQz1nouACKQikG9iGIrp3r17u/nmm8/ni5WZrTIEJzv77LMzYvq9995zN9xwgxe5JLbRXHbZZW7RRRd1e+65pxs2bJj/HJdwxjC8dfbff3/3yCOPeNHNSQokFgY33HBD79lje7Hvu+8+x7jM2HnhhRf6sfOtt97yXkZ8l1ZMP/zww27HHXf0wv2NN97IeexhPj6pIOsiERCBqiGgMaFqmlIVEYHiE6hFMQ1Fm6DxdxiQLC6mEcMIVSzHuF7PNNNMjrNYZ5xxRt8YTOwsAA7WFKwqWJE5ssUSlpjzzz/fC2aEsyWsO0wITSSPGzfOT/TOOussv+fPEpbqu+66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bipz6/zvcRpEmwy9HiwCzZJAqcaEU0891Z1//vmp69ynTx83adKkOuOqja1bbLGFO+2009zRRx8dRSB/OTHP5ZZbzq233nrukEMOcZtttlnq53755Zfu5JNPdkOGDHH8HaYllljC5/XQQw+5Bx54wFGOxiYEdO/evTP1+O6779w888zT2GwT7y9V25aksMpUBGqQQFox/f77H7kxY97MEFpvvbXc8ssvk4qYxHQqTLpIBJqeQK2I6XHjxrm9997bvfbaa27VVVd1N954o1tnnXXc7LPP7iZOnOj69u3rzj33XN8gxx57rLv88sv93xdffLGfsN18883uoIMOqtNgiPPff/89YwUpZWtqclVKuspbBCqPQKnGhH322cfdddddXjhuu+22bskll/TWZUtvvPGGa9++vf/nBhts4F588UV/ysC///7rNtpoIzdixAj/3aeffurvtcSC5C233OL/OWzYMP/de++95wYOHOj/i4+9uVrk0UcfdXvuuadfCN199929YF9llVX8LeTZq1cv98gjj/h/Dx482O24446NbmDG+uHDh2fq/vPPP/vfj1KkUrVtKcqqPEWgFgmkEdMTJnziRo4c6/EsvPBCburUr/zf66/fOvJ+XDovNonpvIh0gQg0DwK1IKYnT57sVlppJT/xYnJ4zz33JApgPt9jjz3coYce6m644YZMA/35559u5plnrtdgWFs23XRT7+5X6qTJVakJK38RqCwCpRoT2rVr57p16+YOOOCAekDYHrPuuuu6d99913+Ha7VtieHfhx9+uB878fT54Ycf6tx/++23+3xJn3/+uVt88cX934jwU045xV100UX+31iTd9gh+5FfTz75pNt66639tWeeeab/D3fyMOGm3qNHD3fttde6AQMG+HG9GIn6zzHHHD6r3377zc0yyyzFyLZeHqVq25IUVpmKQA0SyCemP/nk88iLZbQn07r1atFi3wpu3LjxbuzYd/xnbdu2ibYYLpGTnMR0DXYsVbkyCdSCmN5rr71c//79fQN98sknbqmllsraWB06dHCLLbaYu/POO3M2KJaUrl27Rme9DpKYrsyur1KLQEUTKJXgwmKMWLZ9xyEkFhCvueYa/1G/fv3cvvvuW4chXj1XXnllophmrNxtt9389biFM85aIn7Fyiuv7P955JFHZp4RbyDELAujiHE8jN588806VvPwemJfUJcrrrgicWGgIY3/66+/ZqzReCYlLbI2JN/4PaVq22KUTXmIgAi4aGtJ9nOmJ02a4p5/frqHztprr15nnzT7p1977S3/3aabbhAtKi6SFafEtHqaCFQIgWoX06+88kq0Atg27yTNmuu5557zLt933HFHpgWZWH744Yc+CBkpnBTiTrjxxhv7oDdYvnH9CxPfEWDno48+cp999pn/iknkCius4P8eOXKke/31173L4pxzzpm112hyVSEvlIopAmUiUKoxAYsrgbzi6bHHHnPbbbed/xjXajx54qmhYvrbb791888/v8+O7TjZFjOxXvfs2dNfd99997ldd901J2227mAB7969e+Y6gqHhqk58DKziq622WmQ5ap0ojBHP7PUeNWpU5Ka5sP8tMdEfF9Nhvri94/LOfvAw8ftAzI4111wzcvVcX+N9md4VPUYEik0gl5geM+atKMDth1EsiOT90RMmTIzmfq9HC4Mto+2Gq2ctmsR0sVtN+YlAiQhUu5jGKnHcccd5euyz69SpUyqSTJSuvvpqP6nD+oErNyL6p59+8sIX0Y14Xnvttd2iiy7qJ4C4GobuhLfddpu33CCm33nnHR9gh4nZgw8+6HbaaSe/35oo4uRzySWXuBNOOEGTq1Sto4tEQARKJaaTyIZbZVq0aBG5K47LiN/w+oaK6dB1+4ILLsgI5nhZcP+2vdBE8C40Sjdu6YzfeCgxVrPAyXi8xhpr+AVURK4lrN/stUYks9/77bff9rE2LLH9B9FMmjp1qre6sxDBwirByhjXEf8nnXRS5h5icRx//PH+37ncxMvZtnqTREAECieQz8278Bzr3yExXQyKykMEykCg2sU0+/6wNJMQxauvnn0VMMSNmMZywWQIC4iJabuG6LNYKx5++OGMxZrvrrrqKr9XDxfJKVOm1AlQs8suu/hjuBD4JKwibdq08UHRiBhuLpBJza7JVRleBj1CBCqIQLnGBI686tixo3viiSc8nWeeeSYThCuOqyFiGq8fIm+b6/arr76a1UsH6zCRu5P2ZOdrOqJv4yKOtZmgk2YJtyCT5EnwMjyHELpYrO13YN555/XZE5iNAG0kE9OIbUQ4vwn81rCoOmbMGD+2k+DGSREkfi8Q6LioYx03MR4ve7naNh8zfS8CIpBMQGJaPUMERCBDoNrF9IYbbpiJLssZ0gss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", "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "### Filling out Forms\n", "\n", "To interact with the Web page through Selenium and the browser, we can _query_ Selenium for individual elements. For instance, we can access the UI element whose `name` attribute (as defined in HTML) is `\"name\"`." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.717099Z", "iopub.status.busy": "2025-10-26T13:36:01.716939Z", "iopub.status.idle": "2025-10-26T13:36:01.718998Z", "shell.execute_reply": "2025-10-26T13:36:01.718592Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from selenium.webdriver.common.by import By" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.721810Z", "iopub.status.busy": "2025-10-26T13:36:01.721589Z", "iopub.status.idle": "2025-10-26T13:36:01.734250Z", "shell.execute_reply": "2025-10-26T13:36:01.733788Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "name = gui_driver.find_element(By.NAME, \"name\")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Once we have an element, we can interact with it. Since `name` is a text field, we can send it a string using the `send_keys()` method; the string will be translated into appropriate keystrokes." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.737103Z", "iopub.status.busy": "2025-10-26T13:36:01.736880Z", "iopub.status.idle": "2025-10-26T13:36:01.829272Z", "shell.execute_reply": "2025-10-26T13:36:01.828851Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "name.send_keys(\"Jane Doe\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "In the screenshot, we can see that the `name` field is now filled:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.831353Z", "iopub.status.busy": "2025-10-26T13:36:01.831190Z", "iopub.status.idle": "2025-10-26T13:36:01.857047Z", "shell.execute_reply": "2025-10-26T13:36:01.856564Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBbxURfvH5zVeu7u7uwMLW7BRsbsTW+zC7k4UAwxULBS7UQHBRAVbBFTszv/5Dv9n37nnztk9e+/ujd3ffD5+vOyeM2fmO3Nm5zfPM8/8598kOSUREAEREAEREAEREAEREAEREAEREIHcBP4jMZ2blS4UAREQAREQAREQAREQAREQAREQAU9AYlodQQREQAREQAREQAREQAREQAREQATKJCAxXSYwXS4CIiACIiACIiACIiACIiACIiACEtPqAyIgAiIgAiIgAiIgAiIgAiIgAiJQJgGJ6TKB6XIREAEREAEREAEREAEREAEREAERkJhWHxABERABERABERABERABERABERCBMglITJcJTJeLgAiIgAiIgAiIgAiIgAiIgAiIgMS0+oAIiIAIiIAIiIAIiIAIiIAIiIAIlElAYrpMYLpcBERABERABERABERABERABERABCSm1QdEQAREQAREQAREQAREQAREQAREoEwC5Ynp//ynzOx1uQiIgAiIgAiIgAiIgAiIgAiIgAi0IwL//pursBLTuTDpIhEQAREQAREQAREQAREQAREQgbogIDFdF82sSoqACIiACIiACIiACIiACIiACFSSgMR0JWkqLxEQAREQAREQAREQAREQAREQgbog0CJiOudD6gK4KikCIiACIiACIiACIiACIiACItD+CKRjg+XUuc3bM53zIe2PpkosAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwQkpuuimVVJERABERABERABERABERABERCBShKQmK4kTeUlAiIgAiIgAiIgAiIgAiIgAiJQFwRqTUz//fff7t9//61I20044YTuP2lAFcm5dTL59ttv3d133+1mmWUW17lzZzfRRBO1TkFKPPWff/5x/BdLbbXMxapUrE+2RH3GjBnjhg8f7v/75JNP3Oyzz+4WXnhht9BCC7l5553X94Nx48a5Y4891u29995u1VVXbZP9oi0XauTIke6NN95wX3/9tfvll1/8GDTTTDO5ueee26288spu0kknbdXilxoXW6IfNhdAqTqUk3+tje3l1F3XioAIiIAIiIAIVJBALYnp0aNHe6FQqfTaa6+55ZZbrlLZtWo+L774oltjjTUKZZhzzjnde++95yaffPJWLVfs4UceeaS76KKLouUaNmyYW2aZZdpcmYsVaI899nA333xz9JK//vrLMbGvRvr999/dKaec4s4999xC9lNNNZX78ccfG/x7iy228CL7+eefd71793Y77LBDNYpTc3l+//337rLLLvNt++GHHxatX5cuXfxixUorrdQqHDbffHP34IMPRp89//zzuw8++KBVypX3oRrb85LSdSIgAiIgAiIgAi1KoJbE9G+//eZeeOEFN2TIEHfcccdlctxtt93cfPPN55gMM0kbNWqUFxLpVEtiervttvNW6TDdcsstbpdddmnR/pbnYe+8844X0zfeeGOjy19++WW3yiqr5MmmzVwzdOhQd8IJJ7hHHnmkUZmqJaaxNG+44YaOPkyiz5999tluttlm85ZTrKjHHHNMo34vMZ2v29x2223uwAMPbLAwsfPOO7vDDjvMjy0sVD3xxBN+MSNMvIfXXnutm3baafM9qEJXYTl/99133XnnndeozduDmNbYXqGOoGxEQAREQAREQAQqS6CWxHRI5rrrrnP77bdfI1gdOnTwgjudPv/8c3fllVe6c845p/BVLYlprLkIqDAdffTRfnLdFhOT58kmm6xR0QYOHNgu3ZDffvttt+SSS7aYmEboXX311f55G2ywgXv00UfdBBNM0OD5CHnE3llnnVX4XGK6+NvA9gMWRsJxgjsYb/bZZ59GNz/33HNu7bXXbvA5LvYPPfSQd7Nv6fTUU0+59dZbr8Fj24OY1tje0j1FzxMBERABERABEchFoFbFNNbA5ZdfvhGDQw45xLtmZqXTTz+9YE2qJTHN5L979+4Nqt3WXaaXWGIJh5U6TO1VTGctDlTDMp3u+zfddJPbfffdM/v8Ntts4+655x7/vcR08WHztNNOc6eeemqDi/bcc8+oF4VddN9997mtt966wT1ss2B8YV91S6bYuNjexLTG9pbsMXqWCIiACIiACIhAUQK1KqZxaVxsscXKFtOImxVWWMFbcWtJTBN8DDffa665xk/gsUrvv//+bfrtiFnT26ObN5BbUkynF06wUBdra1zCcU1mL3WfPn3c9ttv36b7RWsV7uGHH3abbrppo8cz1iyyyCJFi8X377//foNr1lxzTffMM8808hioZv1ef/11t+yyyzZ4RHsT0xrbq9lDlLcIiIAIiIAIiEBZBCSmnbvzzjvdjDPOWHB/xPWZYEG1JKatU/z5558+4FXa5besTtNCF0tMNw10165d3V133VW4eemll3avvPJK0YjSuHvjlSHLdJw5782iiy7aKNDYuuuu65588smSDWVjSvpC2mnbbbcteX+lLqg3MV1PY3ul+ojyEQEREAEREAERKINAvYtp9kASDOiAAw4oRD3GtRgXY/a5Lr744mXQrP1LsXB/+eWX/sif2J7mLAJY/NmXToTpmWee2U033XQlYZUS0998842jPFhVy10coBxYCmn7ueaaq2RZYhcQwI4ozvPMM4+bfvrpi+bRkpbptdZaq1GQKY67Iup0lgWVaM4LLrhgmxDTtCnHedG/OMatnH5mjUAeBBeceuqpfR4TTzxxk9rYbrr11lvdrrvu2igP3L5PPvnkknl/9NFHDgtwOvEZwcHyHsHHkVvUi/5Lvy+VvvjiC3+JnXLQVDHNcz/77DP3xx9/+Hf/v//9b6lHZ37/66+/+ujx5NOU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IAIiIAIiIAIiIAL1RkBiut5aXPUVAREQAREQAREQAREQAREQARFoNgGJ6WYjVAYiIAIiIAIiIAIiIAIiIAIiIAL1RkBiut5aXPUVAREQAREQAREQAREQAREQARFoNgGJ6WYjVAYiIAIiIAIiIAIiIAIiIAIiIAL1RkBiut5aXPUVAREQAREQAREQAREQAREQARFoNgGJ6WYjVAYiIAIiIAIiIAIiIAIiIAIiIAL1RkBiut5aXPUVAREQAREQAREQAREQAREQARFoNgGJ6WYjVAYiIAIiIAIiIAIiIAIiIAIiIAL1RkBiut5aXPUVAREQAREQAREQAREQAREQARFoNgGJ6WYjVAYiIAIiIAIiIAIiIAIiIAIiIAL1RkBiut5aXPUVAREQAREQAREQAREQAREQARFoNgGJ6WYjVAYiIAIiIAIiIAIiIAIiIAIiIAL1RkBiut5aXPUVAREQAREQAREQAREQAREQARFoNgGJ6WYjVAYiIAIiIAIiIAIiIAIiIAIiIAL1RkBiut5aXPUVAREQAREQAREQAREQAREQARFoNgGJ6WYjVAYiIAIiIAIiIAIiIAIiIAIiIAL1RkBiut5aXPUVAREQARGoFQKvvDLMjRz5iZtoognd6NFf1kq1VA8REAERKJvArLPO5P7551+34ILzuJVXXqbs+3WDCDSJgMR0k7DpJhEQAREQARFoVQI9e97lFltsITfNNFO7GWecrlXLooeLgAiIQGsT+Pfff924cd+577773r333gdujz22be0i6fn1QEBiuh5aWXUUAREQARGoJQII6ZVWWsbNMstMtVQt1UUEREAEKkJg9Oix7rXX3pKgrghNZVKUgMS0OogIiIAIiIAItB8CL7881CUGGLfAAvO0n0KrpCIgAiLQwgRGjvzITTjhBG6VVZZr4SfrcXVFQGK6rppblRUBERABEWjnBHr3vt8tu+yScu1u5+2o4ouACFSXwNdff+OGDXvH7bjj5tV9kHKvbwK1Jqb/+OOPaINONNFEboIJJih89+effyYr+8nSfpD++9//VrQzjBkzxv34449uoYUWKprvX3/9lQRM+KfRNf9JGmfiiSfOvPfnn392zzzzjPvll1/ctttqX0ilGm/cuHHukUcecV26dHGTTTZZpbJVPjVIIOsd5J2855573AorrOAWX3zxGqx5+6tSLbXJnXc+5Dp2XL39NYJKLAIiIAItSIB5/jPPDHRdu27agk/Vo+qOQC2J6W+//dYtuuii7ssvG0Y03Wijjdx5553nll566UL7Hnvsse7mm28uXDvzzDO7p59+umITXyZus846qxfTb775pltyySUz+9Ypp5zirrnmmkblthvWXHNNRx0OPPBAN9100yURW0e7ffbZxz388MP+ku2339716dOn7vpupSuMgO7Ro4d78cUXfdbfffddEthnmko/RvnVAIFS7+C1117r9t9/fzfnnHO6zz77rAZq3P6rUEttcsklPRNLy5btv1HaQQ1Y6OY/FuSVaoMARpdKG09qg0xt1qJ3736uW7c9a7NyqlXbIFBLYhqiDJJnnHGGO/PMMz3gqaaayn3zzTfRH8IrrrjCHXLIIe7QQw91F110UbKvYsKKNcrQoUPd8ssv7/O76667SlqOP/nkEzfvvPP66zfZZBN3/fXXOz5744033DHHHONFOXV57bXXkpD/C7offvjBHXDAAa53794S0xVqtd9//90NHDgwsfh09DlidZx88skrlHvbyAar+wwzzNA2CtPOS1HsHcRjhH60yy67uFtuuaVqNWXBh3GhkmNX1Qrbyhm3VJu0RDXLFdPjvW36J78pH7tff/3FzTHHnK5DhzWSBebWPTrm9deHZS4iw5Hfuvnmm78lkEafgQfbeuutnUQH/iZZZH3ZTTvttFUry5gxo5Pf89v9M+aaa+7Cc/gbDi0l5vfYY9fELXaoGzr0zbLqijFj8OBBue5Zd931co9ZX3zxhRsyZHBilHjDexfSZ1daaSU300wzN3hW3nKPGPG+23jjDdxqq63ubrtNRohcDdbOL5KYbucN2B6KX2tiGuasIm+99dbu/vvv901wySWXuMMOO6xBcyCUsGIvtdRS7qGHHmrgAl6Jdnvvvfd8/qR+/fq5LbbYomS2s8wyi59YIJKvuuqqwvUff/yxt6ojqPn/66+/7r/jmoMOOkhiuiTZ/BfgUTDFFFP4G3777Tc3ySST5L+5jV+J2/Gzzz7rLrvssjZe0vZTvGLvIBPxYts0mltL+meHDh28hwpeMEqlCVS7TUqXoDJXlCOm77nn7sSraf/ogzfddDN37bU3tJhQSxdi//33cffdd28mlFNPPT35PTyoMtCakMvPP//k5p9/fJC3wYOHJSJ3ribkku+WW2/t5Y466ojMi6+8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37/Rnuitt97aLbnkku7000+vGOPWzKiWxfT+++/v1ltvPW8t++ijj/w+SXPpx23/oosuak30erYItEkCecT0TTfd5Pbcc3w061GjRrnZZ5+9UV1+//13b7Xu3Llzm6onLt+MDXLzblPNosKIQLsmIDHdrptPhReB6hKoJzE9YMAAd+6557qnnkoOWk3S0Ucf7XAVDNN2223nllhiCXfKKac0+PyDDz7wewM/++wzh2W7Q4cOUVfxN954wwe+WXXVVd3IkSP93sN55pnHrbnmmoX8vvrqK/fYY4+5aaed1n8+9dRTN2rk9957z1vPsRIvtdRSbsUVV2x0Td++fb2Q3GabbRpY3sMLKymmsQJRf1zhYy7wuIfjAcB//P3JJ584LN2l3OU//fRTP1mfaKKJcnV2s5r17NnT7bHHHo3aafXVV3dffvmlO+uss/y+91jC2jbDDDO4ySabrOQzyy1fyQx1gQi0IoFKiOm33nrLjwWbbLJJg5qwBWPIkCE+KBjjHFZrApqxzcaCPzI+4hqOuzjjX8zqzd5t7iWPRRdd1C+azTXXXI2ovfPOO46xmedZyhLTBCa7/fbb3TLLLONWWWWVoi2giXMrdlA9WgTaIAGNCW2wUVQkEWgrBOpJTDOBw+qMGzdiipQOSBYT0/fcc48XrAcffLAX0ZdeeqkXyeG9fIa4Q0wfeuih3sX4kksuKTQz7sdYwtmLeMcddxQ+X3rppd2LL77oppxySv/ZH3/84Y466ih33333ubXWWss/58MPP/RRaW+55RY36aST+usGDRrkVl55Zf8312RNDishppk04zb54IMPFsrNHkrKw8IDiUk0k+LddtvNLbTQQn7RwoK5wfSaa65x0003XeF+FgmOO+44d++99/q2mGqqqfw+7fPPP9/NN998RV+PYmKaG1mEoHwselB2S0zicf/u169fof3XXXdd/1l6j3hzytdW3m2VQwRiBCohpnl3WSQ7+eST/SPwCLnyyit98C/ePcZKs2zzPXurWcS8//773QknnNCgWG+//bZbfPHFC58dccQR7uKLL/b5kc4++2z3/fffe3HNeMMYedlll7lbb73Vj7ddunRxLCxayhLTeKoQXI3022+/uUkmmSSzg2jirHdHBEQgJKAxQf1BBEQgk0C9iel11lnHT8CwTlgKA5KlxTR7hxFlCEMsG0wgTTgyacQK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NtuscE1rdAlNrlqDup4pAm2XQLXGBMZE/subCIj4zz//+P/S6T/JD8yEE07o/vrrr2h23DvBBBPkfVTmdd98801y0sFIN+mkk7r55pvPTTXVVP7aESNGuBlnnNFNN910zX6GZTBu3Dj3yCOPuC5durjJJpusYvmGGVWrbatSWGUqAnVIoBwx/e67H7jPPx/t5pxzNn8SQ94U7pnmHo0LecnpOhFoYQL1JKb/+OMPd84557jbb7/dvf/++540k64ff/zR/3/DDTd0b775puvatas7/fTT/ff8fdddd7l9993XXXvttS3cOv97nAbRVkOvB4tAmyRQrTHhhBNOcGeddVbuOt9www1u1KhRDcZVG1vXX399d+KJJ7pDDz00iUD+YjTP+eef36288spuv/32c+uss07u53755Zfu2GOPdf3793f8HaY555zT53X//fe7e++911GO5iYEdI8ePQr1+O6779w000zT3Gyj91erbatSWGUqAnVIIK+Yfu+9D92QIW8UCK288rJuwQXnzUVMYjoXJl0kAq1PoF7E9PDhw93OO+/sXnvtNbf44ou7a665xq2wwgpu8skndx9//LHr2bOnO+OMM3yDHH744e6iiy7yf5933nl+wnbddde5ffbZp0GDIc5///33ghWkmq2pyVU16SpvEWh/BKo1Juyyyy7utttu88Jxk002cXPNNZe3Llt6/fXXXceOHf0/V111Vff888/7Uwb+/fdft/rqq7uXX37Zf/fpp5/6ey2xIHn99df7fz7++OP+u3fffdfdcccd/r/02FusRR566CG34447+oXQ7bbbzgv2xRZbzN9Cnscff7x78MEH/b/79evntthii2Y3MGP9wIEDC3X/+eef/e9HNVK12rYaZVWeIlCPBPKI6ZEjP3GvvjrU45lllpnc2LFf+b9XWWW5xPtxnpLYJKZLItIFItA2CNSDmB49erRbZJFF/MSLyeGdd94ZFcB8vv3227v999/fXX311YUG+vPPP93EE0/cqMGwtqy99tre3a/aSZOrahNW/iLQvghUa0xYY4013B577OH22muvRkDYHrPSSiu5d955x3+Ha7VtieHfBx54oB878fT54YcfGtx/8803+3xJn3/+uZtjjjn834jw7t27u3PPPdf/G2vy5ptnH/n12GOPuY022shfe8opp/j/cCcPE27q3bp1c1dc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", "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Similarly, we can fill out the email, city, and ZIP fields:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.859194Z", "iopub.status.busy": "2025-10-26T13:36:01.859026Z", "iopub.status.idle": "2025-10-26T13:36:01.875855Z", "shell.execute_reply": "2025-10-26T13:36:01.875521Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "email = gui_driver.find_element(By.NAME, \"email\")\n", "email.send_keys(\"j.doe@example.com\")" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.877921Z", "iopub.status.busy": "2025-10-26T13:36:01.877760Z", "iopub.status.idle": "2025-10-26T13:36:01.890185Z", "shell.execute_reply": "2025-10-26T13:36:01.889842Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "city = gui_driver.find_element(By.NAME, 'city')\n", "city.send_keys(\"Seattle\")" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.892250Z", "iopub.status.busy": "2025-10-26T13:36:01.892115Z", "iopub.status.idle": "2025-10-26T13:36:01.903067Z", "shell.execute_reply": "2025-10-26T13:36:01.902613Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "zip = gui_driver.find_element(By.NAME, 'zip')\n", "zip.send_keys(\"98104\")" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.904747Z", "iopub.status.busy": "2025-10-26T13:36:01.904642Z", "iopub.status.idle": "2025-10-26T13:36:01.926381Z", "shell.execute_reply": "2025-10-26T13:36:01.926056Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBbhVxfrG59rtNbFRMbC7FcXGVuzG7sLuwg7sRjHAwC7sFkURGwPFRuzu+K/fcL/znzNn9t5rn71P7f1+z3Ofi/vMmjXzTqx5v5r//JuJkwgBISAEhIAQEAJCQAgIASEgBISAEBACuRH4j8h0bqxUUAgIASEgBISAEBACQkAICAEhIASEgEdAZFoTQQgIASEgBISAEBACQkAICAEhIASEQJkIiEyXCZiKCwEhIASEgBAQAkJACAgBISAEhIAQEJnWHBACQkAICAEhIASEgBAQAkJACAgBIVAmAiLTZQKm4kJACAgBISAEhIAQEAJCQAgIASEgBESmNQeEgBAQAkJACAgBISAEhIAQEAJCQAiUiYDIdJmAqbgQEAJCQAgIASEgBISAEBACQkAICAGRac0BISAEhIAQEAJCQAgIASEgBISAEBACZSIgMl0mYCouBISAEBACQkAICAEhIASEgBAQAkJAZFpzQAgIASEgBISAEBACQkAICAEhIASEQJkIlEem//OfMqtXcSEgBISAEBACQkAICAEhIASEgBAQAh0IgX//zdVYkelcMKmQEBACQkAICAEhIASEgBAQAkJACNQFAiLTdTHM6qQQEAJCQAgIASEgBISAEBACQkAIVBMBkelqoqm6hIAQEAJCQAgIASEgBISAEBACQqAuEGgVMp3zJXUBuDopBISAEBACQkAICAEhIASEgBAQAh0PgTg3WE6eW1nMdM6XdDw01WIhIASEgBAQAkJACAgBISAEhIAQqAsERKbrYpjVSSEgBISAEBACQkAICAEhIASEgBCoJgIi09VEU3UJASEgBISAEBACQkAICAEhIASEQF0gIDJdF8OsTgoBISAEhIAQEAJCQAgIASEgBIRANREQma4mmqpLCAgBISAEhIAQEAJCQAgIASEgBOoCAZHpuhhmdVIICAEhIASEgBAQAkJACAgBISAEqomAyHQ10VRdQkAICAEhIASEgBAQAkJACAgBIVAXCIhM18Uwq5NCQAgIASEgBISAEBACQkAICAEhUE0ERKariabqEgJCQAgIASEgBISAEBACQkAICIG6QEBkui6GWZ0UAkJACAgBISAEhIAQEAJCQAgIgWoiIDJdTTRVlxAQAkJACAgBISAEhIAQEAJCQAjUBQIi03UxzOqkEBACQkAICAEhIASEgBAQAkJACFQTAZHpaqKpuoSAEBACQkAICAEhIASEgBAQAkKgLhAQma6LYVYnhYAQEAJCQAgIASEgBISAEBACQqCaCIhMVxNN1SUEhIAQEAJCQAgIASEgBISAEBACdYGAyHRdDLM6KQSEgBAQAkJACAgBISAEhIAQEALVREBkuppoqi4hIASEgBAQAkJACAgBISAEhIAQqAsERKbrYpjVSSEgBISAEBACQkAICAEhIASEgBCoJgIi09VEU3UJASEgBISAEBACQkAICAEhIASEQF0gIDJdF8OsTgoBISAEhIAQEAJCQAgIASEgBIRANREQma4mmqpLCAgBISAEhIAQEAJCQAgIASEgBOoCAZHpuhhmdVIICAEhIASEgBAQAkJACAgBISAEqomAyHQ10VRdQkAICAEhIASEgBAQAkJACAgBIVAXCNQamf7777/dv//+W5WxG3fccd1/YoCqUnPbVPLtt9+6W265xXXq1Mmtu+66brzxxmubhpR46z///OP4X0raa5uLdanYnGyN/nz++eduxIgR/n8ffvihm2mmmdw888zj5p57bjf77LP7efD111+7ww47zO2yyy5u2WWXbZfzoj03auTIke7VV191X331lfvll1/8HjTddNO52WabzS299NJuookmatPml9oXW2MeVgpAqT6UU3+t7e3l9F1lhYAQEAJCQAgIgSoiUEtkevTo0Z4oVEteeuklt9hii1Wrujat55lnnnErrrhiQxtmmWUW9/bbb7tJJpmkTduVennv3r3dOeeck2zXyy+/7BZZZJF21+ZiDerVq5e75pprkkX++usvx8G+JeT33393xx13nDv99NMbqp988sndjz/+2Oi/N9xwQ0+yn3rqKTdgwAC31VZbtURzaq7O77//3p1//vl+bN9///2i/evZs6dXViy11FJtgsMGG2zg7r777uS755xzTvfee++1SbvyvlR7e16kVE4ICAEhIASEgBBoVQRqiUz/9ttv7umnn3bDhg1zhx9+eEEcd9hhBzfHHHM4DsMc0j799FNPJGKpJTK9+eabe6t0KNdee63bbrvtWnW+5XnZm2++6cn0VVdd1aT4c88955ZZZpk81bSbMsOHD3dHHXWUu//++5u0qaXINJbmNddc0zGHEeb8qaee6maccUZvOcWKeuihhzaZ9yLT+abN9ddf7/baa69Gioltt93W7b///n5vQVH18MMPe2VGKKzDyy67zP33v//N96IqlcJy/tZbb7kzzjijyZh3BDKtvb1KE0HVCAEhIASEgBAQAtVFoJbIdIjM5Zdf7nbfffcmYK2wwgqecMfyySefuIsuusiddtppDX+qJTKNNRcCFcohhxziD9ftUTg8TzzxxE2aNmTIkA7phvzGG2+4BRdcsNXINETvkksu8e9bY4013ODBg90444zT6P0QecjeKaec0vC7yHTx1UD4AYqRcJ/gCfabXXfdtcnDTz75pFt55ZUb/Y6L/T333OPd7FtbHn30Ubfaaqs1em1HINPa21t7puh9QkAICAEhIASEQC4EapVMYw1cfPHFm2Cw7777etfMQnLiiSc2WJNqiUxz+D/iiCMadbu9u0wvsMACDit1KB2VTBdSDrSEZTqe+1dffbXbcccdC875TTfd1N16663+7yLTxbfNE044wR1//PGNCu20005JLwordPvtt7tNNtmk0TOEWbC/EFfdmpLaFzsamdbe3pozRu8SAkJACAgBISAEiiJQq2Qal8b55puvbDINuVliiSW8FbeWyDTJx3DzvfTSS/0BHqv0Hnvs0a5XR8qa3hHdvAG5Ncl0rDjBQl1srHEJxzWZWOqBAwe6Lbfcsl3Pi7Zq3L333uvWW2+9Jq9nr5l33nmLNou/v/POO43KrLTSSu7xxx9v4jHQkv175ZVX3KKLLtroFR2NTGtvb8kZorqFgBAQAkJACAiBshAQmXbupptuctNOO22D+yOuzyQLqiUybZPizz//9AmvYpffsiZNKxUWmW4e0FtssYW7+eabGx5eeOGF3fPPP180ozTu3nhlyDKdxpx107Vr1yaJxlZddVX3yCOPlBwo21PigozTZpttVvL5ahWoNzJdT3t7teaI6hECQkAICAEhIATKQKDeyTQxkCQD2nPPPRuyHuNajIsxca7zzz9/GWjWflEs3F988YW/8icV01wIASz+xKWTYXr66ad3U001VUmwSpHpb775xtEerKrlKgdoB5ZCxn7WWWct2ZZUARLYkcW5c+fObuqppy5aR2taprt169YkyRTXXZF1upAFlWzOc801V7sg04wp13kxv7jGrZx5ZoNAHSQXnGKKKXwd448/frPG2B667rrr3Pbbb9+kDty+jz322JJ1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hIAQEAJCQAgIASFQMQIi0xVDqAqEgBAQAkJACAgBISAEhIAQEAJCoN4QEJmutxFXf4WAEBACQkAICAEhIASEgBAQAkKgYgREpiuGUBUIASEgBISAEBACQkAICAEhIASEQL0hIDJdbyOu/goBISAEhIAQEAJCQAgIASEgBIRAxQiITFcMoSoQAkJACAgBISAEhIAQEAJCQAgIgXpDQGS63kZc/RUCQkAICAEhIASEgBAQAkJACAiBihEQma4YQlUgBISAEBACQkAICAEhIASEgBAQAvWGgMh0vY24+isEhIAQEAJCQAgIASEgBISAEBACFSMgMl0xhKpACAgBISAEhIAQEAJCQAgIASEgBOoNAZHpehtx9VcICAEhIASEgBAQAkJACAgBISAEKkZAZLpiCFWBEBACQkAICAEhIASEgBAQAkJACNQbAiLT9Tbi6q8QEAJCQAgIASEgBISAEBACQkAIVIyAyHTFEKoCISAEhIAQEAJCQAgIASEgBISAEKg3BESm623E1V8hIASEgBAQAkJACAgBISAEhIAQqBgBkemKIVQFQkAICAEhIASEgBAQAkJACAgBIVBvCIhM19uIq79CQAgIASEgBISAEBACQkAICAEhUDECItMVQ6gKhIAQEAJCQAgIASEgBISAEBACQqDeEBCZrrcRV3+FgBAQAkKgVhB4/vmX3ciRH7rxxhvXjR79Ra10S/0QAkJACJSNwAwzTOf++edfN9dcnd3SSy9S9vN6QAg0CwGR6WbBpoeEgBAQAkJACLQpAv363ezmm29uN+WUU7hpp52qTduilwsBISAE2hqBf//913399Xfuu+++d2+//Z7r1Wuztm6S3l8PCIhM18Moq49CQAgIASFQSwhApJdaahHXqdN0tdQt9UUICAEhUBUERo8e41566XUR6qqgqUqKIiAyrQkiBISAEBACQqDjIPDcc8NdZoBxXbp07jiNVkuFgBAQAq2MwMiRo9y4447jlllmsVZ+s15XVwiITNfVcKuzQkAICAEh0MERGDDgTrfoogvKtbuDj6OaLwSEQMsi8NVX37iXX37Tbb31Bi37ItVe3wjUGpn+448/kgM63njjuXHGGafhb3/++Wem2c9U+4FMMMEEVZ0Mn3/+ufvxxx/d3HPPXbTev/76K0uY8E+TMv/JBmf88ccv+OzPP//sHn/8cffLL7+4zTZTXEi1Bu/rr792999/v+vZs6ebeOKJq1Wt6qlBBAqtQdbkrbfe6pZYYgk3//zz12DPO16XamlMbrrpHte9+/IdbxDUYiEgBIRAKyLAOf/xx4e4LbZYrxXfqlfVHQK1RKa//fZb17VrV/fFF40zmq611lrujDPOcAsvvHDD+B522GHummuuaSg7/fTTu8cee6xqB18ObjPMMIMn06+99ppbcMEFC86t4447zl166aVN2m0PrLTSSo4+7LXXXm6qqabKMraOdrvuuqu79957fZEtt9zSDRw4sO7mbrU7DIHu06ePe+aZZ3zV3333XZbYZ8pqv0b11QACpdbgZZdd5vbYYw83yyyzuI8//rgGetzxu1BLY9K3b7/M0rJRxx+UDtADFN38D4W8pDYQwOhSbeNJbSBTm70YMOAOd8ABO9Vm59Sr9oFALZFpEGWTPOmkk9zJJ5/sAZ588sndN998k/wQXnjhhW7fffd1++23nzvnnHOyuIpxqzYow4cPd4svvriv7+abby5pOf7www/d7LPP7sv36NHDXXHFFY7fXn31VXfooYd6Uk5fXnrppSzl/1zuhx9+cHvuuacbMGCAyHSVRu333393Q4YMySw+3X2NWB0nmWSSKtXePqrB6j7NNNO0j8Z08FYUW4N4jDCPtttuO3fttde2WE9R+LAvVHPvarHGtnHFrTUmrdHNcsn0WG+b+7Jvygfu119/cTPPPItbYYUVMwVz214d88orLxdUIoMj37o55pizNSBNvgMPttVWWznLDvxNpmR9zv33v/9tsbZ8/vno7Ht+g3/HrLPO1vAe/g0OrUXme/XaPnOLHe6GD3+trL5izHjxxRdyPbPqqqvl3rM+++wzN2zYi5lR4lXvXcicXWqppdx0003f6F152/3uu++4tddewy233PLu+utlhMg1YB28kMh0Bx/AjtD8WiPTYI4WeZNNNnF33nmnH4K+ffu6/fffv9FwQJSwYi+00ELunnvuaeQCXo1xe/vtt339yB133OE23HDDktV26tTJHywgyRdffHFD+Q8++MBb1SHU/P8rr7zi/0aZvffeW2S6JLL5C+BRMOmkk/oHfvvtNzfhhBPmf7idl8Tt+IknnnDnn39+O29px2lesTXIQbxYmEalvWR+rrDCCt5DBS8YSWkEWnpMSregOiXKIdO33npL5tW0R/LF6623vrvssitb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1MFT2jPrYJDVRSGQAwHtmTlAUhEhUO8IiEzX/gwYOPAut9lm64hI1/5Qq4dCoCQCHA4HDbrPbbXVBiXL1msB7Zn1OvLqtxBoioD2TM0KISAEiiIgMl37E6Rv337ugAN2qv2OqodCQAjkQkB7QnGYhE+uaaRCQqBuENCeUDdDrY4KgfIREJkuH7OO9oQ+Ah1txNReIdCyCGhPEJlu2Rmm2oVAbSGgPbO2xlO9EQJVRaCWyfS///7r/vzzz0Z4TTDBBEn8KEf5UMYZZ5yacI3WR6CqS0aVCYEOj0ChPeGff/5xf/31V+7+teUe+dlnn7nBgwe79ddf30033XQNbf7555/d448/7n755ZcsvGWz3H0JC2rPbBZsekgI1CwC2hNqdmjVMSFQOQK1TKa/+eYbt+2227r777+/AaiBAwe6LbfcsglwBx54oLvqqqvcjz/+6P82/fTTuyOOOCJzjz6gcpDbuAZ9BNp4APR6IdDOECi0Jzz77LOud+/e7rnnnsvV4rXWWssT2raQLbbYwt18881ut912c5dddpkbPXq023XXXd29997rm8M+z37fHCmEzx9//OEKKWSb8x49IwSEQMdAQOeojjFOaqUQaBMEaplMG6AcrtZbb70GfF966SW32GKLNcF7zJgxboYZZnDzzDOPGz58uJtkkknaZEyq/dJyPgIPP/ywwzq15pprVrsZVasPixTjE8qUU07px3TSSSet2ntUkRCoVQRK7Qn77ruvu/DCC3332RMWX3xx/2+8d1A4vvvuu27//ff3SsfHHnusTWA644wz3GGHHeYuv/xyT6KRH374we25555uwIABVSfTb7zxhltuueXcqquu6u64446y+0zbFlhgAb+3orhtbWHsPv30U/f55597S/6MM85Y14qBX3/91X/rV1llFXfddde19nDofR0MgVJ7ZgfrjporBIRANRGoBzINXv8JOjrLLLN4MjbttNM2gXLFFVf0pOyCCy6oJsxtWlc5H4FOnTo5Dhkc/NqrcHjefffdk81baqml3MYbb+wP2bigSoSAEGiKQKk9IVxjn3zyiZt55pmbVPLII4+4o48+2g0ZMqTNICY8Z/zxx2/0/osvvtjtvffeVSfTKA0g0hCwt99+u+w+f/fdd26qqabybul33XVX2c8394FHH33U9enTx73wwgsNnldW14477uj3yq5duza3+g77HGEAKF/b0ruiw4JXhw0vtWfWISTqshAQAoZAPZFpDkHvvPOO7/oaa6zh7rvvviYx0ZtssolbcMEF3Yknnlgzk6Scj0BHItN77LGHW2211by1bNSoUT5O0lz6cds/55xzamYM1REhUE0ESu0JV199tdtpp7E3AGDNnGmmmZq8/vfff/dW63XXXbeaTau4Lly+2Rtaws0bJeyss86aVMSWanhrk2k8CA499FB36aWXOpSMO+ywg1tkkUXc5JNP7oYNG+aef/55b2FHefrggw+6ZZddtlQXaurvItM1NZwt3plSe2aLN0AvEAJCoP0iUE9k+oEHHnCnn366Q1OPHHLIIQ5XwVA233xz74p33HHHNfr9vffe87GBH3/8scOyvcIKKyRdxV999VWf+IaDyciRI33sYefOnd1KK63UUN+XX37pDy///e9//e9TTDFFkwmC5YODGwedhRZayC255JJNygwaNMgTyU033bSR5T0uWM5HoBiZxgpE/3GFT7nA4x6OBwD/498ffviho75S7vIfffSRP6yPN954uRaKWc369evnevXq1WScll9+effFF1+4U045xce9pwRr2zTTTOMmnnjiku8st30lK1QBIdDGCJTaE0qR6ddff93vBT169GjUE0IwIGpYX9nnsFqT0IwwG4s1Zn/EygvZY/9LWb2J3eZZ6sBqitIMEhvLm2++6dibeZ9JITJNYrIbbrjBE8plllmm6AgUS9Bme1yeIcSlGss5e00eMp13XwJTsJ5tttkKNmPnnXd27JEnnXSSO/zww5P7K3Uwhny3UESuvfbayfoIgcKKO9lkkzX6O98f/pfyAgq/B+FDjAP10fbUns9zVh8eUsyTcI7wPtrN3j311FM3aW/4PN9PxmD22Wdv8o0sRabzYFxsDnz99df+Oxgmx0uV//vvv/1aYn6PO+64yf7wI5jQd76rhFeE31X6Qj85a6TqyDNXVaY4AqX2TOEnBIRAHSNQT2SaAxxWZ9y4ObQgcUKyFJm+9dZbPWHdZ599PIk+77zzPEkOn+U3Di4cSvbbbz//4evbt2/DzMIygCWcWMQbb7yx4feFF17YPfPMMw2HFBLcHHzwwe7222933bp18+95//33fVbaa6+91k000UT+WVz2ll56af9vyhQ7HJbzEUiRaT70uE3efffdDe0mhpL2oHhAONxw4MH6Mffc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SiHw7a/O3fCyc19n///WAc7NO12pJ/R3ISAEWhUBkelWhbvZLxs48C632WbriEg3G0E9KARqBwEI9aBB97mtttqgdjqlnngEbnrVuS1vcu7kNZw7ahWBIgSEQHtE4IsvvmnxZnHHtcmJjzp33CPODdrauZ4LtPir9QIhIATKQUBkuhy02q5s37793AEH7NR2DdCbhYAQaFcIaE9oV8NRtcb0H+7cjoOcu3wj53ZdqmrVqiIhIASqiEBrk+krXnButzucu3ZT57ZbrIodUVVCQAhUjoDIdOUYtkYNOji3Bsp6hxDoOAhoT+g4Y1VOS0Wmy0FLZYVA2yAgMt02uOutQqBdIiAy3S6HpUmjdHDuGOOkVgqB1kJAe0JrId267xGZbl289TYh0BwERKabg5qeEQI1ikC9kulffvnFvf322+7vv/92nTt3dtNNNzajw1dffeW+//5716VLF//fn332mRs8eLBbf/31G8q0xVTQwbktUNc7hUD7RaCl9gT2RP6XV0iI+M8///j/xfKf7AMz7rjjur/+St/vxLPjjDNO3lcVLPfNN99kNx2MdBNNNJGbY4453OSTT+7Lvvvuu27aaad1U001VcXvsAq+/vprd//997uePXu6iSeufnYwkemqDZUqEgIthkA5ZPqtt95zn3wy2s0yy4z+Joa8EsZMy807L2oqJwTaAIF6ItN//PGHO+2009wNN9zg3nnnHY82h64ff/zR//+aa67pXnvtNbfFFlu4E0880f+df998881ut912c5dddlkbjNDYV7bUwbnNOqQXCwEhUBECLbUnHHXUUe6UU07J3bYrr7zSffrpp432VdtbV199dXf00Ue7/fbbL8tA/kyyzjnnnNMtvfTSbvfdd3errLJK7vd+8cUX7rDDDnP33Xef49+hzDLLLL6uO++80912222OdlQqEOg+ffo09OO7775zU045ZaXVNnleZLrqkKpCIVB1BPKS6bffft8NG5ZlFfyfLL30om6uuWbP1R6R6VwwqZAQaHsE6oVMjxgxwm277bbupZdecvPPP7+79NJL3RJLLOEmmWQS98EHH7h+/fq5k046yQ/IgQce6M455xz/7zPOOMMf2C6//HK36667NhowyPnvv//eYAVpydEsdXBGCTBs2DD36quvuk6dOvm+Lb/88r5/7U2efvrpLAvxVu6II45we+21V3trntojBDoEAqX2hOZ2YrvttnPXX3+9J449evRws846q7cum7zyyiuue/fu/j+XXXZZ99RTT/lbBv7991+/5zz33HP+bx999JF/1gSF5BVXXOH/86GHHvJ/e+utt9yNN97o/xfvvcXaf88997itt97aK0I333xzT9jnm28+/wh1Hnnkke7uu+/2/33HHXe4DTfcsLlwNDzHXj9kyJCGvv/8888tsr/mIdO8G5xRUGD1X3jhhd0GG2zgJphggmQ/f/rpJ//tGz58uBt//PGzO8oXd4suuqi35KeEsXzsscfcr7/+6pUSk046aaNi/B2PLfZycKEuxqHQ+8OHn332Wfftt9+6CSecsCpKjooHVhUIgWYgkIdMjxz5oRs6NMsomEmnTtO5MWO+9P9eZpnFMu/HziXfKjJdEiIVEALtA4F6INOjR4928847rz94cTi86aabkgSY37fccku3xx57uEsuuaRhgP78809/AIkFa8vKK6/s3f1aWgodnDlIcZA8/fTTmzQBpQGWmbnmmqvFmodr5wknnOAJfEyMR40a5a655hp/4AZ3k4cfftitscYa3ksARYVECAiB8hFoKTK94oorul69ermdd965SaMIj1lqqaXcm2++6f+Ga7WFxPDf7AHsnXj6/PDDD42eZy+gXuSTTz5xM888s/83xAzFmu1h7FkQw0Ly4IMPurXWWsv/+bjjjvP/w508FNzUDzjgAHfhhRe6gQMH+n29GkL/jVj+9ttvnhBWW0qRaZS/K620kscwFAjygAED/LcuFAg0eMbl+T7cddddjcaP57Dy77LLLg3KCFzl42/I9ttv76677rpG74HQQ/CLub4PHTo0IxLL+Oemn376jFyMqTZ8qk8ItAoCpcj0hx9+kim7XvRtWWyxBTJl39xuxIh3M4XWG/63FVZYMgsxnKVoW0WmW2Uo9RIhUDkC9UCmt9lmG3/IQD788EM322yzFQRutdVWczPNNFOTg0L8AJYUrKuDBg1qUzJ91llnuUMOOcThKok1fYEFFvBx37heXnXVVVmMzize8h5aliqfNf9fA2QeRQMHKSxWoWCx6tatm+vdu7ejnSYi09UcAdVVrwi0FJnGYgxZtrjjEF8UiBdccIH/qX///g5SFQpePX379k2SafbKzTbbzBfHLZx91oT8FV27dvX/uc8++zS8Ix5byCxkEWIIGcQTp9De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4WemTp06pkOHfUvUh04SAREQAREQAREQAREQAREQARHIEALZIKZffvkNc/rpXUsspP1SI6hfe22c6dHjxIjVz8vLi3k3VK5cOeE1N27caKZMmWL22GMPs+eee2bIHVW204Dh+PHjzd57711ihlqHsl2zdFzNLrtd93y77jl23Suno8sy7yPWHDZsMGbkyDxzwAE5Zp99cpIa06xZm8233242p55azVSrltQpOkgEREAEREAEREAERCAdBLJBTA8a9Iy55poL0oHLRPe1efNmc+aZZ5oPPvjA/PLLL+FrIJD5/b333lvkuitXrjQXXnihGT16tPvsjTfeMCeccEJaxpctncybN8/07t3bvPnmm27K48aNM8cff3xK09c6pISrXBw8b94Wu+4b7Lrn/7Hudey6Vy0XY0t2EInm8H//t8lcdtkG86c/VTKLFjUotsstW4xp0GClWbvWmGHDatuNPqnpYqHpABEQAREQAREQARFIFwGJ6dRIxhPmCLNGjRq5zlq1amW+/vprk5MT27JUUFBg47fnmb/97W/m559/lphObQnc0VusioDdX//6V7eJ8d5775mjjz662J5WrVpl6tat69Zme63DqlWFdgyV7BiKHa4OiCKAePz55y123dfYdS+0617XrnvJQje2F9xEc5g0qcB07rzWnHNONTN0aO0iQ1yxotDssEOliN937brOTJ2abyZNqmdzOuim2l7rquuKgAiIgAiIgAhkIQGJ6dQWPZGVu2XLluaHH36wLuWnmxEjRhTbcdeuXc3bb78tMV0sqfgHHHrooTaW/UMzYcIEK0I6J+wJd+5OnTqZsWPHmqZNm4aPLct1wLW3U6c1dgx17RgiRdE2YMi6Uw89dK1d9wK77nXtulcsMe0XK94c8q3RvWoMY/vIkflm8uR88+ijtYqsd7xzsu7G0IRFQAREQAREQAREoCwJSEynRjuRmG7durWzSJ911lnmpZdeKrbj7t27O2EnN+9iUcU9wIvpSZMmmSOOOCJhR1dccYV54oknzNKlSyPEdFmuwxVXbLBj2GTH0EBiuuTLbrwQnTSprl33ii2mk5nD3LlbbDWB1aZXr+oxxfQ2oNSpIiACIiACIiACIiACJSUgMZ0audIS0926dTOffvqp+fjjj82+++7rhGHVKPPU6tWrzahRo8yCBQtMzZo1bZKiA5yreKU/FhFB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tm7RP1oX1l9LxL1Jk0bWhXGv7SakSzRonSQCIiACIiACIiACIiACIiACIlA6BLJFTJcOPfUqAskRqFQpFCesJgKZTKCwMH4970yet+YmAiIgAiIgAiKQpQQkprN04TVtERABERABERABERABERABERCBkhOQmC45O50pAiIgAiIgAiIgAiIgAiIgAiKQpQQkprN04TVtERABERABERABERABERABERCBkhPIVDE9bdrnZt68hTbzb47N4PtLyQHpzFIj0LRpY1veq9Dsuedutp5w21K7jjoWAREQAREQAREQAREQAREQgbQTyEQx/cwzI1zm7fr165kdd1RCnLTfNGnqkDrYK1assmWYVpu5c+fbGr+np6lndSMCIiACIiACIiACIiACIiACpUwg08Q0Qvqvf21r6+M2LmVy6j6dBJYuXW6oBy5BnU6q6ksEREAEREAEREAEREAERKDUCGSSmP7kk1nGGjtNy5a7lRovdVx6BObNW2Byciqbjh3bld5F1LMIiIAIiIAIiIAIiIAIiIAIpINAJonpYcNeN/vv30au3em4MbZDH7/99rv5/POvzVlnnbgdrq5LioAIiIAIiIAIiIAIiIAIiEAKBDJJTL/yylumc+dDUpi9Di1PBIihnjTpY3Pmmd3L07A0FhEQAREQAREQAREQAREQAREoSiCTxPSgQc9Yq+ZJWuYKTGDYsDHmmmsuqMAz0NBFQAREQAREQAREQAREQASygoDEdFYsc4WZpMR0hVkqDVQEREAEREAEREAEREAEsptAtonpZcuWmmHDXjINGjQwzZvv6ha/cuXKplWrve2/mxe5Gc4//582jneWmTVrdtbeKGef3cN899135tNPZ5Q6A4npUkesC4iACIiACIiACIiACIiACKSDQLaJ6RdeeN706dM7Jrqdd97ZPPXUs+aAAzqEPz/hhK5WRE4zy5evSAfuCtnH3/7WxXz55RdlwkBiukLeIhq0CIiACIiACIiACIiACGQfgWwV00cccaStaRyKzV24cKEZM2aUtT7Pcv9+//2JZt9993M/S0wbIzGdfc8FzVgEREAEREAEREAEREAERKAYAtkqpgcNesz06HFWBJ277rrDDB78qLn00svNnXfeXayYXr9+vfntt1/NLrv8yVSpUiUh6d9//91s2bLFlu3aMeFx69evMxs2bDCNGzcp0b27cuVKd17Dhg1jns8YcGunrV692qxc+btp0WL3iGPXrVtr1qxZa5o1a2Yq2RukODH9888/m6ZNm8ZkwPVoXJOfFy36yY6tkalXr17M8ckyXaJl10kiIAIiIAIiIAIiIAIiIAJlTUBieivxb7/91hxxRCezzz6tzcSJU+KK6c8++9T07dvHfP31nPDJXbt2Mwj0+vXrRyzhU0/917zyysvOTZqGK3mvXlebCy64KOK4KVMmOyE/efIk93vG0LPnOeaiiy5O6pb4z3+eNC+/PCw8Js5ns+CSSy4Ln//GG6+biy++wNx1173m3XffMVOnhuboXdhnzZppHnjgPjv3Ce73O+7Y2M7pUfPgg/cXcfPOzc0199xzpxk79i2zZMkSU6dOHXPkkZ3NrbfeYXbbbbfwNdu129fk5eXbzYm7HLN169aZe+99wFx4YeT8/QkS00kttw4SAREQAREQAREQAREQARHY3gQkpreugBfT++3X1rz3XkhQRrt5//jjAtOxYyim+pxzzjVNmjQxEya871zEDz30cDNy5Ohwh08//ZS56abrnSg9+eSTnahEfGLNvvHGm20JqFDs9hdffG6OOeYoJ0hPOukUJ8hHjx7pROqAAYPM2Wefk/A2QUj363dz+DocPHr0aHcdhPMll1zqzh81aqS5/PJL3HVq1Khpjj76aCvudzHXX3+jWbp0qf13Z3fOUUcdbdq1a28+/vgj8+GHU93xiGAvurEwX3HFpfYao1x8OSL6m2++NuPGjTUtW+5p//+uS/BGQ0wzD1qnToca2B5/fFfL8KCYc5KY3t5PBF1fBERABERABERABERABEQgKQIS01sx3Xnn7WbIkMes4LzS3H77ne6DaDH9zjvjzNtvjzPdu59o3Z+Pccds3rzZdOiwvxON33+/wLkw4/p8wAFtnRCdMuUj6wq+izuWbOKdOoWE5OzZ35hatWqZQw7paObPn+dEqE9+tnz5MtOly5FO3M6b96OpW7duzPVctGiRuzaCffz4idbduln4OkcdFRLHM2d+6a7vxfRuu7Uwb701zm4E7BTu81//utJa0Ifb5Gx9zXXXXR/+PcnaSNpG82LaW7ixxpOwLScnx33+yCMDrdX5bnPttf82N9xwk/udF9O4zeM+X1yTmC6OkD4XAREQAREQAREQAREQAREoFwSyVUxjRfauxgsX/uiEJq7YiN833xzn3KxpySYg6937avPSSy8693DOxUpLWa1bb73dXHllr4i1RmivWbPa7LFHS0Pc9T77tDLHHdfVPP/8CxHH9e//gHnooQfdeA48sGPM++Xtt8ea8877pxP/bAIEGxsDbBAMHfqiOfbY48NiGkt07959Io71gn7x4uURsc+rVq0ye+/d0h3rxfRtt/UzTz75eESiNj4n1nv33ZtbV/kjzYgRIyPE9IIFi9zGQXFNYro4QvpcBERABERABERABERABESgXBDIVjEdCz4W2yef/K9p3759+ONYYnrq1A+sZfdNM2PGdGeNxvrrmxfT999/rxk4cICNYx5hLcxHxV3rDz6YbE477RT3OdblYPP93nffA0VirP1xxDg//PBDMa8zfvz75qyzzgxbm71l+pFHBpt//KNH+FIkPdtjj92sFbmdeeed94uM1VuXvZg+/PBDzNy5cxOO2R/rY6bnzPk2qftdYjopTDpIBERABERABERABERABERgexPIVjGNi/a5557v8OOmvPfefw67YgfXJFpMY33GCk3Dut26dWsXH4yopXkx7a3KL774ctgdPNZaT5o00Zx55mnuo6uvvjbikJ9+WuhcsY855lh7rcNi3iokBxswoH9CMY3bNu7b6RLTnTsf7hKdXXbZFaZ69eoR4/rmm2/MX/7yFxsrfov7vcT09v4L1/VFQAREQAREQAREQAREQARKhUC2iulYpbFiAY4W075MlBfN/hyyZBNL7H9Ptux//rOnTTR2i000FimSiYdeu3atc/NesWKFadPmz4b442efHZryGns379tuu8MmBbsq4nyyg1PuK9rNO9oyzUmpuHmT7IykZxMmTLabCW0SjlliOuUl1QkiIAIiIAIiIAIiIAIiIAIVgYDEdOJVihbT3uX588+/cnWYad9995057LCD3c9eTJMde//927gY7AkTpoTLReEW7o/1Cch8n2+8MTYiyzUJvcioTYwz2bVjtWCis6lTPwmPyV+HLNyzZs12JbniWabp9+qrrzLDh7/sYqm5nm8+Fpx/e9dt3w9x3k8//Ww4xvqnn36yiceus3HTu9uyWfe7LiSmK8JTQGMUAREQAREQAREQAREQARFImYDEdGpi+uabb7AZrP9r3cL3dknD1q1b67JgI1qDYpqfX3xxqPn3v691sdAnnHCiqVy5knn99dddjPXNN/cz//rXNe4c6lZ37368+/m0086w5aVa2pJUH7o60CQz+9//xpuqVavGHWiwBBfXob355hvuOsF460RimizjPvt3585dbAmr/cy0adPMJ598XKQ0VkFBgatXTZI1Sl1x/MaNG20CthccBzJ8+3FITKf8J6kTREAEREAEREAEREAEREAEKgIBienEq/T3v3d3gtJbZclYfeONfZ0V1zfikcnK/cQTQ8ykSVNdzLBvzz//rI1nfsnVoaYhrLH++kzi/rgJE8a7DNmTJ08Kn9uz59lWdN9qdthhh2JvJQT18OHDXEZyGiK3R4+zIhKXeTE9ePDj5vTTzyzSJ/Wuif0mcRkNa/bAgY+a+++/x43fM+AzONx99x2uTJivI02NaTYJunXrHu77wAMPcGyUgKzYJdQBIiACIiACIiACIiACIiACFYlAtonpdK1NXl6e+eWXX0zjxo2LJOGKdY3Vq1e7etSNGjVKOITc3FyzcuVKm3isSUSJqmTHzXVo9evXT/aUIseR3RsB3LhxE1Mp+gaJ0Ssx4NWr13CJ2La1KZv3thLU+SIgAiIgAiIgAiIgAiIgAmVCIJPE9PDhb1qX40OSEoBlAlcXSYlAYWGhjTn/yJbtOiGl83SwCIiACIiACIiACIiACIiACJQ5gUwS0y+//IZp27a1daVuWOYcdcFtJ/Dbb7+bL774xrqnS0xvO031IAIiIAIiIAIiIAIiIAIiUKoEMklMf/LJLOtKvcXstdfupcpMnZcOge++W2CqVcsxBx64f+lcQL2KgAiIgAiIgAiIgAiIgAiIQLoIZJKYhsmzz75q2rdvY0tE7ZQuROqnDAgsXrzMJk/72px77mllcDVdQgREQAREQAREQAREQAREQAS2kUCmiWkvqFu1amkaNqxnM2E3VAz1Nt4jpXU6MdIrVqy0CddWm3nzFkhIlxZo9SsCIiACIiACIiACIiACIpB+ApkopqE0bdosM3/+TyYnJ8csXfpL+sGpx20m0LRpY4OgbtlyV7l2bzNNdSACIiACIiACIiACIiACIlCmBDJVTJcpRF1MBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhITGfXemu2IiACIiACIiACIiACIiACIiACaSAgMZ0GiOpCBERABERABERABERABERABEQguwhsFzGdXYg1WxEQAREQAREQAREQAREQAREQgUwnUFiY1AwrFdqW1JEcFK3Ykz5RB4qACIiACIiACIiACIiACIiACIhABSCQpESWmK4Aa6khioAIiIAIiIAIiIAIiIAIiIAIlBEBiekyAq3LiIAIiIAIiIAIiIAIiIAIiIAIZA6BJMX0/wOwWO1V8m803QAAAABJRU5ErkJggg==", "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The check box for terms and conditions is not filled out, but clicked instead using the `click()` method." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.928120Z", "iopub.status.busy": "2025-10-26T13:36:01.927991Z", "iopub.status.idle": "2025-10-26T13:36:01.995905Z", "shell.execute_reply": "2025-10-26T13:36:01.995482Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "terms = gui_driver.find_element(By.NAME, 'terms')\n", "terms.click()" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:01.997582Z", "iopub.status.busy": "2025-10-26T13:36:01.997464Z", "iopub.status.idle": "2025-10-26T13:36:02.020166Z", "shell.execute_reply": "2025-10-26T13:36:02.019829Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZhcNfv28+LOi7V4kQLFXQuF4kWK9MWLFHcr7lbcXYu3SHEr7hQKpXiR4lKKu8t3fun37D+bzcyc2Z1Zmbmf6+JieyYnJ7mTk5P7sfzn30ycRAgIASEgBISAEBACQkAICAEhIASEgBDIjcB/RKZzY6WCQkAICAEhIASEgBAQAkJACAgBISAEPAIi05oIQkAICAEhIASEgBAQAkJACAgBISAEykRAZLpMwFRcCAgBISAEhIAQEAJCQAgIASEgBISAyLTmgBAQAkJACAgBISAEhIAQEAJCQAgIgTIREJkuEzAVFwJCQAgIASEgBISAEBACQkAICAEhIDKtOSAEhIAQEAJCQAgIASEgBISAEBACQqBMBESmywRMxYWAEBACQkAICAEhIASEgBAQAkJACIhMaw4IASEgBISAEBACQkAICAEhIASEgBAoEwGR6TIBU3EhIASEgBAQAkJACAgBISAEhIAQEAIi05oDQkAICAEhIASEgBAQAkJACAgBISAEykSgPDL9n/+UWb2KCwEhIASEgBAQAkJACAgBISAEhIAQ6EAI/PtvrsaKTOeCSYWEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBQKuQ6ZwPqQvA1UkhIASEgBAQAkJACAgBISAEhIAQ6HgIxLnBcvLclsVM53xIx0NTLRYCQkAICAEhIASEgBAQAkJACAiBukBAZLouhlmdFAJCQAgIASEgBISAEBACQkAICIFKIiAyXUk0VZcQEAJCQAgIASEgBISAEBACQkAI1AUCItN1MczqpBAQAkJACAgBISAEhIAQEAJCQAhUEgGR6UqiqbqEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBgMh0XQyzOikEhIAQEAJCQAgIASEgBISAEBAClURAZLqSaKouISAEhIAQEAJCQAgIASEgBISAEKgLBESm62KY1UkhIASEgBAQAkJACAgBISAEhIAQqCQCItOVRFN1CQEhIASEgBAQAkJACAgBISAEhEBdICAyXRfDrE4KASEgBISAEBACQkAICAEhIASEQCUREJmuJJqqSwgIASEgBISAEBACQkAICAEhIATqAgGR6boYZnVSCAgBISAEhIAQEAJCQAgIASEgBCqJgMh0JdFUXUJACAgBISAEhIAQEAJCQAgIASFQFwiITNfFMKuTQkAICAEhIASEgBAQAkJACAgBIVBJBESmK4mm6hICQkAICAEhIASEgBAQAkJACAiBukBAZLouhlmdFAJCQAgIASEgBISAEBACQkAICIFKIiAyXUk0VZcQEAJCQAgIASEgBISAEBACQkAI1AUCItN1MczqpBAQAkJACAgBISAEhIAQEAJCQAhUEgGR6UqiqbqEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBQK2R6b///tv9+++/FRm78ccf3/0nBqgiNbdNJd9++627+eabXefOnd26667rJphggrZpSImn/vPPP47/UtJe21ysS8XmZGv05/PPP3ejRo3y/3344Ydu5plndvPOO6+bZ5553BxzzOHnwddff+0OPvhgt+OOO7rllluuXc6L9tyo0aNHu1deecV99dVX7pdffvFr0AwzzOBmn312t8wyy7hJJpmkTZtfal1sjXnYUgBK9aGc+mttbS+n7yorBISAEBACQkAIVBCBWiLTY8aM8UShUvLiiy+6xRdfvFLVtWk9Tz/9tFtxxRUb2jDrrLO6t956y0022WRt2q7Uw/v37+/OPPPMZLteeuklt+iii7a7NhdrUL9+/dxVV12VLPLXX385NvbVkN9//90dffTR7pRTTmmofsopp3Q//vhjo39vsMEGnmQ/+eSTbtCgQW6LLbaoRnNqrs7vv//enXvuuX5s33vvvaL969Onj1dWLL300m2CQ+/evd1dd92VfPZcc83l3n333TZpV96Ham3Pi5TKCQEhIASEgBAQAq2KQC2R6d9++8099dRTbsSIEe6QQw4piOO2227r5pxzTsdmmE3ap59+6olELLVEpjfddFNvlQ7lmmuucVtvvXWrzrc8D3vjjTc8mb7iiiuaFH/22Wfdsssum6eadlNm5MiR7vDDD3f33XdfkzZVi0xjaV5zzTUdcxhhzp900klupplm8pZTrKgHHXRQk3kvMp1v2lx33XVu9913b6SY6Nu3r9tnn3382oKi6qGHHvLKjFB4Dy+55BL33//+N9+DKlQKy/mbb77pTj311CZj3hHItNb2Ck0EVSMEhIAQEAJCQAhUFoFaItMhMpdeeqnbZZddmoDVvXt3T7hj+eSTT9wFF1zgTj755IafaolMY82FQIVy4IEH+s11exQ2z5NOOmmTpg0bNqxDuiG//vrrbqGFFmo1Mg3Ru+iii/zz1lhjDTd06FA33njjNXo+RB6yd+KJJzZcF5ku/jYQfoBiJFwnuIP1Zqeddmpy8xNPPOFWXnnlRtdxsb/77ru9m31ryyOPPOJWW221Ro/tCGRaa3trzxQ9TwgIASEgBISAEMiFQK2SaayBSyyxRBMM9tprL++aWUiOO+64BmtSLZFpNv+HHnpoo263d5fpBRdc0GGlDqWjkulCyoFqWKbjuX/llVe67bbbruCc/9///uduueUW/7vIdPFl89hjj3XHHHNMo0Lbb7990ovCCt12221u4403bnQPYRasL8RVt6ak1sWORqa1trfmjNGzhIAQEAJCQAgIgaII1CqZxqVx/vnnL5tMQ26WXHJJb8WtJTJN8jHcfC+++GK/gccqveuuu7brtyNlTe+Ibt6A3JpkOlacYKEuNta4hOOaTCz14MGD3eabb96u50VbNe6ee+5x6623XpPHs9bMN998RZvF72+//XajMiuttJJ77LHHmngMVLN/L7/8sltsscUaPaKjkWmt7dWcIapbCAgBISAEhIAQKAsBkWnnbrzxRjf99NM3uD/i+kyyoFoi0zYp/vzzT5/wKnb5LWvStFJhkenmAb3ZZpu5m266qeHmRRZZxD333HNFM0rj7o1XhizTacx5b7p169Yk0diqq67qHn744ZIDZWtKXJBx2mSTTUreX6kC9Uam62ltr9QcUT1CQAgIASEgBIRAGQjUO5kmBpJkQLvttltD1mNci3ExJs51gQUWKAPN2i+KhfuLL77wR/6kYpoLIYDFn7h0Mkx36tTJTTPNNCXBKkWmv/nmG0d7sKqWqxygHVgKGfvZZputZFtSBUhgRxbnLl26uGmnnbZoHa1pme7Ro0eTJFMcd0XW6UIWVLI5d+3atV2QacaU47yYXxzjVs48s0GgDpILTjXVVL6OCSecsFljbDdde+21bptttmlSB27fRx11VMm633//fYcFOBaukRws7xF8HLlFv5i/zPtS8tlnn/kidspBc8k0z/3444/dH3/84d/9iSaaqNSjC/7+66+/+uzx1NOc0wTyWqabu7ZzBBfjxZrFO9HSY8Oo56OPPnJk0m+OWz/jzVozyyyz+DpS8sMPP/j1lQSDedbWZg+ebhQCQkAICAEhIAQaI1DvZNri78hsHB4hxAaGjQnWOpIFxcJmEhdNNlpsstngpYR4VYg5QobfcrNnc0zRfvvt1+x7SXbEhj8lkADcViEeHI8E4YuF9qJoIDnb7bff7vtsssoqq7hzzjnHYflMCW7D3HfZZZc1seixKeSZCy+8cKNb11577Yb6UmSaBEoc83XnnXe6559/3t9LXRBI3JtTSb7sARABxph+WJbr8H5c3+NkUXG/xo4d64488khvjQyPQyIGtmfPnu7444/35DqWUmQa9/W999674PI0ZMgQTz7yyA477OAGDhyYLMpcwusCgplqI/PZyAMWbkhFSlAekNSM+VnsWKUTTjjBsdGPE90xJ3v16tVQNZZz3NGvvvrqJo9D+UJcMnHfxdypwZD3lQSD4fFfVMgc3WijjRqRtymmmMJn5M4j66yzTjIbO/Nw/fXXz1OFxxxFVCyElPAebLXVVu6dd95J9p81iP4xtpZHgJwQp59+up93odD3ww47zM9zCBaCUpD6yfAeH89VzM2bcWGsYky33HJLr0QIx+Pxxx/34SMpoSzPPuKII9xpp53WUIS15eyzzy6LnOcl06XW9ridN9xwg8+0Hq5xlCFpJWs8CeZCpcd3333n+5QS1lX6jAKL99rm47rrrusuvPBCv2YVW3N5FiE51BHOZcaOnB92FjynUJALgzXRhLFmXV599dVzzUsVEgJCQAgIASEgBFqAQL2TaTaYuLbGZNogJXkQx2zF8Y78/vPPP/vNOa6EHDtlSZzC4WAzuswyy/hLzzzzjN+YhcK/sY5iMbKNb/g7BBHy09x72bxxXA8kNBZLTAXZOeCAAzzpjWXffff1BACMUsKmEFKJm3wobPzZaIYbQTbRWE0gdDHZsXshU2YBTJHpUlOds3RTca1Y/yAARsBRMoAL8cKhZRHiABFJWaMeeOABrwwxQkSWbOpk820kEDywYrJRDqUUmYaQQpg5EiwkXMTVQtaIeS5klYoxOf/88x2J9ooJCgE2+fG4hffsv//+7qyzzkpWw3XmBmQBBULqnGXeG8jfV1995UmfvR+QQI5lMyXT5Zdf3pAJm9923nlnN/XUU/tzkeN5B2FDcRIKlkSeExJxFD1c43iqFEHnfkg6ypFSgiW1kAU1T7y01U8uhlCJY9cZc94JFE/8HWNJO++44w63/PLLN2kqcwKrpZG8Dz74wPHOx4n77Mb4nHGup8g01lTWHuaJCfOKEBEIsOEHicN6izCHIXbxEXz8xtry4IMPNgo/sHohsIx5XslLpkut7fY81iLeBTsLHoxQCkw33XRekWDvI8oYjuszyy/vNN8N7ovXM46iW2qppZLvITkJ6DPrOoQ5lj333NMrsYjRTwntAwPeBdafQoLCjzAEiRAQAkJACAgBIVBFBOqVTOMCiCWMjQtSiEzzW6FjjYxMU4bNJ9a6eFMVkmnI2FprreWfx2YKSxsWbiymWKZiws4mGksVrqotuZfnpaxicZZnMAitRuG0g+RAYrAixcKGG4ugCS6NWIhDLMIyEIMNN9ywUTXEjU488cSeVBlZKkSm2eCyscUqs8ceezRpT0xwIEwcQxS2J8xkDnkmOZsJZAHrUSiQMsizCWPDhheSBZlbccUVveXQBCsXll2TUmTaypH1GQUOwsa9X79+uV2ArQ76CcFJWUFjsOg7BAgrbUp23HHHJpmqIaqPPvpoQ3EIFf0PJSaqnG09+eSTe4UApMvcXWNcY9ziOcD9KEao3wTSHnqVcJ0QAEgP7/niiy/e6Fg47kXRw+/FMvtb/a+++mpB7wvcqPFgySMoeVIEiTnP0VoIczpWFnA9RYLtmcxv+sQ6QtLFmIwPGDDArzv33ntv0iU9RaZRlqBMMeH9AGeE+rAwI3hkMO9xQTbh6K2U8q4QRihlCiltUveUItPlrO2UBe/QsovSwNYVvC9CDwqsvqwdYdhAiEeeeUAdfFMQjlkLj6YL70chx9qPci4WlIF8L5gXrKV4IcTfno6WWC4PdiojBISAEBACQqDdIVBvZJqNDBaxESNGNNp0FiPTbLiwyMQSkml+w0X5/vvvb1QsJNN2RE5MPnHJY0MZC2QK91akJfdyPxsuSGwoMZkmk3PK0gHBxnKNoICIXWPZ9LGZMwmPF7NrWG/NhRrcYvIGGWIMQkmR6bhc//79vTUvFCw/9MUES3e4IYVYsEk2SZGlcNywTKIcCElK3I4Yl1ARwnPykGmst1jEuBerEwmvmiuFMk+n6mPTDT4rrLBCk58LEUlims1VnHjaGWecsQl5RxFkVks73xjyDvkwQXERWudiAoDXAJbvUCCFRnDwqsCKHUpM9uM6wBdClje2lLkbu1Lb83h+Xo+BQu73eB7gLo7gOpxqF8/AA+a6665rZK2HVBE+gkDId9lll0ZYoCw877zzGq7xHp9xxhmNysSYoyAIyTGFzRWdv5mbYGyCUpC1xCSl3OA31jKURbHnSLlJ2AqR6eas7bTb1lhrP+/7JJNM4v/J3GZ+hUQV/EJFQ6F3DQUkyhrqDxWl4Zjceuutrk+fPk3eu3BtxtK/6aabNikD7hB/lFSEJVlcfFjQlEpNbtYFISAEhIAQEAJCoDII1BuZLoRaMTLNPakEQTGZTlmeQlJmSYxwxbS4WqyHEI5UjCeE39yNW3Iv7Q/PEjYMYjLNZj0+Fgk3dOIlTbBCxe6moaWFcri1mzu13cdmEuuwCRaXsM/EtOLqHkqpBGSU5TnmRh/ea0SOtuMqHQrulbiwmmDRwyoeChvhF154wY87liMsSKEQw4o7rUmp55Qi0ygEUAxAmpgzqWPdyn3jsfpCXgq51Mf1sfFPuYdjdQ4td9yHhwJu8giEg3juOEwBkmzkjo0/7tax10DK8k0MP6EPCK7hzN1QGA87M/2+++5zxDOHgis+buQmeIHER4OVE+tciPBQP1m+8yaoYt7FsePUEb5jP/30U5Kc25xlroI72PLeQexQ4kEA55hjjiYKDbwnuG6S55xplGUoh0IJ+8n6FSY/Y86iBLAkgIWsrUbsWENwwUY5hXs3VulyEpEVItOF3o9CazvzjHU4fD9471l3Q0lZ2kOPhNBrKLVGQHQtHAQlEMpTWwuZh3FICGVQGJngiRGunXadJHRhIjgSKcbvYC2eSFHuOqjyQkAICAEhIASqikC9kWmsQ1j/sLRgXbDNR2uQaZ7F5jYkd7FlzgYbS15oDWvJvdTZXDIdb+ws63M4KXH1JNOvCZb/OGYztFJSLuV2DlEI3SfzkOkvv/yykcuvtQFLPtb4lGWT2NTYup7aiNIn+obyIHTh5hkQ/zDxGtmJQ9JCmdDiV4xMQ2LN0jVs2LCG5EKVePHBB5KechVN1Z/afGMNjRPnhQqUQq7JZnElphdyzLx/4oknGj02dhGPj5oyj4zwptAtOBUyEJNpiDUxrKGEhLwUzoX6x32QXyyDeQQSnHIrDz0lCpHpOP6VsJKQxKdIMiQXy3koebJ5p1zrw3qIgY+zUofvQ4pMx0o52hT3IQ+GlClEpstd2+MQA+om3CQ8Vo5rEP44n0R4HnshMg1JDz1wUEjEWeVTZJoQFhQ4JoVi9lFihZIi/aEyNy++KicEhIAQEAJCQAiUgUC9kWksb7ahZePKxhELSWuQ6XhYUhtgysRu06nhLPfeSpFpsJp77rkbNSl2E8UlMU5CFFumY0s/rre4DofX85BpGpLyGjDX9Dzu7dSRUgCQMAlyl3Lxj5UDhUi9eS8UItO0M8yADCEgIVelBWUAigX6VExSljninXHjji3ceAWQZMmszql6IQIQD1xdIfR9+/ZtUoy5TLIxFBqMF27OPAvrHBbYOLtySKZRijFPQonJNMoTy41g5QpZ4VN9IEldoURtobt7qTEj/t2SXIVlwzEvRKZLuesSZgEJC4XMz8OHD290rRSZLhTSEh4RCAmO8zuEY5si08zxlFW+FGap30vFTHNPnrUd9/c4g37ssk5dqUR8vEt2SkKKTKc8bVJ9yUOmC60dItPNmT26RwgIASEgBIRAhRGoZzINlOba3Npkmo0QlrrYfZY2xcQzHvLm3NuaZDplyQzjXEmYBDkLJZX0Ky+ZTmVJtrhEiH+ckCm0KlkbUq7pbLZ79+6dPOqKJGvh+dSFSJBZegttiFOvc5yEq5xXnrlBnDNu1+YqHd5PVvhjjjmmKKlOEbeUVRXFFHWR9RjrKkqV2D0Y69/RRx/t53kpKy4kDXJB/1MZoa0fIZnG2kdseTjGMYlMtZ12YcnLK4WOtYqVKsXqC5PLheU4PszCCArNo9D1PfWMOGEYZWIrP9dKkWk8YFLnrnMUU0qpZG1hHthRTCkyHYdW5MU9VS4Pmc6ztqe8gggHiOdwqj+h9ThFplNKqVRfRKZbMhN0rxAQAkJACAiBdoBAvZNpyzLc2mQ6FZ/MdMhjwWnOva1JpslujYsv8awmobU9ZSlMHeOSl0xDeLFshkISNBK9pdy341hx7kvFBRNXzTnKqXOjIW9h3KjNo/iVhkSS2KscMo17LqQnrD/vUkEcJcmTyLYcJ+4K64BMEs+cOtKK+O/4CLcUCaOdYMy7g1sqcfDx2baECTAPcKtn3FOCe//111/vIJXWHtzrITHMpdiqHGd/Zu7EzyXeHSULFm6sqmEsKX3D3dxifPNgWygTN5b+vOf5prwfeHbo2t9cMo3CIsyoT71kn4fohVKKTH/66ac+tCGWeL4Xw6y9kOlSazvz37KoW39SlukUtqFrvsh0njdIZYSAEBACQkAI1CgC9U6mGVY23WyI4+N1wiGvRAIyqw/XX6x48dFFkBNib4tlGW7uva1JpuknJIgkVZYFnGsQKzbqYfwh/0Y5kMoknZdME1seuwKbdTcVR0gMbRwDnHoWrrO0OU5ORl+IHWcMTbDmYqGNBfdvXIQLkWmSC9H3eC5gCYTwxTGWpZYhI9N5jsWBuEEscZUOpdBZ3SnrPffhok98OeQ0dTwcZcwlPG4/btJY+cKYdNpOnDLZiS3xXnhf6iglLMQktbLEd7SJOU+94dnOZE4mA3LsGVEK10Jnd9s58KXuh9SjbIiFdpLMyqy+zSXTlgk+rD8Vp1yKTKeS8VFnOQnb2guZLrW2pxILEo7AKQqhpDKgcy64nSIgMl1q9ut3ISAEhIAQEAI1jIDItHO47EJaip0XW0kynTo6iinG2ca4HpoQk8exLOGxWc29t7XJNH2AUNN2iAiCsoDERZypjZWOjNVkYoaApSQvmU6VM8tkKt4RMk8W6VBS7uCWeTplURw1alSjo6tSFr0wAVSxBGRYgsOjhqxdpazLKcyMTPNbnky+nBeNO3AohayQqWOEuC886i2VCbpY/CjnPcdx3OExannJNO3giChcvC22G6JKFmTGD1dwlGapM5zzLO+4kxMfHise8uQ3oP5CSczid765ZDoVMx0em2V9LEWmKZd6F8zTIw9W7YlMF1vbU5iRdRsviVBSc5q8BsS6IyLTeWaFyggBISAEhIAQqFEERKbzDWyKTMdnzJY6GosnxcfK2NPZ+L7++usNGXqx9BH3GiZTasm9rU2mIbO4UULoIDVYWeebb758YP//UnnINCQnPB7GHmBjg4UaV+1QcH+GqJqkzpKlzbgGo2RJxVZy1m5IzFKJsEjEhtUdKXU0Fkc9hcd1WdvirO6lAAzJNESPbNipuWv1xEoAFABk307dU8i6GlrpUy7XKFP22GOPJk0vNJ/DI+fykGmsqVgZLSEUY0uCqHKt+qWwZU5D1mMJj0kqVEfqCDDeeeLbw/nbXDKdmn+0JT4+Kc/RWKmwiUJnc5OwDPd9PHvsOLf2RKaLjWkqA398Rjn3p9bO8NxtkelSb45+FwJCQAgIASFQwwjUKpkulO16p512ahInl2d4U9aa8DgYCAhusHGW2zDxFs/ZbLPNmhy9wnXiSjkv1oTkTpCQMHFPS+5NJT+KY4dTxDM+GiuVzTs+GgurbZj9t7kZqlNkOnZBThGc8AxkrOMcbRWeex1ne04lXQqzE6eszgMHDnRkZzZJYRcmpyp0vI2d3wvpYf7Elk9IDEqWQtmk47kbkml+44xljvYpJPHxQLiu4sJaSGLFQhg7yj0kEYtdvTlKKeUCjwU6PP7NnmleBSg5eF9jt9vYzTsmqnakWZ73utwyKZffUh4EqfmF0oLzjOPzgzmvORXmUSprOKQWoh+6tNO3OKQh5dkSnxPNOwahjiV+j1FioDAjQ3loqT3kkEOahMyQNZvzlSshlVzbifcno74J7xsJEkOJ1/4Yh3vuucehSA0l5RWQ6nvq6Lf4aCxl867ErFEdQkAICAEhIASqhECtkmmO1Aldpg0+XE7ZjJWTfIh7U0cskWTrsMMOc5BHrIoxkeY+EtqQFZrzRrFmptx5Q8LKppjNqG3wjBi25F7qxIU9jssNj3ehrRD3+PiaOPYWS2mcBTk+zzaVPZn4zVlmmcXHH2Mx5Ixc7oMw899CCy3UZExSZDq2KscumJB4lBzhGbyQFlx0QwkJHm6d4ZFNtBW33NA6CxEI3e3jeNSY0IWuzzy3EAEIXaqxUoZnV1t7mWecp1zMwmxlYzLNdZQmnLMc388mnX4YAYOMke07xC5edmLlhZ3nHZYLxyTlNmtlC1l6wQD3f451Yr7Fgls67zax5vSJ2OpQIEQoUDj/Gasv8cj8n3PAybLMf4VCC0otsyhFeKfjs4jvv/9+h8t6LJRfeeWVGylzmPdDhw5N5gmgz8suu2yTevKcF5xSTvD+otCD3BHeAPlNCfOLeWZzpJDijnr4jVwAvDd4K8RjnPLQWXfddd3dd99dCt5cv1dybaf9Xbt2bbQ2hknlYu8Jxo48B8wxkzPOOKNRbojwXUx5zYSdTCln4rAI1m2yyceCZR3vJZPUqQblJMjLBb4KCQEhIASEgBAQAo0RqCUyDTnAnRhygNtsIcH9lWRFJCGCTOQh1ikSWc5cYlOGtSe2PFIHlg42RRArLNQh6WXTvskmm3jC2Zx7OX4LIphyIcaijCWSdmHBwsIWE27aR5Zl3HSxtEL0UwQHokkZNqbbbLONTxxVjrDZvvrqqxtZMMM+s3m1tkEOiIMlg3RoRWUTCl4pd/LYcrz55pv7bNeQauaD1Q1elI0JGhZX8AmT1J100km+r8y50JWc7NMoQ8iqjTAfydKewg3LK1Y7lAAoTGhXagyYzyg/rM5C2KbINGWxIGNJJ14dckk8OOVNfCoAACAASURBVIqgN954w1eFkgcLYypzefwsG5fQFT4sE7p6FzuCimzLZCxP9dfqs2zgqf6iJIA0Ew9drth7Ve59lEc5hYXX3MqtDuYT7wCWZeYLignmZ2gthsjfcsstntjHAhnGXT11Fjj38e6Rdb5YbodUjoC8fQyVeljCUZrZ/ChUBxnDeQ9RFpKEj3WkkGcDeOGJwDtWrlRzbUfRhSu3ZZJnHcGjA28KxtPGg/mO8siSJTLGrBVk+05lxeddZn1AmTLZZJM16jLvKce/oXiKz2+nIOsHio/333/frzmDBg1qAhlKDI4kI7EdngFh6IoVBmvWDsZWIgSEgBAQAkJACFQBgVoi0ySbyUMGQhjDZEel4GXDwmY13vywUTn33HO95RKXP6wXbLhwD8QaCzHDzZpkYuUKRI0NdB7CH9fNvbiYsukqJhD91OY+vIckWWwwi5HkAQMGeIKG1a05mzesaFh9zDpmpA3SxKaU81/jY5KsjWxoeXYxSxB14+IdZo4O+8hmlHqKWWaJj6SOFAFk3HFJRvkRSuoInvB33Dqx8sUb7njM8rgvG5mGfHFmLsoZCEAhoc1Y1lDo5J1jzAPqjj0b7Bnm6s18Z24VO58YiyvKnBhPCA1KHKylWKnDY9ZoM4oXcEMKZRkv9a615Dxv6mY+QarzKI5QloAXpK0QHinLYtyHUm74lEcpEoYgWB2QO8iXKR/Mgs97h2KNNoahJswliBzvRCx2LBrrofUn5e6cGgPc98uVaq/trOkotcAuJSjcWP/DcAvO/s7j4ZDKZJ+K146f+9JLL/mklPHxXWE51ly8BeI1JywTew6Vi73KCwEhIASEgBAQAkUQqCUy3RoDzQYKixObLzZWkGYjQVyHzC2++OJFCURrtLMtn0GcMpv5PCQjbieuzrh8I0OGDPEW+TCuFAsVbtwQS56DpZXNZDECHD8DF1Ws/K+99pq3IvIMkieVcsm0eiADbIZpB4QKRQR1QEryEtJqjQ9WUzbfeFyADQJmuLqD2ddff+2VOngQoOwhu3q5Qn4AFBwkWIst+FYXRynhZh2HBKSehSs0VnuIN1ZXxgLCZ0oVyDnWQax/kD6ODQvdXnHJh6QWs3CnnhsmiCsXg7A8FnaUTcwp2sD8mnTSSX0bUe5hmWzOmeEtaROYYnEl3p85busU7wyWZJQtjH8eISkafePdhDxyL3M9T9hBnvrbUxmS39FP+gtWFoKSOtasPbVbbRECQkAICAEhIATaCAGR6TYCvoYfC6HASmyJo9h8Q6xCgfRBOuI48zCRUQ1DpK5VEAEs71gV8cLACrfYYos1qR2SRJhC6FUii10FB0FVCQEhIASEgBAQAkKgHhEQma7HUa9unzkyCmshsv322zfJxhw+nbOBw5jXOPt5dVuq2js6AnHSLTsbPNUvLNyQbsIFEBKukfBLIgSEgBAQAkJACAgBISAEmoWAyHSzYNNNBRDAjTiMK8Sl1GJbC4EWxoqWOgJIwAuBEIH+/fv7JHoIMb8cI1ZMwrheEmXZvUJVCAgBISAEhIAQEAJCQAiUjYDIdNmQ6YYiCGD9I5u2Zbcl2y+JnlKJeojF5Lgekhgh4fnQAlkI5EGABFlkuTYhzr5Pnz7JW4kb50gtEkIRe03Me54EUnnaoTJCQAgIASEgBISAEBACdYiAyHQdDnqVu0zmZc7iDRNCcfQVSZg4Z3rs2LHus88+86SGGFayCpMVudAZuFVurqrvwAigkCGRWJjtm+RYhBqQXI3fmWscMWRHy+EpwdFDeRNwdWB41HQhIASEgBAQAkJACAiBaiIgMl1NdOu3bo7V4SzfYcOG+azZxEaTYRghYzNEh6znZGbecMMNmyQoq1/k1PPmIIBi5u6773ajRo3yFucxY8b4ashcjvUZRQ5nUq+55pp+3kmEgBAQAkJACAgBISAEhECLERCZbjGEqkAICAEhIASEgBAQAkJACAgBISAE6g0Bkel6G3H1VwgIASEgBISAEBACQkAICAEhIARajIDIdIshVAVCQAgIASEgBISAEBACQkAICAEhUG8IiEzX24irv0JACAgBISAEhIAQEAJCQAgIASHQYgREplsMoSoQAkJACAgBISAEhIAQEAJCQAgIgXpDQGS63kZc/RUCQkAICAEhIASEgBAQAkJACAiBFiMgMt1iCFWBEBACQkAICAEhIASEgBAQAkJACNQbAiLT9Tbi6q8QEAJCQAgIASEgBISAEBACQkAItBgBkekWQ6gKhIAQEAJCQAgIASEgBISAEBACQqDeEBCZrrcRV3+FgBAQAkJACAgBISAEhIAQEAJCoMUIiEy3GEJVIASEgBAQAkJACAgBISAEhIAQEAL1hoDIdL2NuPorBISAEBACQkAICAEhIASEgBAQAi1GQGS6xRCqAiEgBISAEBACQkAICAEhIASEgBCoNwREputtxNVfISAEhIAQEAJCQAgIASEgBISAEGgxAiLTLYZQFQgBISAEhIAQEAJCQAgIASEgBIRAvSEgMl1vI67+CgEhIASEgBAQAkJACAgBISAEhECLERCZbjGEqkAICAEhIASEgBAQAkJACAgBISAE6g0Bkel6G3H1VwgIASEgBISAEBACQkAICAEhIARajIDIdIshVAVCQAgIASEgBISAEBACQkAICAEhUG8IiEzX24irv0JACAgBISAEhIAQEAJCQAgIASHQYgREplsMoSoQAkJACAgBISAEhIAQEAJCQAgIgXpDQGS63kZc/RUCQkAICAEhIASEgBAQAkJACAiBFiMgMt1iCFWBEBACQkAICAEhIASEgBAQAkJACNQbAiLT9Tbi6q8QEAJCQAgIASEgBISAEBACQkAItBgBkekWQ6gKhIAQEAJCQAgIASEgBISAEBACQqDeEBCZrrcRV3+FgBAQAkKgVhB47rmX3OjRH7oJJhjfjRnzRa10S/0QAkJACJSNwIwzzuD++edf17VrF7fMMouWfb9uEALNQkBkulmw6SYhIASEgBAQAm2KwMCBN7n555/HTT31VG766adp07bo4UJACAiBtkbg33//dV9//Z377rvv3Vtvvev69dukrZuk59cDAiLT9TDK6qMQEAJCQAjUEgIQ6aWXXtR17jxDLXVLfRECQkAIVASBMWPGuhdffE2EuiJoqpKiCIhMa4IIASEgBISAEOg4CDz77EiXGWDc3HN36TiNVkuFgBAQAq2MwOjR77vxxx/PLbvs4q38ZD2urhAQma6r4VZnhYAQEAJCoIMjMGjQHW6xxRaSa3cHH0c1XwgIgeoi8NVX37iXXnrDbbll7+o+SLXXNwK1Rqb/+OOP5IBOMMEEbrzxxmv47c8//8w0+5lqP5CJJpqoopPh888/dz/++KObZ555itb7119/ZQkT/mlS5j/Z4Ew44YQF7/3555/dY4895n755Re3ySaKC6nU4H399dfuvvvuc3369HGTTjpppapVPTWIQKF3kHfylltucUsuuaRbYIEFarDnHa9LtTQmN954t+vZc4WONwhqsRAQAkKgFRFgn//YY8PcZput14pP1aPqDoFaItPffvut69atm/vii8YZTddaay136qmnukUWWaRhfA8++GB31VVXNZTt1KmTe/TRRyu28WXjNuOMM3oy/eqrr7qFFlqo4Nw6+uij3cUXX9yk3XbDSiut5OjD7rvv7qaZZposY+sYt9NOO7l77rnHF9l8883d4MGD627uVrrDEOgBAwa4p59+2lf93XffZYl9pq70Y1RfDSBQ6h285JJL3K677upmnXVW9/HHH9dAjzt+F2ppTM4+e2Bmadmw4w9KB+gBim7+QyEvqQ0EMLpU2nhSG8jUZi8GDbrd7bvv9rXZOfWqfSBQS2QaRFkkjz/+eHfCCSd4gKecckr3zTffJD+E559/vttrr73c3nvv7c4888wsrmL8ig3KyJEj3RJLLOHru+mmm0pajj/88EM3xxxz+PK9evVyl112mePaK6+84g466CBPyunLiy++mKX87+p++OEHt9tuu7lBgwaJTFdo1H7//Xc3bNiwzOLT09eI1XGyySarUO3toxqs7tNNN137aEwHb0WxdxCPEebR1ltv7a655pqq9RSFD+tCJdeuqjW2jSturTFpjW6WS6bHedvcm31TPnC//vqLm2WWWV337itmCua2PTrm5ZdfKqhEBke+dXPOOVdrQJp8Bh5sq622cpYd+JtMyfqs++9//1u1tnz++Zjse369f8Zss83e8Bz+BofWIvP9+m2TucWOdCNHvlpWXzFmvPDC87nuWXXV1XKvWZ999pkbMeKFzCjxivcuZM4uvfTSboYZOjV6Vt52v/PO227ttddwyy+/grvuOhkhcg1YBy8kMt3BB7AjNL/WyDSYo0XeeOON3R133OGH4Oyzz3b77LNPo+GAKGHFXnjhhd3dd9/dyAW8EuP21ltv+fqR22+/3W2wwQYlq+3cubPfWECSL7zwwobyH3zwgbeqQ6j5/8svv+x/o8wee+whMl0S2fwF8CiYfPLJ/Q2//fabm3jiifPf3M5L4nb8+OOPu3PPPbedt7TjNK/YO8hGvFiYRkt7yfzs3r2791DBC0ZSGoFqj0npFlSmRDlk+pZbbs68mnZNPni99dZ3l1xyeasRtbgRu+66k7vttlsLgnLMMcdl38M9KgNaM2r5+eef3FxzjUvy9sILL2Ukd7Zm1JLvlmuvvdodcMD+BQtfcMFF7n//2zRfZS0otf7667jhw59zY8d+XVYtzz8/3K23Xq9c97z//se5FNV33nlH5oXX1KI4xRRTuEsvvSJTdKze8Ly87X722WHZfmw916XLHFk/R5RsL/vJ008/NSPvM2RZoXcoWV4F2h8CItPtb0xqrkW1SKYZpNjl++23324Uu4y1F9fq0aNHO1y8Ky0//fSTtxiN+wi/4GMnS8l8883naCfu3BdccEGj4ttss4279tpr/TU0tTPNNFO2CRrnSio371LI5v/9119/bfjI4+VQTTKUv1UtL2nKHTwxRKZbjqfV0JbvIOvERRdd5MM+RKYrN6Ydoaa8ZPrJJ5/ICNhGvku77LKbW3nlVbKkZdO7p5560l1//XXu3XdHu2237ZeFQZ3eJt02Mj1gwMnZEV+dm7QBhfQ888zbJm2zh37yySeZYvXXzDpcPPdJSxtpZLpnz1UbSBseBQ8//GCm8L/LV3/nnfdkWYmXa+mjit6fl5TGleCp8/jjjzVc/uOP370SZ+aZZ3bHHTegUfFevdYpqcAZMWKEW2edNf19p5xyWmZJ7p4ZSv7O8Hgo8z481l8fNmx4puyY2/9dTruxcs8008z+XSgl5LSZZZbOWQjgglko4BOliuv3doiAyHQ7HJRaa1KtkmnG6aGHHnJrrLGGHzIsOFjlcIdkkV5qqaXcDTfckCUl2KzRkJI0DPL76aefZseOzJ1tPlZuQqjQVBJXS4z1nHPO6cvhos1HI5SppprKW5PzbnaLkWks60aC3nzzTUfZYht5PgBYsInXxj1shRVWyD46Td3lnnnmGe/a/OWXX3pL+mqrrZbUvvNMLP3EEGMdRzMcxqDT7zzYFXp/sMjfdtttDiXEoosu6gktbQ4lT/3vvfeee+CBB7ySARfYhx9+2LdrnXXW8WMVC+SZsXz++ef9Zo55Yh4Fecg07SXWesMNN3RYvYYPH+7wJOjdu7ebdtpp/eP+/vtvX/+oUaP8vMMbIhbqYV5CelHuMO+Ij88j33//vbv11lvd+++/7xOmobhh3pPADnnjjTe8yzEYr7/++l5Zw9yM8aUs88Zixu3ZlF188XHHShBmwJxGSKyFtt6EthOW8NVXX3kMCXMIY87BCbwR5u+CCy7o37PnnnuuoY7FFlus0Txl7O6880638847e2yoY9111y2Z1C/PXCmFmzWKdwilG2P8xBNPuNdeey2LV93Sj0+xd3Ds2LHu3nvvzTbG/ZoMI30hFAQ8mA/Mi1gKvROsPygDzzjjDH8LoR60hXEPxyM1d9jwMkd5NmvW6quvnpxnjDFlXn/9dT+PaWMqkVqe9w1CwDsZCv0lMSOhFcxdk1VXXbWBVOVZw1CaYpnnPjbGzF3maI8ePbwraCwtGRPa+sgjj3i8ll12Wb+28m/mMutmKgaT+Q3ejDd9Jv9Fytslz3wI+5KHTEMCV165u19TL7tsYLYmNfaO+vLLL9wqq/TI3tcvPZmGVJswxyxhJx4QY8d+7l3Di7kaM168d+QJyCtGpkNSlLqXJEL8FyYRtXKWSNTWOytbqA1WRyrpp91DXXF9dl/cFr4zvMcotOye1LPBe7zxxm8Is+H54XOMTJ999nluiy22bFTFEUccmo3hpW6//fq7Qw45rEn1fGOYa7PMMktJ9+lSZQuR0mJjkOov38/ZZpvJu2U/+OAjeadEQ7kTTzzenXPO2e788y/MwuQa79MGDrzcHXrowdk6eIjr3/9Af0/c7i++GJu9a5Mk857E2Md9w+WesenUqbP/rtMPyPTDDz/mn5Wah2V3UDe0GgIi060Gdf0+qJbJNKOKJY7YaAQyigs1m06IFe7XoZCQjPjptdde2ycNevbZZz1hhOQZEWUzCglYZZVVPBGnjiuuuMKXYbMdyoorrug3d3y88iy+xcj08ssv79uDsKlj41ZoI8+GkezebILoJwSEzfEpp5ziN+Em+++/vzvrrLMarOAnnXSSg2BArumjyaabbuoJIknb3n33Xf///fbbz8eZm+TBrtBbxvgQ537iiSf6jWb//v39xpiNfN762awfeuihfiONMC7xeEBmjShThs0m7vdsAiFrkCS8FUz4iBbaPNI2+j9w4EBfHIxJCkedJiSFg0xut912jeICr7vuOrfVVls1lINoE5aAEoF5ctddd3mvhiFDhrg11xynmS8kkDxIK8SBuX7zzTd7crXnnnu68847z9/GWFEXbWOjy3OY1+AdC1iQEM9+g0BRD2QFQUFFWyFtYAzJYm7tu+++HgtihCeZZBKvqEJ4NyzTPGPE75BExvj000/3m2/K0kaEXAE77rijJ1/MC8MCTw28M5DlllvOz9FCkmcu5sGNZ1599dVeEUIfUCrQH+SII47wczb1DjIGV155pZ8TSHhqABvMAw44wK8XED7eaQgp9RNbDXZIsXeC9hx55JHu/vvv92VRnLAenHzyyUUTHaI422ijjXwyQ9aTyy+/3L8vRx11lDv22HGWHhtj5ifkgLUQpaFhQLtQ9pTzvkHmWFtsTqGIYOzxrmG+8c4xd/v27evnGjGjpdYwFEeEuBjGjAvJA8HSJHzPWjImYMs7zHxnrh922GFeUWkJIHke7/6ll17aaEryb8aadxFFHWPG/YQVoRBC8s6HeK7nIdM333xj9uzds7btnOUQOSn5uhCLus46a3mL9U033eLLmGst1sCnn37K/9sE8rL//gc0Io0ffPB+NrYneIshYz399DP4dfWoo45tmM/Jh2cX85LpSy65KKvviGxtu7GRay9hOXPOOZu/xm9Iz549MgXi/307wmfPPXdX98wzz2XK4y+yd2X+Qs1yO+ywY9anU/zvPXqs4Inqu+9+6P992GEHZ+vA5e7GG4dkc+74TIE4LuwKBTPEr1evcWNrMnjwoGxuXNzQpiWXXCpbOwZ43Ndcc+3M4+x6X7QYmcYVHqzwLjjuuHH5YBCwx0r72GOPeuxpA/HIhx9+ZKYsa6w8zls2Rabvuedut/3222aGg66ZUv2uJvHKKSBbSqZ3222XTNE2JPt23ZYpoXo0egTKi/feezf7Tk7lZp99XHy5tfvee+/P9nm7+PwACCT40ksvb/BwwHCw0ELdvHIJJVM4pgMHXp2thUf7e9dZZ13vjXDuuWc36V65LvApfHStOAK8Vw899KAP80idqsIcuOiiCzKF8Bolcz+ITGu2VR2BWifTxEZDHGyTtcMOO/iEYFhaQ0syZIMNrWXeRnP5v//9z296sVZikYLokBUcMsmmiA8XG2U2Rlif4uOp2PxDpiGgeaQQmYbcHHfccf//g3ut33QiqY08m1PI0jLLLOPJDdpVs8RzDxtwCBqbeDbUITFhwwlxpn9szBErZ/dx7bTTTvPk2lzR82KXwgAc0aZjeYec2DPZzBtueeqnHkgkVleEMUd5QrItrNSMA//HLRZB0YDCgA8+Y26JZdiAQ/iQYmQaV3sw2X77cfFckFRIHNYnLIbWl3nnndcTBHCGiBx++OGejEAWEEs8B/liw44Q4w+5hFBjsYJ0FBIs7hCKcHzwlGC+h9nIIQAQGiOxBSv8/z+giMATgbnN5t+E+YWlEpIJMUPWW289Tyzw/IAgIk8++WTD31hnSaqHmIdF3A5TPBmZxirK/DLyirKAdwycIPY2P+N+5JkrvMd5cKMPKJ9MiQUJZM7Qd55P/1PvIETrwQcfdAceOM5iEpJpSCPWTIgtihYsq8xVFB1G0PO8E5SB3CNYfs0LotC4Msd5DoSTuYDYu83fkFMs1XgJMFfBGMUJ6wdjznxgjPntqaee8hv3ct43MIDEgwvvjI0rz4aos16BBe9hnjWMeYYHEZZeE5RXtA+lIQQdBaitIS0dE5RnrOemrOP9Zh1GqbDLLrv4Jnz00UcNXj0Qaa4zh5jbCOsm84l2ocwB2zzzITWmecj0kUce7kkcpG+VVcYlVYyFcenadQ5/efToD3ybbr31lmwDu7P/vnXuPKN/v995553My2Lc6REXX3xZNvc39n+zxkAKcReHfMw//wLZ/H7IezUQ3wu5LGatbSmZ5vs+11yzNyLT11xzVZZ09NtGXR0+/FlP9mnjlVde45NLYumN5aabbvB9gUhDqJGYTBPXDPEFn0UXXSybc8s39JnyxOESj4sYCaUs8elYOu+//z6f0AyPgDxkGoy33HIzn4TrttvuzDyKuvu6IYXrrru2J35rrLFmdu744tn8HOH7yfMhlebGXE7ZmEwPHXpv5rWwtffAgNjShzzSUjJ95ZVXZFb4gzyBv/DCi33/iom1G6x79Fg5a283rwhiPFHwvPDCSE/KUmQ6HFPmPMaSRRZZLNubzOzXp1NOOcmP91577ZvVMYlXakiqi4ApAwkJ4J0N1xH25/36beuYmynPhbhlItPVHSvVniFQ62SaQWbjCiE2CYkL17D0ki1z/vnnb4hL5jruh0bO2ExQBrJpVg4jP1gsqCN2GT/mmGP8hnXo0KG55pqRaQgYm32IFEQYSx7Eig1cmEgttZGHQKMwwL05tC5D8tiw02b6bxtYCIG5Wdrmmk2vtRnyCQZYXki2hKUWIgmZgKyWg10KBNvkY11lo22kgM274Zp3bPhIWvw7JNU01pBciBhzACKAGGHFoop13gRLqZHXYmSa8izolkUZ92Zz3w7j5cNYfTZF5rpNGRKdWSw8lg+ri78txj6eqzGGWIlR+LA5h0QjWBMh1ygQzJXbyDQED4VQKQkVMLiJ824gkAeUTLhyY7HDcoxLO+SLOReKeYWgaICsMXewgPJexGTayLuRaeqBuBgOtMey4xdqezlzMS9u55xzjre68/6hAIk15IW8Q/CCMLdoI9N2jf6j2DHBeokSx5Qspd4J7gvJNKcVlAoJgHyynvBemPWbdpFvAcUi1mfePRRxzGWUhyFRZU6a+y5rDO9TOe8bbaZOwheQsM0ojth4m3Iu7xpGPaxxzE+I/RZbbOHr5l3AhRwJM/K3ZEyoyzx58GJh3E0scSTrF27zvBsQZv4OXdi5Tv8JZbj++ut92AdzpNR8SM33PGQakgsBe/nl1zIvg8IKuT59NsrWxScyRcoL3pppZBpCdv/9DzXMrRtuGJx9f/ZMWvSwtO6887g5jTJkm2228qSuGJGnrJHpk046pYnSEKXXWmuNU8IVskynyHSMFy67q63WM1uvJswURI8VPM3giScezxTiG3uCe/XV1zZ4kxUi01g2Sd5mXmdgA0ZY9Lfbbnv/fZhnnjm94glii0UaQZHLc0jylSLTlEERwf1vvjnKW7Qhcscff2JGqv/Po8kIYOjqzL2nnXaKT5gVxsKXUzYk0/ffP9SPJa7aN9xwc1knQbSUTON1sN12WzfEYTMfUQqhTEB5YIlCbbyt3XhOHHzwoQ3TYO21V/fKnaFDH8zClZYoSqZReKAsCnOlKGY6tQJV/xoeneR7eOYZDCG7Z3uHccYWxBSFzAUUPKVOsxCZrv541f0T6oFMM8hYG9mwsinGlTnUcoXEASKbEjY/ENIbb7zRb0ARSCvkAMtqSiAGWE/CjVexCReSaZ7BRxrreZcuXfwmLI61S23kITYQnEL9gFxB0BBwsA8S5AuLDpaUMGM47u5GSiGjkNAwvrMc7FJ9H2cZ6eotqZAJrLd9+vRp2KCUUz+WLSPjKCAsfhQCDTEAEwgFYqQhds8PE5DxES21SFtcPBawMCbd5hckJPSAsPKQdtpn9RcaLzbwZvlK4ceGi3GETEGUsJriyYBgWWY+IEamsYwxznmEOFCsqKFFH/LPOOGmixAWgeU9ldgsVGKZUqEcMo3yx7LnhtbdQm0vZ67kxQ0XdEgabqtxWAjtKESmUb7ZmFrbQ4+DlLcBJBclFxu5Yu8Ezy2HTKP8Yo2KvQxiHENFUirPgylp7Livct43ngUOCy20kCe/EGeUdGyYcSfHq8Hi8stZw1LvMZswC8+gT5bYqiVjguKIdwfrchziYu8J2fJR0piHDx4qvL+FJO98SMVi5yHTCy7YzVs/P/10bNFY57333iP7rt3QkNzKyPQ+++ybrRtHNjQfUrroogs1ioE1l+oxY75sFMr05JOPZxvhjbP7j8gI+LgQjpSUyuZt7rTNJdMQuj59NvTE9YEHHvaW5JTgVdCz50oZWZzelwuPwCpEpgcPvsm7VJuYe/xee+2TeZkclSkQ38us1ks3Uj5YWQjCRhv1LkimIc8IRNwEqzpKB1OM0C6+Z/H4pshfOWWNlHJsVN++W/j38oYb2bXeOgAAIABJREFUhpR9LFgxMo1i6ZNPPm4yFJNNNnmjvQvrw+233+YGD77ej2EoYAzWJtbu0DOA384883RvWT7vvAsyY8jmRcl0aPm3ekWmC76+Vf+B7xxJ6Ng/WC6Bq64amClLDvTz5N57H2hI9FusMSLTVR8qPaBeyLRt+iHTxD2HYhtmYm5TcaRhWbTKkAtIiwmWTSzGsTsbZAYrE+6beaRYzHTq/tRG3lx86aNlEy/0bCx5uFvi/osbLq6WWKBDMs29kCXwM6EMG0XqLwe7Qu1gI01iLEtsBWnHmgyhKKf+Qpt7LLS4WhqZDjfbMQkOyXSeWPdCZNquFyLTEBw+0igqcGEmSVFzBRdUSCqurIcccoiPveVM3RSZDl34Sz0vTOAHKSEpHP166aWXvDICIWQAixzWNSPxVi9WI9sUWpxoOWQ6tIbmIdPlzBXamAc3U55VgkyTrwH3Y9zyIabFpNg7wX0hmTb36EL1oRCB8BGGQohLIQmVH7wHZsG28sT8nnDCCd5DAMVF3vctfJ65P2ORJUcBY8b6Gc7/ctawFJkOPUZKkelyxqQQmbZ3wMi0zXE8eai/kJTz7LiOPGQaIvTggw/485GLZaJeY41VfdzvqFHveGWkkelUIqzOnadryGps8cq0DTfaUCDxCJa+K664qiAGRqZPP/3MJtZzlMl29FFzybTFN6f6Yo1irvfuva7H4LHHnvSu6qEUItNx0jQyRK++ek8f48mRXuYeHVuOqdtcjUu5eTOXmcPXXXdN9s09zbtaP/rokz67OEd2QXSHDn2oCb42phxB9e+//+QuyxpvpNQqPeec8zMDwjivj3KkGJk+66wzMu+2pjk7sN5jxU8J4SwvvDA8MwYMzDAYl9AM5cL2249zx7d2f/75V432YpDxXXbZMSPV52S5SvoWJdPPPvt8k3PNRabLGfXKl8Wgg3cB3kx77bV35hF5jveQYN7nPapOZLry46IaIwREpp13uSP+DUJH5uA8gpUby4oRQGKa2WyGwuYUl0NLnFSq3kqQaRYXLHqljuOCKOKWzgbQ3BPN9Tsm07Sb+ohjRkOIkPSIWFjIRrnYpXBgw0DiKUvqg/UT1yzcT/PWn3dzjyXXLA9s4sOsv5Ui0+b6WYxMs9kgThXJYwVP4WYxrrjrMyfZDFkMc0vJNAQWl1TcfiEIuM7i3m/nnNMec8/GS4OEVqGE2Xch93hXVJNMl/Me58WtkmQa92C8VSCPuI6XkkLvBJ4OIZkOY+NTdULeCRsJPTNS5XjfzJXeYqjDcijQcEknnpD3Mu/7FtaBks8yvKPkQvlDDLWFzFA27xpG2ZaS6XLGJC+Zpk94f6SOOAyxKOfZ8XjlIdO4+uLyC5mF1KbECA9zauTIV30RI9MpEhWS6fAM5tj6zHr28cdYe1dr5Joct6HlMdPjzoEOE5DZM4YMuSlLUrdbyaO/9t9/H39MWBgLHrazEJmOiVdMpl96aWTmpr565hW3bebJ83/JOqn79ddfy6zaK+eKmba2mDs+hH/22bv4WPF8ZPrf3GVTZJrnP/HEM57IlyPFyDTKuJdfHtmkOuKV1113vZKPMetk9+4rZvN1XIK8QlnIRaZLwtnuC/AuofDCAISHJkfElYqhDzslMt3uh7jjN1BkunEiHouNDkeWTSYWHSy4bChxacX1Dk0pVlpchRE09WFMJRsKCEXes4orQaYtsVIhcsMGD+skyXpw/cUN0Y7YSZFpLIq4L2NJIoaYTaIpDXAJx52SRGZIKexSbwuWYSyduHYjKDOwAiIkSyIWN2/95WzuzXJMHHroORCSaTs+o9hbXsgynYdM4+Ztc4MzxC2xnD0PksSGG0KXSuKDphYyDrHC0mHJZipFpmmHWXvxQkDJQhIuyyPA72SCBsMwqZK138625t/mNmxkOo5VT8VMl2uZDhNqFZuLxI3nxa2SZDpMQEWccrwuECsM0USBUeyd4L0th0yH7s1hojobJ3AjoSDKRPMkYH2wcBYrZ/H95tJfzvsWvkO4SePizHxCUWPJHK1M3jWMMWwpmc47JqxPeck0YTSWmDAMN7H+YZ3HUwbFoSUkKzYfbG0MMcxDpkl0tc02fTOPo2UzpentyaO7SFBG/OEGG2yYJSsbl6k+L5mmrBHNd955P9eJFfFampdM21FIYWIw6jJX6phMG7GFbN5++90Fs4pj8e3ffz8f703cd0qaS6b5lswxx6zeav/UU8Ma5TUgA/f5559bFpneeOMNfHZ1c0Uux3W7nLJGSj/44BPvYr3vvnv5hGax+3ux7yK/tSRmmr3GwQcfkHlCTe2t/LFYNnbLzs7vItOlRqRj/04yv8svvzQzuuycS+ES9lZkumOPfYdofb2QaayeuDSn3Lxx3SYumY0PLsYkjbFEVpA93PhIyIVljng+3PMsOzEWXiw+xPziuhvGQuJGykaRM0mLZTS1iWIWmRQRTk0mXEZpC0nR2PQj5kbJ3+HRMBB7SA+khjLmmhjeSxwjx7iEFiw2vVjIwuzJxPBSB7GBELe82KX6gIYawsj/TdjIQ9poC5vdvPWj3DBCGW5isaJBysN+2XwwC7jFNYcEsJTFj/aWcvMOM/yG5W2uEI8LYaUdWBDNMkisHPGX2267baNjtEIMzX2da5aFnvtwk6X/jA/JwhA8J3DDzju37DnMG45XsyO/QtJOGVx1LfFanLTKMqOHLtKWDT9Mcoe1EoUJsbSMN9ZPJIyZzqPYyPseg41lWC6FmykTCnmtpN5B2g45sqRt5qLOekDMMAIhRYllhNqIFe8B5Yq9E4RdoKE3N2zWntQZ6uEYoqizvAR4okBkWbtwJ2cNYexQAOF9QjKvVEI5W59QupE3oZz3LZy3jLMlRwyPcLMyedcwyqfIdIhN6ObdkjEBa5LmcRxeHDNNcjcUi+bmHSZAI1cDHiLkNEDZivcEijM8NUhAlmc+xO729DsPmeZ5G2/c23v4kJl6wICTG32HLOEW9d1334MNa085ZNoSWx199LGZkm3PhmHGvfyKKy7LvpcbVsQybW0l8RSxvCZ2FnFIplHyrLpqDx/OhUW1UE4TEhz26rWGVzZg3Syk9G4umaaNxHZiReUZe+yxZzYPpvWu9+edd47vQik3b8qw9tH/zTYbt5bjuo0F+aCDDsjCza705yzjSm6C+zRu1P367ZB9t8clmyynbExKyahNZm2wv/rq60rmEbF2tIRMU4eFKaTOSL/ggvOybxqJHP8vMVW1yDT4zzTTuDCGDz/8tORxb+Fap7/bBwIi0+1jHGq6FfVAptk0Eg9sx5pghYGghWIZn7kG4YYsQ4Sw2pBsiY0UAplmg8aGFCsSG3iIEISBTZKJJf3h3+HRQIUmExt8S5QDoWLDWupsaiOEIUlkI4kV2Y4C46gYrIYkJcNqDlnExdkshLSHvrHxgMwZacJVEcxIaoX1MTx7Gisim34sXmz08mKX6rsljQotYRajbVmk89YfksvQfTuM+TbvgZCogQ/x8uBN9masZQjurMTCx+dVWz9QtBDXjUDYKY+EFrtw7MMxJikaipuQWHAvSaLsrOlSCaPC7ODMGQgf48y4oMShfrJh06fwyC/cjNnM42Fg2bKLLXLEfnKmb6GYW5tL4AjuxDNhWaD9vD9s5i3TOEopU0RBSvDwgPSjBAAf6sD7ASVAGLOdJ5s3fcgzV8rBzSzvrAmWwTzEKvUO8rvFKfN3mLmaLNi0EaGvjBHzlvcVrFC85XknuN/ILcQXpRiEGLKWkrA9/M584R0A89ArgrWN9YT5w3sD2UWYLz179myUaK6c9y1ukyXtCuPvrUzeNYy11zyBwmRfobu6vWctHRPuNwVk+F6G+RfIt8E6gpjyyvpk48y/UZZYpvc88yE1nnnINPd98cVY72rM9wgL6dpr9/LrP+TMzke+6qprGp2NXA6Zjo9cIlsyIQIca4OXw0MPPdokBjXsT17LNGvqUkst5tcJzg3GbZ11mrhkJCTTO+20vT8SibOzObYqFCydO+64k1dsLL30Ej5BW9++2zQh3Ch7LJN4S8g06+C22/b1mc1DwcJOPHehbN6bbTYuySnW7UceebghEdmBBx6cKRsP8r+hzOrVa01/NFbPnqv6xHCMKfHEWGzvuuvehuzb5ZSNSSnvI1mVSQAWZ8pOzU271lIy/dRTT/rkcQhEnrmFPP/8cN9H5tftt9+VKXMX8derRaapm/PamdN4OvTosYpPrCfpOAiITHecseqwLa11Mo0bM5t1I4k2UFjGSOAVkmos12yOQ4F4YEWyrMtYC9lEIhx9wgaWzSdJn0INOBtoSAUSnjWamiicPczG1eKvKcMxNFin4jhsfmNTT7wzG2QTNmuQHixOHOED8eG5JlhIiNe0uCc2V8QpohRAGYBFiiRSkBiuUR6CC3a4t/NRJ2kSigg+zCRgM+sez8iDXarvEAfcOtnUE4cNuQJTLJRhFutS9XNkE1mGqQeBqKAEYWNnihCuQyIgnFiisQzhymrkGcxxocWNmflhsdoW4xm2n+dBBiHDNl5YfsES139rB7/RDixo9MeUHJTDjZ35BgHFlTOco9SBFTfMKpvCj6PL7NxzyDybeTTpEFYIIGMHER63GV2q4fmELcTnoqfq55opAYophew4I56J8gHCgOAxYQoHq585DcFnvjMezH/eKbJlY4lHKcB50eE7Qb30g/6UklJzhftL4UaiLUIceBdMmFN4aIBbsXcQsgyptTnAvGIs8UJgc42Cxs47t7nDu2lJyfK+E2S+Z21CeHcY02LzhfcK8hbOQeLcwTsU3OspZ+sApJ13hnHjXULZ05z3LXwGYw35LJR4r9QaxruCAtMUpMwPPBpYk8A5xJ7xwPLfkjGxo9SsD+Qo4NuActXWD34zUo83At8X3LhtXSc3A9+Jbt26NUCRZz6k5nteMs29o0e/k4WyHNaQtMnqw3X30EMPbzgz2q4bmU6d3zr33F18vO6jjz7R0CxcrU86aYAnjJZ9esUVe2QKheMzD4RxnhiFhJhmYpvjZF6p8oz1nnvu5s8NRljDTz/9LH8Gc0imV1hh2YYycT30mWzP5iZcqF3hsVJkLP/oow+zOj/0xc0aH2eN5ggryloCsrBuCC8kkLV5ueVW8JblBRecL3vn1/HHcCGcXU3dsdDPJZZYMhunPk1i36l3wIDjG7CHYILF4Ycf1cRgkLfsBhuslyn2hmX7iK8bmmLHi6F8wDMAcltKmNuzzjpjwbjuUvfzO+76e++9pz8eLBRI7fnnX9QosV6q3dxz1113Zt/Zftk3Z1wiNfZm88+Pl+EG2Z5oYNExtWfSjsMOO6Qho3iITZ5+qEzbIiAy3bb418XTa51MlzuIuLWSZIvNEG7d8bEkkEqsIVi3IKRYk400x89i0UY7y9EvbSE8H5dDYgvNbT1uR3xEE79DvOzcWrTSuL/xfyz1fKxxZU9ZzUthl8IAy45lzSZrI3+j4Ei53DWn/jy4oxzAMo+rLOOOK3x4nFWeOipRBnyx9KDwsNjVPPUyNmTOtmPBuId/M3fj8zKxpjMf4mPWij0HjwUUL5AsO3IoVZ7NEwoK5hSWnULuldyLVRHCZMosy0idJxwiDyZ55kpe3PI8r9wyWMZwO+Y9A4PwfSrnnWC+sMYUwzpuG/Obe2LvnLgc44MbPwSd8Uy5G5fbbysPqaDt5o1TqJ48a1hz2xDfV2xMmvsM+olCDwwLfSeou9xnl0Omre1YqT/++JNMofOHxx1SXOrov3L6zbzl3WdOQxarJXx7//jj9+xowU65wqeq1Y489Q4adH2WXPJPf250iMnll1+WEd5Dmrho56kzVYZ5xvvKuJbyaCunbHPbU+n7fvrpR+9xRd/mmWfeqs6vYm1n/8c3qpJrYaWxUn1NERCZ1qyoOgIi01WHWA8QAh0WAZQLZOHGewDXf4kQEAJtj0BzyHTbt7r+WmBWbCy5HMs05ZRTZcnInswsopd4Kz7HQHEclEQICIHqISAyXT1sVfP/R0BkWlNBCAiBEAHcKXHjJzkSVjVcq1NZiYWaEBACbYPADTfclbkUr9DuLbNtg077eSreF/vvv28WFjG0SaPiWPX202q1RAjUDgIYBB599JnMxT99PGDt9FQ9aVMERKbbFH49XAi0OwSIxyf+1oQs7+FxWO2uwWqQEKgzBAYPvjPLw7BgllRsmjrrecfsLok/ifUmnGjeeefzoTyTTz55x+yMWi0EOhACX331TXam+agsl4bIdAcato7XVJHpjjdmarEQqCYCWKY5i5nESZyXu+uuu1bzcapbCAiBMhF49tmRWX6Jf7L40TnLvFPFhYAQEAL1g8Dbb7+f5Y8ZPzudZrH66bR62voIiEy3PuZ6ohAQAkJACAiBliBw5ZU3Z1meF8oSQnZuSTW6VwgIASFQkwh8+unn2WkLb2SnhIw7o10iBKqGgMh01aBVxUJACAgBISAEqoYAhHreeefOMmhPlWULn0Yx1FVDWhULASHQERAgRvrrr7/NTqX5PjvN5n0R6Y4waLXQRpHpWhhF9UEICAEhIATqEYHnnhuZxeN+5I+5GjPmi3qEQH0WAkJACHgEZpxxBn/E6dxzzy7Xbs2J1kNAZLr1sNaThIAQEAJCQAgIASEgBISAEBACQqBGEBCZrpGBVDeEgBAQAkJACAgBISAEhIAQEAJCoPUQEJluPaz1JCEgBISAEBACQkAICAEhIASEgBCoEQREpmtkINUNISAEhIAQEAJCQAgIASEgBISAEGg9BESmWw/rtnzS88+/kmU2/MCNHftVWzZDzxYCQqANEejUaTrXrdvc/kglSXEEtGZqhggBIaA1U3NACAiBkgiITJeEqMMXeOGFV9zPP//qundf0k0wwQQdvj/qgBAQAs1D4M8//3JPP/28m2KKKdxSSy3cvErq4C6tmXUwyOqiEMiBgNbMHCCpiBCodwREpmt/BgwefKfbZJN1RKRrf6jVQyFQEgE2h0OG3Ou22KJ3ybL1WkBrZr2OvPotBJoioDVTs0IICIGiCIhM1/4EOfvsgW7ffbev/Y6qh0JACORCQGtCcZiET65ppEJCoG4Q0JpQN0OtjgqB8hEQmS4fs452hz4CHW3E1F4hUF0EtCaITFd3hql2IVBbCGjNrK3xVG+EQEURqGUy/e+//7o///yzEV4TTTRREj/KUT6U8cYbryZco/URqOgro8qEQIdHoNCa8M8//7i//vord//aco387LPP3NChQ93666/vZphhhoY2//zzz+6xxx5zv/zySxbesknuvoQFtWY2CzbdJARqFgGtCTU7tOqYEGg5ArVMpr/55hvXt29fd9999zUANXjwYLf55ps3AW6//fZzV1xxhfvxxx/9b506dXKHHnpo5h69b8tBbuMa9BFo4wHQ44VAO0Og0JrwzDPPuP79+7tnn302V4vXWmstT2jbQjbbbDN30003uZ133tldcsklbsyYMW6nnXZy99xzj28O6zzrfXOkED5//PGHK6SQbc5zdI8QEAIdAwHtozrGOKmVQqBNEKhlMm2Asrlab731GvB98cUX3eKLL94E77Fjx7oZZ5zRzTvvvG7kyJFusskma5MxqfRDy/kIPPTQQw7r1JprrlnpZlSsPixSjE8oU089tR/TySefvGLPUUVCoFYRKLUm7LXXXu7888/33WdNWGKJJfzfeO+gcHznnXfcPvvs45WOjz76aJvAdOqpp7qDDz7YXXrppZ5EIz/88IPbbbfd3KBBgypOpl9//XW3/PLLu1VXXdXdfvvtZfeZti244IJ+bUVx29rC2H366afu888/95b8mWaaqa4VA7/++qv/1q+yyiru2muvbe3h0PM6GAKl1swO1h01VwgIgUoiUA9kGrz+E3R01lln9WRs+umnbwLliiuu6EnZeeedV0mY27Sucj4CnTt3dmwy2Pi1V2HzvMsuuySbt/TSS7uNNtrIb7JxQZUIASHQFIFSa0L4jn3yySdulllmaVLJww8/7I444gg3bNiwNoOY8JwJJ5yw0fMvvPBCt8cee1ScTKM0gEhDwN56662y+/zdd9+5aaaZxrul33nnnWXf39wbHnnkETdgwAD3/PPPN3heWV3bbbedXyu7devW3Oo77H2EAaB8bUvvig4LXh02vNSaWYeQqMtCQAgYAvVEptkEvf32277ra6yxhrv33nubxERvvPHGbqGFFnLHHXdczUyScj4CHYlM77rrrm611Vbz1rL333/fx0maSz9u+2eeeWbNjKE6IgQqiUCpNeHKK690228/7gQArJkzzzxzk8f//vvv3mq97rrrVrJpLa4Ll2/Whmq4eaOEnW222ZKK2FINb20yjQfBQQcd5C6++GKHknHbbbd1iy66qJtyyindiBEj3HPPPect7ChPH3jgAbfccsuV6kJN/S4yXVPDWfXOlFozq94APUAICIH2i0A9ken777/fnXLKKQ5NPXLggQc6XAVD2XTTTb0r3tFHH93o+rvvvutjAz/++GOHZbt79+5JV/FXXnnFJ75hYzJ69Ggfe9ilSxe30korNdT35Zdf+s3Lf//7X399qqmmajJBsHywcWOjs/DCC7ulllqqSZkhQ4Z4Ivm///2vkeU9LljOR6AYmcYKRP9xhU+5wOMejgcA//H3hx9+6KivlLv8Rx995DfrE0wwQa4XxaxmAwcOdP369WsyTiussIL74osv3Iknnujj3lOCtW266aZzk046aclnltu+khWqgBBoYwRKrQmlyPRrr73m14JevXo16gkhGBA1rK+sc1itSWhGmI3FGrM+YuWF7LH+pazexG5zL3VgNUVpBomN5Y033nCszTzPpBCZJjHZ9ddf7wnlsssuW3QEiiVoszUuzxDiUo3lnLUmD5nOuy6BKVjPPvvsBZuxww47ONbI448/3h1yyCHJ9ZU6GEO+Wygi11577WR9hEBhxZ1iiika/c73h/9SXkDh9yC8iXGgPtqeWvO5z+rDQ4p5Es4Rnke7WbunnXbaJu0N7+f7yRjMMcccTb6Rpch0HoyLzYGvv/7afwfD5Hip8n///bd/l5jf448/frI/XAQT+s53lfCK8LtKX+gne41UHXnmqsoUR6DUmin8hIAQqGME6olMs4HD6owbN5sWJE5IliLTt9xyiyese+65pyfR55xzjifJ4b1cY+PCpmTvvff2H76zzz67YWZhGcASTiziDTfc0HB9kUUWcU8//XTDJoUENwcccIC77bbbXI8ePfxz3nvvPZ+V9pprrnGTTDKJvxeXvWWWWcb/TZlim8NyPgIpMs2HHrfJu+66q6HdxFDSHhQP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7nVbbNG7qs9R5W2DgNb7tsFdTxUCeRH44otv8hZtdjnOuDbRmt9sGHWjEKg+AiLT1ce4Ek84++yBbt99t69EVapDCAiBGkBAa0INDGKBLmhsa3ds1bPaQKC1yTSoaV2ojbmjXtQgAiLTHWNQtYh2jHFSK4VAayGgNaG1kG7952hsWx9zPVEIlIOAyHQ5aKmsEKhxBESmO8YAa3PVMcZJrRQCrYWA1oTWQrr1n6OxbX3M9UQhUA4CItPloKWyQqDGEahXMv3LL7+4t956y/3999+uS5cuboYZZvAj/dVXX7nvv//ezT333P7fn332mRs6dKhbf/31G8q0xZTQ5qotUNczhUD7RaBaawJrIv/lFRIi/vPPP/6/WP6TfWDGH39899dffyWr497xxhsv76MKlvvmm2+ykw5Gu0kmmcTNOeecbsopp/Rl33nnHTf99NO7aaaZpsXPsAq+/vprd99997k+ffq4SSedtGL1hhVVa2yr0lhVKgTqEIFyyPSbb77rPvlkjJt11pn8SQx5JYyZ5h6tC3mRUzkh0MoI1BOZ/uOPP9zJJ5/srr/+evf22297pNl0/fjjj/7/a665pnv11VfdZptt5o477jj/O3/fdNNNbuedd3aXXHJJK4/O/z1Oi2ibQa8HC4F2iUC11oTDDz/cnXjiibn7fPnll7tPP/200bpqa+vqq6/ujjjiCLf33ntnGcifTtY511xzuWWWWcbtsssubpVVVsn93C+++MIdfPDB7t5773X8Hcqss87q67rjjjvcrbfe6mhHSwUCPWDAgIZ+fPfdd27qqaduabXJ+6s1tlVprCoVAnWIQF4y/dZb77kRI15pQGiZZRZzXbvOkQsxkelcMKmQEGh7BOqFTI8aNcr17dvXvfjii26BBRZwF198sVtyySXdZJNN5j744AM3cOBAd/zxx/sB2W+//dyZZ57p/z711FP9hu3SSy91O+20U6MBg5z//vvvDVaQao5mqc0VSoARI0a4V155xXXu3Nn3bYUVVvD9a2/y1FNPZVmIt3CHHnqo23333dtb89QeIdAhECi1JjS3E1tvvbW77rrrPHHs1auXm2222bx12eTll192PXv29P9cbrnl3JNPPulPGfj333/9mvPss8/63z766CN/rwkKycsuu8z/88EHH/S/vfnmm+6GG27w/8Vrb7H233333W7LLbf0itBNN93UE/b555/f30Kdhx12mLvrrrv8v2+//Xa3wQYbNBeOhvtY64cNG9bQ959//rlq62upseXZ4IyCAqv/Ioss4nr37u0mmmiiZD9/+ukn/+0bOXKkm3DCCbMzypdwiy22mLfkp4SxfPTRR92vv/7qlRKTTz55o2L8jscWazm4UBfjUOj54c3PPPOM+/bbb93EE09cESVHiwdWFQiBZiCQh0yPHv2hGz58pK+9c+cZ3NixX/q/l1128cz7sUvJp4pMl4RIBYRA+0CgHsj0mDFj3Hzzzec3XmwOb7zxxiQB5vrmm2/udt11V3fRRRc1DNCff/7pNyCxYG1ZeeWVvbtftaXQ5oqNFBvJU045pUkTUBpgmenatWvVmodr57HHHusJfEyM33//fXfVVVf5DTe4mzz00ENujTXW8F4CKCokQkAIlI9AKcJVfo3j7lhxxRVdv3793A477NCkCsJjll56affGG2/433CttpAY/s0awNqJp88PP/zQ6H7WAupFPvnkEzfLLLP4vyFmKNZsDWPNghgWkgceeMCttdZa/uejjz7a/4c7eSi4qe+7777u/PPPd4MHD/breiWE/hux/O233zwhrIYUG1uUvyuttJLHMBQI8qBBg/y3LhQINHjG5fk+3HnnnY3Gj/uw8u+4444Nyghc5eNvyDbbbOOuvfbaRs+B0EPwi7m+Dx8+PCMSy/r7OnXqlJGLsdWAT3UKgaojUIpMf/jhJ5my6wXfjsUXXzBT9s3jRo16J1Nove6vde++VBZiOGvRdopMV30Y9QAhUBkE6oFMb7XVVn6TgXz44Ydu9tlnLwjeaqut5maeeeYmG4X4BiwpWFeHDBnSpmT69NNPdwceeKDDVRJr+oILLujjvnG9vOKKK7IYnVm95T20LFVm5oyrBTKPooGNFBarULBY9ejRw/Xv39/RThOR6UqOgOqqVwSqRaaxGEOWLe44xBcF4nnnnecvXX311Q5SFQpePWeffXaSTLNWbrLJJr44buGssybkr+jWrZv/55577tnwjHhsIbOQRYghZBBPnEJrG7kv6MtZZ52VVAw0Z95gqTVvHzyTUkrW5tQb31NobLHostbSf3DC2o8iAc8q+slvWKANk5D8E7q00UYbOZTD11xzjR8nvg94EJgygrWZ72XoNh+TaRtHlCrUOe200/r1/eabb/bKUZSkKcGCTfssxEpkuhIzRXW0FQLFyPSnn37uHn98nIfOEkss3ChOmvjpF1981f+28srLZUrFGQt2QWS6rUZXzxUCZSJQ62Qal7Lu3buX3KQZbI899pjfmLDZMGFj+e677/okZEi4KcSdECsBSW+wfON+Fwq/kWDnvffecx9//LH/iU3kPPPM4/9GU//SSy95l8Upppji/7V3JuBRFHkfriTcNyIIsiiK4ioooq6oeOt6ALquii6i633rqizifd8Hggjqt4u3IuICXqAucooKCqIiCoqLiFzKDeEICfnqrbGGnklPMgmTmMz86nl8DJnu6qq3Oj39q/+VcPUSvVwRa/jZZ5+58SGog+3UU081I0eONOPGjYu6JgY/xyqAlaW463I84pwXIW9J8n1gUeLFDOsML0lYQGjMl88mTZrkXAR79eplHnnkEffCxn8liWlcEuGItVtNBEQgnEB5iWksrmHuv6NGjTLdunVzg8GlF0+e+FZWMY1IRJTRCMeJt3r662C9vvHGG90/EW+nn356sbcHoTs8ty644ILocWwAsvFHaAzPKTYgO3bsGCqMEc+4UvOM5XnEd4kX/fFiOtgvbu+4vMc/k3mukbOjQ4cOUQtt2AQSrS1W+1NOOcXgih/8jqIPrMlsoAY3Ofya4TEwaNCgmEuxlnzO9w/jwZOI8bKJQt9Y9MkXEhTTjL9Fixbuuw5R7L/HEO18ByLCYcv3QXxDeONFgPAmfIomy7SeblWVQHFievr0mTbB7Q82F0R4fPTcuT/ad78v7MZgGxuSt3dCBBLTVfXu0LgzjkC6i2l26xFzNOLsunbtmtQa86I0YMAA91KH9QNXbkQ0Qg/hi+jmhQLXOl4ueAFEKAbdCZ977jlnuUFczpo1yyXY4cUMgcsLEQKVLOL0g9js3bt3wrElerlq0KBBVMTHx0cjgrEA8TJJRlvfcH0kdpF50RC8JB0KJunhJRO3TF5cvZWCl6yrr77axZYzJ1wzw6wQnOtFfnBCbEbgVphITPN7XrKIp6TxQsYLItdUEwERiCVQXmI6jHMwVAaLIjkovPgNHl9WMR103X7ggQeigjl+LLgr+1hoMniXNks3buk8v/FQ4lnNBifPY541CEhEpW9Yf4m1RiRjAf76669drg3f2EhENNMQhVjd2YhAVJKsjOc64r9Pnz7Rc/AewlOHVpybeKK15buM7zSSrgVDZ+iPTVM8qxgHIpjmxTShOLfffnsMTi++vfhFNOPaj9jHou+TbwbFNBumfOedd955hu+3YCNBJyFS/B9ewcb3X/v27d25U6dOjW7MSkzrqVZVCZTk5p2KeUlMp4Ki+hCBCiCQ7mKalwMszTTE4957J94FDOJGTGO54GUIC4gX0/4YLxYRh95izWePP/64i9VDeC5ZsiQmQQ2WYspw8TJEQ3QecMABzi2Plx/vAhm27IlerrAQMT7c93DbK86FnX55Gbz88sudex9u6mSk9UmBGAcWGhoJiLB++ON4oeQ6vGDee++9TnyPHTvWYPnnJY35IryJl+OFGuZ8hqWEmGkYkSCIcYaJaZKnwYJ+eMlt1KiRs4xwPcbHi5+aCIjAVgIVJabJi9ClSxfz/vvvu4sn8nThs7KIabxq2NDzrtuIrUTeMliH2dwLi8ku6d7gWYeLONZmQl/8ZoBPMkmfJC/Dcwihi8Xafw/wPAo+F/nZi2mejYhwvhN47rGp6p9nHAc3KkXQ+L5AoOOijoj1Yjx+7CWJ6bCNYd93MOTGb9jyXCZhmH+++2dw27ZtXYlI35iLH1OYmOY7gO8cNprjNzm9FxiCv2/fvtE+uX8I92Ej2VvBvdeRxHRJd60+r6wEJKYr68poXCLwOxBIdzF98MEHR7PLYqlt0qRJqSgj5NhlTySmsZJ410c6xt2tefPmzioRFIHejTEoWDmelxcsLFh7imuJXq54EcWd0FuPiWM7+uijXYIvXlCD8YS8rGJxwJWPRDG+tvbEiRPdsYhestXSsDjzkoVo9slnsOrg1sc1cE/3409FzDQvubgNcn3GQcMaRpZY5kb8I1Z4NREQgQiBihLTfoOQaxYXE8vnyYpp3K4RWTwPvYcMzyyqJrRu3Tp0iYPxv2E5Gkq6L/D8QeT5zUB/PJuauG7z/PHu02xMMhc2Rv3mJ8ezQYonEs2LaQQ0m7ZsLiLAfWNzkGduvBWX5xlCPpGQLm5tsaKzKYugZbPR1+hmDjDFm4gGWx8HzXOceeGqzuYoGwSMAZd1rMjBMQcZholp2N12222hGdL99wsWcyznvrGhymYom614HdAkpku6W/V5ZScgMV3ZV0jjE4EKJJDuYtpbbkGK1SE+02lJqHFl4yUlkZgOsxBQoxURyq4/8dYIWvrhBS0+SVdJ1/efF/fivGjRIvcSxUsLsdm+IdBxU4+3ioRZFcjgi+UAS0Zx5U28ZYiXN1oqEpCxyYGwx2JDGZtgu/POO122cEqw+Nj3ZJnpOBFIZwIVIaZ5XrGhRcNFF+tjcRmskxXTxPAiKLH4EoZCKT8ff1vcmvmwlrIkr/IbdmFJI30stu8XSzMi34fk+DEFE5Dx7OPZ7l3Ped6HNTY7412iS7ovE60t1nVY8ZwntOjcc891XeGiHowz92PjMzYoEMDxtbjZVCV+GW+hsBYmpn0COsKcqGQRbGwgsz7cJ1jmab/++qvLFk49bkS9D0WSmC7pDtDnlZ2AxHRlXyGNTwQqkEC6i2mf9ASkYXFmJaEui5jG0uwt4N5yTV1WkuVceeWVJV0y9PNkX5xJIoOFhBhsnzV12rRp7gXMC1MuEG8J9y9aPn4OywaJbBg/8W5YiXlZ8i2VYprx+njtROMizrus7MoEXCeJQCUnkOwzoazTwBKMW7B/jrAx6Gs5J+ozWTEdn8072THiLkyVAFppvFX8ph/n8bzBeyfYgjHbCEDvtROf2DEopim/hWUYsYi4pRRYWAb0ZOcWPK64tSXOG0+i4MYp57JJiss6gpZnNs0ny0Q4U9GC7wGe7SSH9Dg9i6IAACAASURBVFm7E21Uholp76VAX4QJBRux1WwoBJPT+bjs+E1niemy3BU6pzIRkJiuTKuhsYjA70wg3cW0z34K5vgSTcmgL0lMJxLoXItkM2TzxmKA6yKC1b+kJXPtZF+uwvrihYmXHWKx2VDAMsF/uOlhOTjhhBNiTiM+nHjyiy++2I01WEeUWG5exrAukL2clkoxHXyR9f37wfHCiFslMddsSKiJgAhECJS3mGbz6sknn3TXonY0yaXCGn+jPmt1eYtpn4CLccTnqyjuvuB56ENeeB5j1Q22YP1jXLkJ1aHxe8JafAsT04TO4OLsNy1TcX+WtLYIeSzneAqwcUtoDP9HSJNzAhdwGl5JJHSMDy/iMzZKsarzzMd6Hd/CxLRPaBaWJM5virJpS9ZuvlNwx2eDFK+sYCMJHBsP3F987r2nUsFOfYhARRCQmK4IyrqGCFQRAukuprFIdOrUyb1M0Ij7xZJQXMPC4ONzyyqmyRbrY/8QgpSa8RlWy3JrhL1c4baOBRo3QmL24tvw4cOdNRzXPCwKPt6uJCuvj+/mJYdEPSSvofECR/ZcLNSlEdPxCWniE5CxyYClAnfDESNGlAWPzhGBjCNQkuDaFiA+mRV98PxiU9LH4Ab7xQsHl2hf9q+8xTQWbeJ+aVhBybBdXK1nnlNUYEC4+fwZbAqwORBsPu7ZJ+Ty7uRULrj11lujhwbFtI9LJjkb2bt5Bg8ePDimX66PSzux5oliwcPWKdHaIvTZvCCPRbwXD67euH37zVP69Vbz5cuXF8m+jhhn7YhVZ0MzvoWJaV8PnJAbLNrBxhyxjHurtX/Ol3Qf4iWAEFcTgapEQKWxqtJqaawiUM4E0l1Mgw+LgbcuYClGZIZZiHk54mWAXX0f28zLETv38fG83t0wzMrhl4zEM7hK0xKV5cLyQXwZVmSfMTbZlyte7Ly7HH0EYw6JfaZPBDQvwlggvMDnZRQm/lyOZY7ELpOtFTdHyrvwYkkJHJ/khpIp3qLjxXTQ4sN4gvVp2cDArTD+ZS0sm7e37uDCSfy2b1hASJDGS23QQlTOfxbqXgQqPYHyEtPkYCAhF5tmiFDcdxPVfEe48ffpxRDCEaEalm3bVwgALOEopRGXwcUIJkRjo5C43zBBzaYozzVisvES8s9y+op3yfbuyFhQr7nmmmjNZgQr5aDI8E3zYpKfiV/GWwerLmUPacwR92kaG7k8twiR8ZZf6jRzDEm/gs+5+Jst0dr6ZycClCzhPokZG6BUimDNghvGfnMDryRyT/gNEcbGmNlEICmbLx8ZHEeYmGZDlVhp8msEk2+y6cp3BuuO2KcUIxstiXKE8H3KWMkMz3cxZbPURKAqEShOTC9cuMQ+F6e46ey//z42V8+u0anNmfM/+84XKUt6xBEH2edTxAsmrKk0VlW6IzTWjCaQCWKaBcY9DXHJFzgvSLiXYangJYkXHBKq8FLGzwhfv+vPCwhua8GkKvTnX74QprwwkRV1/PjxMWLS7/zzgoFlIP6FL1hnmprNJC5L1BK9XCE2vWs0idKwRGCJQUAT44ggRjj7WD6fpZb58bKEgH/ttddcXCSlToi7o/lkPQhhXvp4icTi4JsX0/zbu4Qjdjn+vvvuc4chtHHRxvLMyxO1tdlgCBPTvqwK5yHYGTdrwssWroLMoTgLVEb/EWvyGUmgPMQ0f7OEgPha71Qk6Nq1awxfnpEIbjYdKbXnLb08E/CSoVIAjc27YKk+6i3jSUNLtLmYzEIiBBGAZIemYSXlmUOiNMQtm4E8/3g2EhrCGBGdzI06zDxXCF0ZOnSo2yj0VQNw7fbPGZ+Zmv5xYef5zLEIeZ99nLhlhDfZqyl15WOYcbnmHMQmXj08O/1GabDOdHF1sotbW58skuctwp1nN5u6fLexecvz2Dcs96wJn7GRDA/4USaLzU7GSfw0Gw7xLUxMc0xwQ4G1Z26DBg1y18CzKFFCs2D/iplO5k7XMZWZQElu3vPn/2w3naa5KXTs2M7mm9jdGie+t5tzkXwGnTsfYDfAIl42iZrEdGW+AzQ2EQgQyBQxzZQRdezU85ITTKbFZ4hLXs4og1W3bl1D/UvKovDC5RuCmp18XOOCMXYIatz8wnbXsUDgJkmpqfgWrDNdnIWb84p7uWKMvNTFZ2slLg0rUXxJKQQ11/Ou775GNC+73tLBizAvalggPB/6YnMBqxKWHd+w3CDE/bFBoc3Yrr/+ehdTCAfcR9l0wLICE1wDfeMFj5dN/yLP73Gd5DgsHWoiIAJbCZSHmEYg89woTWMTkucpz5RgUiyeKwg/rNdYrCnNFGw8A9iE9KX3SnNNjo1/7gTP51mNAKYKQ9A9He8ZNh95BrJhh9Ak7wUJEBHdwQRieOUQf+zFM895zmUuxx9/vNv045mGgOf7AoHuk6MxFsQrmxHBChLefR4RiygtbZ1p+mWzlDEEs3fze+KU2fiNb7jGE//OxqT/3mOebG6yOUDoTljzYjo+CRvHsgGL1T/4PepjpZNZR8Q0VSN8eEAy5+gYEahMBEoS04z1hx/mm6lTZ7hht2jRzG7c/eJ+7tRpP2v42KnE6UhMl4hIB4hA5SCQSWLaE0fsIe54meFFi5ckXm5Ka/kk2y0WGqzBYfGEvuRTcVlwqVWKMC2p/nUyL86IaVwyKTmDy3dxdUxhgZvixo0bnQtn2Pg5hpcl/uOYYM3qsLuXF1X6Cbp6cxy8YUVJnZLGxPH0gyUfS1Eyx1eOvySNQgQqlkAyz4SKHdHvczUsrbg2//TTT06g8SwPWsTDRsUzjQRZnEvixUSCknN5FvGMxo2ZZxmWbO/2Hd831mbGggt7fEyzPxbLOdcrS53p4PUQ1XyH4XrNxkBxYUKch2Ue8cpz3Medb8uK4aHAdxvX5/umpO+wbbmWzhWBykYgGTHNmINu3fz7wAP3tRuIrZOajsR0Uph0kAj8/gQyUUxXFHUsMiRpCUvuUtox6MW5tMR0vAikNwE9E9J3fbW26bu2mll6EEhWTDPb2bN/sAacxaZVqx1j4qdLIiExXRIhfS4ClYSAxHTqFgJXv379+rkdetySiWHGZdnXUN6WK+nlalvo6VwRSD8Ceiak35r6GWlt03dtNbP0IFAaMV3WGUtMl5WczhOBCiYgMZ064MT/BWuxEkO3LeWwgiPTy1Xq1kk9iUA6ENAzIR1WMXwOWtv0XVvNLD0ISEynxzpqFiKQEgIS0ynB6DohBpkEZrNmzXIZXsny7Ws0b+tVhgx5wya46Wbjuqtta1c6XwREoIoT2Lw53/znP1Qo+EsVn4mGH0ZAz3vdFyJQuQlUtJjWM79y3w8aXYYTkJiuGjfA559/bZPgrHPlFCSoq8aaaZQiUB4EeKmaPPlTm3CqoSu5opZ+BPS8T7811YxEoKwE9MwvKzmdJwIVREBiuoJAp+Ay06fPtNm6fzRLlvyagt7UhQiIQFUkQBwdNUslpKvi6iU/Zj3vk2elI0UgnQnomZ/Oq6u5pQUBiem0WEZNQgREQAREQAREQAREQAREQAREoCIJSExXJG1dSwREQAREQAREQAREQAREQAREIC0ISEynxTJqEiIgAiIgAiIgAiIgAiIgAiIgAhVJQGK6ImnrWiIgAiIgAiIgAiIgAiIgAiIgAmlBQGI6LZZRkxABERABERABERABERABERABEahIAhLTFUlb1xIBERABERABERABERABERABEUgLAhLTabGMmoQIiIAIiIAIiIAIiIAIiIAIiEBFEpCYrkjaupYIiIAIiIAIiIAIiIAIiIAIiEBaEMgEMb0id4u59rXl5p2Z683K9VvKtG6N62SbkzvUMY91b2K2q5tdpj50kgiIgAiIgAiIgAiIgAiIgAiIQJoQyAQxfeELy8yzH69NyYpddnh981TP7VPSlzoRAREQAREQAREQAREQAREQARGoogQyQUw37/2TWbq2ICUrtEP9HLPk0Z1i+srLywvtOzs721SrVi3hdTdu3GgmTZpkdt11V7PbbrulZHyZ1gkMx44da/bYY48yM9Q6VL27xi67XffNdt1z7LpXTU+RsDmsX2/M8OF5Zv/9c8xee+UktTAzZhSY2bMLzGmn1TA1aiR1ig4SAREQAREQAREQARFIBYFMENNZl85LBapoH4X/t0v054KCAnPmmWeaDz/80Pzyyy/R3yOQ+f39999f5NorV640F154oRk5cqT77K233jInnXRSSseY7p3NnTvX9OrVy7z99ttuqqNHjzYnnnhiqaatdSgVrkpx8Ny5W+y6r7frvvm3da9n1716pRhbsoMobg7/93+bzGWXrTd/+EOWWbCgUYldbrFRK40arTRrrePNkCF1TY8eUtMlQtMBIiACIiACIiACIpAqAhLTiUketEtN8+Cp25n5y/PNuc//Giqm/S8RZtttt537Z9u2bc0333xjcnLCLUv5+fkGMfjnP//Z/PzzzxLTZbiZt1gVAbs//elPbhNjzJgx5thjjy2xp1WrVpn69eu7tfm91mHVqkI7hiw7hhKHqwPiCCAef/55i133NXbdC+2617frntj7ozICLG4OEybkm6OOWmvOOaeGefHFukWGv3x5oWnSJCvm9126rDOTJ282EyY0MPvtp5uqMq65xiQCIiACIiACIpCmBCSmwxe2Wf1sM+PWP5gdG+WYTfmFpu5VP5qCwsixQct08Ow2bdqY//3vf6Z79+5m2LBhJd4xXbp0Me+++67EdImkEh9w6KGHmo8++siMGzfOipCjiu0Jd+7OnTubUaNGmebNm0ePrch1wLW3c+c1dgz17RhiRdE2YMi4Uw89dK1d93y77vXtulctMe0XK9EcNluje/UQY/vw4ZvNxImbzYABdYqsd6JzMu7G0IRFQAREQAREQAREoCIJSEwXpZ1jNc74f7Ywh+1ey324cXOhaX79fLN6Q0RNJxLT7dq1cxbps846y7zyyislLmO3bt2csJObd4moEh7gxfSECRPMEUccUWxHV1xxhXnqqafM4sWLY8R0Ra7DFVest2PYZMfQSGK67MtuvBCdMKG+XfeqLaaTmcOcOVvMH/+42lx9dc1QMb0NKHWqCIiACIiACIiACIhAWQlITBcl1/+MJuaaYxq4D7ZY/fyXQUtdWS3fykNMd+3a1Xz66afmk08+MXvvvbcThtXjzFOrV682I0aMMPPmzTO1a9e2SYr2d67iWb8tIoISoehbDZuN6LTTTnP/nDZtmvn+++/dz02bNo1xiZ4zZ46ZMWOG2bBhg7v2AQcckNTttN5mS2I8xx13nCHZ2uuvv2723HNPc+SRR0bPT6bvkuYV5V5YaD777DMzdepU56J99NFHmyuvvNJZposT07iE9+nTx/Tt29d1NWTIENO4cWPHDxZBMZ3MOtBHMvMKQsS1t0+fDXYM1jTtxlDXjiHLjqGaHUPEQr1unTHTp+fbvgtMs2bZTiRyTLCRoGrEiDzLvLplbizzPMs8xzKPCMpFiwpdHyedVN38+muhvZ/yLStj51g9mpyKPsaP32zjbAvNYYdVNy1bxl6DsWL1HT8+3+yyS7Zp0ybbtG6dY3bcsWRL+scf57trcu0//jHHHHNMNdOqVWyCsJUrC+0m0ma7ftXN9ttnuWt9/nm+Ofzw6tZ9u6ibsl12u+4Fdt2ZS6E778or17vzkhGicIHBtGlcp8C51x9/fHU7p6KJy4g9njEj38yaVWDDNrLs30N4IrDynMPSpYU2B8Bmc/75kfjnb74pcK7fuLWzrldcUdM0aJBlDjkksuas16RJ+aZevSz7txvLj3l/+WWBmTmzwMCxXbsc07FjThHLd2nnw1hGjsyz92yh6dChmqljjeV+PEk9PHSQCIiACIiACIiACKQDgUwU09vXyzY1q2WZhauKZvj+2wF1zasXN4suba9hK0y/satjljrVYvq+++5zFlNigH0jQdngwYOj/ybGer/99nMxwldffbUTrojCq666yjzxxBPuOEQmVnFczWnvv/++E7o0zichGoIaAUx8MVnIe/fu7RKhHX744WbKlClRN/UXX3zR1KoVsczHt2+//db069fPDB061Aqyteall16yL/hXuJ9pxI/XsW/XyfSdzLzoExftyy67zI39lltuMZs2bTKDBg2KJn2bOHGim0NYQ4DfdtttjgeNDQg2Gh588EHTvn37qJhOZh3KygwxeNtt6+0YrLpxY6hmx5Blx1DbjiHHicVTT13rhAkimQRbNrTb/Oc/9e0aVjPffrvFMt9omW9yyaZeeqmuZZ7rfqYNG1bXvPBCnhOpxM1edVUtc8EFuVEczZplOZfoN9/cbPltiME0a1aDaOboNWsKreBabcV5dXu/1DBvvJFnnnkmz94j9cwppxSf6IvEYP36sS4RN+QHHthgVq9G0DdwIm7evC1OBL/7biR52DPP1DX33bfB3nNba7+//HJd07Pn1iRauMVfdlmu20C45Zbadt2N7X+jE5a0iRPr23Uv3jJNjPXf/hZhQYIuXKVffx0xX82uR32bcT+C44MP8u2111mPgWxzwgnV3YYD69K9e3UzcGBdu8GRVa5zYGPkuefyonwKCxu7cV133Xp7H+TZ50OhS0zGPbLPPjmWZS1rpd5onn9+k+MxcGAd+7ua0bUl0dlZZ60z8+cz/xo2odkWu46b3bnEY3foULY1GThwk7nnng02uWJtU7NmlvnnP9e7TZFZsxrG3Ff6hwiIgAiIgAiIgAikPYFMFNMvXdDUdPhDDXPwg4tMbt5vgdB2pfduWd1MubGlqWNFDu05W5v6AlujOr6lWkzT/8CBA81f//pXF0N90UUXuUsuWLDAvjz/wf3s43qDAtnHaJNUq2HDyIvs5MmTrbXxMPczQpVjfMMCe+CBB5rbb7/d/QpRTqzxxx9/7M5HBO+zzz5O1N966632hfme0Psfsc44EfK+sRnwzjvvmNzcXCtKPjDXXnttUn0nO6/zzjvPisUXrGXxc2tZ6xid3+677+5+psSYn3fYoBH6DRpEvA2WL18eTRbHv71lOpl1KCsz+kb4Nmiw8rcxNHKWTxpip3Xr1VZI1TXnnRcRkv37b3IiCkE9Z04j6zVQ6ETWVVdt9ZB46qk6lvlmyxwhVdf8618brbiyatM2xHrfvnVMixbZTlCNGRMR8V27VrfrWtvsvHO2vVauE+0XXFDDCVvaww9vNDfcsMGOtbG1dNqQBvvn0bXrOmcl7d49caboKVPyzcEHrzUHHZTjxDMNcXjGGbm2v1pu0wBhjHX4sMO21nx/9dW69pxq5qGHNpqnn95ky8Rlmx9+2CrKGCObBJ9/3sBZVGmIxN13j2xwTZpU3/aXWExjhd9jj1VOgLIhgLMHv2vePJIBm+sjNKdOLbDjWOME9gcf1LfeHhFr9imnrHMbFMxr8uQGhtjk8poDFuQxYzab66+PbHZ4Mc3PN9+8wW5ObLTCtZZ59NHa7nM2Kr7/fovbAPjuuy0xYpokd3vssdrdNz/+uPVe8+vLfTV7duT3pZkPzFq2XGmuuaaWu49orH3Pnrkx6+Y+UBMBERABERABERCBdCeQaWKaDN2f3LijW9b/frPBdBmwxCUWa1Q723x+a0uzy/aRF/Mx9rMTf/ss/h5ItZhGSOOu7NsOO+xQJEP1qaee6izIQYF8wgknOGsrbs6HHHJI9HwSceH2HBTEuH/vuOOOUYGOdXmvvfYyd955p7P4+oY1+eWXX7ZWuGZm6dKlCW//QquycO2m9e/f375cXxM9tjR9JzMvXNSxyDPeWbNmxYyJ+tLfffddqcT0ihUrnJu3b15Ml7QOpZlXGLigmF6xolHUhfvvf8+1luY8s3Bho2iG74ULt1gX8DWuGy+yEbbZ2REx3r9/Hct8qxWS302bVuCyXCOUli9vHHXl/e9/861b81pn1Zw3r1HUEotI7NZtXYwAPuOMdc5qGxT2b7yx2VqEC52lOlHDgnvggWvshlB1a0W2Ktw2L7CPP76aee89O6jfGpbvb77ZElPKKSiQc3MbO7dhP5+99souYvVEKCIgSxLTd9210d7jG8wXXzRwlljfHn98kxWlG8xrr9Vz7skdOqwxX31VUKS/hQuxBq9ypz37bN2o63V5zQEPhL32imwUhInp66+vZTc8IiLWN4TskCF5MWK6d+9ISMG999a2Fv2tHibcQ8Rewy6YMTzZ+eAuvs8+a5z3A5nU/YYQmw5vvBFZdzUREAEREAEREAERyBgCmSamq9v36XG9WphDd4u8YL74yTozdvYGc+Gh1l30t4Rj3y62lqgHF5o1G7darYM3RKrFNOK1Z8+e0Ut4kYwbd48ePdzvifslthgROH/+fGelveOOO9xnb775pjn55JOj5+MKTaw0JaCWLVvmXJofeeQRJ7rfeOMNdxwC+LrrrnPHtGjRosj9jos37tGcm6h5y3jQWlzavpOZF/HOjJ/xPvbYYzHD8QnIqPPNz4la0DKdSEyXtA7byixMTBPvmpMTEcht2xaN4eX3vXrVMpdeGhHObdqsdm7RQUutnzNiEFGIO/LSpVtrFPvf0/+cOVutvmG/f+21vKhL9IUX1jB33VWnSEx1IsZYSuvWjVjb339/s7M2f/hhvnMr/vLLiLWa5oVr0HXclmu3Ij/CYcmSRmaHHbJcjPkjj2y0617TrntsBmufgOzDD+vbdU9smfa8CgoaO/f5sLZkSaH9G4gI5rDEcCecsNa55wfFZ3nNAUtz27aJxXSfPrUs11gx7Tdjgm7efrPhP/+pZ58Fse75rMuNN26IuU+SnQ9ifLfdIvcg9xnXPO20GgnZJvyD1AciIAIiIAIiIAIikA4EMk1Ms2aN60Ss0K2bFH0JX7bO1rC9f6H50daWTtTKW0x7S2lQTDMWrLJ33XWXFSZf2pfhG23c44vOAh0vpjdbX1Tcw6m/PHz4cOuqeop1i93duZKfeOKJblqXX365dat92rlrI97L0hKJ6dL2XdK8PA/me84558QM1Ytp3Nspe5WoBcU07uyNGm0Vm77/eDEdvw6lnVf8WIJieuXKRnYMWS6OdaedVrvEW59+ulVwJppHWcS0zwQdL6ZJbNWu3Ron4r3I9jHKuFb71q9fxAoe/6yIHyPxzM88s8nFSp94Yg1rqc4xF1+8PikxHdxU8GIaqznWc+J7EbLB5sX05Mn17bqHi2ncuevWXeks9WvWbPVEiB83SdM6d464nm/Y0NjmCog94rbbNlgL70ZnjZ0+PbJGYeIzFXMoSUx7l/ngCOPFNO7p1atHNibGjq3vXNeDzXsq8DvvIZHsfDhn4kQS3K2NxuvD//nn61qRnWC3oiwPF50jAiIgAiIgAiIgAlWBQCaKadZl92bVzNSbWjph7Rv1pA99eJGZNn+rkAhbw99DTJNc7KCDDnJx1Yg+Enx5sRcvphkzybRw8ybZ1s033+xEKFnAq/2WbemSSy4x//73v10iMeKby9ISienS9J3MvMi6jfWbbNy9evWKGWpZxHQwxpzOkhXTpZlXGM+gmF61qpGNU8+KxktzfH5+46ibd6L1KG8x7a/78st5MQnO7r67tk2gFp6QjnOwLJ955jq7ebPZuf8ee2w1l7wL1+9kLNNhQhQ3d7Jv9+1b21nngy0ZMY2lvFGjiMUZF/pE2chnzCiwQjniUj9vXsMiWb5xl8Ztmozp48dH3NWTFZ+lnUMqxHSQJYnqzj47diPi008LTKdOkfn6zYNk5+PXAGv+RRflus0OGlbqGTMaJpXxvSzPGp0jAiIgAiIgAiIgApWSQKaKaRbj4F1rmom9dzS4ftNOf9pacmdszYCcaMEqWkzjlty6dWuXLfvXX3+1mXO3d0MrTkwvWrTIuue2dMeRVIxM3ohq33Cbxn161113tYmIZhcpw/Xss8+6pGS+tFYYi0RiOtm+ie1OZl64wGOlp+TW+PHjY4bixXR83Hj8eIOW6bKK6WTnlYhZmJgOWhHDhA+JpC65JNfF9vK3Wt5iGuF49dW1XBmt5csLrWU512WApq1f39iWZAv/qyA5FkmyEL2IX9q2imkfCxwUsf7qXkx/9FH9Yksy7bDDKpfp+uaba9kNptjBL1tWaJ58cpNL6lWvXsSS6xOSBWfpLb/BGs/Jis/SziEVYto92w5eY2PWC2w+hJq2UkCsi/yzz+aZCy/MjfFISHY+P/ywxcafF0Rdx996a7P5y19sTTfb4AtnNREQAREQAREQARHIGAKZLKZZ5B5/qmsuPbyBefur9abvmNgSWIlugkRi2ovL7t2721JFw0q8h3wm63j3ZR8zTcmps88+28U6+3jgmTNnunJO62xRYq6HKzdlsk4//fQi1/MilA8WLlzoEpD5hms1/dDIUI3V19e1HjVqlBPa06dPT1gei/P8fImtDtamTrZv+k9mXljivXs3mcKPOeYYN27c2dkMIPv46NGjoy7sYeAppeVLfZGNfJdddokeluw6JDuvRCXFcIOuVSsi2v73v4auhrO7B3vk2pJXec669+679Z07MY2605TLOvfcmtFyUV5Mf/ZZgyI1hRPFTH/9dYGtl7ymSKZsaim3bx/r5n3yyetsCEBNyzISZ4vFmRheYmQXLWpkY4vDa00fd9xalzH8jDNqWOEfyQw+aNAml3083r08TLgF2Xg3b6zj55wT2dwiwzY1qyPrbuxcVrlSUaNH14uONWzdL7lkvfXAiGQ4p7Y3pbFozP3yy9fbzPa1nRXdi15conGNDrZWrSLXCjIvrznMnr3F1g0vGjN9990bbY4Em9vBxrEPHhzh65sf+4ABdezfciS2fvDgTc7FnoaLO67uvmFRptxZMIldsvOZPr3Abe54d3f6fPXVPJsxPteudU1bpm+rcKdKAJt6hJl4j5iwNdLvREAEREAEREAERKDKEsh0MV2WhQsT01iPmzRp4rpr27ati28u6QXSZ6K+//77zU033RQdiv/9Aw884GKjsaT67NPUmj7pN0TNCwAAF/5JREFUpJNsSaO3Xc1oLK7ECuMK/fjjj8dMx5fJwjWcpGTx7fzzz7exjs+7XyNK6Qfhjtik5nSnTp0S4lmzZk20HFd8Nm9OSqbvZOdF0jFKeuHqTXvooYdsaaedrWh7zWU498y5JrwStVatWjnhffTRR1vRd4bLAP7KK6/YEkKRjOAlrUOy8yrunvLCDNGG8Jw0Kd9lWyZ22TfKV/la0/z8zjuRLMnUgG7YMOK2HJbN+8UX86zwjohPnxGbnymp1aVLxHroY7X5GYvzqadGfu+PR0wvWbLFuWrjhk4MdbNmK631sYarbZ2o+azZfI6ll7G++26kNjLtxhtr2TWs5oRv7dqRDYWg+3bQ1drHQSPkcRPH1ZtG4i1KepEkzVvLEernn1/T9R/Wfv210G76rIrG91J6q169LJe5OyhMcVtu2zZyHIIQYUibMCHfHHXUWidSEas0mJTXHMaNy7ebBpH47WDG9+DGAjHsEyZstm73te3ffY7dkFpr/27z7QbY1uRkuHrTD+OnTvbQofXcPbV4caHZd9/Vrpb2tGkNXMb30swHMX3AAWtiLPhPPLHJ/OMf622G9oZ2IyCyQcTmnS/rF5/7IeFNpA9EQAREQAREQAREoKoRkJgu/YoFxTTZqLG8kAgMYesbpaVwrR4wYECRC1ByCmuoF4cccPHFF7vs3Pz+q6++ip7D7yhfRR3nG264wV0Dd2fEN9cmoRgZuRHewfJadED5KqzPxEUfd9xxRcaBZZeSVvTtGy/AxFIXl5SMpGbEWSNMfevatauzkNf+zQ842b6TnRfCm5hlrkFjzvwbQUxta2pz41690047JVxQErBhhacRS86/yZZemnVIdl6JBjFw4CY7hojFkFrQw4bVc4nIiGM97bS1UfEZuSdqujJIfE4s8rXX5sZ8jtB+/fV6zvX6scc2uuzZuDTTSGiG4P7gg3xn0dx6X2bZDYR69h7LdyWj/C1LXDPuwI8+utEJM9qxx1a3fDdbkZljk4DVKzar96JFhbZudaSeNRb2nj1r2P5rW4+JyO+oBU1G7ksvzY2KY6ylvXvXdtm4e/RYFx07Jbyef76es0R7N3fKdUXW3dh1r+XGRX3tiy6q6bJJ77RT4uRX1PHGXd3X2qYfaiTfdFOtmBh1ymCdf/7W8bZqlW03rfKcaGWDADH6889bnFuzF/ipnEP//hvt2uTFcHj44TrOmr5yZaETsXgI0IYNq2s9TbJtQsINMfOiDNmIEfVdabENdtlvvnm9q1nOpgMlwEaP3uzW9emn6zqWpZ0P92KXLmvdGLl/a9TIcmvxyCOs7dZSbVQe8En+xowZY695bMK/S30gAiIgAiIgAiIgAlWWQCaI6ctfWWaenrRV6G7LYl12eH3zVM9IzHJFN1yVEY7bbbdd9NL8m/JV3kU7fkwI96ZNm0ZrQoeNeb1Ne0zcNNZvLL6+fnQq5pdM36WZF/0tWLDAuZhj+ccC5mPDkxkvMed5eXmlOifVzLCW2iGEitOfftpi4+ILrbU8x1pQk5lRao9BgCHOEbGLFm2xJaqyrcdFuGt32JWx8DZtmhUjUhGCjRsn30c4b+Myn7dpk+3qZCN8W7YsXZ9Yy7HM+j4SkVu6tNDgGo9wbNcup0h277ISJ7v4tsyB+Hpillu3zjY1Y0uMFzskNkxmzsy3Ce6MdffP2aa1wFuA/9hYYC78jLcAFu74RtZ8Nv+K2+AqK0udJwIiIAIiIAIiIAKVgkAmiOkVuVtMr9eXm7e+XG9Wro9YdkrbyPrdbe86pv+ZTcx2dVUCprT8dLwIiIAIiIAIiIAIiIAIiIAIpBWBTBDTabVgmkyVJJCVFYkTVhOBdCZQWJi4nnc6z1tzEwEREAEREAERyFACEtMZuvCatgiIgAiIgAiIgAiIgAiIgAiIQNkJSEyXnZ3OFAEREAEREAEREAEREAEREAERyFACEtMZuvCatgiIgAiIgAiIgAiIgAiIgAiIQNkJpKuYnjr1CzN37nyb+TfHZvD9peyAdGa5EWjevKkt71VodtttZ1tPuEO5XUcdi4AIiIAIiIAIiIAIiIAIiEDKCaSjmH722WFmzz13Nw0bNjDbb6+EOCm/aVLUIXWwly9fZcswrTZz5vxga/x2T1HP6kYEREAEREAEREAEREAEREAEyplAuolphPSf/tTB1sdtWs7k1H0qCSxevNR8/vnXEtSphKq+REAEREAEREAEREAEREAEyo9AOonpKVNmGGvsNG3a7Fx+wNRzuRGYO3eeycnJNp06dSy3a6hjERABERABERABERABERABEUgJgXQS00OGvGn23be9XLtTcmdUfCfLlq0wX3zxjTnrrJMr/uK6ogiIgAiIgAiIgAiIgAiIgAiUhkA6ienXXnvHHHXUIaWZvo6tRASIoZ4w4RNz5pndKtGoNBQREAEREAEREAEREAEREAERCCGQTmK6f/9nrVXzFK1zFSYwZMgb5tprL6jCM9DQRUAEREAEREAEREAEREAEMoKAxHRGLHOVmaTEdJVZKg1UBERABERABERABERABDKbQKaJ6SVLFpshQ14xjRo1Mq1a7eQWPzs727Rtu4f9d6siN8P55//dxvHOMDNmzMzYG+Xss3uY7777znz66fRyZyAxXe6IdQEREAEREAEREAEREAEREIFUEMg0Mf3SSy+Y3r17haLbcccdzeDBz5n99z8g+vlJJ3WxInKqWbp0eSpwV8k+/vzno81XX31ZIQwkpqvkLaJBi4AIiIAIiIAIiIAIiEDmEchUMX3EEUfamsaR2Nz58+ebN94YYa3PM9y/P/hgvNl7733czxLTxkhMZ95zQTMWAREQAREQAREQAREQAREogUCmiun+/Z8wPXqcFUPnnnvuMgMHDjCXXnq5ufvue0sU07m5uWbZsl9Ny5Z/MNWqVSuW9IoVK8yWLVts2a7tiz0uN3edWb9+vWnatFmZ7t2VK1e68xo3bhx6PmPArZ22evVqs3LlCtO69S4xx65bt9asWbPWtGjRwmTZG6QkMf3zzz+b5s2bhzLgejSuyc8LFvxkx7adadCgQej4ZJku07LrJBEQAREQAREQAREQAREQgYomIDG9lfjs2bPNEUd0Nnvt1c6MHz8poZj+7LNPTZ8+vc0338yKntylS1eDQG/YsGHMEg4e/G/z2muvOjdpGq7kV199jbnggotijps0aaIT8hMnTnC/Zww9e55jLrro4qRuiX/962nz6qtDomPifDYLLrnksuj5b731prn44gvMPffcb95//z0zeXJkjt6FfcaMz81DDz1g5z7O/X777ZvaOQ0wDz/8YBE37w0bNpj77rvbjBr1jlm0aJGpV6+eOfLIo8ztt99ldt555+g1O3bc2+TlbbabE/c4ZuvWrTP33/+QufDC2Pn7EySmk1puHSQCIiACIiACIiACIiACIvB7E5CY3roCXkzvs08HM2ZMRFDGu3n/+OM806lTJKb6nHPONc2aNTPjxn3gXMQPPfRwM3z4yGiHzzwz2Nx88w1OlP71r391ohLxiTX7pptusSWgIrHbX375hTnuuGOcID3llFOdIB85crgTqX379jdnn31OsbcJQvq2226JXoeDR44c6a6DcL7kkkvd+SNGDDeXX36Ju06tWrXNsccea8V9S3PDDTeZxYsX238f5c455phjTceO+5lPPvnYfPTRZHc8ItiLbizMV1xxqb3GCBdfjoj+9ttvzOjRo0ybNrvZ/7/vErzRENPMg9a586EGtiee2MUyPCh0ThLTv/cTQdcXAREQAREQAREQAREQARFIioDE9FZMd999pxk06AkrOK80d955t/sgXky/995o8+67o023bidb9+fj3DEFBQXmgAP2daLx++/nORdmXJ/337+DE6KTJn1sXcFbumPJJt65c0RIzpz5ralTp4455JBO5ocf5joR6pOfLV26xBx99JFO3M6d+6OpX79+6HouWLDAXRvBPnbseOtu3SJ6nWOOiYjjzz//yl3fi+mdd25t3nlntN0I2CHa5z/+caW1oA+1ydn6mOuvvyH6e5K1kbSN5sW0t3BjjSdhW05O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REAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWAYnpzFpvzVYEREAEREAEREAEREAEREAERCAFBCSmUwBRXYiACIiACIiACIiACIiACIiACGQWgd9FTGcWYs1WBERABERABERABERABERABEQg3QkUFiY1w6xC25I6koPiFXvSJ+pAERABERABERABERABERABERABEagCBJKUyBLTVWAtNUQREAEREAEREAEREAEREAEREIEKIiAxXUGgdRkREAEREAEREAEREAEREAEREIH0IZCkmP5/a2z4VSjswAgAAAAASUVORK5CYII=", "text/plain": [ "" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The form is now fully filled out. By clicking on the `submit` button, we can place the order:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.021731Z", "iopub.status.busy": "2025-10-26T13:36:02.021622Z", "iopub.status.idle": "2025-10-26T13:36:02.053421Z", "shell.execute_reply": "2025-10-26T13:36:02.053090Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "submit = gui_driver.find_element(By.NAME, 'submit')\n", "submit.click()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We see that the order is being processed, and that the Web browser has switched to the confirmation page." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.054986Z", "iopub.status.busy": "2025-10-26T13:36:02.054885Z", "iopub.status.idle": "2025-10-26T13:36:02.057817Z", "shell.execute_reply": "2025-10-26T13:36:02.057537Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
127.0.0.1 - - [26/Oct/2025 14:36:02] INSERT INTO orders VALUES ('tshirt', 'Jane Doe', 'j.doe@example.com', 'Seattle', '98104')\n",
       "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
127.0.0.1 - - [26/Oct/2025 14:36:02] \"GET /order?item=tshirt&name=Jane+Doe&email=j.doe%40example.com&city=Seattle&zip=98104&terms=on&submit=Place+order HTTP/1.1\" 200 -\n",
       "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print_httpd_messages()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.059356Z", "iopub.status.busy": "2025-10-26T13:36:02.059241Z", "iopub.status.idle": "2025-10-26T13:36:02.077023Z", "shell.execute_reply": "2025-10-26T13:36:02.076740Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBbhtVfX2J3Hp7pASpBGQbqUbRLpBOqVbpEVaQJEOCekQBKW7OxVQGgFR+nKJ++3f5D/2N848c+291jl7n9jnHc/DA5y9Ys53xhrvqDnKyJoEiRAQAkJACAgBISAEhIAQEAJCQAgIASFQGoFRRKZLY6ULhYAQEAJCQAgIASEgBISAEBACQkAIRAREpjURhIAQEAJCQAgIASEgBISAEBACQkAIVERAZLoiYLpcCAgBISAEhIAQEAJCQAgIASEgBISAyLTmgBAQAkJACAgBISAEhIAQEAJCQAgIgYoIiExXBEyXCwEhIASEgBAQAkJACAgBISAEhIAQEJnWHBACQkAICAEhIASEgBAQAkJACAgBIVARAZHpioDpciEgBISAEBACQkAICAEhIASEgBAQAiLTmgNCQAgIASEgBISAEBACQkAICAEhIAQqIiAyXREwXS4EhIAQEAJCQAgIASEgBISAEBACQkBkWnNACAgBISAEhIAQEAJCQAgIASEgBIRARQSqkelRRqn4eF0uBISAEBACQkAICAEhIASEgBAQAkJgECEwcmSpxopMl4JJFwkBISAEhIAQEAJCQAgIASEgBITAkEBAZHpIDLM6KQSEgBAQAkJACAgBISAEhIAQEAKtREBkupVo6llCQAgIASEgBISAEBACQkAICAEhMCQQ6BMyXfIlQwJwdVIICAEhIASEgBAQAkJACAgBISAEBh8CaW2wkjy3dznTJV8y+NBUi4WAEBACQkAICAEhIASEgBAQAkJgSCAgMj0khlmdFAJCQAgIASEgBISAEBACQkAICIFWIiAy3Uo09SwhIASEgBAQAkJACAgBISAEhIAQGBIIiEwPiWFWJ4WAEBACQkAICAEhIASEgBAQAkKglQiITLcSTT1LCAgBISAEhIAQEAJCQAgIASEgBIYEAiLTQ2KY1UkhIASEgBAQAkJACAgBISAEhIAQaCUCItOtRFPPEgJCQAgIASEgBISAEBACQkAICIEhgYDI9JAYZnVSCAgBISAEhIAQEAJCQAgIASEgBFqJgMh0K9HUs4SAEBACQkAICAEhIASEgBAQAkJgSCAgMj0khlmdFAJCQAgIASEgBISAEBACQkAICIFWIiAy3Uo09SwhIASEgBAQAkJACAgBISAEhIAQGBIIiEwPiWFWJ4WAEBACQkAICAEhIASEgBAQAkKglQiITLcSTT1LCAgBISAEhIAQEAJCQAgIASEgBIYEAiLTQ2KY1UkhIASEgBAQAkJACAgBISAEhIAQaCUCItOtRFPPEgJCQAgIASEgBISAEBACQkAICIEhgYDI9JAYZnVSCAgBISAEhIAQEAJCQAgIASEgBFqJgMh0K9HUs4SAEBACQkAICAEhIASEgBAQAkJgSCAgMj0khlmdFAJCQAgIASEgBISAEBACQkAICIFWIiAy3Uo09SwhIASEgBAQAkJACAgBISAEhIAQGBIIiEwPiWFWJ4WAEBACQkAICAEhIASEgBAQAkKglQiITLcSTT1LCAgBISAEhIAQEAJCQAgIASEgBIYEAiLTQ2KY1UkhIASEgBAQAkJACAgBISAEhIAQaCUCItOtRFPPEgJCQAgIASEgBISAEBACQkAICIEhgUCnkemvv/66peM2Sg2g0UYbLXz77bfxn5yMPvroLX1nXz6sqF/W775sy1B513//+9/w2GOPhZdeeilMOumkYdZZZw0/+tGPhkr3h0Q/G+0XVQEYddRRA/90inz11VfhhhtuCB9++GFYb731woQTTjhgu1b0PeGbwB452OSbb74JI0eO7Nbs/phjtOWJJ54Ir7zySvjggw/Cl19+GcYcc8ww2WSTxT1x3nnn7dd5D060sUgG2hxgrt56663h5ZdfDuuss06YZpppBtv0VHuFgBAQAoMTgU4j0wsvvHB45JFHWjYYq6yySrjpppvih/3pp5/OPjennLSsAW1+UFG/ll122XDbbbe1+e1D6/GQ5/XXXz87jyDT5513XvjhD384tEDp0N422i+qdvm3v/1t2HXXXaveNiCv/+ijjyJReu+99+rte/TRR8MCCyww4Np7/fXXh7XWWivbrtNOOy3svPPOA67NjRr0zjvvFBKso446Khx44IF90p9XX301HHvsseHSSy8Nn3zySeE7xx9//LDVVluFffbZJ3zve9/rk7b5lzAvF1poocL3Xn755dEYNBDk9ddfj2316+rwww8PhxxyyEBontogBISAEOhsBDqNTKOUPf74410GbdFFF42eP0h2jmjzQcQa/tBDD3W7d6WVVgo333xzuPHGG8MxxxwT7rvvvm4TYjCT6euuuy7su+++4e9//3uXfolMt3bdv/baawFDjyk7KIdg/+c//zkceuih8WUoj3gVpphiita+XE/rcwQefPDB8Oyzz8Y9A/KQE9bYkksuGT1y7777bnj77bcD96UEo5PI9O9///uw0047dYFj6623Duecc06fj1GzF77//vuxXQcccEC3S4877riw9957N3vEgPqdeXbWWWdlDTN9QabxnB588MGRSHuB9K277rrxG/zwww/HPfGMM87odg1kH29wX8nnn38ePefoBXvttVe31w4kMr3ffvuF3/zmN93aSPTHxBNP3FeQ6T1CQAgIgaGJQCeTaTwgkOBZZpklDu6FF14Ytthii24DTcjh6quvHv+OAow3+s0334z/b2Sa/77jjjsCCnAqg5lM05c//OEPYYcddujSLZHp1u4HqacSbwvKTxpJcdlll4UNNtigtS/X0/oNgeeffz7MNddc2ffjpZ1gggm6/Pbpp5+Giy66KKAcG6nuJDINAT3hhBO69JlojKeeeqrfxqjZi1dcccXwt7/9rctlrF3W8GAU9heIoJd2k+n//e9/YcMNNwy33HJLl/di+J5//vm7wQi+rAEva6yxRrjkkkvCeOON1+ewY/RKDekDaa9Gf0HXSWWgRn30+QDqhUJACAiBdiLQaWTaSMucc84Zbr/99jDllFPW4StDprkY7+ASSywRvYgrrLBC+Otf/xqf8dZbb2XDzQY7mQan5ZZbrss0E5lu3ap75plnuoVv//rXv47KImTKeyKvueaasPbaa7fu5XpSvyLA3pDLd8bQR9h/kfg12Ulk+v777497q5eBHjK95557hpNOOqlLmwczmT7ssMPCr371qz4j03ikMUozp71ccMEFYfPNNy9cA3vssUc4+eSTu/xO2P1VV13Vpx5qGkAOMnuzl4FEpvHsg0sqRcaKft0U9XIhIASEQKch0KlkmnDJRRZZpMtwlSXT3MSHcqONNhKZ7rQJ3w/9Of/882PunxdTxr0HBgMQyg9FeCSdg0BqMKFnzcg01+y2227h1FNPDZ1EpunXKaecEvtEGDV5x4TvkuIwUIUQ3xNPPLFL8wZjmLd1oK/J9P77798ttJs0l3/+85+hUfHOohxv0mJSY0C7506OTA+kMG9StZiTqWCo7Q9PfrvHQ88XAkJACAwoBDqRTPORJlco/VBXIdPcT6Vl76GVZ3pATd1B05hcyKL3bJFS8J///CcWuZN0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VMPVmCGLAHvOzTffHOcsOf4Q548++ijiMfnkk8f0Euo2kKrAEUd4sCVCQAgIASEgBISAECiNgMh0aah0oRAQAkJACAgBISAEhIAQEAJCQAgIge8QEJnWTBACQkAICAEhIASEgBAQAkJACAgBIVARAZHpioDpciEgBISAEBACQkAICAEhIASEgBAQAiLTmgNCQAgIASEgBISAEBACQkAICAEhIAQqIiAyXREwXS4EhIAQEAJCQAgIASEgBISAEBACQkBkWnNACAgBISAEhIAQEAJCQAgIASEgBIRARQREpisCpsuFgBAQAkJACAgBISAEhIAQEAJCQAiITGsOCAEhIASEgBAQAkJACAgBISAEhIAQqIiAyHRFwHS5EBACQkAICAEhIASEgBAQAkJACAgBkWnNASEgBISAEBACQkAICAEhIASEgBAQAhUREJmuCJguFwJCQAgIASEgBISAEBACQkAICAEhIDKtOSAEhIAQEAJCQAgIASEgBISAEBACQqAiAiLTFQHT5UJACAgBISAEhIAQEAJCQAgIASEgBESmNQeEgBAQAkJACAgBISAEhIAQEAJCQAhUREBkuiJgulwICAEhIASEgBAQAkJACAgBISAEhIDItOaAEBACQkAICAEhIASEgBAQAkJACAiBigiITFcETJcLASEgBISAEBACQkAICAEhIASEgBAQmdYcEAJCQAgIASEgBISAEBACQkAICAEhUBEBkemKgOlyISAEhIAQEAJCQAgIASEgBISAEBACItOaA0JACAgBISAEhIAQEAJCQAgIASEgBCoiIDJdETBdLgSEgBAQAkJACAgBISAEhIAQEAJCQGRac0AICAEhIASEgBAQAkJACAgBISAEhEBFBESmKwKmy4WAEBACQkAICAEhIASEgBAQAkJACIhMaw4IASEgBISAEBACQkAICAEhIASEgBCoiIDIdEXAdLkQEAJCQAgIASEgBISAEBACQkAICAGRac0BISAEhIAQEAJCQAgIASEgBISAEBACFRHoJDL9zTffBP5JZdiwYfHv3377bbffRh111DD66KPHv/P7119/3eUa7h0lBakixr25/O233w4333xzWGONNcLkk09ef9Rnn30W7rzzzvD555+H9dZbr/532v/oo4+GBx98MPziF7/ozav75d6XX345PPHEE136VKYhb731VnjyySfDs88+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CAgBISAEhIAQEAJCQAgIASEgBNqLgMh0e/HV04WAEBACQkAICAEhIASEgBAQAkKgAxEQme7AQVWXhIAQEAJCQAgIASEgBISAEBACQqC9CIhMtxdfPV0ICAEhIASEgBAQAkJACAgBISAEOhABkekOHFR1SQgIASEgBISAEBACQkAICAEhIATai4DIdHvx1dOFgBAQAkJACAgBISAEhIAQEAJCoAMREJnuwEFVl4SAEBACQkAICAEhIASEgBAQAkKgvQiITLcXXz1dCAgBISAEhIAQEAJCQAgIASEgBDoQgU4i0998803gn1SGDRsW//7tt992+23UUUcNo48+evw7v3/99dddruHeUVKQOnAeqEvlEPjkk0/CSy+9FP73v/+FaaedNsw666xhtNFGK7x55MiR4auvvsr+ns6tESNGdLtujDHGKNcwXVUJgeHDQ7jttq/CbLONFmaZZdRK9/b24pdf/jbcccdXYfzxRwmLLTZ6mGGGvn1/2fYPr4H0zDPPhIUWWqjsLbpOCAgBISAEhIAQEAJDC4FOItPnn39+2GqrrboM4LLLLhv4+3XXXReOPfbY8Oabb9Z//9GPfhT23nvvsNFGG8W/QZK23HLL8OCDD8b/n2KKKcLll18elllmmaE1KdTbLAIXXnhh2GeffWoEaLHw73//O84T5hB/n2uuubL3PP3002GXXXYJ99xzT5ffV1hhhXD66aeHH/zgB/Hvn3/+eSQtzz//fP26OeecM1x00UXxHZLWIACR3XPPz8MNN3xn4LjppvHCKqsMa83DSzxl++0/Dy+88E1YcMHRwkknfRnvePbZCWrzp9ggU+Kxbblk5ZVXDrfccks477zz4r4oEQJCQAgIASEgBISAEEgQ6CQyTdeeeOKJOvn4/ve/H1555ZV6j999991IWIxQf/TRR2GCCSboggge7B/+8IfhjTfeiMTme9/7XlvmDF7IL7/8suadGr8tz9dDW4sAxBkSzbywObHjjjuGM844IzDP8OCNM844hS/99a9/HQ444ID4+7nnntvN6GM3XnnllWG99dYLO+20UyTbktYiQHDKm29+W9sHPg7vvTcy/O1v44fll/8uMqXdcsUVI8L6638WXnxxwppHfNSaIe+LcMIJw8Pdd48fllqqb9pQpY8WkYMx6NRTT61yq64VAkJACAgBISAEhMDQQKDTyDSjhrf5hBNOiAP42muvhemnn74+mL///e8jUUFuv/328JOf/KTLQBOWO9VUU4V999037LXXXm2bBLvttlv0eP/sZz9r2zv04NYhYHPqscceqxtrHn744bDIIovEl9x3331h8cUXL3zhjTfeGFZfffX4O8Tc7ktvwEM97rjjxkiKNddcs3Ud0JO6ILDkkp/Uxuzr2h4wfm0P6Bsiu+66n4arrvqqFoUwcRh77O+aUxvumhFmYA4OhkbSGvbYY49w4oknDsxGqlVCQAgIASEgBISAEOhPBDqRTBOuPfvss0dYjzrqqHDggQfWIf7vf/8bJplkkvj/m222WQzR9WIeyNdffz1MN910bRmayy67LIaW44UUmW4LxC1/6JFHHhkOOeSQWojwnnVDDfn15D0j1157bVhrrbUK3/vXv/41rLTSSvF3T8hzN+ARvPPOO5Ve0PJR/P8PNDJ9553j13DuGzI922wfhb///dswfPjEYcwx29i5Fj164YUXDo888kgtHP2k8Itf/KJFT9VjhIAQEAJCQAgIASHQQQh0IplmeJZeeumYp0pILt5pCo2ZLLDAAuHxxx+P//vhhx+GiSeeuP7brrvuWsthfLZWIOiO+t8IFb/55pvrIb5LLLFEmH/++bvMAkK28XTzLLyOhP3y/7PNNltYbrnlghWSsjBebobkL7XUUmGmmWaK1zUScm/xWi666KLh5Zdfjt7NGWaYId5v8v777wdI20QTTRT/noawc90777wTnnzyyfDqq6+GGWecMcw333yxkFYqhMRff/31Ybvttou55H/5y1/CaqutVs/xhUg+9dRTsZ8UcMMrS7hzGaEfPO+FF16IucYYNwihBqOrrroq+EJc/B0DyIsvvtjl0RBT7rv//vvj+CJgA5YIIfxXX311+Oc//1nzAo4dGHPylHPF5B566KE4H7744ot43bzzzhsx9MI8IXcUwjzLLLPEn95+++06dm+99VaYZpppCrtflUzffffdXcaWB4MBHusJJ5wwpiKMN9548d9eGLdHH3000J6ZZ545EnIj/GXGhrFmrn3wwQfRIEW+Nu8zYdzACWHOMn68CwxNmFN+LjBHmLNrr712LaT57ri+Nt544y7rLte2mlO0lrbxdXjuuW9qYz1KmGee0cKcc3bPLX733ZG1uTqiNlfHrM3Vb2tz66vaXB1Wm6vfrflasEmNFH5Ta+PX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Q6kjBAgQIECAAAECBAgQILCWgDC9lrTnECBAgAABAgQIECBAgMBmBITpzQyljhAgQIAAAQIECBAgQIDAWgLC9FrSnkOAAAECBAgQIECAAAECmxEQpjczlDpCgAABAgQIECBAgAABAmsJCNNrSXsOAQIECBAgQIAAAQIECGxGQJjezFDqCAECBAgQIECAAAECBAisJSBMryXtOQQIECBAgAABAgQIECCwGQFhejNDqSMECBAgQIAAAQIECBAgsJaAML2WtOcQIECAAAECBAgQIECAwGYEhOnNDKWOECBAgAABAgQIECBAgMBaAsL0WtKeQ4AAAQIECBAgQIAAAQKbERCmNzOUOkKAAAECBAgQIECAAAECawkI02tJew4BAgQIECBAgAABAgQIbEZAmN7MUOoIAQIECBAgQIAAAQIECKwlIEyvJe05BAgQIECAAAECBAgQILAZAWF6M0OpIwQIECBAgAABAgQIECCwloAwvZa05xAgQIAAAQIECBAgQIDAZgSE6c0MpY4QIECAAAECBAgQIECAwFoCwvRa0p5DgAABAgQIECBAgAABApsREKY3M5Q6QoAAAQIECBAgQIAAAQJrCQjTa0l7DgECBAgQIECAAAECBAhsRkCY3sxQ6ggBAgQIECBAgAABAgQIrCUgTK8l7TkECBAgQIAAAQIECBAgsBkBYXozQ6kjBAgQIECAAAECBAgQILCWgDC9lrTnECBAgAABAgQIECBAgMBmBITpzQyljhAgQIAAAQIECBAgQIDAWgLC9FrSnkOAAAECBAgQIECAAAECmxEQpjczlDpCgAABAgQIECBAgAABAmsJCNNrSXsOAQIECBAgQIAAAQIECGxG4DcSpjejpyMECBAgQIAAAQIECBAgQGASOHPmWAyXn5nasb6zb9pP7Mf+Qd9IgAABAgQIECBAgAABAgQuAYFjRmRh+hIYS2+RAAECBAgQIECAAAECBFYSEKZXgvYYAgQIECBAgAABAgQIENiOwK8lTG+HR08IECBAgAABAgQIECBAgMDzFjjZMu/n/Rg/SIAAAQIECBAgQIAAAQIEtiMgTG9nLPWEAAECBAgQIECAAAECBFYSEKZXgvYYAgQIECBAgAABAgQIENiOgDC9nbHUEwIECBAgQIAAAQIECBBYSUCYXgnaYwgQIECAAAECBAgQIEBgOwLC9HbGUk8IECBAgAABAgQIECBAYCUBYXolaI8hQIAAAQIECBAgQIAAge0ICNPbGUs9IUCAAAECBAgQIECAAIGVBITplaA9hgABAgQIECBAgAABAgS2IyBMb2cs9YQAAQIECBAgQIAAAQIEVhIQpleC9hgCBAgQIECAAAECBAgQ2I6AML2dsdQTAgQIECBAgAABAgQIEFhJQJheCdpjCBAgQIAAAQIECBAgQGA7AsL0dsZSTwgQIECAAAECBAgQIEBgJQFheiVojyFAgAABAgQIECBAgACB7QgI09sZSz0hQIAAAQIECBAgQIAAgZUEhOmVoD2GAAECBAgQIECAAAECBLYjIExvZyz1hAABAgQIECBAgAABAgRWEhCmV4L2GAIECBAgQIAAAQIECBDYjoAwvZ2x1BMCBAgQIECAAAECBAgQWElAmF4J2mMIECBAgAABAgQIECBAYDsCwvR2xlJPCBAgQIAAAQIECBAgQGAlAWF6JWiPIUCAAAECBAgQIECAAIHtCAjT2xlLPSFAgAABAgQIECBAgACBlQSE6ZWgPYYAAQIECBAgQIAAAQIEtiMgTG9nLPWEAAECBAgQIECAAAECBFYSEKZXgvYYAgQIECBAgAABAgQIENiOgDC9nbHUEwIECBAgQIAAAQIECBBYSUCYXgnaYwgQIECAAAECBAgQIEBgOwLC9HbGUk8IECBAgAABAgQIECBAYCUBYXolaI8hQIAAAQIECBAgQIAAge0ICNPbGUs9IUCAAAECBAgQIECAAIGVBITplaA9hgABAgQIECBAgAABAgS2IyBMb2cs9YQAAQIECBAgQIAAAQIEVhIQpleC9hgCBAgQIECAAAECBAgQ2I6AML2dsdQTAgQIECBAgAABAgQIEFhJQJheCdpjCBAgQIAAAQIECBAgQGA7AsL0dsZSTwgQIECAAAECBAgQIEBgJQFheiVojyFAgAABAgQIECBAgACB7QgI09sZSz0hQIAAAQIECBAgQIAAgZUEhOmVoD2GAAECBAgQIECAAAECBLYjIExvZyz1hAABAgQIECBAgAABAgRWEhCmV4L2GAIECBAgQIAAAQIECBDYjoAwvZ2x1BMCBAgQIECAAAECBAgQWElAmF4J2mMIECBAgAABAgQIECBAYDsCwvR2xlJPCBAgQIAAAQIECBAgQGAlAWF6JWiPIUCAAAECBAgQIECAAIHtCAjT2xlLPSFAgAABAgQIECBAgACBlQSE6ZWgPYYAAQIECBAgQIAAAQIEtiMgTG9nLPWEAAECBAgQIECAAAECBFYSEKZXgvYYAgQIECBAgAABAgQIENiOgDC9nbHUEwIECBAgQIAAAQIECBBYSUCYXgnaYwgQIECAAAECBAgQIEBgOwLC9HbGUk8IECBAgAABAgQIECBAYCUBYXolaI8hQIAAAQIECBAgQIAAge0ICNPbGUs9IUCAAAECBAgQIECAAIGVBITplaA9hgABAgQIECBAgAABAgS2IyBMb2cs9YQAAQIECBAgQIAAAQIEVhIQpleC9hgCBAgQIECAAAECBAgQ2I6AML2dsdQTAgQIECBAgAABAgQIEFhJQJheCdpjCBAgQIAAAQIECBAgQGA7AsL0dsZSTwgQIECAAAECBAgQIEBgJQFheiVojyFAgAABAgQIECBAgACB7QgI09sZSz0hQIAAAQIECBAgQIAAgZUEhOmVoD2GAAECBAgQIECAAAECBLYj8P8fsG6S2Ch0xQAAAABJRU5ErkJggg==", "text/plain": [ "" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Navigating\n", "\n", "Just as we fill out forms, we can also navigate through a website by clicking on links. Let us go back to the home page:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.078431Z", "iopub.status.busy": "2025-10-26T13:36:02.078325Z", "iopub.status.idle": "2025-10-26T13:36:02.097462Z", "shell.execute_reply": "2025-10-26T13:36:02.097114Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.back()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.099095Z", "iopub.status.busy": "2025-10-26T13:36:02.098990Z", "iopub.status.idle": "2025-10-26T13:36:02.124140Z", "shell.execute_reply": "2025-10-26T13:36:02.123868Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZhcNfv28+LOi7V4kQLFXQuF4kWK9MWLFHcr7lbcXYu3SHEr7hQKpXiR4lKKu8t3fun37D+bzcyc2Z1Zmbmf6+JieyYnJ7mTk5P7sfzn30ycRAgIASEgBISAEBACQkAICAEhIASEgBDIjcB/RKZzY6WCQkAICAEhIASEgBAQAkJACAgBISAEPAIi05oIQkAICAEhIASEgBAQAkJACAgBISAEykRAZLpMwFRcCAgBISAEhIAQEAJCQAgIASEgBISAyLTmgBAQAkJACAgBISAEhIAQEAJCQAgIgTIREJkuEzAVFwJCQAgIASEgBISAEBACQkAICAEhIDKtOSAEhIAQEAJCQAgIASEgBISAEBACQqBMBESmywRMxYWAEBACQkAICAEhIASEgBAQAkJACIhMaw4IASEgBISAEBACQkAICAEhIASEgBAoEwGR6TIBU3EhIASEgBAQAkJACAgBISAEhIAQEAIi05oDQkAICAEhIASEgBAQAkJACAgBISAEykSgPDL9n/+UWb2KCwEhIASEgBAQAkJACAgBISAEhIAQ6EAI/PtvrsaKTOeCSYWEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBQKuQ6ZwPqQvA1UkhIASEgBAQAkJACAgBISAEhIAQ6HgIxLnBcvLclsVM53xIx0NTLRYCQkAICAEhIASEgBAQAkJACAiBukBAZLouhlmdFAJCQAgIASEgBISAEBACQkAICIFKIiAyXUk0VZcQEAJCQAgIASEgBISAEBACQkAI1AUCItN1MczqpBAQAkJACAgBISAEhIAQEAJCQAhUEgGR6UqiqbqEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBgMh0XQyzOikEhIAQEAJCQAgIASEgBISAEBAClURAZLqSaKouISAEhIAQEAJCQAgIASEgBISAEKgLBESm62KY1UkhIASEgBAQAkJACAgBISAEhIAQqCQCItOVRFN1CQEhIASEgBAQAkJACAgBISAEhEBdICAyXRfDrE4KASEgBISAEBACQkAICAEhIASEQCUREJmuJJqqSwgIASEgBISAEBACQkAICAEhIATqAgGR6boYZnVSCAgBISAEhIAQEAJCQAgIASEgBCqJgMh0JdFUXUJACAgBISAEhIAQEAJCQAgIASFQFwiITNfFMKuTQkAICAEhIASEgBAQAkJACAgBIVBJBESmK4mm6hICQkAICAEhIASEgBAQAkJACAiBukBAZLouhlmdFAJCQAgIASEgBISAEBACQkAICIFKIiAyXUk0VZcQEAJCQAgIASEgBISAEBACQkAI1AUCItN1MczqpBAQAkJACAgBISAEhIAQEAJCQAhUEgGR6UqiqbqEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBQK2R6b///tv9+++/FRm78ccf3/0nBqgiNbdNJd9++627+eabXefOnd26667rJphggrZpSImn/vPPP47/UtJe21ysS8XmZGv05/PPP3ejRo3y/3344Ydu5plndvPOO6+bZ5553BxzzOHnwddff+0OPvhgt+OOO7rllluuXc6L9tyo0aNHu1deecV99dVX7pdffvFr0AwzzOBmn312t8wyy7hJJpmkTZtfal1sjXnYUgBK9aGc+mttbS+n7yorBISAEBACQkAIVBCBWiLTY8aM8UShUvLiiy+6xRdfvFLVtWk9Tz/9tFtxxRUb2jDrrLO6t956y0022WRt2q7Uw/v37+/OPPPMZLteeuklt+iii7a7NhdrUL9+/dxVV12VLPLXX385NvbVkN9//90dffTR7pRTTmmofsopp3Q//vhjo39vsMEGnmQ/+eSTbtCgQW6LLbaoRnNqrs7vv//enXvuuX5s33vvvaL969Onj1dWLL300m2CQ+/evd1dd92VfPZcc83l3n333TZpV96Ham3Pi5TKCQEhIASEgBAQAq2KQC2R6d9++8099dRTbsSIEe6QQw4piOO2227r5pxzTsdmmE3ap59+6olELLVEpjfddFNvlQ7lmmuucVtvvXWrzrc8D3vjjTc8mb7iiiuaFH/22Wfdsssum6eadlNm5MiR7vDDD3f33XdfkzZVi0xjaV5zzTUdcxhhzp900klupplm8pZT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QAgIASEgBISAEBACQkAItBgBkekWQ6gKhIAQEAJCQAgIASEgBISAEBACQqDeEBCZrrcRV3+FgBAQAkJACAgBISAEhIAQEAJCoMUIiEy3GEJVIASEgBAQAkJACAgBISAEhIAQEAL1hoDIdL2NuPorBISAEBACQkAICAEhIASEgBAQAi1GQGS6xRCqAiEgBISAEBACQkAICAEhIASEgBCoNwREputtxNVfISAEhIAQEAJCQAgIASEgBISAEGgxAiLTLYZQFQgBISAEhIAQEAJCQAgIASEgBIRAvSEgMl1vI67+CgEhIASEgBAQAkJACAgBISAEhECLERCZbjGEqkAICAEhIASEgBAQAkJACAgBISAE6g0Bkel6G3H1VwgIASEgBISAEBACQkAICAEhIARajIDIdIshVAVCQAgIASEgBISAEBACQkAICAEhUG8IiEzX24irv0JACAgBISAEhIAQEAJCQAgIASHQYgREplsMoSoQAkJACAgBISAEhIAQEAJCQAgIgXpDQGS63kZc/RUCQkAICAEhIASEgBAQAkJACAiBFiMgMt1iCFWBEBACQkAICAEhIASEgBAQAkJACNQbAiLT9Tbi6q8QEAJCQAgIASEgBISAEBACQkAItBgBkekWQ6gKhIAQEAJCQAgIASEgBISAEBACQqDeEBCZrrcRV3+FgBAQAkKgVhB47rmX3OjRH7oJJhjfjRnzRa10S/0QAkJACJSNwIwzzuD++edf17VrF7fMMouWfb9uEALNQkBkulmw6SYhIASEgBAQAm2KwMCBN7n555/HTT31VG766adp07bo4UJACAiBtkbg33//dV9//Z377rvv3Vtvvev69dukrZuk59cDAiLT9TDK6qMQEAJCQAjUEgIQ6aWXXtR17jxDLXVLfRECQkAIVASBMWPGuhdffE2EuiJoqpKiCIhMa4IIASEgBISAEOg4CDz77EiXGWDc3HN36TiNVkuFgBAQAq2MwOjR77vxxx/PLbvs4q38ZD2urhAQma6r4VZnhYAQEAJCoIMjMGjQHW6xxRaSa3cHH0c1XwgIgeoi8NVX37iXXnrDbbll7+o+SLXXNwK1Rqb/+OOP5IBOMMEEbrzxxmv47c8//8w0+5lqP5CJJpqoopPh888/dz/++KObZ555itb7119/ZQkT/mlS5j/Z4Ew44YQF7/3555/dY4895n755Re3ySaKC6nU4H399dfuvvvuc3369HGTTjpppapVPTWIQKF3kHfylltucUsuuaRbYIEFarDnHa9LtTQmN954t+vZc4WONwhqsRAQAkKgFRFgn//YY8PcZput14pP1aPqDoFaItPffvut69atm/vii8YZTddaay136qmnukUWWaRhfA8++GB31VVXNZTt1KmTe/TRRyu28WXjNuOMM3oy/eqrr7qFFlqo4Nw6+uij3cUXX9yk3XbDSiut5OjD7rvv7qaZZposY+sYt9NOO7l77rnHF9l8883d4MGD627uVrrDEOgBAwa4p59+2lf93XffZYl9pq70Y1RfDSBQ6h285JJL3K677upmnXVW9/HHH9dAjzt+F2ppTM4+e2Bmadmw4w9KB+gBim7+QyEvqQ0EMLpU2nhSG8jUZi8GDbrd7bvv9rXZOfWqfSBQS2QaRFkkjz/+eHfCCSd4gKecckr3zTffJD+E559/vttrr73c3nvv7c4888wsrmL8ig3KyJEj3RJLLOHru+mmm0pajj/88EM3xxxz+PK9evVyl112mePaK6+84g466CBPyunLiy++mKX87+p++OEHt9tuu7lBgwaJTFdo1H7//Xc3bNiwzOLT09eI1XGyySarUO3toxqs7tNNN137aEwHb0WxdxCPEebR1ltv7a655pqq9RSFD+tCJdeuqjW2jSturTFpjW6WS6bHedvcm31TPnC//vqLm2WWWV337itmCua2PTrm5ZdfKqhEBke+dXPOOVdrQJp8Bh5sq622cpYd+JtMyfqs++9//1u1tnz++Zjse369f8Zss83e8Bz+BofWIvP9+m2TucWOdCNHvlpWXzFmvPDC87nuWXXV1XKvWZ999pkbMeKFzCjxivcuZM4uvfTSboYZOjV6Vt52v/PO227ttddwyy+/grvuOhkhcg1YBy8kMt3BB7AjNL/WyDSYo0XeeOON3R133OGH4Oyzz3b77LNPo+GAKGHFXnjhhd3dd9/dyAW8EuP21ltv+fqR22+/3W2wwQYlq+3cubPfWECSL7zwwobyH3zwgbeqQ6j5/8svv+x/o8wee+whMl0S2fwF8CiYfPLJ/Q2//fabm3jiifPf3M5L4nb8+OOPu3PPPbedt7TjNK/YO8hGvFiYRkt7yfzs3r2791DBC0ZSGoFqj0npFlSmRDlk+pZbbs68mnZNPni99dZ3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m2KKKdxSSy3cvErq4C6tmXUwyOqiEMiBgNbMHCCpiBCodwREpmt/BgwefKfbZJN1RKRrf6jVQyFQEgE2h0OG3Ou22KJ3ybL1WkBrZr2OvPotBJoioDVTs0IICIGiCIhM1/4EOfvsgW7ffbev/Y6qh0JACORCQGtCcZiET65ppEJCoG4Q0JpQN0OtjgqB8hEQmS4fs452hz4CHW3E1F4hUF0EtCaITFd3hql2IVBbCGjNrK3xVG+EQEURqGUy/e+//7o///yzEV4TTTRREj/KUT6U8cYbryZco/URqOgro8qEQIdHoNCa8M8//7i//vord//aco387LPP3NChQ93666/vZphhhoY2//zzz+6xxx5zv/zySxbesknuvoQFtWY2CzbdJARqFgGtCTU7tOqYEGg5ArVMpr/55hvXt29fd9999zUANXjwYLf55ps3AW6//fZzV1xxhfvxxx/9b506dXKHHnpo5h69b8tBbuMa9BFo4wHQ44VAO0Og0JrwzDPPuP79+7tnn302V4vXWmstT2jbQjbbbDN30003uZ133tldcsklbsyYMW6nnXZy99xzj28O6zzrfXOkED5//PGHK6SQbc5zdI8QEAIdAwHtozrGOKmVQqBNEKhlMm2Asrlab731GvB98cUX3eKLL94E77Fjx7oZZ5zRzTvvvG7kyJFusskma5MxqfRDy/kIPPTQQw7r1JprrlnpZlSsPixSjE8oU089tR/TySefvGLPUUVCoFYRKLUm7LXXXu7888/33WdNWGKJJfzfeO+gcHznnXfcPvvs45WOjz76aJvAdOqpp7qDDz7YXXrppZ5EIz/88IPbbbfd3KBBgypOpl9//XW3/PLLu1VXXdXdfvvtZfeZti244IJ+bUVx29rC2H366afu888/95b8mWaaqa4VA7/++qv/1q+yyiru2muvbe3h0PM6GAKl1swO1h01VwgIgUoiUA9kGrz+E3R01lln9WRs+umnbwLliiuu6EnZeeedV0mY27Sucj4CnTt3dmwy2Pi1V2HzvMsuuySbt/TSS7uNNtrIb7JxQZUIASHQFIFSa0L4jn3yySdulllmaVLJww8/7I444gg3bNiwNoOY8JwJJ5yw0fMvvPBCt8cee1ScTKM0gEhDwN56662y+/zdd9+5aaaZxrul33nnnWXf39wbHnnkETdgwAD3/PPPN3heWV3bbbedXyu7devW3Oo77H2EAaB8bUvvig4LXh02vNSaWYeQqMtCQAgYAvVEptkEvf32277ra6yxhrv33nubxERvvPHGbqGFFnLHHXdczUyScj4CHYlM77rrrm611Vbz1rL333/fx0maSz9u+2eeeWbNjKE6IgQqiUCpNeHKK690228/7gQArJkzzzxzk8f//vvv3mq97rrrVrJpLa4Ll2/Whmq4eaOEnW222ZKK2FINb20yjQfBQQcd5C6++GKHknHbbbd1iy66qJtyyindiBEj3HPPPect7ChPH3jgAbfccsuV6kJN/S4yXVPDWfXOlFozq94APUAICIH2i0A9ken777/fnXLKKQ5NPXLggQc6XAVD2XTTTb0r3tFHH93o+rvvvutjAz/++GOHZbt79+5JV/FXXnnFJ75hYzJ69Ggfe9ilSxe30korNdT35Zdf+s3Lf//7X399qqmmajJBsHywcWOjs/DCC7ulllqqSZkhQ4Z4Ivm///2vkeU9LljOR6AYmcYKRP9xhU+5wOMejgcA//H3hx9+6KivlLv8Rx995DfrE0wwQa4XxaxmAwcOdP369WsyTiussIL74osv3Iknnujj3lOCtW266aZzk046aclnltu+khWqgBBoYwRKrQmlyPRrr73m14JevXo16gkhGBA1rK+sc1itSWhGmI3FGrM+YuWF7LH+pazexG5zL3VgNUVpBomN5Y033nCszTzPpBCZJjHZ9ddf7wnlsssuW3QEiiVoszUuzxDiUo3lnLUmD5nOuy6BKVjPPvvsBZuxww47ONbI448/3h1yyCHJ9ZU6GEO+Wygi11577WR9hEBhxZ1iiika/c73h/9SXkDh9yC8iXGgPtqeWvO5z+rDQ4p5Es4Rnke7WbunnXbaJu0N7+f7yRjMMcccTb6Rpch0HoyLzYGvv/7afwfD5Hip8n///bd/l5jf448/frI/XAQT+s53lfCK8LtKX+gne41UHXnmqsoUR6DUmin8hIAQqGME6olMs4HD6owbN5sWJE5IliLTt9xyiyese+65pyfR55xzjifJ4b1cY+PCpmTvvff2H76zzz67YWZhGcASTiziDTfc0HB9kUUWcU8//XTDJoUENwcccIC77bbbXI8ePfxz3nvvPZ+V9pprrnGTTDKJvxeXvWWWWcb/TZlim8NyPgIpMs2HHrfJu+66q6HdxFDSHhQP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7nVbbNG7qs9R5W2DgNb7tsFdTxUCeRH44otv8hZtdjnOuDbRmt9sGHWjEKg+AiLT1ce4Ek84++yBbt99t69EVapDCAiBGkBAa0INDGKBLmhsa3ds1bPaQKC1yTSoaV2ojbmjXtQgAiLTHWNQtYh2jHFSK4VAayGgNaG1kG7952hsWx9zPVEIlIOAyHQ5aKmsEKhxBESmO8YAa3PVMcZJrRQCrYWA1oTWQrr1n6OxbX3M9UQhUA4CItPloKWyQqDGEahXMv3LL7+4t956y/3999+uS5cuboYZZvAj/dVXX7nvv//ezT333P7fn332mRs6dKhbf/31G8q0xZTQ5qotUNczhUD7RaBaawJrIv/lFRIi/vPPP/6/WP6TfWDGH39899dffyWr497xxhsv76MKlvvmm2+ykw5Gu0kmmcTNOeecbsopp/Rl33nnHTf99NO7aaaZpsXPsAq+/vprd99997k+ffq4SSedtGL1hhVVa2yr0lhVKgTqEIFyyPSbb77rPvlkjJt11pn8SQx5JYyZ5h6tC3mRUzkh0MoI1BOZ/uOPP9zJJ5/srr/+evf22297pNl0/fjjj/7/a665pnv11VfdZptt5o477jj/O3/fdNNNbuedd3aXXHJJK4/O/z1Oi2ibQa8HC4F2iUC11oTDDz/cnXjiibn7fPnll7tPP/200bpqa+vqq6/ujjjiCLf33ntnGcifTtY511xzuWWWWcbtsssubpVVVsn93C+++MIdfPDB7t5773X8Hcqss87q67rjjjvcrbfe6mhHSwUCPWDAgIZ+fPfdd27qqaduabXJ+6s1tlVprCoVAnWIQF4y/dZb77kRI15pQGiZZRZzXbvOkQsxkelcMKmQEGh7BOqFTI8aNcr17dvXvfjii26BBRZwF198sVtyySXdZJNN5j744AM3cOBAd/zxx/sB2W+//dyZZ57p/z711FP9hu3SSy91O+20U6MBg5z//vvvDVaQao5mqc0VSoARI0a4V155xXXu3Nn3bYUVVvD9a2/y1FNPZVmIt3CHHnqo23333dtb89QeIdAhECi1JjS3E1tvvbW77rrrPHHs1auXm2222bx12eTll192PXv29P9cbrnl3JNPPulPGfj333/9mvPss8/63z766CN/rwkKycsuu8z/88EHH/S/vfnmm+6GG27w/8Vrb7H233333W7LLbf0itBN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1wkvshG2VapExHj//rUt881WSD6bPLnAZblGKC1Z0ijqyvvf/+Zbt+aVzqo5Z07DqCUWkdi166oYAXzaaauc1TYo7N98c4O1CBc6S3WihgW3ffsVdkOomrUiWxVumxfYxxxT1bz/vh3Upobl+/vvN8aUcgoK5NWrGzm3YT+fPfesUsTqiVBEQCYT07ffvs7e42vNV1/Vd5ZY3x55ZL0VpWvNa6/Vde7JbduuMN98U1Ckv/nzsQbbdP62PftsnajrdVnNAQ+EPfeMbBSEielrr61pNzwiItY3hOygQXkxYrpXr0hIwV131bIW/c0eJtxDxF7DLpgxPNX54C6+994rnPcDmdT9hhCbDm++GVl3NREQAREQAREQARHIGgLZJqarWf032hp+D94xssQvTjVm1Gxjzrdhwoe2iHw2/TdjDnjCmBWbEo7F3wzpFtOI1x49ekQv40Uybtzdu3d3nxP3S2wxInDu3LnOSnvrrbe679566y1zwgknRM/HFZpYaUpA/f77786l+cEHH3Si+80333THIYCvueYad0yzZs2K3O+4eOMezbmJmreMB63FJe07lXkR78z4Ge/DDz8cMxyfgIw63/ycqAUt04nEdLJ12FJmYWKaeNfc3IhAbtWqaAwvn/fsWdNcfHFEOLdsudy5RQcttX7OiEFEIe7IixdvrlHsP6f/mTM3W33DPn/ttbyoS/T551c3t99eu0hMdSLGWErr1IlY2z/4YIOzNn/8cb5zK/7664i1muaFa9B13JZrtyI/wmHRooZm221zXIz5gw+us+tew657bAZrn4Ds44/r2XVPbJn2vAoKGjn3+bC2aFGh/R2ICOawxHDHHrvSuecHxWdZzQFLc6tWicV07941LddYMe03Y4Ju3n6z4Y036tpnQax7Puty/fVrY+6TVOeDGN9ll8g9yH3GNU85pXpCtgl/IfWFCIiACIiACIiACGQCgWwT06xZo01W6BabjZPRpfzduoD+daAxP0XerUNbWYtpbykNimkGglX29ttvt8Lka/syfL2Ne3zRWaDjxfQG64uKezj1l4cOHWpdVU+ybrG7Olfy4447zs3p0ksvtW61Tzp3bcR7aVoiMV3SvpPNy/NgvmeddVbMUL2Yxr2dsleJWlBM487esOFmsen7jxfT8etQ0nnFjyUoppcubWjHkOPiWHfYYblLvPX555sFZ6J5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az6bf8VtcJWWpc4TAREQAREQAREQgQpBIBvE9B9WIPQcYczb062bq3XRLE2jnFbX3a17bVdjtkqQhKk0/eocERABERABERABERABERABERCBSkggG8R0JVwWDTnDCOTkROKE1UQgkwkUFiau553J89bcREAEREAEREAEspSAxHSWLrymLQIiIAIiIAIiIAIiIAIiIAIiUHoCEtOlZ6czRUAEREAEREAEREAEREAEREAEspSAxHSWLrymLQIiIAIiIAIiIAIiIAIiIAIiUHoCmSqmJ036ysyaNddm/s21GXx/LT0gnVlmBJo2bWzLexWaXXbZ0dYTbltm11HHIiACIiACIiACIiACIiACIpB2Apkopp99dojZY49dTYMG9c022yghTtpvmjR1SB3sJUuW2TJMy83MmbNtjd9uaepZ3YiACIiACIiACIiACIiACIhAGRPINDGNkP7rX9va+riNy5icuk8ngYULF5svv/xOgjqdUNWXCIiACIiACIiACIiACIhA2RHIJDE9ceJUY42dpmXLHcsOmHouMwKzZs0xublVTIcO7crsGupYBERABERABERABERABERABNJCIJPE9KBBb5l99mkj1+603Bnl38nvv/9hvvrqe3PGGSeU/8V1RREQAREQAREQAREQAREQAREoCYFMEtOvvfauOeKIg0oyfR1bgQgQQz127Gfm9NO7VqBRaSgiIAIiIAIiIAIiIAIiIAIiEEIgk8R0//7PWqvmSVrnSkxg0KA3zdVXn1eJZ6Chi4AIiIAIiIAIiIAIiIAIZAUBiemsWOZKM0mJ6UqzVBqoCIiACIiACIiACIiACGQ3gWwT04sWLTSDBr1iGjZsaJo338EtfpUqVUyrVrvZfzcvcjOce+4/bRzvVDN16rdZe6OceWZ388MPP5jPP59S5gwkpsscsS4gAiIgAiIgAiIgAiIgAiKQDgLZJqZfeukF06tXz1B02223nXn66efMfvvtH/3++OM7WxE5ySxevCQduCtlH3/7WyfzzTdflwsDielKeYto0CIgAiIgAiIgAiIgAiKQfQSyVUwfdtjhtqZxJDZ37ty55s03h1nr81T3748+GmP22mtv97PEtDES09n3XNCMRUAEREAEREAEREAEREAEkhDIVjHdv/9jpnv3M2Lo3Hnn7WbAgEfNxRdfau64466kYnr16tXm999/M9tv/xdTtWrVYkn/8ccfZuPGjbZs1zbFHrd69SqzZs0a07hxk1Ldu0uXLnXnNWrUKPR8xoBbO2358uVm6dI/TIsWO8Ucu2rVSrNixUrTrFkzk2NvkGRi+pdffjFNmzYNZcD1aFyTn+fN+9mObStTv3790PHJMl2qZddJIiACIiACIiACIiACIiAC5U1AYnoz8RkzZpjDDuto9tyztRkzZnxCMf3FF5+b3r17me+/nxY9uXPnLgaB3qBBg5glfPrpp8xrr73q3KRpuJJfeeVV5rzzLog5bvz4cU7Ijxs31n3OGHr0OMtccMGFKd0S//nPk+bVVwdFx8T5bBZcdNEl0fPffvstc+GF55k777zHfPDB+2bChMgcvQv71Klfmvvvv9fOfbT7fJttGts5PWoeeOC+Im7ea9euNXfffYcZMeJds2DBAlO3bl1z+OFHmFtuud3suOOO0Wu2a7eXycvbYDcn7nTMVq1aZe65535z/vmx8/cnSEyntNw6SAREQAREQAREQAREQARE4M8mIDG9eQW8mN5777bmww8jgjLezfunn+aYDh0iMdVnnXW2adKkiRk9+iPnIn7wwYeaoUOHRzt85pmnzY03XudE6d///ncnKhGfWLNvuOEmWwIqErv99ddfmaOPPtIJ0pNOOtkJ8uHDhzqR2rdvf3PmmWcVe5sgpPv0uSl6HQ4ePny4uw7C+aKLLnbnDxs21Fx66UXuOjVr1jJHHXWUFffbm+uuu8EsXLjQ/vsId86RRx5l2rXb13z22afmk08muOMRwV50Y2G+7LKL7TWGufhyRPT06d+bkSNHmJYtd7H//8AleKMhppkHrWPHgw1sjzuus2V4QOicJKb/7CeCri8CIiACIiACIiACIiACIpASAYnpzZjuuOM2M3DgY1ZwXm5uu+0O90W8mH7//ZHmvfdGmq5dT7Duz0e7YwoKCsz+++/jROOPP85xLsy4Pu+3X1snRMeP/9S6gm/vjiWbeMeOESH57bfTTe3atc1BB3Uws2fPciLUJz9bvHiR6dTpcCduZ836ydSrVy90PefNm+eujWAfNWqMdbduFr3OkUdGxPGXX37jru/F9I47tjDvvjvSbgRsG+3zX/+63FrQB9vkbL3NtddeF/2cZG0kbaN5Me0t3FjjSdiWm5vrvn/kkX7W6nyXueaaf5vrr7/RfebFNG7zuM8naxLTyQjpexEQAREQAREQAREQAREQgQpBIFvFNFZk72o8d+5PTmjiio34feedkc7NmpZqArKePa8yr7zysnMP51ystJTVuuWW28zll18Zs9YI7RUrlpudd25piLvec89W5thjO5sXXngp5rgHH7zfPPTQA2487dt3CL1f3ntvhDnnnH868c8mQLCxMcAGwYsvvmyOOea4qJjGEt2zZ6+YY72gnz9/cUzs87Jly8xuu7V0x3oxfeutfcyTTz4ek6iN74n13mmn5tZV/nAzZMjQGDE9Z848t3GQrElMJyOk70VABERABERABERABERABCoEgWwV02Hwsdg++eRTZt99941+HSamJ0z42Fp23zFTpkx21misv755MX3fffeYfv362jjmIdbCfGTCtf7443Hm1FNPdt9jXQ423++9995fJMbaH0eM88MPPxR6nVGjPjJnnHF61NrsLdOPPDLA/OMf3aOXIunZzjvvaK3I7cz7739UZKzeuuzF9KGHHmRmzpxZ7Jj9sT5metq0GSnd7xLTKWHSQSIgAiIgAiIgAiIgAiIgAn82gWwV07hon332uQ4/bsq77bZ71BU7uCbxYhrrM1ZoGtbt1q1bu/hgRC3Ni2lvVX755Vej7uBhaz127Bhz+umnuq+uuuqamEN+/nmuc8U++uhj7LUOCb1VSA7Wt++DxYpp3LZx306XmD7iiENdorNLLrnM1KhRI2Zc06dPN3vssYeNFb/ZfS4x/Wf/huv6IiACIiACIiACIiACIiACZUIgW8V0WGmsMMDxYtqXifKi2Z9Dlmxiif3nZMv+5z972ERjN9tEY7EimXjolStXOjfvJUuWmDZtdjfEHz/33IslXmPv5n3rrbfbpGBXxJxPdnDKfcW7ecdbpjmpJG7eJDsj6dno0ePsZkKbYscsMV3iJdUJIiACIiACIiACIiACIiAClYGAxHTxqxQvpr3L81dffefqMNN++OEHc8ghB7qfvZgmO/Y++7RxMdijR4+PlovCLdwf6xOQ+T7ffntETJZrEnqRUZsYZ7Jrh7VgorMJEyZGx+SvQxbuqVO/dSW5Elmm6feqq64wgwe/6mKpuZ5vPhacf3vXbd8Pcd7PPPNcNMb6559/tonHrrVx0zvZsln3uS4kpivDU0BjFAEREAEREAEREAEREAERKDEBiemSiembbrreZrB+yrqF7+aShq1atdJlwUa0BsU0P7/88ovm3/++xsVCH3/8CaZKlRzz1ltvuRjrm27qY/71r6vdOdSt7tr1OPfzqaeeZstLtbQlqT5xdaBJZvbf/44y1apVSzjQYAkurkN755233XWC8dbFiWmyjPvs30cc0cmWsNrbTJo0yUyc+FmR0lj5+fmuXjVJ1ih1xfHr1q2zCdhechzI8O3HITFd4l9JnSACIiACIiACIiACIiACIlAZCEhMF79KJ57Y1QlKb5UlY/UNN/R2VlzfiEcmK/cTTww0Y8dOcDHDvr3wwnM2nvkVV4eahrDG+uszifvjRo8e5TJkjxs3Nnpujx5nWtF9i9l6662T3koI6sGDB7mM5DREbvfuZ8QkLvNiesCAx023bqcX6ZN618R+k7iMhjW7X79HzX333e3G7xnwHRzuuut2VybM15GmxjSbBF26dI323b79fo6NEpAlXUIdIAIiIAIiIAIiIAIiIAIiUJkIZJuYTtfa5OXlmV9//dU0bty4SBKusGssX77c1aPeaqutih3C2rVrzdKlS23isSYxJapSHTfXoTVo0CDVU4ocR3ZvBHDjxk1MTvwNEtIrMeA1atR0idi2tCmb95YS1PkiIAIiIAIiIAIiIAIiIALlQiCTxPTgwe9Yl+ODUhKA5QJXFykRgcLCQhtz/qkt23V8ic7TwSIgAiIgAiIgAiIgAiIgAiJQ7gQySUy/+urbpm3b1taVulG5c9QFt5zA77//Yb7+erp1T5eY3nKa6kEEREAEREAEREAEREAERKBMCWSSmJ44cap1pd5odt11pzJlps7LhsAPP8wx1avnmvbt9ymbC6hXERABERABERABERABERABEUgXgUwS0zB57rnXzb77trElorZNFyL1Uw4E5s9fZJOnfW/OPvvUcriaLiECIiACIiACIiACIiACIiACW0gg08S0F9StWrU0jRrVt5mwGymGegvvkbI6nRjpJUuW2oRry82sWXMkpMsKtPoVAREQAREQAREQAREQARFIP4FMFNNQmjRpqpk9+2eTm5trFi78Nf3g1OMWE2jatLFBULdsuYNcu7eYpjoQAREQAREQAREQAREQAREoVwKZKqbLFaIuJgIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0EJKaza701WxEQAREQAREQAREQAREQAREQgTQQkJhOA0R1IQIiIAIiIAIiIAIiIAIiIAIikF0E/hQxnV2INVsREAEREAEREAEREAEREAEREIFMJ1BYmNIMcwptS+lIDopX7CmfqANFQAREQAREQAREQAREQAREQAREoBIQSFEiS0xXgrXUEEVABERABERABERABERABERABMqJgMR0OYHWZURABERABERABERABERABERABDKHQIpi+v8BS6i4VWDQCSMAAAAASUVORK5CYII=", "text/plain": [ "" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We can query the web driver for all elements of a particular type. Querying for HTML anchor elements (``) for instance, gives us all links on a page." ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "button": false, "execution": { "iopub.execute_input": "2025-10-26T13:36:02.125538Z", "iopub.status.busy": "2025-10-26T13:36:02.125423Z", "iopub.status.idle": "2025-10-26T13:36:02.129381Z", "shell.execute_reply": "2025-10-26T13:36:02.129063Z" }, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "links = gui_driver.find_elements(By.TAG_NAME, \"a\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We can query the attributes of UI elements – for instance, the URL the first anchor on the page links to:" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.131010Z", "iopub.status.busy": "2025-10-26T13:36:02.130906Z", "iopub.status.idle": "2025-10-26T13:36:02.141011Z", "shell.execute_reply": "2025-10-26T13:36:02.140745Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "'http://127.0.0.1:8800/terms'" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "links[0].get_attribute('href')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "What happens if we click on it? Very simple: We switch to the Web page being referenced." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.142565Z", "iopub.status.busy": "2025-10-26T13:36:02.142459Z", "iopub.status.idle": "2025-10-26T13:36:02.174217Z", "shell.execute_reply": "2025-10-26T13:36:02.173778Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "links[0].click()" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.175668Z", "iopub.status.busy": "2025-10-26T13:36:02.175576Z", "iopub.status.idle": "2025-10-26T13:36:02.177847Z", "shell.execute_reply": "2025-10-26T13:36:02.177621Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
127.0.0.1 - - [26/Oct/2025 14:36:02] \"GET /terms HTTP/1.1\" 200 -\n",
       "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "print_httpd_messages()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.179009Z", "iopub.status.busy": "2025-10-26T13:36:02.178919Z", "iopub.status.idle": "2025-10-26T13:36:02.192874Z", "shell.execute_reply": "2025-10-26T13:36:02.192534Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBXhcx9WGxyzbsiyHmbGhhpkahuZ3A07SMDTM7GADDTM70DAzN5yGyU3D2DA5ZJRkyZL1zzs3ZzU7e+/uvdKKz3mePLF2L8x8AzvfwT7NVoyKIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIpEagj5Lp1FjphYqAIqAIKAKKgCKgCCgCioAioAgoAoqAQ0DJtE4ERUARUAQUAUVAEVAEFAFFQBFQBBQBRSAjAkqmMwKmlysCioAioAgoAoqAIqAIKAKKgCKgCCgCSqZ1DigCioAioAgoAoqAIqAIKAKKgCKgCCgCGRFQMp0RML1cEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAyrXNAEVAEFAFFQBFQBBQBRUARUAQUAUVAEciIgJLpjIDp5YqAIqAIKAKKgCKgCCgCioAioAgoAoqAkmmdA4qAIqAIKAKKgCKgCCgCioAioAgoAopARgSUTGcETC9XBBQBRUARUAQUAUVAEVAEFAFFQBFQBJRM6xxQBBQBRUARUAQUAUVAEVAEFAFFQBFQBDIikI1M9+mT8fF6uSKgCCgCioAioAgoAoqAIqAIKAKKgCLQjRBobk7VWCXTqWDSixQBRUARUAQUAUVAEVAEFAFFQBFQBHoFAkqme8UwaycVAUVAEVAEFAFFQBFQBBQBRUARUATKiYCS6XKiqc9SBBQBRUARUAQUAUVAEVAEFAFFQBHoFQh0CJlO+ZJeAbh2UhFQBBQBRUARUAQUAUVAEVAEFAFFoPshEOYGS8lz2xYznfIl3Q9NbbEioAgoAoqAIqAIKAKKgCKgCCgCikCvQEDJdK8YZu2kIqAIKAKKgCKgCCgCioAioAgoAopAORFQMl1ONPVZioAioAgoAoqAIqAIKAKKgCKgCCgCvQIBJdO9Ypi1k4qAIqAIKAKKgCKgCCgCioAioAgoAuVEQMl0OdHUZykCioAioAgoAoqAIqAIKAKKgCKgCPQKBJRM94ph1k4qAoqAIqAIKAKKgCKgCCgCioAioAiUEwEl0+VEU5+lCCgCioAioAgoAoqAIqAIKAKKgCLQKxBQMt0rhlk7qQgoAoqAIqAIKAKKgCKgCCgCioAiUE4ElEyXE019liKgCCgCioAioAgoAoqAIqAIKAKKQK9AQMl0rxhm7aQioAgoAoqAIqAIKAKKgCKgCCgCikA5EVAyXU409VmKgCKgCCgCioAioAgoAoqAIqAIKAK9AgEl071imLWTioAioAgoAoqAIqAIKAKKgCKgCCgC5URAyXQ50dRnKQKKgCKgCCgCioAioAgoAoqAIqAI9AoElEz3imHWTioCioAioAgoAoqAIqAIKAKKgCKgCJQTASXT5URTn6UIKAKKgCKgCCgCioAioAgoAoqAItArEFAy3SuGWTupCCgCioAioAgoAoqAIqAIKAKKgCJQTgSUTJcTTX2WIqAIKAKKgCKgCCgCioAioAgoAopAr0BAyXSvGGbtpCKgCCgCioAioAgoAoqAIqAIKAKKQDkRUDJdTjT1WYqAIqAIKAKKgCKgCCgCioAioAgoAr0CASXTvWKYtZOKgCKgCCgCioAioAgoAoqAIqAIKALlREDJdDnR1GcpAoqAIqAIKAKKgCKgCCgCioAioAj0CgSUTPeKYdZOKgKKgCKgCCgCioAioAgoAoqAIqAIlBMBJdPlRFOfpQgoAoqAIqAIKAKKgCKgCCgCioAi0CsQ6GlkuqmpyTQ3N5dl7Pr162f6hACV5cmd85Dx48ebu+66y8w666xms802M/379++chpR46/Tp0w3/xUlXbXOxLhWbk+XuD3Of95VTeto6KCc2PeVZpfbNcs9TcPv111/NBx98YL799ltTWVlpllhiCTPffPOZvn375sH6/vvvm7feesvsuOOO3Q7uUusxaW19/vnn5v777zdrrLGGWWmlldrc72nTppmHHnrI/Pbbb2abbbYxw4cPb/Mz9QGKgCKgCCgCioAiYBHoSWT6hx9+MHPMMUfZxvU///mPWXbZZcv2vM580EsvveQOZiJzzTWX+fjjj82QIUM6s1mx7z788MPN+eefH/vdf//7X7PMMst0uTYXa9Buu+1mrr/++thLGhsbDQfqcsljjz1mNt1003I9zj3nlVdeMausskpZn6kP61oIbLHFFo5sxckCCyxg/ve//5WlwU888YS5+OKLzRtvvGF++umn2GeuueaaZr311jNbb721mWmmmcyf//xnd325lKRl6UjKh7z55ptmxRVXTLz6zjvvdOTWF/Y+9kCR7bbbztx2220p31h42cSJE80iiyyShzftWn755Vv9TL1REVAEFAFFQBFQBH5HoCeR6alTp5oXX3zRjB071hxzzDGJY7zLLruY+eef33DIgIB/99135oUXXii4vieR6VGjRjmrtC833nij2WmnnbrcWsBaxYHy2muvLWjbq6++alZeeeUu1+ZiDcKqdtxxxxmIbigdQaaHDRvmCMncc89tzjrrrII28P1+++1nvvjiC9fGyZMn512jZLpbTbdWNfazzz4zH330kTn77LML9sJykOlffvnFHHHEEeaGG27ItW+55ZYzI0eONGuttZazTLO2n376aXPffffF9qE7kuna2lpnVX/ttdfyCLJ0MCTTDQ0Nbp2GigbGZ8EFF4zFhXdcd911ZuONN4695oorrnDr25fdd989dn9t1eTRmxQBRUARUAQUgd6MQE8i0/44XnXVVWbvvfcuGNrVV1/dEe5QcDW87LLLzJlnnpn7qieRaay577zzTl63jzzySHd47oqCYmTw4MEFTeuuxA5X1SWXXLLdyfQjjzxiNt9889x7zjvvPHPAAQeYgQMHus9w8Q8P6ksvvbR5++233ffg/o9//MOcdtppuWfg1bDaaqt1xWmibSozAs8884yzCvvSVjJ9zz33GLwzfCXNOuusY/71r3+ZQYMGFfTgjjvuMFhjQ+mOZNrvA55BrCVfbr/9drPtttvmPsL1HWt8KHgN+Ova/148X5KuQYnBPuCLv+bLPIX0cYqAIqAIKAKKQO9CoKeSaawBWD5COfDAA52bYZKccsop5qSTTnJf9yQyjZJg9OjRed3u6i7TxFBipfalu5LpJOVAuS3TDz/8sLNCI5deeqnZf//98/ArRablYjw7xIqtZLr3/CbE7ZttIdMPPvig+b//+788AHE5xgo9YsSIRGBpB5ZWX/HT3cn0lltuWWB1D8k0gGy44YbmySefzGGD58jPP/8cq3i45pprzN/+9jd3bRKZfvnllw1KZF/i9obeM8u1p4qAIqAIKAKKQBkR6KlkGpfFxRdfvACpUmQackMsGVbcnkSmST52xhlnmCuvvNLMPPPMBqv0PvvsU8aZVP5HxVnTu6ObN8h0FJnmQE386yabbGIeffTRgkFJS6YhLgsttJAhERKeHOFhvPyjrU/sCgjgofDHP/4xrymtJdMffvih+cMf/lDQrbvvvttstdVWJbsbksCeSKbjYqZRIOIdcuuttxos+Mcff3yBtwDg8fvkxz0Xs15fdNFFTokMKUfBduyxxxpIuooioAgoAoqAIqAItBEBJdPG4FaIa524N+L6fPTRR/coMi3ThKyuJLwKM+a2cRq1y+1KprPDKpbAJMtTWjLNm8U6TT4BP3ld9lbpHd0FgXKSadySCTsIhVwVVVVVqSA58cQTzamnnuqu7S1kWoCpr6+PtUbzPQnhCL3wLffFyDT3UCGBrO0DBgxIhb1epAgoAoqAIqAIKAIpEOjtZJoDRnV1tdl3331zbq1YBnAxJs41zrKSAtYeewkWbg5w88wzT2xMc1LHsfgTl84BcZZZZinq4inPKEWmKfNCe0gml1U5QDs++eQTN/Yk/GmNQAqw3M4777xmhhlmKPqIjrJMP/DAAy6pE3M4zjMjC5l+/vnnzdprr+2SJ/nleSA133zzjSFZEvNA4rFbg2FdXZ356quv3HOyZpaXe0leNfvss8dmRYc8MO+Yf4xTmhJP3EP/+L9/D0m0KJU344wztqar7h6SRX3//feOGDIWaUllsReyh3366aeu3BHPzFLOj7YgUgWhXGQaD5JVV121oNmU5CMUIa0QZz3nnHO6eOs0ZJr+ME54VWSdT3FtYp9gjTO/2CvSCveR0I+kYUJe49y84yzTpd5Be1iXzGtfSpHpUs8Nv2f+0wfWDnimWTul3pH196M912Kptur3ioAioAgoAopAKgR6O5mWGMGjjjoqL9MxWb45QBFDHXf4g0A899xz7oCx8847u0y4cUKWVYg5QimqrNmzt99+e3PooYe2+l7iE08++eTYtmH1wXrEAYe4RghfKLQXRQPJ2ah7Sp9FcEHEfZBkNnHCAZj7rr76ancg9QUXQ9651FJL5X1OnKQ8L45MkyCJGF4ssJTLQXgWGYGJC49L8iUvgPwRB0w/cJEUkftxfeeQWkzGjRtnTjjhBJd12O8TpcbWXXddZ0WDgIVSikxDPg466KDEV+MaC+EsJRBMlAwQkDjJQqY5yNJfIVqQauYSbt9+Mqm//vWvhrm06KKL5l7573//24USxAnXEheK++o555yTu4R5duGFF7pxTCJcTz31lPnyyy+dm2po9WRc+LyiosJMmTLFPZv168thhx3mxi+OGEFOGIMwmzTzkfkF8dl1111jM6IXGxfayxogvjWuHBTVBXgu68mXpL2Ha8ABokPYxr333pt7LnOZ/tGPuORe3MvYgRPrQAgZSsMddtjBjUtYyqk1bt7sp/7YSr9wNSbUJotQVo6QBfCPE9YyWJFPwceXcSPcgfkWEmuSdqEsDWWxxRYzVDlgf+H/JE8TAYdzzz3X/OUvf0lsPtnw8Wzy90lc2snmz94Qzi2fTBcbb9qB0g/XeeZJ3DyifaLoIYSHdibt6+z74BInxHGPGTMmrw9cR6gHv3XEaPsKm/b4/WivtZhl3um1ioAioAgoAopAKgR6O5nmAElsWkimBTwOP7i7YsUMpaamxh3ScBOn7JR/8JJrfateXCIYDigc7LEIhZYGngGxwOW8tfdiCTr44IMNJDQUiD6H+EmTJrmyNRz4QznkkEPcwQ2M4oTDO6QyzEALOeRg7pMuDtckHUI5EJZfkmdTOocDGxJHpktN6iTrDKVlIH1CwFEygAvZc/1DJWQRohFnhaFGLsoFOchusMEG7pkcnKXkD3jcdNNNBUmXSpFp3DYhzJQE8w/K1NwloRiH43LEOGYh04I1linmISRNBDdywgUgwAjeBig5sGAh9IeEd2E5Nr5jnpFgKY4ccYifbbbZXDZxGSt/zLmHMm9JwjtZy5Ao5mCcQEYgo359bxRdECmRjTbayI0h88aveZ60TyS1x49rFaI733zzuXJJ5DDwBUUPzxeB0DEffcWPfIeyAUVb0jr6+9//nkuk6L8DYs+eECb2k2toY/jM1pBpLLKhAo13tMYSm4QtFnmUeShIRJiPeFGguJDM2SgKeK8oNbkW7FHcxGW2Z62FpaT8NqBI+9Of/lTQLDJms49mER8PlBvs9XG/NXgesLYguox7KWF97rjjjm6P88uRyX0ocFBS+MK4o4SRz5kLKMQg6MxDwQqSTtlCSSBX7t+P9lqLpTDT7xUBRUARUAQUgVYh0FvJNAcx6m9SNggpdkhOKmskZJr7IRy4+oYHUZ9MQ8Y4pCOQBogsFm4splhow0MUBIVDFK6gbbmX98WRKCHTMnGSrEl8T2Z0rHMcQEOBZPkWwK+//tpZiH0s/GvEFdl/zjbbbOMsaVg9eA+SRKY52HGgI5Y3zFbNfXgJ+FZSrKsLL7xwXnv8TOaQZ5/YcCC//PLL87oJ+YI8izA2WAZRpmDBJabYJ29hlt5SZFqe67uCcmDFgpbFbbfUJtAaMn3BBRfkERawkjruJErCwoxgnQcD3ypOHoI4RU5SO1He8D5c6JPcasEeogChjCMeKEr4HEUVcyru/bfddlte+SW/bBFECcIk4rs+ZyHTuBxD0GUdhPMqrmTR448/7pRQIngZFHMrp14wBDmuj1gMfQzZZ3D9D0kuY8i+hPU3zlqZlUzj4ox3QJwkEdFS8zbue6ou+PsOFmAUUgieRewB/h4U1mr2M9+Hz2eOUZ6La0K8VlllFWcF9wUCylr1hfmHRZo5iAIxLE3ItaFygTayV4UiZJq9hr2EcQ+VUfy96aabulspKyihL1I6y39mSKb5PWTf9Ut3+XkXKGOGgkoEBQV7qB9/Xa7fj/ZYi62ZX3qPIqAIKAKKgCKQCoHeRqY5BGChGDt2bN4hqdghmYOGb8USYH0yzWe4KHMY9sUn01i5IUsh+cS6AokIBTLFoQlpy73cTxwtJNaXkExDMLC0hoJFWSwuKCBCqw0WPKwqIn55MfkM6624UIMbca6+hFY5vosj0+F1hx9+eJ7lkPs4BNMXESzdWItFIA4cDkXefffdAld1f9xwnUY54B+qw3aEuPiKEN6ThkzjQooliHtxk/YtpQWD0soPspJpCGHoMg4pEPd82um7J6MgYl6J+CW2/CYzr1kLYe1cn1xAhkKyjAsypA9PCBRYzJHQyopFDRdwrPoIbsUQA1/89Q7xEld2rgnnM5+JwiULmY6zIjKHiPFHQgUNn2GZ9Gvd8xnuvaHXCgQX4oMVn7lFaEFoZQ2rEVx11VVm7733zsMBZeIll1yS+yyO4Gcl05B76WM4TctVji8uU3hYNg8PBt8zAg8PrP0iKP3iQjIYf0g53ilxewP3+/HbSfjzfMnH8N133zllUyhxpbHilGdCpuX+cE/j8ySvHMY3DCEJyTRrVn5r5B3se6IUob/E5PvKCSzxvldAOX4/2mstFgCvHygCioAioAgoAuVCoLeR6STcSh2S4w44IZmOy17rkzIIHYcgDptyiOMAjPteaNEm3g/CL+7GbbmXPm+99dYFbughmcZdHSLqC9YVYmRF4hILoaDw4w9xswxddCFFvsUFa7vfZ/qLBdCXUgnIuJb3+Mmx5H45fNJ2IVXyXUhYsNiF8aVY4t98801nFT799NOdhckXLFa4y4qUek8pMo0rMYoBiCBzJi55WDnWfFYyjeIERYEvZISXeRkSJ9o/YcKEnFUM3MAvFCyuuIkynwi1gGTutddeziot8a1x4x8SpjirG54LvoX15ptvLshV4BNmFD3Eu/tCrD/uvmLdw1IOMfITFZYaj7j3+vPmxx9/dHkZfMH7AS8UX+JcpnGTX3/99XOXYZEkXtcXFFxS4xlihHt5SLjxruBzkXLUmY57hjw/fF8pDJO+j/N4CC3xpdZtEsH193UswXEhH5SYktAWvFhCD5k99tjDuZr7EqfQ7AgyzVwWDyxpj0+mwY3fI38/Zv/j98eXOMxRtskcLsfvR3utxdbOM71PEVAEFAFFQBEoiUBvI9MccrD+YV1Dqy4Wn44g07yLw6RP7jick0QoFNw2/QN+W+7l2a0l02G9YmJhJS5W2ozFhezHIlj+Q2thaFmJI3WQWt9tMA2Z5lCLJTcULPkcXv3SOnINh8vQuh5n/aNP9I2sxGH8LcTfT7xGRmqflPAu36JXjEyTlEksPCFZLLmAM16QlUyHYwBZJkZShMzJ1C33xccmjkyHChruxcockpa48Q8tm8QGhwn2Qq8BwgEkdEDa6WeVRmkSJt3iOggFXhYQVZQqkCz+nzZLNEnQ/Dh3/s08kVhTiC3j4UuomOK7ODId1luPUyqQ50Dia+MIbjiWvKsc2bzDmFe/f1iU2+pxEefZEteXW265xYUD+IKCRJRDSWQ6zBoet2YkAz3PjsvSTV6APffcM+/dabN5l9syXYpMx3lIEHYTupGj7ArzavjhEnFkOuvvR3utxYzbpF6uCCgCioAioAikR6C3kWlcPiEvCIddDuxYxTqCTIejkmTBiXMzbeu95SLTYMXh3pfQDTR0r+Ta0DIdHhghxFjq/M/TkGmeHXf4FNf0NO7tPCNOAYD1j/jZOBf/UDmQROrFypVEpmmnn/U6zqKVfjWXvjILmU4Kb/DLxUGCQ1dsvCiExMSRafpLxuNSkoZMQ6Qh1L6EZDrOa8An0+wDuHknJfNCaYKrbEjIS7Wf71HIkG0bRRFrEPdnMKPsGGSXUA5fWkummTf//Oc/857lEx2s1GEWahQIr7/+et495SDTWDqTSsWFSoA0GKbZ+9g/yI3gS1yffUVOW8i078Idt3eEse+0q6uS6Tg38DBcg/aj8MNzxBeUlaLMSkOmS/1+tOdabM1c03sUAUVAEVAEFIGSCPRmMg04cgDoaDKN9QMLtZ/wRQYrJJ7hILbm3o4k03HurcS5SgIbDr3EevoSl/QrLZlefvnlCzIeSyxonFUvTD5FO+Jc0zlkbrHFFrFxlf5hmvtDK6T0TeJWk8h03AKNc/0suZBTXpCFTOMNEVeDmwRMcQoGaQLkVlyQ48h0XFxwXPM7ikzz7jDJWlx7SCJFPHNr62qTkZ+5R3blJOLeXmQ6rn9hojX6XA4ynaSE4fn+PpByyhZcFhebGxfX7Sdt9B9C+1DAlYNMJ/UVbwgSafnSVcl0nHeUb8GXPsStZRQ0KIv831K/z6FluhSZ7qi12Nq5p/cpAoqAIqAIKAIFCPR2Ml1bW2uGDh3a4ZbpOC0+g5PGateaezuSTBNnSLIfP4bTt7bHuR3GZflNS6YhvCTf8QX3XBK9xblvh7Hi3OdnkJXnQJxwk41LUuQnkuJ6mUfhAkNZstpqqyUmIIvbknBZhdQkJXFqyzaWhUwnkY2w78Xa013INH2gHJdf/iuuX0klp4phgBst8xGCJUIGdBQOYW3p9iLTYeZr2hEXn10OMs2z44gjn5M5nGRubZE4Mh1nmY5zX+a9EvNfDjId53LOO2Td+/3sqmSapHQkp/MlzjIdN4f8ZI7lsExLG9prLbZl3um9ioAioAgoAopALAK9nUwDCpZNDra4hyZJORKQybM5gGFJCZMBhTGVcW1p7b0dSaZpN4SaMlp+3VWsFMQg+3F3/M0hDMIZSloyTWw5iWt8EetuXNKcG2+8sSAhVdy7cBOlzWFyMt5D7DhjKJJUwkgSFSVZpimFQ9/DuYD1F1dgP4a8HFtYFjIdl5iNNpARGWVJGulOZJr+QCbJrB/OJ7+vkjytVP9x5yasJMyJwLjilRJnpWsvMi2Z4v02x8Wul4tMx5WK4t1hJv1SGMZ9H+e2H0emUbChaPPFx7ccZDopQRlEnr3Hl65KpuMStZHZOwxBiMv0jreG1GEvJ5ku91pszTzTexQBRUARUAQUgVQIKJk2BpddSEuYWdcHsJxkOq50FO8iKywudyLEolGOxC+b1dp7O5pM0wcOmrRdyhKhLCBZFWWViDMkYzXJnZLiK9OS6bjrSGSDkiQuzi8uOVCcO7jUq46LiQwTKcUdzP2kSMUSkEEOQgsl+GG9PPXUU1Ot47QXZSHTPDMOF7H6p3lndyDTZCQmYR0JlkR5AeHFOkbcfChChkv1n3rcoRXWx64jyXRc/DD1uEkW5ku5yDSeGnhWhEoi3vXrr78mrvk4TFEgUsqOOtJIXH6CuARkceSOWH4pk1cOMk174vaHsH4013VVMh03NyiRSAI3X+Iy+5OxnHh9pBxkur3WYqm1qt8rAoqAIqAIKAKtRkDJdDro4sg0WY39bL2lSmPxpqQarBxsKS8lGY1JXDTPPPM4CyqW1Lbe29FkGjKL+yAxw1iNICDUDc4iacg0LptxMawyNnG1fiGoEFWRuBqqtJmYYchVXEwh9ZX9hFRkh6e9vpCIjQMmUqo01ujRowvqC3NfmNU9C35x12Yl03Eu9GCDokGyUst7iB/FhR8vDynt1R3ItJCJuKRR1GYniZ0vYVm0pDGJCzHw39GRZDpuftLu+vr6vPVTjtJYgkdcNm2+y+IqT2w5yeJwkSfBGlnLkTglT9iXuHASMnkTD4yUi0zH7a0oYsJyeu1Npn2PERQQhC8hpbJ5x1UiQLn37LPP5k3tuH76NefLQabbay22dd/U+xUBRUARUAQUgUQEeiqZTsqU/be//a0gPizN9Ig7vPklgKhDSxKrMLNxmHBn2223LSg5wvuJL954441zTcE9FIuun6ypLffGHeTC2OE44pkmgUxYGgurrZ/xubUZquPINK6bKC1E4kqp4F5+8MEHu0uwjlPayq977SsouCYu0ZafkTru0O0f7HlGHHZ+xm/q/MaVVJL4TYgA84fDqS8QV5QsUtM2zVxNuiYpWVKci6w8I85Vlu/CMcUlHOUJ7r2+teqYY44pCJ846KCDzEUXXVSyK3EWv7A0VjmyecsB3ld++I0LSwKFLv5xHUkabxKBiacJSjLq/fqS1s07LKEWl83bL43F2JO9G+WWL2HIQ5znS1g7vOTA/X4BSiqsmXGl/yQxX7FnoXjEGs21uIfjPTB48GB3CwqNMNQgTNwYKsFQWL777rs55YEoLMM2ZC2NFbdGCAHB6i/KUSz0lBQME8+F3ki0pbWlsWTfk98+cTXnd4TfE1/8OtN8TgJOKguIxO0J4W9guAeU4/ejPdZi2vmq1ykCioAioAgoAq1CoKeSaQ5wvsu0gEOZGw4bffv2zYRXXIklDnO4cUIeSVYVEmleQCIXskJXVlYarJlx7rw+YeXQCwGRg40ckNpyL8/EhT10ufTLmtBWiHtYsijMkoulNIwFDF0sIbJSfkxAJj5zzjnndPHHWHs5ZHIfhJn/llxyyYIxiSPToVU5dD2EjKDk8GsWjx071qywwgp540195BlnnNF9FlrQaCuWMP9QC/nz3e3DeFNqyvoxhiSygpiIJCl3/GReHPT92tVyL/MMC2ncITvLJIaU4PoeJ8WSiiUpcSAnfIfbLRhCFEL30DhvDb8sVVL7k0qNgYMfB0vMJmvEF8jvmDFjch898sgjeQoYviAmHUKK+G6uvuVSHiCKLf6m9jSKmVL7R1IsLXMehR5x1ygeQuF7siOzX9DGpFj8MElI/kYAACAASURBVCN9XAK9sJ46ceB+7XrezfpG4cdYEv6AQiROwJ15mHUOEjdO/K24Vsuz6SckdO211y54HaW1aAvWXeYURBpMQmVUuCf7+xlKKvYUf0/GZV+yzPPSuHnB51Jfnn8nJRYM68zH5W2g/Ycffrhzayfrta/Qk06TUf2uu+7Kub3j8SFeHT4wYdvjlEhcz1zFQlxdXe0Uc+y3O+ywgyvD5ku4f4EzZN//jfDfGXpUMX7ke4B0i5Tj96M91mLshNYPFQFFQBFQBBSBciHQk8g0rrS4E0MacJtNEjJLc8CgPBOHilIHY54TRyKzjAGHEUhAaHnkGWj4cemG0GCh9g80EnsXRyzT3EuiI4ggZD8ULMokj6FdWKhwfY6LceRQuP/++xssrRB9sAgFosk1HMh23nnngsNzKawgWJQMEoLL9X6fObRJ2zj8Y7XkgA2ZEoGIglecO3loNdluu+1cPDKkmvkgzwYvrqXusC+QAvDxk9QRE0tfmXNk/RahLBfKkIqKCvcR85Es7XG4Qayw1KIEQGFCu+LGgPkMWZBnlsJTvsdCSmZhxo4kVMyxOOH9YDnffPO5NSEWQK6l/jcKlA8++KDoa8kOLUQQEsic8sfHvxkyAAEB71CwxIMf8yEU2obCB1ILQWDehdY+Dvoocxgb3KrJQhxHZHgOMbSvvfZaXg1mxgAlTVVVlSHLPIRIhGvxIEgjSRmt5V4Ua0mJzrAcEu/PfAuJEPdjZab9tAXi6St65PkQZbJnY3GXPS4uh0CavnBN6KWS9j6uY19jXYTzDwyYWyj7fvjhB2fNpbSeCOuGBFm+cky+Q+ECTn7VAMgYijPG31cMhnkSINLMwbh5gUKI71hrvBsFSyhggSJVyl+xNpjPcWs3DU7kTWDessZRXIQCTswFmXtJmcrlPp4HDigx2GPiBC8JFE+ipEDhhyu3jBH7KUop9mT2dskfwF6Ml4AkjcSrply/H++99167rMU0Y6DXKAKKgCKgCCgCrUKgJ5FpEonFlTEqBgyH2TjrSNw9uK9yGA0P7xysOLxxoOWQxqGIgwZucVhjIWYcrEkmllUgahzY0hD+8Nnciwszh8NiAtGHRBUTDmccrEILk3+PlL0hWZDUlM7SXw7/WDvE+iVkGnd0iBGHWg7kcQJh4nBbrAYwz8bF+9VXX419BmSZ58Qd3OUGatfyjLhDM+OOdXqbbbbJe35c6Rn/AqxWWHbj3MD963yLWVpck+JCi90fV+ecAzOHefAJhX5jiWdtSP3pJKtfeG/oUsv3afDCGl1qraNcgxDEeYxIO5jTkAPGAMsr8aNxCi/mJqR25ZVXTgu9U9TwzHC+8T6UI8xllFlY9HyByDGXITBhySL/OpQXWJ+xKhcTcPAz0idl2kaJQDzzYost5h5HOwmRoO8o3lC4+KEoqYH4/ULmEPskSqykOtvyTEgy2aOxLhcTvG5QFjL34oQ2Y8UPPT7i4tn9+1GUkV8Aq3qShHW6x40b55RhoYIE/FAOsYdCYBGUISgE2Xf5fWCesLaKjbdf05lnsB5RbvrCmGGZhnzHxUKHfQnd7RkXlHtxXhPci+KR30E/7CTNe9L+fjBe7bEWs85VvV4RUAQUAUVAEUiNQE8i06k73YYLcUF8+eWX3WGQAwWkWUgQn0Pmll122RypaMOruu2tuLiSKKgY8U7qHK7OcoC+++67nXV64YUXzl0OMcDFEmLJe8gMDpkoRoDDd2HRgjBhBSGJFu/AtbIYEfefAQHkAEk7IOgciHkGh+bWKD2600BPmTLFYcc4kYUdCzH9zur+25X6jMIJayAknnnE31igcRVG8HRgfmT1CuBe5gr7AtZ29gmew/z2yS1km7mEazfWxKyJ+lqDJR4LWCJRtrAGZB9jTeFdwLiiDGwPgQCzfvGWwBLNGgIPMv3zTkIRILtZBM8RXKTBEUUXRBUCjfdRRwt7AxZv5hJjjbcOwrpBwYL7finFWdo201fCWCDyzC367HuVpH1OeB0JzFjjtJk5IaE4eGu0p7TnWmzPduuzFQFFQBFQBHoxAkqme/Hgt1PXOeBhWZMYYg7mkllWXsmBGlIbWg395FXt1Dx9rCKgCCgCioAioAgoAoqAIqAIKAJtR0DJdNsx1CfkI0DJKBJ4IbhJ+om5QqywTIlbKd+F2c8VW0VAEVAEFAFFQBFQBBQBRUARUAS6JAJKprvksHTbRpG51o+nw2WUGLhiglunlOwh2RWxiiqKgCKgCCgCioAioAgoAoqAIqAIdGkElEx36eHpdo0jdpGYT8kIS5IksmMTXxsK8bdk2ZXkQX596G7XcW2wIqAIKAKKgCKgCCgCioAioAj0LgSUTPeu8e6I3lKqhvrafsZrSl/NP//8LtEQyXK+//57l6SHRG5koKUmc1KN245os75DEVAEFAFFQBFQBBQBRUARUAQUgUwIKJnOBJdenBIByuBQ8/mVV15xWbOJjSaDMEJNWTL3kvWczLYjR44sSFCW8jV6mSKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkI9CQy3dzcbKZNm5YJyL59+5r+/fub6dOnm7feesvU1dWZNdZYI9Mz9OLOR6C2tta8+OKL5tNPPzVLL720WWmllcygQYMyNey3334zTzzxhPm///s/M3jw4KL38r577rnHLL/88uYPf/hDpvd0tYvHjx9v7r//frP++uubueeeu0s0rz3wHTdunHnyySfNwgsvbFZeeeVcP7///nvzr3/9y/z5z382M888c5fof0c04rPPPnN73jbbbNMRr8v0jq7Stix7QqYOprjY/pyZb7+dbr75ZrqZcca+Zr75+to9Lbrxtdea7B7Xz4S/3yke226XfP99s11H0+w6GmDXUZ92e0/WB//2W7P57LPppqLCmPnn72eGDYue8Omn081MM/UxI0Z0nbZm7Vt3uv6dd5rMIov0c+PQkWJ/qu1vdYP9re5nf6v75V5tj3zmjTeaDOfGVVbp3yFN6iprhL43NrZ02R6D7Tk4HoKGhsLP+1kY+a8jhfb+73/Tzfjx082cc/Y1c8zR17WBz99+u8mNr0p6BB5+eJpdi33sua91c//jj6fb8/I0s+22A80ss+geWvBjzA94CuljN6B0V/KwVjL2FO3Iu4SD4XLLLZfptlGjRjkCcdNNN5mffvrJHH744ebcc8/N9Ay9uHMR+Oijjxx5ZuzuvPNO88EHH5i//vWv5pZbbknVsDfeeMPd+8ILL7jrf/31VzPDDDMUvXfMmDFmn332MXPNNZc97H6T6j1d9aJjjjnGnHXWWWaDDTZwyoSuIOXEl3FlfBlnhGfvtddeuW5uu+22bt7wGd/1dGF/u/rqq80nn3zi9suxY8d2mS53lba1Zk8oF4hvvdVkRo+uNS+/3GgmTzaO/PF/ZOml+5kll+xnbr21wdTUjDBDhpTrrW1/zrbb1th11GDX0SC7jjq3YT/91GyOPrrWPProNPu7nn9UmWuuPmaddQaYBx5oMPfeO6zVh8m2I9Z7njB1qrEH7vHmoouGmt12G9ihHR8zpt7+Vtfa3+o+9re62pGvvfeuMXfd1eDW1cknDzYnntgxDL+rrBH2lkMOqXXKBJEPPxxuFlvMsmpPpkwxZtSoKeaxx1qMVIss0tdceeVQs+66rSNhWQf/jjsazHnnTc211d8P//SnqA21tc3mlVeqsj66117//vtN9ndkkuv/l18ON/POmz/uxYC58sp6c845U83nn1uNjJX336/KU1L1WlBbyXO7JJl+9dVXzaqrrupIwaGHHmq1V3Paw8YQZ4lCRo8ebXbZZRer2RpvF94r5rDDDnPWqMsvv9wcdNBB5r777utVZBrSOOOMM3bI3G+vdzVYtemKK65olllmGXPjjTdazeX/zLLLLmtWW201Z21MEr89NTU1hrmDZRZJQ6afe+45+2Oyrtlpp53ce7uzoHTYcccdzUknnWT+/ve/t2tX0s6DcuLbaE9PP//8sz1Ar+MIZEimzz77bHvwPtpcddVV5m9/+1u79r8rPByr/0UXXWSOPfZYa5FZxe2FXUU6s21t3RPaiiGHfA6NxxxT5x512mmDzQ47DHQWaaxrb7zRaHbfvSZ3iPn552pnWe0M+fXXZvvbkf/us8+eatdRnV1HQ+w6yuYVVM4+YHH561+nOKI0atRAc/zxFWbxxSOr1UcfNdl5X2ceeigiB/ffX2k9kQaU8/X6rBgEbrmlwf7G1NhDd1/z3nvDU3lUxM2x6Pe5cO4VA/255xrtb/Vk+1s90P5WD3WXfvXVdLu2asxLLzW2G5nuymsEDDCHsRbOPNNqOqxAkl9/vcoMH164pzzyyDSz+eZTzK67DjT//OfQVOPX1oUwfnyzOeCAWqc4hEBfffVQs956A9ye98svkRfMTjvVuNcwr95/f3hbX9lr7mdu/uEPE01lZR/z7rvDMyll8VSAjC+3XETGlUz/Pm16EpnmAI6V6fPPPzdDh0abJgZ0XLmR888/35FskTPPPNM888wzzhqHReTII4/sNWQaF+V///vf5uKLL273DQSCu/3229uN+vWyv+udd95xRNongvX19c51v1+CH1JSe/r8vhjSkGk6QkjBgAE94yDWEX3JOufK3Sa8UO66664CMt3TxjLNInvqqaec0nHNNdc0zz//fJpbOuyazmhbufaEtoB03HF15vTTo4Pto49Wmk02KdxbJkxotp9Ptsq/JvP118OtV1V6i0Jb2ubfi6vl9ttPcQfvUIiy6swt8YknGs1GG0Vm/JNOqrD/DS44+DdZYxxWuUsvrTe33TbUbLddx1pKyzUO3ek5K600KWdZfOqpYZYUFbdq3nPPNHs+mWbPJ/keDsXmXjE84ubl4YfX2TPh1HYh0115jfg44R79xz9GpAhBsXTvvZX2zJyPpo1+tIRrvPU8GWrDgtp/veCGvtZak52yA4+CZ5+tMgstVLjXffBBk1UIT7JhJX2tIUXJdJY9gX2QI2841mmfUVU13ikslUz/jlhPItMQYw7LV1xxRW4+FCPTHKCwVBNrC9HGFbQ3uHl//PHH1p1nMXPggQe2O5nG0sSBfYr1F+K95RbGG5J08sknW1etE0s+vlh7spLpki/TC3IIdOScS4Jd3LlDy3RvHKann37aeWJgrX/22We7FAQd3bausCe8916TWWqp6FB7wAGDzCWXJLtJv/hio91TJ1sr63Cz6KIdS6axkK+55iS7nzfb/bxrHV5p26KLTrBx5lhd+pp33hmeGNc5cWKzVURMMBdcMMTssUfnWdG71MJrp8YQ3w/hIa4Sl/vNNhtgHn64MvFtxGIutthEez4ZlEemyz33jjqqzrmrltvNu9ztbKdhcY8VMk34CDHtSBIeffqMtzlHOiYs4uqr6224iF3QVkoReBSQZ55ZZyZNGtGeUOmzAwSUTAeA9CQyTddIJCaWaP4uRqb5HhdQrJghmSYBzuOPP25mnXVWq0VdzyYpKVyoP/74o3nzzTfNd999ZxZccEGz9tprZ7JUvv/++y5eERfUP/3pT87C6rddhgoiggX2l19+cSSYOMfhw/MPMlhjUSbQTpIrvfvuu+7vRRdd1LV/4MBIm0g8Me7JxIfj4r7ffvuZqqoq5xYtUqpfYEq/iRXecsst3f/BqsJmFtlss81yWE2cONGMHDnS4DEwyyyzmBtuuMG9gkM8mBeTH374wfz3v/91XgbzzTef1Z7+0bnti/BO8LvjjjvM9ddfb/7yl7/k4mDXWmst594fSqn2+GSaBGTgx/sJHVhhhRUKnkdCq0cffdTGgO2W9x3YEjKAAoExpS0+vnH9BtPXXnvNuZhvuummbvzwmGCcN95444LEYIzRgw8+6PrM/Hjssccc9hLSwDvSzBtpC/Od5G2bbLJJXvN4hiTmW2qppWJx4AbWAJ4HXA9WKFAkAVyaOReHSRK+kB/6++GHH5ollljCxbczRjLHk+ZVMTJNG1GusSZ8YX9grv/nP/9xng4bbbSRm4+hMNasZfrPXGcvCPcMwkseeeQRt9Znmmkmq3V/yT2X+UqoQijkAnjggQfcHCCpXmVlpfu/L6XWqlzL3oEF+r333nMJ8+gLa7cUmQZnkjIi7CXgzVgzV0VYmwsssID7M+3e4PchS9vS4Jxmbcj7y70nMF/efvttt37Z41j3gk3SvOTzjTeebPfQKCPQN98Mt9aY4iQZt9Urrhiai3F8990ml2Rr5MgBdpwb7Tg3WVfngbnkWsQ+jh3baOdnk52ffe387B+beItYyldeISyi2T67n7MgivUbAjpy5BS7nzc6YnTDDZH31/rrD8glL8JShFWOJGTI3XdPsx48LTHL88zT16y+erT34zo6aVL03RJL9HPx4CIQqrfearRzz1glQz+7p5ROLnTWWS0u8nfdVWm23rq419Cpp051iYx2373F0oalhffixjjDDH3cu/2kVdI+XPLBAWsZ+EBK/vvfJruW++dZ0OgH1jVcaElyFf7sQWCI9+Q7xu/VVxtd/OKaa7b8PjIWJPqpru7jPq+qKnTDTdtu4hx51j77DDJ4OTz9dKP58cfp9jdngE3OVjjnPvpouostx/WX8cEt1B+nYnNavtt55xo7B4z1hBlgFReRW26SIoj5w9yGdDOH9ttvkOsv86PY3Pvxx2b7exjF64M5Mb6Q9oUXjvo0blyzi5/347V9Mn300RVuPn7+eZPd5/rZNgywfY16gDLgu++i+FDmxDrr9DfEgPM8EebRyiv3M61ZIz6GtP2ddxqdGzPrb7nl+hW4XeOe/eabTS4x4ZZbDnD/f/zxKJkUfc6SUE/INFbdVVedlMsv8OCDlbk1LO2DPN1//zD7+1V4dkvTbntEtWeqaa59K6/c3+6RTfbvRqcQxH379yOqzQVhzOyzR1bPUkox2oY7+AorTCqwTKdpE/eTFI69kfnGWmP/Y31vvnlLm1CQPPvsNNumZrsGB9h9I38Nsr8+9liDnaMD3Vx//fVGG4s83WyxxQA3ZxAswYTqfPjhdLefsbeEIsnUwIa9YrXV+tvfj/x1idUe3FiTPIP1yTvxsJH95bvvml0b2O9XWKG/2zfCfLz06ZFHGlx/ZputpT+0gTAY9sCGhmb3jk02GZhbD/58UMu0N4I9jUyHk7MUmZbrhUzvscceVrP9rSOHIhw+iakdJmlA7RcQOOKsIToQO77noAuJKnV44nCKBfyhhx5yz5gwYYJ17zvdHcJJfDPPPPO4V0+2M/WQQw6xMSr/dLG5kNXbb7/dfXfttde6LLwoD3bddVeXjZnriYPkMMehXYQ4UOJBEdzc7777btdHkmdB9mg370dK9euCCy5wigfuh1hA3E855ZQ8rOgDBPK6666zrnSXOsKAQPYgPPQhifjQH1zPaSfEDuUB1mfeh/WZZFnc+/LLL5vLLrvMER3iYBdZZJEc0Tv++ONtjNziBRtVqfYImb7yyitdcjFfiItmDBDaw7MgGoifi4/+nnrqqQ5PyCTjDHGC+CcJccqMp2CKYgQFhAjzDlKFEgSCzTuYO3wOBjvvvLO7VOJf08wbrufgT1+JmWb+ksWceYQQi37EEUe4+QzZ43sUC8w5sGAuijC3uPaAAw5wyqcTTjjBzcWHH37YjXmpORfiUgxfMIcUE+O85JJLWsvCOY6UosAolYk7JNP0kblG8kGUVVtttZVbGyKMx3bbbef+JEyBsAjaBhlmfxCFEPMdYirKMBkbnrXhhhuaL774wuy///65+cJY/+Mf/3B4itx88802hm+H3N94W3z55Zeun5B8/g+OrD2RUmtVriMBG+NAu9mvUADRRqQUmWa+Me/95IyQVdawhMyQzGzPPfe0Vr70e0Nr2lYK5zRrI5xr5doTeC7KH9bHVHvSnn/++d14sw5I7nfUUUeFr879zSGrf//x7m8Oz2PHpk+kc9ll9ZbU1jsX2m22GeCIx7XXRul3iRU+9dTB7rstt5xs52d/59LHQYmfsrvvHmbnZ8vB+LDDau0Y1ts9JVJEnnFGnSMHJPaBzFx3XYPde6ba/TyyYHFw5wB8442Vdh+ZatdRg7NubbXVAPvsiIncfnuDXTstcY133FHpEqghL7zQ6Fw56fOtt1a6QzXxeEccUWv3nQb73QBHLiGA9I33FMsEvcUWU3Kx0L/9Vp2JVNCep55qtGtwij1Y9rXrZIA7PAuul1461CkQOLhjzbz22npHPEi0RoIkDrciBx00yFpVK+w+NSWHFd8RR048OXLRRfX2d73e4cX1jMuFF1q28busuGI/u06H2efUOgxFILIvvVSVd7BN027c30lqJ2NHrDjk1JcwARWJpyAERx892O5BTS4e/tBDB9k9KH1yOUju7LNPsHvnMJttuX+OJCV5Xxx6aK2dOw3OuwD3XuYsfV544X6xc2+PPSrsGEzNzenLLhtqfw+j+bbKKv1sXpwKN28lgVZzc4tRRMg0sdQoPCShEvei/AD/BRfEw6HJzcknn2x0bXn77So3T4nlPfXUOncfiqtbbhnaqjXC+yAlhxxSY+dEg4vthhjffns0H669tsW1+oILpjrXdPDZaKP+jpSeckoUGoJAPt94I30MrJDp+voRdm40WkL9e6ZD+6xwPsSR6TTthvztumuNPVtECd+OPbbCKZ9QXoj4awNFwYorRl46Rx1VYffP4pVV8iZxBiyZE+yftIM96IADKlxOChHW+zPPcPaaZgjB8UVcmyGcjAfjhjz2WKVd5zVufEQIJYH4goGfDPHmm4e6nBgiKHy22WaK/f1odlUHIOfgRf/Bgb2Hd11/fb17/umnD3Z7g3gUPP54tJ9fdVW9m6/0Z9ZZ+9rzWK17Dt4g7Nmvv95kFbE8J2oz81kUZCg88Dwip8Cllw6xisUm+zsw1Y5HP6t4q8pVQuA+tUwHM0/JdASIkGn+DYGFTFEyh8M0B8nbbrstd7DmkMyhCesDB3oI4NZbb+2Ix+qrr+4sQHEWZoGegzlWTw7wkA8EaySHL94rbuqbb765I8Uc4iE0CAdj+TeHYggnRA1CJaQVMkdCKQ6Xe++9t7vv66+/zlk3IdxnnHFGgUt7mn5xkMadGkKAcOiHPPE5ZCDEiiRgtBHCDskvJeedd54jZvQBUoxwSMXaCbmBTNN2keOOO84RV/oEQSklxdojZBqlBmMAOeWZJKhDQQKpQegHJZaIsUeETHNwxnp+8MEHu/YjkFBwkXvj2ocFksO2EBwS5TGezD8UIZAu2gQpw/IJgRb8sWhiGYcUQJbIA5B23hCTjDWV50HmfDJNCABzFKUFllGsqowhY8C4SP8g0swx5qWUlIPg0h8ww+INrklzLg6PJHy5FssonhSSNEswB8M55pij6PDHkWnWMGQHkuyTaazfWGIhyKxrYuP5bLbZZnMESfaDr776ylmqwR+lFnLhhRc6oomyg/HCQo3SB2u9CPczv3g3Cg1/fkkiRQg7ZBwBU8g1Y4WkWavsQVjvUQbSNzKWy74E+WUOMWdwqy4mzGeUDmEIDOONIkPINPM1y96QpW1pcGYPKrU24vpZjj0BxRRzhaoCKD+Z86wt8WjxxzJsA4fxBRec6D6GNN55Z7ILbHgvhPSoo2pdDDXCoR7iC8E+88wh7pA433wT7fwc6pIHRfOz3s7PWncw+vjjaktw+jjSykEaAiJZccl2PGpUjSVRFfZZ0YGWpD+bbDIlRyr4DGKBJeWss+rsOpqWR6b5HjdMDqOQoy+/rM65XnNwm3nm8fawOiyXGRjyiPXq5ZejREgcIJdeeqI7PIpyIGmuzjrrBHdYpV9ZXT7FFRmrGzG9nIuw0EA4OWyDy4svRiTquecoBxMlOEMgO3/5ywD7faO1REUElYP4GWcMcZ4CkAOJ48YCiKUJ8g0Rw7qNHHlkhXNrxlq01lotYP8I3gAAIABJREFUFkKwxzrLe9ddd5LDgSRaEC4kbbtxy4f87bdf5DrL4Zl4ZJLIkekaMom1+oorIqIs80EO6HyGEgFyLcqWpHHwP2fsb7mlPpd0TAgs1/z6a3XOauffQ1IsDvCHH15hc9m0EKm4ucdh/7LLUG5ExIBD/267DbLzvd7ubQOsImeg/a2eZvGNyFAcmeZzlASbbTbQWfL23z/CCA+KF16I5sK99zKv8+c915x88lSbtLMuR6b5rDVrhORezDOUDng3IKJs4t+SQwEr6okn1ub6S4K9E06osOevZqcIYv5nyQPgk2kUY5BC8R4IE5LFkem07YZ0ouQQZQ5Kvh13HOi8JPbeO8JbckCglBOFyOWXDzH77pstDCNtm/C6gFRefHGktNhgg/42AeQQux/2dQkMUZ4gEFDai8cIhBhlJN4srHvGA68AIeHscddfX+kszySTxPsFActLLhnq9hFyNbAfskeMG1ftvmevWWaZifb3o38uwdvYsViVI6UC65BSiOwbu+7asvfQLrwmnn9+mttH2TvBk3m7xhrRPGLdsu7Ydz77bLgrt0hZwPXWizYwn0zLtf5ey3q4/PL6gjweSqYdfC2iZDrCQsh0aJ2CqGAB4pCIZRSr4UILLeQsn1i0RO69917nMo3gLss1cQJBwe0a6yLWKhHICOWcIIt8DrHaYostYg+7EB3ux7IMwcJCRmZyLENheR/IOgQX8ifZqoXYQAbJZIxk6RfWS9yqIQD0VQ7oIVY8NwuZ5jAurtwQF7/Ws8RG80wO4ViskfYg05A5caeFDIrrNFm/xX1ciABtEDINMeM+3PDBW8pr4eouFt/YSWE/JLsySpwwIZT/HsgQShyUJtS3Rjiw++Xgss4bngGRxvooZFreicXct9Cj5OBaiD0KDtxzmQPMK+a/CJ/j5oz7r5Qni5tzSVjIGEv9bt/yD5GGzKKIwu0coV14eIhHR9Jzk9y8IYOsG3/ts9bpP6EGkCQRxolkhYQX4MKL0oN9ANdnSXjHv2V8fJKNIgB38ltvvdVZupG4+YUih70ERQqKHNY3awNFCaQ2y1plD2FOMD6sWRGSwaEATEOmBYuQTDOv8ZgQMs2zs+wNWdqWFudiayNpXqQh06X2BAg0Xk0oJhhnEVEComhhLsQJlsUNNogONljSzjsvmyUGKycJtSCR48aNsPtmy1s4lHI4/e67FhLL4Wv55aNDmpBsLLAkiYIUkoAIEUKFBexf/4qKM8cRBXmbxDn6lmm+w5V7+PAJ7jKfnN133zT7e1frXH45h+D+SIbZv/99sCN2IlhZbr65Ie/wGeIICR06NLLui/UwabzjPl9mmUnOwvP888PyXKxxl5xrrqjtZDEWN2GxgkMsIbsikmjLv5bvwBsi4fcfK+Nhh9UVKFAkEZ2ffZpnkOUdV3b/oJul3biwzjJL1Jevvhpu98vIfRQL1W671Tjy+OKL0ThfcUW9I95YDCE0uI9CHIhNDZOCJeGMAoC4dGJwZTxxZV944UhxdM45g+3eXViSSsg0Coazzy5OpnkOuMp8xqsDBZIvMq/4LI5M+3Oea3wyJ6QEEgP5COfWJZfU29+e2pJkWtoTt0YgZ8wnFDlPP/17EfTfb0C5BPmCpH3xRbUbh/vvn2bX6RRHjj79dHgugRRjyFhS5gvM00hIprlH3sm//YRkIZnO2m7xfAlL54kSTOKxTzyxLkdCH3ig0rlKp5WsbRIrOHvnr7+OyCVPlESGPu60QbKa+0pHLO/9+kV7zzvvVOXct3H9HjYs+vyTT4bnQg4IrxgxIlqHU6aMsPtWixKD8UcZKrLCCpEiEUUoezWCgg9rOWODh4kIoQELLDDBhd3IHs53fL722pPseay/854QETLsk2nmWjT+QywPifY1qdKAQhXlXni/JiD7HREl0xEQQqZ9l+hoIkVlc4Sk+tYGXIvjBAIRF2PLtRBlDsjEl8bFScrzIAeXXHJJbJIwrIVYwBFcnCF7WAKxXoWuoBB3CDyHZ1xRESE23INlDMnSL9x3iS2F7Pjuy1iIIbe0HdKByEE1TT1bOeCDa5isDHItGdo5uEqccmvJdFx7xDKNBXDeeed17ffDBLCOCWFDiSDjL2SP/6NEEUsyCg8IWjEvBRlv5gRzA0s/RM0XrJOQ89NOO83hi3WY2ujSPv/arPOGe3kfHhhCpn3L6uyzz14wxXHxxuUWIkV78SZAmVNM4uZcsevj8OV6SKZ4bjB3cS2Pi4+Pe3YSmYbk7L777nlkmhwIjGOT9cFNGj88UoRAJ+0F4CLeIZBylABYuiGiCM8Xd3Esqyi/CBuRecY6Zzz8/STtWqUPotAJ3eAlyVe5yXTavQFPh7Rty4JzsbWRNN+K7VFp9wRRDCTNAxQvSWQaEgcpQkICVXRR/f6luFKHhyv/kIdlJE4g73vvHR2acOkeOjSKncPaAnHDOuYTCCHTce7ouNNioQnJNM87+OBaZwHyLe+bbjrFZSzHIov4FnOsQ6Hg+vrGG1W52Mrwezkc+hafNPiJKzLX/vBDdV78IJ9JPLs/NrhAY4X3rcRcu/XWU+xv7bSCpEly/T33VLo4VwRrD1YfsXJJW3E9pSRQ6Aot1+MWftFFQ5w1EhfqtO3Gyj/DDNH1P/1Ubb0CorGWhHbMEUkqRxzuPPNEpBeSfeGFQ1LFrft4i2fDxInVeXHeYjlknL79trog+7uQ6dDFN2nuYWmbe+6orT5ZlrZghVtkkcLvxUqO9RsruIiP05VXDnHrozVkOu0agYxDysOEa7SHHAarrx4p2oSQUfrtz3+eUlAOSjxAZH74Y5H07zgyjRJk/fUnu7WPSEKykExnbbfgHYYKoKQAX1kbMs95N9ZfP6dBqT5lbZPsveGeIZ/7a4J3J30ue494nkg7SdqGoMycY46WuGS5/scfq+1vfh+nTEERkLRPEzstZHrffWutN1u9U2rJ3sk7ZL2hjGVfLyWixPDJNPdISTeUoHfe2WDHv84R+lDRq5bpAGEl0xEgSWRa3I6FTBMriFUJV1yJMy41af3vxTXSt6zF3S8ECusYZZ98wUJKMiJE4lKTyLQ8J45MoyTA2oVk6VfSgRn3a0hTa8k0bQFXCAQZ1kMhyRQusL4SoL3JNG2QA3UpMs21uOSjaMB6itAXPBuSPBWkj8XItChgRFGC5ROvBMS32vJ31nnDPSGZ3nfffZ3rMWEHxNgmiVgsaTv3FBMh0/6cK3Z9EpkmXAGLKmQewUqO8kq8Loo9My2ZFsUNbtqTJrWUDQmfLaQXpViasm9xZNonikKmeQ+KNNaRCEo+9iLalHat0iZyGogngd9+IdOUxyIcpJhksUyn3RuytC0LzsXWRlIfs5JpnhPuCaJ8Yb74uTWKAvv7l1J2hj9xU40rOVXsOcTsbrddTYGlQghR2mfidk0sMLHSJJzBrfBvf6stC5nGzXPJJaO1xMGSxDbzzz/RWk2qc/Wq5ZBI3CExy1mF+GshACGBK/Ysn7DU1Y0oiMs+4YQ6q8icmhfPnkSmqXuLFT3MQEzcOEoPPzFaEplmDPbcs5BMEwuJC6eQ7KztTiLTuHivscZkd5D3M7SL1bVlDxrk3GC91DFFh4hn8uxiEpepWci0H17AM5LItO89UA4yzbuWWGKi9SKa7sqr4SnRnmR6ww0nO5di3sP7fCEZV2VlRMgk5jWJTOMaD3ZCpv354T/Td52OI9NcS/wu4RUS40tCMtzI/QRkWdudRKblOUKmn3220Vrpo/PTMcdU2P0onZWd67O2KYlMS0b5cE2QIG+JJSYVrJUkMi2fJ5Hp77+PwmwI8yHch/CUUusLjxE8R0IyLSEHaV3jk8g0Hiy4e992GxnVK1yiQmK1S5FpEuP17RvNVV+yhi5l3fe7zPVKpqOhSEumObgTjwxhIptyVsH9E1dEcdlNul9cKHEdvOaaa/Iu862lJKrCpbatZDpLv9IemGl0Fsu0EAiIIgfoUCQWmIRnxGkjXY1M0yZIETGpkgQOMkNG7GIxvcXINJZNYpMlNKAYYcg6b2hvSKZRHOG6S9gArudJQkgC1mGsxRLLm3Rtucg0z8fNGQWTeFXwGeQQK2sxSUumyfBcXR3FMoF10rhJHC/XETObVNdc2pSFTHMPcdbE2+N9gkB8yZPAeKXZg1CGkIsBCS3snU2ms7QtC86dRabxFMEqzpiJi3/RyRh8KYd3PpYDVtr7k8g0SWSIl47m54jEMlHR/DAuDhirqrhbiut3OSzTvEMsUByOsX6ROfn661vcDimFgxss5aoOOSRbnCTPFzdS/h2XjTgJT+Jul1suIvpffDHcYpZvFSf28Ygj6lwW52efjdxwk8i0uNW3hUxL3GpomQ7JdNZ2ZyXT0R7U5EjUJ59E2ayJKyUxV4liHC5xEZgyl8Ja6HhMrLzyRBdzHqfo6QpkWjwMJAyiPcm0uO3uscdAe9ZrWQ/g7ROU554b5rLwpyXTZNUnLj8U6kQTB4wkkWm+893n5Rm4IUs276ztTkumIfKzzRZ5UGDdxxslbS3krG1qbzIthLUUmSYcAuvvm29W2d+P4pULksi0hIEQdpImr0EcmcYlfOWVJ7n1TUgKeyFEmprsacg0ydeI//aFbOC+50fSPtztP1cyHQ1hWjItyYG4Jy42GtIEUfaTZPmTRGL/JPOy/x0HXrHcQRhJ8uQncZJrpWYvf1NCiqRIbSXTWfrVXmT6qaeecoQB8a3A0m+J/yb5Eu7TSFci0yQZI8ZW2oayBddphERmEMokKUamxVWfxHbEVBcjDMT2Z5k3tCck034CMRJ7kXzLF9zsSUqGFQ73aCQumzYKADwxCAcoF5mWZHO8k/hj4oAhm2ncldOSaZ4tcy0usR0x4YwX3wk2xE1DcH0hSz+KCfDFkpmWTLO+WPfgRpI4lAaiPCK3Am7heGkgxfagXXbZJZfV3k9iyH2tIdMoVlCwiMTFTKfdG5hXknG/VNtQVKTFmdjyJK+NpLVXDsu0JJBMUn6icGJvjyurRrsk1o9/hzGFce2mNI+tbuZcZJPINIeaAQMiS8FNNw11CX/y52ezfVeNvb/SeihFVi3/wFRuMk2M9JZbTnGxzwiWKEmSw99+ohziqINtxyVHIikZbuRx4lsosSi9917hM/z7ICrENXJQF+tfXPImIci+G25XINO+1TJNu7OQaQgbMbmUBaPsDi7/WOgRP7lR0poifhf3aonBDq8jMROxscgrrwxzpcFEOptMMy8gc1hlhdwImSZb9vvvt5QlLRYzndbNW2KEJUGUfyYXCynYSAhCWjKdNDb+50KYa2pG2HCpwjtuuaXB7hstGa59Mp213WnJNK1AeYUSC7n11qEukVwxwSWZSgZZ29RVyDQhL2QXT1KoQKDx1IDcJpFpCbMBJz+MQ3BDGcd+K6X+4si0WPb9WPW0ZDrNfOvR1/R0Mk2ZEklkhRsxB5o4EQIBOZBMyVwnMdNySOJ5xNNCHnDhJbEPlkcEMoWbLYczv96v/z6xAPMZh1OSGWHRwpoJ4SLzL0SaerCSYElIlDwnTBjF5yQHQiEQxkyT+ZsDuO/mzfOx7PkHvyz9EpIYxkzLc303byznlHRKsjb72OBeS5+JVZX4YPmeOGbKzYA1SZvElVKso2ndh4u1R1w3GUe/bq7EzNIu2oD4ZEBcrYllhTzxfxGyNpNYjtheLO9JImTaz6gtcwoXcV/54seF4iYs7eb6rPOGe0IyTRw8WeoRkt3hXixkBms7ihv6SDtknkPyiaFm/jKOzHMIJniDX9ycK7axxuHL9fSVWtwSbysuwHFx9uHzhUzjwi5xzFyD5wdu1D72Yp3nez9hGNjg0o7SAtdyQj5wu2ZeYm2VZHDUQyZHAYRWSl7FkWms7FJmTNy8iZHm3xKCQRvEO4FEfHhopNmDmKtkJGfeomygfVKSThJmpcllIHsgpfDY2xAUKRB6FBrsnSSBQ9LuDRDkLG1Li3OxtZE038qxJ0hWe97hlzmjnyi3UHpKecKkdohVJZpzyQdISMrIkZPt70WULVpipqmTikXWF3EvhsA+9tiwXHImSCTlsnbZZZArzyKHKLID33FHZB2T2F3f1ZHs09QBJjHPN99E3hsi11xT79zCw9ht+R5SRjIvSArPlMRj8r3vCg5xxaVYCDWJf8haPnbs8KLlsSQZG8/E3fXcc1ue4beVwzdtpV4spZ522KHGZbuOSwIlViMsZFLvOolMb7ttjYszDMmtfJ7GzZt4SFze/ezatH3MmHqXedu3WGdpN7GQM81UGDMtbrX+OBO/Tv1pyeIe7UG1ruxOqRreEl7gZ5AP5zzJzOacM2pL6AZKqaeTTqorIBZJc8+PmZ4+fYRLZucLWZsXXzx9zLTMQ6y3uFYjkoyPf1NGiszXkG5yBJD0i9h/Mm4jWdcINeGXWiryjAgT4BEyQOiAv6YefJDkU4Ux04JblphpGXti18PayYKhn4HdJ9NZ2411E2IWxkxLeIafT4D1SaI69gr2LhIgLrtsvMUWEkqWbRQf5H3IgmUSmZa+oeAgDjrco0L371Ju3pKpXJ4j14sXknid8L1fMguFKN4FP/zQnCurJ+Ew558/2GLZEhbgJ/ejrjSEmJreJGckoz6J9fBuECu/tOE//6ly2PrKV7L6S9JAFKAoQkNPGbn/vfei0om9Xno6mfaT9ZBkCXITJ1L+JYwhlIRO/ufEwEoCLEgdpZ+I5cS6CzmG2CYJ5AdLo9QR5n4yQFNiBkKAZVPIv8QqQuyIMZxxxhmdpYqasbwLKzixeojEyvId1iHET26ERY945GixRtmbESxNtAXLF9mo0/RLYqNp+88//+zqKSNiqfKxEhLM92BJsigs6eAdJ751+rXXXnOlZhAhY5AJYmZF5J1kucYjoJQktYe5QbsQ4rUlwRukRpJwMUYkEkIkKzv//u233xyJlLnml1ET13VIR1zta2mvkGn+lpJnPFfG2k9Y52MUZvPm/izzhutDMs1nkpmdfzP/wIP+Q8yYe8Ti+uMi/ZDr+BviKRm5k+ZckktsHL48EzINmcWtnH+zBiCEEGKUQ8VEXHFREJAVW0Tw8okl85q1JbHvYECeAnId+EooxtXP3sx4oTwgg7a/Fn2lnp+wTdrvzzvINGSd8l/ybOY5Y40lGvKddg+S7O48HzLMuicTu79HoexBGSUZ7EMMxXLL5yjrIOSsQxQGKBXBBus56zLL3pClbVjj0+Bcam3EzY9y7AkoRZjrUjsc5Re40Ef2c7yJJHQgaY5iOSSBDgdohMMM2ZQ5qEAqv/hiuj0UNdjfmDrnCr3HHtG+K9YYYu1++SU66ItIjJ/8DUGQWtM+WZB4O67DJY/DLHVOpV4qsYuUbeHQRawzwqF9yJA+ri7zwQcPypUJKlYrW5Ik+dlifTwkIzGfcZAl+ZXUAH711Sq77xQ/tHEgxKKFyyPC/f/4x2Cbybafs2oTD/jAAw2u9NK66/a3uSGGOpdGknktssgE53p8ySVD3MEREWLkW6VxU5533sgtU5IzSR8ka3cY7ytu/NSGHT06OgBLXzn4QqJExF0zxJFyZpBcXK2feCK6Pku7JTaa+4jLx8Ua8WOja2ujbPC8hxJMUmOc61D2jB3baPeg6kSFBh4Tu+wSKRRCYuiPM/+WONGwPUIg+Zx5TimyE04Y7GLr4+Ye60Oy4cdl8xarMs/z64+PHl3nPDLIzIyiqbq6j4sPRVGC+zN9Zw5G9zXb90fkH6UV9Z0hcZ9+2pSLK0bxQHZylAlZ14isP97H2NBXlE+bbTbZEfm33hrual4jEhvNev/55xH2/BUhK8o4f36EmId/UzucbM3XXNOyn4TXsKY23TSK6/bJNNdlabco7Px9h/CS/v0j7xl/bfA3Wdh33LGlVjtzAaXFwgv3dcSPMaLGOHPtqaeqXI6HrG268cYGN18R3zrP2GItRsaPr3ZzAxHvGv963OkXWijaEwkDIRwkuq8l4Z+UNuNzFARYhRE8N9ijyFdBJQOpdc6cXGCBfvb3o8Guxz4ul4G0YdVVJ7lSiHFKS1GoyBjK/snfftZtv/qBxOJzjeQ5QIFBSTI8F1h/7IsoUEeNGuR+l/g9kjl+992Vid5C0o5e8f+eSqbJFosliizIvkBY/Qy7fIflCOtTywRc3R2CODSTeVdknXXWsYvlWfcn1mviYn2BmHJQLxU7ieWOslQQKBHIHFmKwwOXWJAgrhyoJXs2BEiSWmEB89uJ6yttIcMsh38ROcSDDdmB5eDnx2+X6pdY8H2sIDLUHsb6LSLkFqst/5bv6DcWt2IZriFr3IOVib402AA7rPO4d0vdXf4Ga79/kHg8C8AySeLag4smcwVigIA1Vn5cMqV2tnyOxZU5wP/leqzuWO+YWzyLz2kLpIN2gplvCY1rm5BpsYgLUeGAjoVXLJ64tUPQheTRVhKUhWEFaeaNtCOOTKO0QeEhmbO5ln4SS+0nJQPPMWPGOGu1tImEXDfeeGOufBn3FptzIR6szzh8sU5SGgvB6go2WMoZIzCRrNjh88h+DwH35wo5D8g4j6s2lmURcAY7rMiEGmCx9vcQrIwopfw1jqID137mqwj3MSdYz3yO1VvqwDNmWHJxgadP/jyCJKPUYjzrbGYqsIbsYY2/4YYbcrW8s+xBeAxgaZf30Ef2DNYslnPINN4joTu/jyPKNvBijLmfeYhyhVJYPAM8IbLMg7R7A9dlaVspnNOujXB+lGNPoP8oKdi38AQSwWODNYMVPq2QlfX44+tycar+fZTxGT16sCNC/iFXruEwzqGeuEiR119vsvNzco4Y8zkknbJDckDDUkj9Ug7MHKSwVpMQidhRPoPw3XZbpctIu802UWw1QvkirCPEK2Mhb1lH/VwpqWWWySe/WFjmmGNCYo1hCASZv0mwI8Ih7uqrh2ZKSkbMLiVe4hJgQVLBEHdx//yDm/huu7X0l1hfDrMQORQMKCFQaOy7b42NJ4wCAyE0WPcPPrjC1SHG0iWCxfWCC4a6WHS/HRxGa2qanaVIBII2ZsxQV+OXg7yP44MPDnP4QhpEKFd2882V1tLcx4b9lG43pX522imqQ4wwT7Daf/FFk4uH9N/30EPD3LtIRFdX1+xwp740lu0bbhia55rvz02INEoGeQfz6MQTB+dK7Mi1jM1++9XkaqPL5xIrDwmhvq4QC4k/xxIczj0UIZdeOjVX85vx2H//lqRV4IYCStrEXDr77CHObZg5f8IJtS4Gme/B5Oefp9u9eqDLlj7DDPkmbtYlig7aRd8OOqjCKbp23nmKmwOQxA02iJRVrVkjEitPH0aOHGjPetFcIgxjoYUiIi2hEIIZZIk46+OPr82tSb4rlfSJ5GTEt5JkTYQ1/tBDlU7pFArKhBVXnOTWocRMyzVp2i3WTbmHfYzxJou1v2bCTNTkVkB5cPnlU3Nj6LcNKzehKXPNlZ/nIE2bsJITviBzgz2VrPWUKsQzQoSxvuUWFOkkiavLzTVySVDT/Oqrp+ZwZH6ddNJgOz/6Onzl2TyLrPHLLNPfngVrcnObZ6Ps23PPQS7pG/NGkihyD2MC5osuiifPdJe/QGp18z1tZp9dcslon2WN4MGCF8/vOXDdNTfeWGnPYxFGJDiksoLgznzbZ5+oDN3zz0fzghwJWN8PPLDCkfbVVotq3PO7wZ5+yil1ub5x/377VeR5sRRMoN7wQU8l0x0xdrjwEa/JYQx3V3GhTPtuSCKEljI4xcr7QGyo/YuVFOuM1GJO+56462g77swQRrEsy3Vt7Vfc+yAEEItS1hm5F0zBBkscxAnFQSklRRY8srYnzbPxBJBET7gf82/ccYuRFHmuHzONFZe+gxWxu62VtPNGyDSkSupCyztR/OByjeWdvhQrE0XNc9qMB0XWOZe2jxBMLLOsBWKSWTtSMi3tM7Jeh0szbrpYqpMIO8/EOwWLNsRJsu1nfRfXY+VkzvB/nsmz8I6Iwz7LWkU5wD4z88wzO6syXjKinEjTTqzrEEYpG4eChPH2wwzSPCfumixtKxfOYTvKtSfgUUIoCnurhAC1BhesBx991GQxn+7c9RZaqJ8jT62Vr7+e7iyziy7az86p+Kdg6aRkEvHYIpAb3u8L5AoiLmQ8S5sg1GSwLSbSd94777x9UycgCp+JwgH3R/qOxR7CJPWVk97PoRY3T/oGWbLbTbeQcrYbSxnWJ/4PdpWVfdyYpU0E1VbAGDcsfsSIiuVVntmWuZfULoj11KnN7n3F+ghZoV3MI64jbh1CH7aR97SmnSiTPvywyXkcMPeSXK/bim9r7gcjvBbCvYBndUS7UeaADXsD5aTYD6nRnCQd0abW4FjqHhQX7FnMRckvUeqe8Hu8Z1D8sYfh5ZBFmONR2b2W+1iPKMuSfjeyPL/HXqtkuscOrXasGyFQLAFZe3dDXLDDBFPt/V59viKgCCgCioAioAgoAoqAItCtEVAy3a2HTxvfQxCQ2GrchXFnb0/B2sw7iOnFikxIAK7Vpcq1tWeb9NmKQG9FoE+fwtqcvRUL7bcioAgoAopAz0MgrgZ8j+qlkukeNZzamW6IAK66xP1CZom7JmY2a8hAlm4TX0/MLLG7JMwjlp4wBeJfi7kxZ3mHXqsIKAKKgCKgCCgCioAioAj0eASUTPf4IdYOdmEEINJkWfaTV1HDmYRlpbJTt7ZbxB2TKIrkaMTfkySJZG5tifNtbVv0PkVAEVAEFAFFQBFQBBQBRaDbIqBkutsOnTZcEVAEFAFFQBFQBBQBRUARUAQUAUWgsxBQMt1ZyOt7FQFFQBFQBBQBRUARUAQUAUVAEVAEui0CPZlMSyp9yjtQG42yIhMnUnJpull22ZbaH6SRp/YhNRXXWCMquN6VxVa1seUqmmyd3fwannFtpnQDRddra6lh11J7lPIC99zTYJZfvl/ecygn8Oqrja7WIHX0Oloov0ApGH980rSBMaYu42KL9bPlf9LcYVwD3TdiAAAgAElEQVSdVsY+FNYEZUF6szAO//rXNFs/eIArldOV5OOPp5snnphm67cOTCwdQXkH5nKcUPbHL/0Tdw37AWWJttpqoCupo6IIKAKKgCKgCCgCioAioAjEEgf/Qw6hKaSPrQOc7koe1krGnqIdsZfY8r62EPrUXOF1arVRPB1yCNFaYIF+tp5uVKDuiCPqzE031bvvDz+8whVW7+pyySX1tsB6na0jV+1qHMYJtTwpvv7IIxGj2G67gea221qK8lHYfZ99am2x+z7mm2+qXV27446rM4891uCKvV988RAbRzuoQ6FASbDMMhNNQ0Oza1Ma+fbb6eagg2rNU09NM3/8Y39X8J4i81deOdTMNltxEnjKKVPtPKh3BepFKEC//voDzM03V6Ym5Wna2d2u2XbbGpsQrcHstdcgM2ZMSu1EO3fyyivrzTnnTHXKMOT996sSFUrUatxxxxo7n/MZ9eqr9zd///tgO8bJSjMULNXV4906uPXWoWb77ZVNt/PQ6uMVAUVAEVAEFAFFQBHongi0kud2aTJ96aX1lgjWGg7OEMi55+5rvvpquk26VOcIwppr9rfJlyxrsiJk7L77pnULMo2iYJFFJjpCcc89lTYrc7IJddKkZrPvvrWWEDQUkOnnnms066472ey000Bz441DDc+lUPuGG04yH3wwvVPI9F571Zqrr67PEfxSKwrr+pprTjKfftpkPQuGmwUXjMZ5qaUmmiWW6GeeeabKDC6hG0EltNpqk6w13gJg5euvh7v50lqZMKHZZsnuU9Ly2drnt8d9eHDMOGO+4uHss6eao4+uM1ddNcQqZTpWqZLUx4aGyPtgueUmlSTT8oy77mowo0ZZ9wwru+wy0Fx/fYtCqRiWm246xbz44jTr1VFl39fxHhrtMc76TEVAEVAEFAFFQBFQBBSBMiPQE8n0rLNOcJbmBx+sdG6qIrj1jho1xbzxRmOe5fPcc6eaI4+s6xZkGksbB30EZcGLL0ZKgSS5/PJ6s//+tQVkmutxgw3dmffeu9YSqPoOJ9MoM7bcMuqXWMtLTXUUBVgrjzqqwpx1VgtrPvHEOnPqqVPNoYcOMuefX9qqut9+teaKK+otCTZm0qQRpV6b+P3UqYzJJOsNMKykVbzVLynzjf/733RreZ1iXn+9quDJcfOjzK9v1eOqqiKrcTHLtDz4gw+arGIlIt/XXTfU7LpreitzV+1/q0DTmxQBRUARUAQUAUVAEVAEyo9ATyPTxERXV09wQF166RBLJPOtap9+Ot1ZdpuaRpi+vxsgzz9/qiXS3YNMQ6THjm10ygIEErTiismWM3HnDt28k2aSEMuOdPP+7rtms/jiE8zllw+1lvKaVGQal/Bhw8a7bnzyyXBbJ7nFmvzll9PN/PNPdOR43LgRJa3Thx5aay68sO1kWrD74YfqbkGmxbI/ZUqz+fjj4eXfXNrpiVnItKx3mnLnnUPz8ga0U/P0sYqAIqAIKAKKgCKgCCgCvQWBnkamcVfu3z8iWZCphx4aZtZeOz8+8thj68zxxw/OxcSGZJr44ccfn2ZmnbWvWW+9/mbEiHwXWAj7vfdOszHLTZao9bFJvPqbDTboXxAa/u67TS4WeeTIAdatvNG8916T+etfB+aeByGEGH/8cZNNpNTXtTN8lz8PhRi8/XaVfd9kR6jFTTtpvhYj0+PGNZtHH51mdtutxVoXkumff262bt+RC7QIic/8pFQkhHrrrUabwM1YF+t+ZoUV0rvFEp+68caTrUKgv9lvvwpLpCekItPgv9VWkSV7+vQRBdgL4Qq9E+JwKkamx49vdnHnf/rTAJfA7qWXGs1//tNo1lprQE6JQR8IITjvPGuatkKcLePIvBCc8Ip4++0mw5wgzn211frb2P18d3Ke88wzUfI3cHzggQbnPYAihHtw7Sfx1j77DDK4kz/9dKN1zZ9uPRUGWOVB/rN430MPTXNu0cSg87xNNhloa0lHCDCHR46cYt2YG10SrxtuiNyfiReXOHzGHcu1790h+DHm77zTaH75pdklfcMVmnb7QlK4Z56Z5rBYeeX+ru/0b9FFWVcDChJ7pV1XHUGmGQvWbGVln4L5DLZvvsk8aHLu/BttNMDMN19haECa9Z1lTMH2o4+mu3khCQJpX5gokHAN2vfdd9Nt6EM/t6/09oR6veX3XPupCCgCioAioAgoAh2MQE8j08B32GG15oIL7En+dzn99MHOhTspK6+Q6T32GOhiqB9/3J6Wf5c//KGvjacd7og5AjlebrmJjvwdeGCFISaTmOQDDhhkLrkkcim+7LJ6S07qrTt5k7WEDTBVVX3MtdfagE8rxx9fYV2QB7vvttxysk241d9ZyCE+vOPuu4fZuOX45EhYzyFyzz47zCYgi2JakW+/rTZzzhmfbCuOTNPm665ryCVnam5ucW0OyTSE+5RT6qzVuN4RppEjB7qETAst1NeSNBK41Zr77mtw5JIs4JAD+nzjjZWmoqL0ZAb7W25pMK+8UmUg7mnJ9BlnTDUoRSASKBdCWWaZSZbsNVmcBlsX/uINiSPTX3wx3bnHSwKra68dapPa1eWSX/G+m28eanbYYaAbyxNOqM3NGxQrAwf2MWeeOdgsuWQ/ax0nk/oUM3VqsyW9/XJJ3nBNx0Udwg4O119fb8ey2TBfb7+9wbUfOf30IXZe1Dvyhtx/f6Ujwr58+OFwS2ojQgeJJZac+HG8M8hMDV54MDz9dJWbZ4z/pZdOzT1zs80icsu4XXnlVJuUL3r/VlsNsO/+nYHbZ+NefcghNeaf/2xwipyKij62rdFaAyMyxkNEd921xrYzSmZ37LEVTpEgyfC4ljhs4rFF0qwrubY9yTReEhdfHI0FyqrQu4X9Ybvtohhs1sG//z3N7gEoW/rb8R+WU0SUWt9PPNFoRo+uTT2mvI8QFbwujj56sFVyNLn1H4YyXH99g03IV2MVVANsKMt0lwuANXLffZUFypvSq1OvUAQUAUVAEVAEFAFFQBEoikBPJNO4r+666xR3yBVZZJG+7rAfV/pKyDTXHnLIIGv5qzDff8+heYo7UJPEDOsggps1BIuDs5DeBReMEoJNmFDtLEZklD7qqNpcUius0STEgmCfeeYQR0rnm29iXgwnbsaQOojOxx9Xm9lnzyfHkBJIBMQGgkO7iA1HTjihwhLe+ExbcWQaYvPkk9NcnDhSjExjTV9vvcn2gF5hjjmmIi+xFknesDy+/HKV6zekcOmlJzpCKEqDYpMPkrf22pMsGR3urJUQmbRk+uCDay3pqU+MG19rrcluHBjPCy4oHjcdR6aJf8a6t+aaFvjfhXmwyir9bXz2VBerjWX5f/+L3KNlfPj3r79WmxlmiMYPKyYZyldaqb8loEOdBX3s2CZr7YzieJlHK61EsrRGN2d5DoLCBcvi889Pc5nFUVSg6EAgR7jhkzSMjOxYy7FWX3FF1E8yXmMp98cAxQAKkUcfrbQW6iiPAKWvNtlkSp5CAgUJFuSzzqpz6yck05tvPsWR4n//e5hVoERKH3AGb0Sej0V8551rcmSR/uy440BnWScuH/GTvaVZVxEy0TpIGzOd1c0b6zj37LDDFJfl3SfT7CuLLjrBKcAgp1h7+Wy22aL2yD6BEqPU+qaqAEq4tGPK+K+66uS8fYdxhlxfdlk07nffPc0pbd59t8opcVBqbL31FNvWaW6dkHRRQlsES/2/IqAIKAKKgCKgCCgCikAbEOiJZBo4yNIMeTjggOjgLoKV7OSTB+eVlBIyHRKH3XarsRaqBnPiidE9CEmyOJx+9lmUPRrBTRlr9ksvDXPuu8hFF9VbIheR4zBuF5KB5e+776pz5BTitPzyyYmSIMUk1sIKLS6b0j7e8eOPI2JLOSW5eX/44XRbVmiia2sSmcY1eIstJtsM20NdTV9f5H7KDEHkRLBU33xzg3MdHjcuubwVJGTZZSc6jwHKLyFZyLRguNFG/S0pLEzCtuGGk63CAII60CktikkxN+8llpjospv7JZKwoi68cIRdTU2Eu0+mf/utOueujwV3jz1qrEV4mFOoiKywQqR08NuHtfmBB6a50l5Yn33Baj/LLJHy5Kuvhpt55onmHvOTeeAno5Ns9j4RFE8GrOVHHx1Z6uPItLyTrOpkV/fXBN4TW2wxxVlh6Y8vKFZ4L8njpGSbeIiE5bUkQeCTTw7LlahKu654Z3uSaenTDjvUOLLrY3jyyVNtWa0689//Vrm69SKs9XPPrTN33FHp1n/a9Z1lTEmQB/HGon/55UPc/kUt8DPPrHOKFbwRFlpogs090M/uLS1z5957Wwj7p58Odx4lKoqAIqAIKAKKgCKgCCgCZUKgp5JpgQeCtv/+NY6kiODOfc01LQRLyHToeioExCcDWHuwXhEHigXqhhsacvWsH3ig0pKNyOqHm+7229cUECPu79cviunGWh4nhx1WYa13LQQVxcBii020lr1Bzgot8vrrTTYWNSLgV189xOy5Z2EJoyQy7Vvs4sg0LsG4qhJLu/POhRmQfUv67LMX9gP33zfeqEp0rYd8gR+YyRzMQqaxvGKZW2ed/s7tPZQ11pjsLLannTbY1s/O7uYtzxN3cSyRxL4jflz+jz9WWw+BPolkGvIJCU0aa8iXkH3JTh6X/A2r/wwzRGT6p5+qc7HYL74YWc95vp9ETMpdUR6NcnAnn4wiptmGQFTY2O5IMSRkGk+JsWPzXeVxA99995o8Mk09b2qcU3+cNvry8suNltBH1mlJCCdjFLoi4+mAJd4v7ZZ2XfH8jiDTQoh9Mi0eKH7ywnDeZVnfWcYUl+155okUOChOLrxwSF4st+/tkDTXbrmlMlM+g9jNST9UBBQBRUARUAQUAUVAEWhBoKeTaekp1lIyRYv4ccZJZJqEUkccUecsp2PGtJAHXFghJ7hLH3PMYBtnWu8SOflk+o47qO1cSKblUAxZjStHFDc3IR4QkGLCAZq42dCNs7VkWt61yir9rEtvISkW4vfYY5UuPjOLCAHENd13Z8dSRxw0lnYpabX11gNtdvbCeHCxvibhKCS4VC1u2l3MMh1Hpn3CFEemx4+vzrVZCBgltyTuPgmrYpnUk4gXCgMUByGZBkuUDbfdhoW5wiUsY563hUyLtR9vhJNOyldQ1NilVVkZKYkefrjSEIOdRKblOeHYpFlXnUWm8aQYOnR8yfJpWdZ31jFFkYFCQwTl33nnDXFtEuXd6NEVLuZeRRFQBBQBRUARUAQUAUWgAxDoaWQaArHhhgPy3DAFxtNPn2qtlFGcMK6S++4bWXKzkOnXXmuycbOTzF/+MsDFsuLiK3Gkaci0xFPy3sbGEXkxyEnDjfsvJPmMMwpjf0kmdsIJUZ/8OG55VmvJNK7A110XJWE66KBB1m09/924AOMKTDwycclZRA7+ae756KMonjoUPA3AJak2tLgSp6lFXG4yLbHztHnuuSc4i/Cbb1ZZN/7iWc7LRabJsI3HAq7AzAkyTcscbwuZFjf00LODfuI90bdvRKafey7KoJ+FTKddVzy/vSzTkNuhQ/s4b4rQMu2X3CM8Y4454hP+ZVnfWck0fX/zzaZcPDd/k+zu0UeHWRfzBuu5UuMyr5PBXkURUAQUAUVAEVAEFAFFoAMQ6GlkevToOldu6oknCl1/iTGcc87CpF1pyfRvvzVbYjLBufT+/HO1K5WEZCHTJKQaMCAiHTfdNNQlZfIFC+Jee9W4+EvGRtyxn3pqmCvTFYp/yCexFAmgfGktmcaNd9ll++UScPlJ2Hi+JLkiCReENyy9Q6wwScmIuQ2FPpJ8LBTIBeWuIMgPPBCNHyWVUFiEQtmhOeaIEj+F2cx/+KHZfheN89SpI8ygEly/Pcm0JNZKIqAQaBQXEN5ykWmx/PrKnXKQaWL2Tz11qku8Rs4Af++gVBahCIjU2U5LprOsK57fHmQad3ji4HF3n2uuvgVkmveKgoa8C//4R771FwUGORr4Lu36Zh3Eue7HeRs8/PA0hztl6SiXRhI8UaK98EKURZwEZUhcbDTrDXf/M85Qq3XhbqKfKAKKgCKgCCgCioAi0EoEehqZvvbaehs7XGszEVfaTLb5RO7ZZxtt8qTowOlbcYUY7r77QJfxW0RipoUIySGX7yVjLqRuwQUnOAuu/06xvsZZioil5nuSdD322DCX3RvhWZTL2mWXQa7kEkJsMSWGvvyyJVlZONSS/InP33mnytUUFiHrNC7Zo0YNtAS9pW/Uq1188cIEZGHcrmDD8157rcplnkZwyV1yyShemxha3E2FUJPtmWzmY8cOT1UeS9oqGcpJYvXNN4XJy8iYTu1fEnQRs37SSXU2i/nUgszh99wzzWUxpuwU5adKiZDYOCt3nJs3yZ4qKiKFiLh5+599/vnwXN3nq66qz2WvllJa3IdS5dRT6yzxbM6ViBLszz9/sHU9z3ejJgZ6ppkKY6ZlToubt6+sIbu3JIeTBF9+CTdCE9Zdd3JsXe9rrqm3ya5q82L+yey+1FLRmJMZes01W5Q7EkbhJ0+jlBskPoyZlkzr4uadZV3xbiHT771XlZfULW6c/Xl6++2FifS4hxj4vfeuseXZGu28jrKzSwIyP35dvDH43k9IxzsYuxNPHOwSqqVd32nHlPeRo4Ca4iSQEyErOvOLfWfzzQeYeeeN9iFiqu+9t9LtLwi1wlGwkKhv4YUjLw+I/P33T3PVDTQpWakdQr9XBBQBRUARUAQUAUUgAYGeRqZ9wnzOOYPtIbnCWTrJPr3ffjUutpl4Tqx2/X7nnFJmCZdJ36ItCZfkcw6gI0ZEhAYCDFEmudSnnzY5CymHWFx5cYkWKx7v/uWXEXmJuD74oMmSgIiUILRHak3zb2JOEXF9jcue7A+nxGfzGWSGg7TETu+5Z42rcR3G1Ppx2H72aUnchQs8rvDEB+PeK3WwOZBLxnLJJs57sZrRf4gRpPfVV6usVbm4W3M4JUuR6UUXnejKFUkMOxZNyCD1kEWJwDj88Y+RkoCYdMpHFRPck1dbbVKujJmfKZvyWIMHR6SZpF24SCNY+ZZbLhq/F18c5vqNiEs344XyAuJPOSyypoMJQgz6Agv0s3g22Gf3cUnDJCZ81VWjdsRl8/YJJ/0iVhzx42hra0fYZxoXQ831kCnGkfrUzz03zc1RFBWjRlH+bZBTfsw/f4QVrvxDhvSxZZ76moMPHmRzAkSZq8PkZPI54y34YindbLPJrnzXW2+1ZLkXC7k/p/3kbcT2EuObZV1RCkraLGXiio0vYRCjRkW5EujzEUdE5d1qapqd8urDD5ssMa53md8p/SaWW8HQV8gQh47iTMqXgUFlZR83/3zPg7TrO8uYQqZPPLHW1WOXrPCsS7xwPv202imtJLM7fWXf2WSTgbb8WJObU+eeO9hlzhcRBZxf3q3oQtEvFQFFQBFQBBQBRUARUAQKEehpZPqLL6ZbsjLRHW4ff3yai1eFVEDUEA7Mxx032B6CIyzEAiXIQIweeqjSlTOiBJaIZI2mRM3RR9e6AzWfjR492BLOZlevlwPsaacNsWS4wR3ORTiwYlHaZpsWl24ycW+11WTXPhESCp199mBHrsQyKN9hBSSjdEgOsf7dfHMU2ywCYXruuSrnLg5p9vsGQb7++npzyy0NuXu4/oADKlx2Z5QNItTHPuecIe45WJt9LChrBBFFEQEm/rsppZU1KRn3C5lOOuBDnGmfX1cb13CsitRERmEA2UbJgUUR1+liAlmkRJkQXa5lDNdYY4Ajz8SgQkTl8yOOGOwsedtvH9UfR8Du+usrnQu+JEXjcxQwd95Z6cZy3LhmV/+Xesz+eIIT8eB4CVDXWN7FNZBliDj1gp94otEmz2t5J/ice+4QW4KqyRKkKF4egfg+9NAw64LdZK3KNQ4LMDnwwApH0FEaMN+YZ5dcMsQpeGgXlnzkyCMrnEWcklZ4Tvx/e3cCbtX0/3H820BEpJI0iKgoQxnKlBBKhoiSsVCkjPEnmaefKZGxlNmPDIXQj1CIhAZCk0oalEpSVEr6n8+6zzr2PZ1z77ndezZW7/U8/0fde87ee73W7vf8P/u71trR4+pa/Oug/Ou+ZHXCCZu6WQpqWprgq5y+Eu6PoT0GtL5eu5srfPrmH1IU9u9K+wVoKrMeUnl7nb9bt83yVWv9cXVf6Bqi93PypBn+MGJEBWeizQWj/371+rUhQyq45QZaEy3b6O/1Dm09FPAP53T4wv59F3VM86Zor7SVK9e5f1t6qKDKtnbb1z3pm5+ZE+2i3DV7JHp9mq4vSz3cUUCnIYAAAggggAACCGyAQGhhWpUvVYb8VGetZZw6dW1iamipRFWpTNr1t0Vl05ReVbYqVfqr6qndjPX/iKeuHS7s2LNn/5lYf70uEarKJAN+Yd/5p/1eOx1PmbLWTb2uXbv0ejuKl9T1rk7kO01Z3XXX0vnW6+r4/nc1apRyY/13NY2lrkXXkdpUSdc7qhXy/RTcXF2nHnQsWLAu327pmgKuart/kOTPrWCm0J9u1/RM16dqtKq6Oocqpen6W9S+leS/q6Keu6if1xprTdHXu+YV8jO1kvr3LRv9b4v+q2OqIq6d8FN379d1aJynTVvrHnbVrVsm4+vpNFtHD2YK21OgqDZ8HgEEEEAAAQQQ2GgEQgvTG83A0VEEEEAAAQQQQAABBBBAAIG/TyCkMF2qVN76VhoCCCCAQPYC69Ztk/2H+SQCCCCAAAIIIIBAnkBIYZoxRQABBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICSBkML0unXrbM2aNUUantKlS1vZsmWL9J3ifvi3336z999/31asWGHt2rUr7uH4fhYC06dPtwkTJuCdhVWIH1nw3VL77usf7YDj6sfavT/XrrOZX/1o0yfMt6q1trZ6+1a3LStuFus1cDIEEEAAAQQQQACBHAmEFKYVlvbee+8iSbVv395eeOGFIn1nQz88f/5869Kli7355pvuEB06dLDnn39+Qw/H97IQ6N27tw0YMMCmTZvm7o1x48Zl8S0+EorA0Ec+t/eem2jzZ/5sO+1e1e58+6zYuvb7yjV2zXHP2c57bWfLl6yyscOnW6Xtt7T7P+psm24W7wO82DrNiRBAAAEEEEAAgY1JIKQwPWbMGDvggAPsyCOPtMsuu8xq1Khh5cuXt7p167ohvfrqq61jx472888/2yeffGI9evSw4447zoYOHRrbkC9btswuuOACe+655wjTMair+t+3b1/r1auX7b///m7caRuPgALtsIHj7fk7Rlndvbe3214/PbbOD+z1ro15Y5oN+LKbrfn9D7up3Qs2Z+pi6ze2q5Xfqlxs18GJEEAAAQQQQAABBHIkEFKY1tTpU045xWbOnGlbbLGFE9PUb03lVuvTp48L2b7dcccdNmLECBs+fHiOdNMf9uGHH7bu3bsTpmNSf/fdd90DlmbNmtmHH34Y01k5zT9FYOKo7+3WDi/Zrk1q2M2vnBrLZSX+Z8c61u9rtRtsa7e8epo7559/rrM/Vq+lKh3LCHASBBBAAAEEEEAgBoGQwrSC8UsvvWSPPPJIUq6gMD1jxgxXqf7oo49ikP7rFP3797euXbsSpmNSf++99+yII46wQw891EaOHBnTWTnNP0Xgq0SYviURphscUMtufPmUWC5ryYJfres+/WIN8LF0jJMggAACCCCAAAII/CUQUpjOq/78maxE6+8FhWn9/o8//nAbkOm/X375pX311VfuOw0bNrTGjRvbJptsktXtog2uRo0aZWeffbbNnTvX3nrrLfvll1/s8MMPd8eJtoLCtAK+vjtnzhyrWbOmHXTQQet931/32LFjbfz48VamTBlr2bKl7bjjjutd66+//urWCU+dOtWqVq1qzZs3t2222SarPun6hwwZYt99951tvvnmts8++7gKb6nITSMrXYeut23btu6/b7/9tm222WZ2zDHHZH0uXZCuceLEibZ48WLbdddd3RrnrbfeOt+1anz10EQ/32OPPey1115zm85p/bnfSE7fVwX666+/tgYNGjgfXVu6MJ2Nz4IFC9xSgPPOO89d4//+9z/XN798oDBMfX7lypXuY/Xr13f31rx58+zTTz9NfrVRo0ZWp06d5N/Vz48//tiF/5122sl23nlnN77Vq1fPdzpdj/YK0PHlse+++xZ2OcnfL1++3H33m2++sdhsg1IAACAASURBVEqVKrnvy8s33Yv6N+FbmzZtnKVmcshNbdNNN7Vjjz0233UXNj6ZLvCHGUvs+0mLEuuLV1r1XSpZnT22SzsdevbkRbZg1lLbr1Vdmzxmjs2estgOPnG35MZeyxLfnzxmrs2Zsshq1qtipcuUst6dX0sbplf9tsZmTlxgOvdWVcpbg/1rrbdBmKaKfzrsW9ur+Y5WqnQpG/P6VKtRt7I1PLDWel1ZtWKNTfl0rs2d9pM9ffP7bo1017tbus/Vql/FKlevkPxOSfR37R9/2jefzLFqO1a0KtW3slmTFtqsbxZag6a1rNpOFfOda8rn86x6nUpuunuZsnmzdWgIIIAAAggggAACxRAILUynUhQWpvV5BeHTTjvNvv/+exfKFAhfeeUV23PPPe3pp5+2vfbaK6OwKuF33323ff7551ahQgXr3Lmz3Xvvvfk+r02wLr/88uTPMoXpwYMH28knn2wXXnihC9Fa66t14NqkTNflm8K6//upp55qH3zwgavIK7gryPpQqWtSiNT1a6r766+/7q7x5ZdftqOOOqrAu0YmCrP77befXXTRRe74Wueta3vggQfcd9VPTZ3X9SjMN23a1G6++ebkcRXMdA1at15QU6i79NJL7fHHH7czzzzTBfFBgwa5rzz22GNuB26tc9e5nnzySXe+//znP+4zCt9q6rf6pAcaCrqyaNWqlQ0bNsz1Wy01TBfmo9D44IMPJt0eeughO+usvA2sirL+WsdRvxYuXOjuA90PCui6fr/sQJuk6d5R07p6BW5dr5YtvPrqq85B9+QJJ5zgPrN69Wq74oor3M8OOeQQd59oeYOsdM/KsKCmqe+nn366VatWzTkptMtD31ef9eDlhx9+cPf2fffd5w71008/udCthwMa+3feecfdT7rebMcn3TWt/HW1PXnDCBs56Gs75KQGtkm5svbxa5PdRy+4p1VyB+63nphgH7z0jc34coHtf2w9K79lORsx6Cv3ubaX7G8drjzYJieC7O1nDrbdD6ptjQ7bySaMmGnj3pnhPpNamZ7+xYJEyH7VdmxQ1YVkfW6zLTaxywe0ccF57rc/2ZuPjnPXotB94f2tbeDV77g/qz0x6SLbYuv8a5+X/7zSnrx+pC2a+4tN+WyeO96+R+7iPt/0mHrWtHVdK4n+HnPevrbJpmVsxPNf2bKfVth5dx5po4dOta8/np0kPvqcvU3/d2/XoYmdzBcmf97itD3t/LsL/vdf4M3DLxFAAAEEEEAAAQTyBDb2ML106VJXLVRlb9asWS4sqN1111121VVXubAwZcqU9SqC/v5RFVRroG+44Qb3I1XvtNGZKrlXXnmlC3lqqvApnKulC9MKJKpEK1jq1VkKoAoz2kQtugu1NtTS9SogK0ipcq6fKRTpuz5468GAKplPPPGEderUyZ1XoUjhTX1SRXP77bfP+M+gdevWLjT5kKoPqjqqwCYzVYZ1fddff70LemraGf26665zQVFBTeEx9UFAuhOqsqkdzvVQQMFQTaHY/1mBWBvLqeKpvqifarfccour8KoK7SvUCvAnnXSSvfjii8kZCgqpukYFbE35VsvGR/1QgPb904MFzTyQqY6lNffZtksuucTuv//+ZJj23zv44INdBToapv29p35uueWWbqaEHhDo3P5VanrAIY/Ro0e7sVCY1f2lBw3XXnuts8nUVBHXwwD1QaFaMw00M0NBXeOg32npg6rQP/74o7u31HyY1p917hYtWiTDtO6JwsZnl13yQmVqu+OsITb+vZl24+AOicpwTfdrheIb2uY9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", "text/plain": [ "" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Okay. Let's get back to our home page again." ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.194609Z", "iopub.status.busy": "2025-10-26T13:36:02.194482Z", "iopub.status.idle": "2025-10-26T13:36:02.217005Z", "shell.execute_reply": "2025-10-26T13:36:02.216721Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.back()" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.218406Z", "iopub.status.busy": "2025-10-26T13:36:02.218312Z", "iopub.status.idle": "2025-10-26T13:36:02.220396Z", "shell.execute_reply": "2025-10-26T13:36:02.219866Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "print_httpd_messages()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.221969Z", "iopub.status.busy": "2025-10-26T13:36:02.221855Z", "iopub.status.idle": "2025-10-26T13:36:02.246645Z", "shell.execute_reply": "2025-10-26T13:36:02.245883Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZhcNfv28+LOi7V4kQLFXQuF4kWK9MWLFHcr7lbcXYu3SHEr7hQKpXiR4lKKu8t3fun37D+bzcyc2Z1Zmbmf6+JieyYnJ7mTk5P7sfzn30ycRAgIASEgBISAEBACQkAICAEhIASEgBDIjcB/RKZzY6WCQkAICAEhIASEgBAQAkJACAgBISAEPAIi05oIQkAICAEhIASEgBAQAkJACAgBISAEykRAZLpMwFRcCAgBISAEhIAQEAJCQAgIASEgBISAyLTmgBAQAkJACAgBISAEhIAQEAJCQAgIgTIREJkuEzAVFwJCQAgIASEgBISAEBACQkAICAEhIDKtOSAEhIAQEAJCQAgIASEgBISAEBACQqBMBESmywRMxYWAEBACQkAICAEhIASEgBAQAkJACIhMaw4IASEgBISAEBACQkAICAEhIASEgBAoEwGR6TIBU3EhIASEgBAQAkJACAgBISAEhIAQEAIi05oDQkAICAEhIASEgBAQAkJACAgBISAEykSgPDL9n/+UWb2KCwEhIASEgBAQAkJACAgBISAEhIAQ6EAI/PtvrsaKTOeCSYWEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBQKuQ6ZwPqQvA1UkhIASEgBAQAkJACAgBISAEhIAQ6HgIxLnBcvLclsVM53xIx0NTLRYCQkAICAEhIASEgBAQAkJACAiBukBAZLouhlmdFAJCQAgIASEgBISAEBACQkAICIFKIiAyXUk0VZcQEAJCQAgIASEgBISAEBACQkAI1AUCItN1MczqpBAQAkJACAgBISAEhIAQEAJCQAhUEgGR6UqiqbqEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBgMh0XQyzOikEhIAQEAJCQAgIASEgBISAEBAClURAZLqSaKouISAEhIAQEAJCQAgIASEgBISAEKgLBESm62KY1UkhIASEgBAQAkJACAgBISAEhIAQqCQCItOVRFN1CQEhIASEgBAQAkJACAgBISAEhEBdICAyXRfDrE4KASEgBISAEBACQkAICAEhIASEQCUREJmuJJqqSwgIASEgBISAEBACQkAICAEhIATqAgGR6boYZnVSCAgBISAEhIAQEAJCQAgIASEgBCqJgMh0JdFUXUJACAgBISAEhIAQEAJCQAgIASFQFwiITNfFMKuTQkAICAEhIASEgBAQAkJACAgBIVBJBESmK4mm6hICQkAICAEhIASEgBAQAkJACAiBukBAZLouhlmdFAJCQAgIASEgBISAEBACQkAICIFKIiAyXUk0VZcQEAJCQAgIASEgBISAEBACQkAI1AUCItN1MczqpBAQAkJACAgBISAEhIAQEAJCQAhUEgGR6UqiqbqEgBAQAkJACAgBISAEhIAQEAJCoC4QEJmui2FWJ4WAEBACQkAICAEhIASEgBAQAkKgkgiITFcSTdUlBISAEBACQkAICAEhIASEgBAQAnWBQK2R6b///tv9+++/FRm78ccf3/0nBqgiNbdNJd9++627+eabXefOnd26667rJphggrZpSImn/vPPP47/UtJe21ysS8XmZGv05/PPP3ejRo3y/3344Ydu5plndvPOO6+bZ5553BxzzOHnwddff+0OPvhgt+OOO7rllluuXc6L9tyo0aNHu1deecV99dVX7pdffvFr0AwzzOBmn312t8wyy7hJJpmkTZtfal1sjXnYUgBK9aGc+mttbS+n7yorBISAEBACQkAIVBCBWiLTY8aM8UShUvLiiy+6xRdfvFLVtWk9Tz/9tFtxxRUb2jDrrLO6t956y0022WRt2q7Uw/v37+/OPPPMZLteeuklt+iii7a7NhdrUL9+/dxVV12VLPLXX385NvbVkN9//90dffTR7pRTTmmofsopp3Q//vhjo39vsMEGnmQ/+eSTbtCgQW6LLbaoRnNqrs7vv//enXvuuX5s33vvvaL969Onj1dWLL300m2CQ+/evd1dd92VfPZcc83l3n333TZpV96Ham3Pi5TKCQEhIASEgBAQAq2KQC2R6d9++8099dRTbsSIEe6QQw4piOO2227r5pxzTsdmmE3ap59+6olELLVEpjfddFNvlQ7lmmuucVtvvXWrzrc8D3vjjTc8mb7iiiuaFH/22Wfdsssum6eadlNm5MiR7vDDD3f33XdfkzZVi0xjaV5zzTUdcxhhzp900klupplm8pZT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QAgIASEgBISAEBACQkAItBgBkekWQ6gKhIAQEAJCQAgIASEgBISAEBACQqDeEBCZrrcRV3+FgBAQAkJACAgBISAEhIAQEAJCoMUIiEy3GEJVIASEgBAQAkJACAgBISAEhIAQEAL1hoDIdL2NuPorBISAEBACQkAICAEhIASEgBAQAi1GQGS6xRCqAiEgBISAEBACQkAICAEhIASEgBCoNwREputtxNVfISAEhIAQEAJCQAgIASEgBISAEGgxAiLTLYZQFQgBISAEhIAQEAJCQAgIASEgBIRAvSEgMl1vI67+CgEhIASEgBAQAkJACAgBISAEhECLERCZbjGEqkAICAEhIASEgBAQAkJACAgBISAE6g0Bkel6G3H1VwgIASEgBISAEBACQkAICAEhIARajIDIdIshVAVCQAgIASEgBISAEBACQkAICAEhUG8IiEzX24irv0JACAgBISAEhIAQEAJCQAgIASHQYgREplsMoSoQAkJACAgBISAEhIAQEAJCQAgIgXpDQGS63kZc/RUCQkAICAEhIASEgBAQAkJACAiBFiMgMt1iCFWBEBACQkAICAEhIASEgBAQAkJACNQbAiLT9Tbi6q8QEAJCQAgIASEgBISAEBACQkAItBgBkekWQ6gKhIAQEAJCQAgIASEgBISAEBACQqDeEBCZrrcRV3+FgBAQAkKgVhB47rmX3OjRH7oJJhjfjRnzRa10S/0QAkJACJSNwIwzzuD++edf17VrF7fMMouWfb9uEALNQkBkulmw6SYhIASEgBAQAm2KwMCBN7n555/HTT31VG766adp07bo4UJACAiBtkbg33//dV9//Z377rvv3Vtvvev69dukrZuk59cDAiLT9TDK6qMQEAJCQAjUEgIQ6aWXXtR17jxDLXVLfRECQkAIVASBMWPGuhdffE2EuiJoqpKiCIhMa4IIASEgBISAEOg4CDz77EiXGWDc3HN36TiNVkuFgBAQAq2MwOjR77vxxx/PLbvs4q38ZD2urhAQma6r4VZnhYAQEAJCoIMjMGjQHW6xxRaSa3cHH0c1XwgIgeoi8NVX37iXXnrDbbll7+o+SLXXNwK1Rqb/+OOP5IBOMMEEbrzxxmv47c8//8w0+5lqP5CJJpqoopPh888/dz/++KObZ555itb7119/ZQkT/mlS5j/Z4Ew44YQF7/3555/dY4895n755Re3ySaKC6nU4H399dfuvvvuc3369HGTTjpppapVPTWIQKF3kHfylltucUsuuaRbYIEFarDnHa9LtTQmN954t+vZc4WONwhqsRAQAkKgFRFgn//YY8PcZput14pP1aPqDoFaItPffvut69atm/vii8YZTddaay136qmnukUWWaRhfA8++GB31VVXNZTt1KmTe/TRRyu28WXjNuOMM3oy/eqrr7qFFlqo4Nw6+uij3cUXX9yk3XbDSiut5OjD7rvv7qaZZposY+sYt9NOO7l77rnHF9l8883d4MGD627uVrrDEOgBAwa4p59+2lf93XffZYl9pq70Y1RfDSBQ6h285JJL3K677upmnXVW9/HHH9dAjzt+F2ppTM4+e2Bmadmw4w9KB+gBim7+QyEvqQ0EMLpU2nhSG8jUZi8GDbrd7bvv9rXZOfWqfSBQS2QaRFkkjz/+eHfCCSd4gKecckr3zTffJD+E559/vttrr73c3nvv7c4888wsrmL8ig3KyJEj3RJLLOHru+mmm0pajj/88EM3xxxz+PK9evVyl112mePaK6+84g466CBPyunLiy++mKX87+p++OEHt9tuu7lBgwaJTFdo1H7//Xc3bNiwzOLT09eI1XGyySarUO3toxqs7tNNN137aEwHb0WxdxCPEebR1ltv7a655pqq9RSFD+tCJdeuqjW2jSturTFpjW6WS6bHedvcm31TPnC//vqLm2WWWV337itmCua2PTrm5ZdfKqhEBke+dXPOOVdrQJp8Bh5sq622cpYd+JtMyfqs++9//1u1tnz++Zjse369f8Zss83e8Bz+BofWIvP9+m2TucWOdCNHvlpWXzFmvPDC87nuWXXV1XKvWZ999pkbMeKFzCjxivcuZM4uvfTSboYZOjV6Vt52v/PO227ttddwyy+/grvuOhkhcg1YBy8kMt3BB7AjNL/WyDSYo0XeeOON3R133OGH4Oyzz3b77LNPo+GAKGHFXnjhhd3dd9/dyAW8EuP21ltv+fqR22+/3W2wwQYlq+3cubPfWECSL7zwwobyH3zwgbeqQ6j5/8svv+x/o8wee+whMl0S2fwF8CiYfPLJ/Q2//fabm3jiifPf3M5L4nb8+OOPu3PPPbedt7TjNK/YO8hGvFiYRkt7yfzs3r2791DBC0ZSGoFqj0npFlSmRDlk+pZbbs68mnZNPni99dZ3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m2KKKdxSSy3cvErq4C6tmXUwyOqiEMiBgNbMHCCpiBCodwREpmt/BgwefKfbZJN1RKRrf6jVQyFQEgE2h0OG3Ou22KJ3ybL1WkBrZr2OvPotBJoioDVTs0IICIGiCIhM1/4EOfvsgW7ffbev/Y6qh0JACORCQGtCcZiET65ppEJCoG4Q0JpQN0OtjgqB8hEQmS4fs452hz4CHW3E1F4hUF0EtCaITFd3hql2IVBbCGjNrK3xVG+EQEURqGUy/e+//7o///yzEV4TTTRREj/KUT6U8cYbryZco/URqOgro8qEQIdHoNCa8M8//7i//vord//aco387LPP3NChQ93666/vZphhhoY2//zzz+6xxx5zv/zySxbesknuvoQFtWY2CzbdJARqFgGtCTU7tOqYEGg5ArVMpr/55hvXt29fd9999zUANXjwYLf55ps3AW6//fZzV1xxhfvxxx/9b506dXKHHnpo5h69b8tBbuMa9BFo4wHQ44VAO0Og0JrwzDPPuP79+7tnn302V4vXWmstT2jbQjbbbDN30003uZ133tldcsklbsyYMW6nnXZy99xzj28O6zzrfXOkED5//PGHK6SQbc5zdI8QEAIdAwHtozrGOKmVQqBNEKhlMm2Asrlab731GvB98cUX3eKLL94E77Fjx7oZZ5zRzTvvvG7kyJFusskma5MxqfRDy/kIPPTQQw7r1JprrlnpZlSsPixSjE8oU089tR/TySefvGLPUUVCoFYRKLUm7LXXXu7888/33WdNWGKJJfzfeO+gcHznnXfcPvvs45WOjz76aJvAdOqpp7qDDz7YXXrppZ5EIz/88IPbbbfd3KBBgypOpl9//XW3/PLLu1VXXdXdfvvtZfeZti244IJ+bUVx29rC2H366afu888/95b8mWaaqa4VA7/++qv/1q+yyiru2muvbe3h0PM6GAKl1swO1h01VwgIgUoiUA9kGrz+E3R01lln9WRs+umnbwLliiuu6EnZeeedV0mY27Sucj4CnTt3dmwy2Pi1V2HzvMsuuySbt/TSS7uNNtrIb7JxQZUIASHQFIFSa0L4jn3yySdulllmaVLJww8/7I444gg3bNiwNoOY8JwJJ5yw0fMvvPBCt8cee1ScTKM0gEhDwN56662y+/zdd9+5aaaZxrul33nnnWXf39wbHnnkETdgwAD3/PPPN3heWV3bbbedXyu7devW3Oo77H2EAaB8bUvvig4LXh02vNSaWYeQqMtCQAgYAvVEptkEvf32277ra6yxhrv33nubxERvvPHGbqGFFnLHHXdczUyScj4CHYlM77rrrm611Vbz1rL333/fx0maSz9u+2eeeWbNjKE6IgQqiUCpNeHKK690228/7gQArJkzzzxzk8f//vvv3mq97rrrVrJpLa4Ll2/Whmq4eaOEnW222ZKK2FINb20yjQfBQQcd5C6++GKHknHbbbd1iy66qJtyyindiBEj3HPPPect7ChPH3jgAbfccsuV6kJN/S4yXVPDWfXOlFozq94APUAICIH2i0A9ken777/fnXLKKQ5NPXLggQc6XAVD2XTTTb0r3tFHH93o+rvvvutjAz/++GOHZbt79+5JV/FXXnnFJ75hYzJ69Ggfe9ilSxe30korNdT35Zdf+s3Lf//7X399qqmmajJBsHywcWOjs/DCC7ulllqqSZkhQ4Z4Ivm///2vkeU9LljOR6AYmcYKRP9xhU+5wOMejgcA//H3hx9+6KivlLv8Rx995DfrE0wwQa4XxaxmAwcOdP369WsyTiussIL74osv3Iknnujj3lOCtW266aZzk046aclnltu+khWqgBBoYwRKrQmlyPRrr73m14JevXo16gkhGBA1rK+sc1itSWhGmI3FGrM+YuWF7LH+pazexG5zL3VgNUVpBomN5Y033nCszTzPpBCZJjHZ9ddf7wnlsssuW3QEiiVoszUuzxDiUo3lnLUmD5nOuy6BKVjPPvvsBZuxww47ONbI448/3h1yyCHJ9ZU6GEO+Wygi11577WR9hEBhxZ1iiika/c73h/9SXkDh9yC8iXGgPtqeWvO5z+rDQ4p5Es4Rnke7WbunnXbaJu0N7+f7yRjMMcccTb6Rpch0HoyLzYGvv/7afwfD5Hip8n///bd/l5jf448/frI/XAQT+s53lfCK8LtKX+gne41UHXnmqsoUR6DUmin8hIAQqGME6olMs4HD6owbN5sWJE5IliLTt9xyiyese+65pyfR55xzjifJ4b1cY+PCpmTvvff2H76zzz67YWZhGcASTiziDTfc0HB9kUUWcU8//XTDJoUENwcccIC77bbbXI8ePfxz3nvvPZ+V9pprrnGTTDKJvxeXvWWWWcb/TZlim8NyPgIpMs2HHrfJu+66q6HdxFDSHhQP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7nVbbNG7qs9R5W2DgNb7tsFdTxUCeRH44otv8hZtdjnOuDbRmt9sGHWjEKg+AiLT1ce4Ek84++yBbt99t69EVapDCAiBGkBAa0INDGKBLmhsa3ds1bPaQKC1yTSoaV2ojbmjXtQgAiLTHWNQtYh2jHFSK4VAayGgNaG1kG7952hsWx9zPVEIlIOAyHQ5aKmsEKhxBESmO8YAa3PVMcZJrRQCrYWA1oTWQrr1n6OxbX3M9UQhUA4CItPloKWyQqDGEahXMv3LL7+4t956y/3999+uS5cuboYZZvAj/dVXX7nvv//ezT333P7fn332mRs6dKhbf/31G8q0xZTQ5qotUNczhUD7RaBaawJrIv/lFRIi/vPPP/6/WP6TfWDGH39899dffyWr497xxhsv76MKlvvmm2+ykw5Gu0kmmcTNOeecbsopp/Rl33nnHTf99NO7aaaZpsXPsAq+/vprd99997k+ffq4SSedtGL1hhVVa2yr0lhVKgTqEIFyyPSbb77rPvlkjJt11pn8SQx5JYyZ5h6tC3mRUzkh0MoI1BOZ/uOPP9zJJ5/srr/+evf22297pNl0/fjjj/7/a665pnv11VfdZptt5o477jj/O3/fdNNNbuedd3aXXHJJK4/O/z1Oi2ibQa8HC4F2iUC11oTDDz/cnXjiibn7fPnll7tPP/200bpqa+vqq6/ujjjiCLf33ntnGcifTtY511xzuWWWWcbtsssubpVVVsn93C+++MIdfPDB7t5773X8Hcqss87q67rjjjvcrbfe6mhHSwUCPWDAgIZ+fPfdd27qqaduabXJ+6s1tlVprCoVAnWIQF4y/dZb77kRI15pQGiZZRZzXbvOkQsxkelcMKmQEGh7BOqFTI8aNcr17dvXvfjii26BBRZwF198sVtyySXdZJNN5j744AM3cOBAd/zxx/sB2W+//dyZZ57p/z711FP9hu3SSy91O+20U6MBg5z//vvvDVaQao5mqc0VSoARI0a4V155xXXu3Nn3bYUVVvD9a2/y1FNPZVmIt3CHHnqo23333dtb89QeIdAhECi1JjS3E1tvvbW77rrrPHHs1auXm2222bx12eTll192PXv29P9cbrnl3JNPPulPGfj333/9mvPss8/63z766CN/rwkKycsuu8z/88EHH/S/vfnmm+6GG27w/8Vrb7H233333W7LLbf0itBN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JEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUWAYjq01puzJQESIAESIAESIAESIAESIAESCAABiukAQGQXJEACJEACJEACJEACJEACJEACoUXggYjp0ELM2ZIACZAACZAACZAACZAACZAACQQ7gTt3/JrhQ3dU8+tIHOSu2P0+kQeSAAmQAAmQAAmQAAmQAAmQAAmQQBwg4KdEppiOA2vJIZIACZAACZAACZAACZAACZAACcQQAYrpGALNy5AACZAACZAACZAACZAACZAACQQPAT/F9P8BZCsRZGbF3dEAAAAASUVORK5CYII=", "text/plain": [ "" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Writing Test Cases\n", "\n", "The above calls, interacting with a user interface automatically, are typically used in *Selenium tests* – that is, code snippets that interact with a website, occasionally checking whether everything works as expected. The following code, for instance, places an order just as above. It then retrieves the `title` element and checks whether the title contains a \"Thank you\" message, indicating success." ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.248249Z", "iopub.status.busy": "2025-10-26T13:36:02.248130Z", "iopub.status.idle": "2025-10-26T13:36:02.251740Z", "shell.execute_reply": "2025-10-26T13:36:02.251171Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "def test_successful_order(driver, url):\n", " name = \"Walter White\"\n", " email = \"white@jpwynne.edu\"\n", " city = \"Albuquerque\"\n", " zip_code = \"87101\"\n", "\n", " driver.get(url)\n", " driver.find_element(By.NAME, \"name\").send_keys(name)\n", " driver.find_element(By.NAME, \"email\").send_keys(email)\n", " driver.find_element(By.NAME, 'city').send_keys(city)\n", " driver.find_element(By.NAME, 'zip').send_keys(zip_code)\n", " driver.find_element(By.NAME, 'terms').click()\n", " driver.find_element(By.NAME, 'submit').click()\n", "\n", " title = driver.find_element(By.ID, 'title')\n", " assert title is not None\n", " assert title.text.find(\"Thank you\") >= 0\n", "\n", " confirmation = driver.find_element(By.ID, \"confirmation\")\n", " assert confirmation is not None\n", "\n", " assert confirmation.text.find(name) >= 0\n", " assert confirmation.text.find(email) >= 0\n", " assert confirmation.text.find(city) >= 0\n", " assert confirmation.text.find(zip_code) >= 0\n", "\n", " return True" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.254486Z", "iopub.status.busy": "2025-10-26T13:36:02.254324Z", "iopub.status.idle": "2025-10-26T13:36:02.462134Z", "shell.execute_reply": "2025-10-26T13:36:02.461715Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_successful_order(gui_driver, httpd_url)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "In a similar vein, we can set up automated test cases for unsuccessful orders, canceling orders, changing orders, and many more. All these test cases would be automatically run after any change to the program code, ensuring the Web application still works." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Of course, writing such tests is quite some effort. Hence, in the remainder of this chapter, we will again explore how to automatically generate them." ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "source": [ "## Retrieving User Interface Actions\n", "\n", "To automatically interact with a user interface, we first need to find out which elements there are, and which user interactions (or short *actions*) they support." ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "source": [ "### User Interface Elements\n", "\n", "We start with finding available user elements. Let us get back to the order form." ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.464014Z", "iopub.status.busy": "2025-10-26T13:36:02.463872Z", "iopub.status.idle": "2025-10-26T13:36:02.483655Z", "shell.execute_reply": "2025-10-26T13:36:02.483329Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.485141Z", "iopub.status.busy": "2025-10-26T13:36:02.485048Z", "iopub.status.idle": "2025-10-26T13:36:02.514374Z", "shell.execute_reply": "2025-10-26T13:36:02.514044Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydB5gUxdaG6xquOSvmiFkMKEYwIEYwoyJmMGfMiDlgzjkgigFQUTEhijmBBDGjgooBARVzjn+/xX/m1vb2zPTszszuzHz1PD4uM93VVW9V19RX59Sp//wbJackAiIgAiIgAiIgAiIgAiIgAiIgAiKQmsB/JKZTs9KFIiACIiACIiACIiACIiACIiACIuAJSEyrI4iACIiACIiACIiACIiACIiACIhAgQQkpgsEpstFQAREQAREQAREQAREQAREQAREQGJafUAEREAEREAEREAEREAEREAEREAECiQgMV0gMF0uAiIgAiIgAiIgAiIgAiIgAiIgAhLT6gMiIAIiIAIiIAIiIAIiIAIiIAIiUCABiekCgelyERABERABERABERABERABERABEZCYVh8QAREQAREQAREQAREQAREQAREQgQIJSEwXCEyXi4AIiIAIiIAIiIAIiIAIiIAIiIDEtPqACIiACIiACIiACIiACIiACIiACBRIoDAx/Z//FJi9LhcBERABERABERABERABERABERCBCiLw77+pCisxnQqTLhIBERABERABERABERABERABEagJAhLTNdHMqqQIiIAIiIAIiIAIiIAIiIAIiEAxCUhMF5Om8hIBERABERABERABERABERABEagJAmUR0ykfUhPAVUkREAEREAEREAEREAEREAEREIHKIxCPDZZS5zZuz3TKh1QeTZVYBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghITNdEM6uSIiACIiACIiACIiACIiACIiACxSQgMV1MmspLBERABERABERABERABERABESgJghUm5j++++/3b///luUtptxxhndf+KAipJz02Ty7bffuvvuu88tvPDCrlOnTm6mmWZqmoLkeeo///zj+C8pNdcy56pSrj5ZjvpMmTLFjRs3zv/3ySefuMUWW8ytuOKKboUVVnDLLLOM7wfTpk1zJ598sjvwwAPdBhts0Cz7RXMu1IQJE9ybb77pvv76a/fLL7/4MWihhRZySy21lFtvvfXcrLPO2qTFzzculqMfNhZAvjoUkn+1je2F1F3XioAIiIAIiIAIFJFANYnpyZMne6FQrPTaa6+51q1bFyu7Js3n5Zdfdu3atcuUYYkllnDvv/++m3322Zu0XEkPP/74493ll1+eWK7XX3/drbnmms2uzLkK1K1bN3f77bcnXvLXX385JvalSL///rs788wz3UUXXZTJfq655nI//vhjnX/vuOOOXmS/+OKLrn///q5r166lKE7V5fn999+7q6++2rftRx99lLN+nTt39osV6667bpNw2GGHHdwjjzyS+OzlllvOffjhh01SrrQP1dielpSuEwEREAEREAERKCuBahLTv/32m3vppZfcmDFjXM+ePbNy3G+//dyyyy7rmAwzSZs0aZIXEvFUTWJ6991391bpMN1xxx1un332KWt/S/Owd99914vpW2+9td7lI0aMcOuvv36abJrNNWPHjnWnnnqqe/zxx+uVqVRiGkvzVltt5ejDJPr8BRdc4BZddFFvOcWKetJJJ9Xr9xLT6brNXXfd5Q4//PA6CxN77723O+aYY/zYwkLVU0895RczwsR7eNNNN7l555033YOKdBWW8/fee89dfPHF9dq8EsS0xvYidQRlIwIiIAIiIAIiUFwC1SSmQzI333yzO+SQQ+rBatu2rRfc8fT555+76667zl144YWZr6pJTGPNRUCF6cQTT/ST6+aYmDzPNtts9Yo2fPjwinRDfuedd1yrVq3KJqYRejfccIN/3pZbbumGDh3qZphhhjrPR8gj9s4///zM5xLTud8Gth+wMBKOE9zBeHPQQQfVu/mFF15wm266aZ3PcbF/9NFHvZt9udMzzzzjOnToUOexlSCmNbaXu6foeSIgAiIgAiIgAqkIVKuYxhq49tpr12Nw1FFHedfMbOmcc87JWJOqSUwz+T/llFPqVLu5u0yvttpqDit1mCpVTGdbHCiFZTre92+77Ta3//77Z+3zu+66q7v//vv99xLTuYfNs88+25111ll1LurevXuiF4Vd9OCDD7pddtmlzj1ss2B8YV91OVPSuFhpYlpjezl7jJ4lAiIgAiIgAiKQk0C1imlcGldZZZWCxTTiZp111vFW3GoS0wQfw833xhtv9BN4rNKHHnpos347kqzplejmDeRyiun4wgkW6lxtjUs4rsnspR4wYIDbY489mnW/aKrCPfbYY2677bar93jGmpVWWilnsfj+gw8+qHPNxhtv7J577rl6HgOlrN8bb7zh1lprrTqPqDQxrbG9lD1EeYuACIiACIiACBREQGLauXvuucctuOCCGfdHXJ8JFlRNYto6xZ9//ukDXsVdfgvqNGW6WGK6YaC7dOni7r333szNa6yxhnv11VdzRpTG3RuvDFmmk5nz3qy88sr1Ao1tvvnm7umnn87bUDamxC+knXbbbbe89xfrgloT07U0therjygfERABERABERCBAgjUuphmDyTBgA477LBM1GNci3ExZp/rqquuWgDN6r8UC/eXX37pj/xJ2tOcjQAWf/alE2G6RYsWbr755ssLK5+Y/uabbxzlwapa6OIA5cBSSNsvueSSecuSdAEB7IjivPTSS7v5558/Zx7ltExvsskm9YJMcdwVUaezWVCJ5rz88ss3CzFNm3KcF/2LY9wK6WfWCORBcMG5557b5zHzzDM3qI3tpjvvvNPtu+++9fLA7fuMM87Im/fHH3/ssADHE58RHCztEXwcuUW96L/0+3zpiy++8JfYKQcNFdM897PPPnN//PGHf/f/+9//5nt01u9//fVXHz2e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lqp9sJoy+cbjAjYkmOHqDrNp06b5RR08CFjsIbp6oYn4ACxwEGAtbsG3vDhKCTfr+JaApGfhCo3VHuGN1ZW2QPDZogriHOsg1j9EH8eGhW6vuOQjUnNZuJOeGwaIK5RBeD0Wdhab6FOUgf4122yz+TKyuIdlsiFnhjemTDDF4sp+f/q4jVO8M1iSWWyh/dMkgqJRN95NxCP30tfTbDtIk39zuobgd9ST+sLKtqAkHWvWnMqtsoiACIiACIiACDQRAYnpJgJfxY9FUGAltsBRTL4RVmFC9CE64vvMw0BGVYxIVSsiASzvWBXxwsAKt9Zaa9XLHZHENoXQq0QWuyI2grISAREQAREQAREQgVokIDFdi61e2jpzZBTWQlL37t3rRWMOn87ZwOGe13j089KWVLlXOoF40C07GzypXli4Ed1sFyARcI2AX0oiIAIiIAIiIAIiIAIi0CACEtMNwqabshDAjTjcV4hLqe1tzQYt3Cua7wgggReBkMDxxx/vg+iR2PPLMWK5Urivl0BZdq+oioAIiIAIiIAIiIAIiEDBBCSmC0amG3IQwPpHNG2Lbku0XwI9JQXqYS8mx/UQxIgUng8tyCKQhgABsohybYl99p07d068lX3jHKlFQCj2XrPnPU0AqTTl0DUiIAIiIAIiIAIiIAI1SEBiugYbvcRVJvIyZ/GGAaE4+oogTJwzPXXqVPfFF194UcMeVqIKExU52xm4JS6usq9gAizIEEgsjPZNcCy2GhBcje/paxwxZEfL4SnB0UNpA3BVMB4VXQREQAREQAREQAREoJQEJKZLSbd28+ZYHc7yHT58uI+azd5oIgyTiNiM0CHqOZGZd9ppp3oBymqXnGreEAIszDz66KNu3Lhx3uI8efJknw2Ry7E+s5DDmdRbbbWV73dKIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACItBoAhLTjUaoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIlAtBF599XU3YcInbqaZZnSTJ39ZLdVSPURABESgYAKLLLKQ++eff93yyy/t1ltvzYLv1w0i0CACEtMNwqabREAEREAERKBJCfTte69bZZUV3DzzzO0WXHC+Ji2LHi4CIiACTU3g33//ddOmfee+++579/77H7pu3XZr6iLp+bVAQGK6FlpZdRQBERABEagmAgjpdddd0y288ELVVC3VRQREQASKQmDy5KnutdfelqAuCk1lkpOAxLQ6iAiIgAiIgAhUDoERI8a6yADjWrZcunIKrZKKgAiIQJkJTJjwsZtxxhnc+uu3LvOT9biaIiAxXVPNrcqKgAiIgAhUOIH+/R9ya63VSq7dFd6OKr4IiEBpCXz99Tfu9dffdXvuuUNpH6Tca5tAtYnpP/74I7FBZ5ppJjfDDDNkvvvzzz+jlf1oaT9I//3vf4vaGaZMmeJ+/PFHt8IKK+TM96+//ooCJvxT75r/RI0z88wzZ733559/ds8995z75Zdf3G67aV9IsRpv2rRp7vHHH3edO3d2s802W7GyVT5VSCDbO8g7ef/997t11lnHrbrqqlVY88qrUjW1yT33POrat9+o8hpBJRYBERCBMhJgnv/cc8Ndly7blfGpelTNEagmMf3tt9+6lVde2X35Zd2IpltvvbW7+OKL3RprrJFp35NPPtndfvvtmWtbtGjhnn322aJNfJm4LbLIIl5Mv/XWW65Vq1ZZ+9aZZ57pbrzxxnrlths23nhjRx0OP/xwN99880URWye7gw46yD322GP+kj322MMNGDCg5vpusSuMgO7du7d7+eWXfdbfffddFNhnnmI/RvlVAYF87+BNN93kDj30ULfEEku4zz77rApqXPlVqKY2ufLKvpGlZafKb5QKqAEL3fzHgrxSdRDA6FJs40l1kKnOWvTvP9j16NG9OiunWjUPAtUkpiHKIHnuuee68847zwOea6653DfffJP4Q3jttde6o446yh199NHu8ssvj/ZVzFi0Rhk7dqxbe+21fX733ntvXsvxJ5984pZZZhl//bbbbutuueUWx2dvvvmmO+mkk7wopy6vvfZaFPJ/effDDz+4ww47zPXv319iukit9vvvv7vhw4dHFp/2PkesjrPPPnuRcm8e2WB1X2CBBZpHYSq8FLneQTxG6Ef77LOPu+OOO0pWUxZ8GBeKOXaVrLBNnHG52qQc1SxUTE/3thkS/aZMdL/++otbfPElXNu27aIF5qY9OuaNN17PuogMR37rll12uXIgTXwGHmwdOmwaRQf+JlpkHeHmnXfekpVlypTJ0e/53f4ZSy65VOY5/A2Hcon5bt32jdxix7qxY98qqK4YM0aPHpXqns0375B6zPriiy/cmDGjI6PEm967kD677rrruoUWalHnWWnLPX78B26bbbZ0G264kbvrLhkhUjVYhV8kMV3hDVgJxa82MQ1zVpF32WUX99BDD/kmuPLKK90xxxxTpzkQSlixV199dffoo4/WcQEvRru9//77Pn/S4MGD3Y477pg324UXXthPLBDJ119/feb6iRMneqs6gpr/v/HGG/47rjniiCMkpvOSTX8BHgVzzDGHv+G3335zs8wyS/qbm/mVuB0///zz7uqrr27mJa2c4uV6B5mI59qm0dha0j/btm3rPVTwglHKT6DUbZK/BMW5ohAxff/990VeTYcmPni77bZ3N93Up2xCLV6IQw89yD344ANZoZx11jnR7+ERxYHWgFx+/vknt9xy04O8jR79eiRyl2xALuluufPOfu6EE47LevF1193gdt1193SZNeKq7bfv6EaOfNVNnTqtoFxGjRrptttu21T3fPzxZ6kWqh9++KHIC6++RXHOOed0N998a7TQsUXmeWnLPWLE8Gg+tp1beullonqOyVte5pOXXnpxJN4XiqJCH5D3el3Q/AhITDe/Nqm6ElWjmKaR4i7fH3zwQZ29y1h7ca2eMGGCw8W72Omnn37yFqPpP8Kj/d7JfGmllVZylBN37uuuu67O5fvuu6+78847/Wes1C666KLRJGi6K6ncvPORTf/9r7/+mvmRx8uhlGIofakaf6Ut7uCJITHdeJ6WQ1O+g4wTN9xwg9/2ITFdvDathJzSiukXX3whEmA7+yodcshhbtNNN4uCli3oXnrpRXf33Xe5Dz+c4Pbbr1u0DerSJqm2ienevS+MjvhauF4ZWJBeYYUVm6Rs9tDPP/88Wlj9NbIO54590thCmphu337zjGjDo+Dpp4dFC/6P+OwffvixKCrxBo19VM7704rSeCZ46jz//HOZj//443e/iLPYYou5c87pXefybbftmHcBZ8yYMa5jx638fRdddElkSW4bGUr+jng8FXkfnu0/Hz58ZLTY0dL/XUi5sXIvuuhi/l3Il4hps/jiC0dbAFeLtgK+kO9yfd8MCUhMN8NGqbYiVauYpp2eeuopt+WWW/omw4KDVQ53SAbpNm3auIEDB0ZBCbrUaVKChiF+J02aFB070jKafGxaT1CxUsm+WvZYL7vssv46XLT50QjT3HPP7a3JaSe7ucQ0lnUTQe+9957j2lwTeX4AsGCzXxv3sI022ij60anvLvfKK6941+avvvrKW9I7dOiQuPrOM7H0s4cY6zgrw+EedOqdhl229weL/IMPPuhYhFhzzTW9oKXMYUqT/0cffeSefPJJv8iAC+zTTz/ty9WxY0ffVvGEeKYtR40a5Sdz9BPzKEgjpikve6132mknh9Vr5MiRDk+CHXbYwc0///z+cX///bfPf9y4cb7f4Q0RT+RDv0T0srhDv2N/fJr0/fffuwceeMB9/PHHPmAaCzf0ewLYkd59913vcgzj7bff3i/W0DfjfLmWfmN7xu3ZXNu69fRjJdhmQJ8mEViL1XpLlJ1tCV9//bVnyDaHcM85nOBNov+uttpq/j179dVXM3mstdZadfopbffwww+7gw8+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Tvw62gc3fgQ67Znkblxove16RAVlN2+cbPmkGcMaWob4fbnapKHPoJ4s6MEw2+8EeRf67ELEtJUdK/Vnn30eLej84bkjivMd/VdIvem3vPv0acRiqRK/vX/88Xt0tGCLVNunSlWONPn27393FFzyT39udMikT59bIsHbs56Ldpo8k66hn/G+0q75PNoKubah5Sn2fT/99KP3uKJuK6ywYkn7V66yM//jN6qYY2GxWSm/+gQkptUrSk5AYrrkiPUAEahYAiwuEIUb7wFc/5VEQASankBDxHTTl7r2SmBWbCy5HMs011xzR8HIXowsojd5Kz7HQHEclJIIiEDpCEhMl46tcv5/AhLT6goiIAIhAdwpceMnOBJWNVyrk6ISi5oIiEDTEBg48JHIpXijZm+ZbRo6zeepeF8cd1yPaFvE0HqFiu9Vbz6lVklEoHoIYBB49tlXIhf/5OMBq6emqkmTEpCYblL8ergINDsC7Mdn/60loryHx2E1uwKrQCJQYwQGDHg4isOwWhRUbL4aq3llVpfAn+z1ZjvRiiuu5LfyzDHHHJVZGZVaBCqIwNdffxOdaT4uiqUhMV1BzVZ5RZWYrrw2U4lFoJQEsExzFjOBkzgv99BDDy3l45S3CIhAgQRGjBgbxZf4J9o/umyBd+pyERABEagdAh988HEUP2bG6HSatWqn0qpp+QlITJefuZ4oAiIgAiIgAo0hcNtt90VRnltFASEXbkw2ulcEREAEqpLApElTotMW3o1OCZl+RruSCJSMgMR0ydAqYxEQAREQAREoGQEE9YortowiaM8dRQufT3uoS0ZaGYuACFQCAfZIT5v2bXQqzffRaTYfS0hXQqNVQxklpquhFVUHERABERCBWiTw6qtjo/24n/pjriZP/rIWEajOIiACIuAJLLLIQv6I05Ytl5Jrt/pE+QhITJePtZ4kAiIgAiIgAiIgAiIgAiIgAiJQJQQkpqukIVUNERABERABERABERABERABERCB8hGQmC4faz1JBERABERABERABERABERABESgSghITFdJQ6oaIiACIiACIiACIiACIiACIiAC5SMgMV0+1k35pFGj3owiG050U6d+3ZTF0LNFQASakECLFgu4lVdu6Y9UUspNQGOmeogIiIDGTPUBERCBvAQkpvMiqvgLRo9+0/3886+ubdt13EwzzVTx9VEFREAEGkbgzz//ci+/PMrNOeecrk2b1RuWSQ3cpTGzBhpZVRSBFAQ0ZqaApEtEoNYJSExXfw8YMOBht9tuHSWkq7+pVUMRyEuAyeGgQUNc16475L22Vi/QmFmrLa96i0B9Ahoz1StEQARyEpCYrv4OcuWVfV2PHt2rv6KqoQiIQCoCGhNyYxKfVN1IF4lAzRDQmFAzTa2KikDhBCSmC2dWaXfoR6DSWkzlFYHSEtCYIDFd2h6m3EWgughozKyu9lRtRKCoBKpZTP/777/uzz//rMPrv//9byI/ruP6MM0wwwxV4RqtH4GivjLKTAQqnkC2MeGff/5xf/31V+r6NeUY+cUXX7ihQ4e67bff3i200EKZMv/888/uueeec7/88ku0vWW31HUJL9SY2SBsukkEqpaAxoSqbVpVTAQaT6CaxfQ333zj9t57b/f4449nQA0YMMDtscce9cAde+yx7tZbb3U//vij/65FixbulFNOidyjezQechPnoB+BJm4APV4EmhmBbGPCK6+84o4//ng3YsSIVCXeeuutvaBtitSlSxd37733uoMPPtjddNNNbvLkye6ggw5yjz32mC8O4zzjfUOSxsyGUNM9IlC9BDQmVG/bqmYi0GgC1SymDQ6Tq+222y7D6rXXXnOtW7eux27q1KlukUUWcSuuuKIbO3asm3322RvNtzlkoB+B5tAKKoMINB8C+caEo446yl177bW+wE899VR0lNba/m+8d1hwHD9+vDvmmGP8ouOzzz7bJBW7+OKL3cknn+xuvvlmL6JJP/zwgzvssMNc//79JaabpFX0UBGoTgL5xszqrLVqJQIikIpALYhpQPwnqOgSSyzhxfKCCy5Yj1G7du280L7mmmtS8auEi/QjUAmtpDKKQPkI5BsTEKiHHHKIL9Dnn3/uFl988XqFe/rpp91pp53mhg8fXr6Cx57E9pyZZ565zqfXX3+9O+KIIySmm6xV9GARqD4C+cbM6quxaiQCIpCaQC2JaSzOH3zwgWez5ZZbuiFDhtTbE73LLru4Vq1auXPOOSc1w+Z+oX4EmnsLqXwiUF4C+caE2267zXXvPv0EgEmTJrnFFlusXgF///13b7Xu1KlTeQuf52m4fB966KES082qVVQYEahsAvnGzMqunUovAiLQKAK1JKafeOIJd9FFF7lnnnnGMzvxxBMdroJh2n333d1qq63mzjzzzDqff/jhh35v4GeffeawbLdt2zbRVfzNN9/0gW822GADN2HCBL/3cOmll3Ybb7xxJr+vvvrKPfnkk27eeef1n88999z12vD999/31vNff/3Vrb766q5Nmzb1rhk0aJB3u9x1113rWN7jF+pHoFGviG4WgaojkG9MyCem3377bT8WbrvttnXYEBRszJgxPigY4xxWawKasc3Ggj8yPuIajrs441+S1Zu929xLHiuvvLLr0KGDW3LJJeu1w7vvvusYm3mepWximsBkd999t1tzzTXd+uuvn7NN8/Gpug6hComACGhMUB8QARFoGIFaEtNM4LA648aN6yIpHpAsSUzff//9XrAeeeSRXkRfddVVXiSH9/JZ3759HWL66KOPdkS5vfLKKzONsu6663pLOHsRBw4cmPl8jTXWcC+//LKbc845/Wd//PGHO+GEE9yDDz7oNtlkE/+cjz76yEelveOOO9yss87qrxs1apRbb731/N9ck2tyqIlhw94N3SUC1Uog35iQT0z37NnTx5Q444wzPCKCPF533XU++Bf7qxkrzbLN9+ytZhHzoYcecqeeemodrO+8845bddVVM58dd9xx7oorrvD5kS644AL3/fffe3HNQidj5NVXX+3uvPNOP9527tzZsbBoKZuYvvzyy31wNdJvv/3mZplllqzNm49PtfYL1UsERCCZgMYE9QwREIGsBGpNTG+22WZ+AoZ1wlIYkCwupglogyUaKwqWDSaQWF+wpjBpxApDYqJ47rnn+iNZSFi9Ec5YYRDFX375pf+cgDmHH364nxC2b9/ei3pE8j777OO/5x7ywjIzzzzzuG+//dYhuLmO/Yk8g4TrJeUiIbaXXXZZTQz1nouACKQikG9iGIrp3r17u/nmm8/ni5WZrTIEJzv77LMzYvq9995zN9xwgxe5JLbRXHbZZW7RRRd1e+65pxs2bJj/HJdwxjC8dfbff3/3yCOPeNHNSQokFgY33HBD79lje7Hvu+8+x7jM2HnhhRf6sfOtt97yXkZ8l1ZMP/zww27HHXf0wv2NN97IeexhPj6pIOsiERCBqiGgMaFqmlIVEYHiE6hFMQ1Fm6DxdxiQLC6mEcMIVSzHuF7PNNNMjrNYZ5xxRt8YTOwsAA7WFKwqWJE5ssUSlpjzzz/fC2aEsyWsO0wITSSPGzfOT/TOOussv+fPEpbqu+66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bipz6/zvcRpEmwy9HiwCzZJAqcaEU0891Z1//vmp69ynTx83adKkOuOqja1bbLGFO+2009zRRx8dRSB/OTHP5ZZbzq233nrukEMOcZtttlnq53755Zfu5JNPdkOGDHH8HaYllljC5/XQQw+5Bx54wFGOxiYEdO/evTP1+O6779w888zT2GwT7y9V25aksMpUBGqQQFox/f77H7kxY97MEFpvvbXc8ssvk4qYxHQqTLpIBJqeQK2I6XHjxrm9997bvfbaa27VVVd1N954o1tnnXXc7LPP7iZOnOj69u3rzj33XN8gxx57rLv88sv93xdffLGfsN18883uoIMOqtNgiPPff/89YwUpZWtqclVKuspbBCqPQKnGhH322cfdddddXjhuu+22bskll/TWZUtvvPGGa9++vf/nBhts4F588UV/ysC///7rNtpoIzdixAj/3aeffurvtcSC5C233OL/OWzYMP/de++95wYOHOj/i4+9uVrk0UcfdXvuuadfCN199929YF9llVX8LeTZq1cv98gjj/h/Dx482O24446NbmDG+uHDh2fq/vPPP/vfj1KkUrVtKcqqPEWgFgmkEdMTJnziRo4c6/EsvPBCburUr/zf66/fOvJ+XDovNonpvIh0gQg0DwK1IKYnT57sVlppJT/xYnJ4zz33JApgPt9jjz3coYce6m644YZMA/35559u5plnrtdgWFs23XRT7+5X6qTJVakJK38RqCwCpRoT2rVr57p16+YOOOCAekDYHrPuuuu6d99913+Ha7VtieHfhx9+uB878fT54Ycf6tx/++23+3xJn3/+uVt88cX934jwU045xV100UX+31iTd9gh+5FfTz75pNt66639tWeeeab/D3fyMOGm3qNHD3fttde6AQMG+HG9GIn6zzHHHD6r3377zc0yyyzFyLZeHqVq25IUVpmKQA0SyCemP/nk88iLZbQn07r1atFi3wpu3LjxbuzYd/xnbdu2ibYYLpGTnMR0DXYsVbkyCdSCmN5rr71c//79fQN98sknbqmllsraWB06dHCLLbaYu/POO3M2KJaUrl27Rme9DpKYrsyur1KLQEUTKJXgwmKMWLZ9xyEkFhCvueYa/1G/fv3cvvvuW4chXj1XXnllophmrNxtt9389biFM85aIn7Fyiuv7P955JFHZp4RbyDELAujiHE8jN588806VvPwemJfUJcrrrgicWGgIY3/66+/ZqzReCYlLbI2JN/4PaVq22KUTXmIgAi4aGtJ9nOmJ02a4p5/frqHztprr15nnzT7p1977S3/3aabbhAtKi6SFafEtHqaCFQIgWoX06+88kq0Atg27yTNmuu5557zLt933HFHpgWZWH744Yc+CBkpnBTiTrjxxhv7oDdYvnH9CxPfEWDno48+cp999pn/iknkCius4P8eOXKke/31173L4pxzzpm112hyVSEvlIopAmUiUKoxAYsrgbzi6bHHHnPbbbed/xjXajx54qmhYvrbb791888/v8+O7TjZFjOxXvfs2dNfd99997ldd901J2227mAB7969e+Y6gqHhqk58DKziq622WmQ5ap0ojBHP7PUeNWpU5Ka5sP8tMdEfF9Nhvri94/LOfvAw8ftAzI4111wzcvVcX+N9md4VPUYEik0gl5geM+atKMDth1EsiOT90RMmTIzmfq9HC4Mto+2Gq2ctmsR0sVtN+YlAiQhUu5jGKnHcccd5euyz69SpUyqSTJSuvvpqP6nD+oErNyL6p59+8sIX0Y14Xnvttd2iiy7qJ4C4GobuhLfddpu33CCm33nnHR9gh4nZgw8+6HbaaSe/35oo4uRzySWXuBNOOEGTq1Sto4tEQARKJaaTyIZbZVq0aBG5K47LiN/w+oaK6dB1+4ILLsgI5nhZcP+2vdBE8C40Sjdu6YzfeCgxVrPAyXi8xhpr+AVURK4lrN/stUYks9/77bff9rE2LLH9B9FMmjp1qre6sxDBwirByhjXEf8nnXRS5h5icRx//PH+37ncxMvZtnqTREAECieQz8278Bzr3yExXQyKykMEykCg2sU0+/6wNJMQxauvnn0VMMSNmMZywWQIC4iJabuG6LNYKx5++OGMxZrvrrrqKr9XDxfJKVOm1AlQs8suu/hjuBD4JKwibdq08UHRiBhuLpBJza7JVRleBj1CBCqIQLnGBI686tixo3viiSc8nWeeeSYThCuOqyFiGq8fIm+b6/arr76a1UsH6zCRu5P2ZOdrOqJv4yKOtZmgk2YJtyCT5EnwMjyHELpYrO13YN555/XZE5iNAG0kE9OIbUQ4vwn81rCoOmbMGD+2k+DGSREkfi8Q6LioYx03MR4ve7naNh8zfS8CIpBMQGJaPUMERCBDoNrF9IYbbpiJLssZ0gss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JtfeuySaRLvFQsMe7KT9hJxrTcCxXFFwOasUl8N851+XYuKcrofoKhEQgeZIQGPC9FbBUk0sjE8//dT997//9WN5aBFPajvE/1tvveXvXX311d18882XtYnxKmKMXnbZZR2/HViyze07fhPWZsrC/mjzbopfg+Wc5+mc6eb4VqlMIpCOQBoxTU6hWzf/Xm+9taIFxGVSPURiOhUmXSQCTU+gFsV0uahjkXnppZccx640Nmni3FiCul8EqouAxoTqas+wNmrb6m1b1aw6CKQV09T2vfc+jAw4k6OtI4vV2T+dj4TEdD5C+l4EmgkBieniNQSufhzbgpV5wQUXdN27d/d7D3EhbGzS5KqxBHW/CFQXAY0J1dWeEtPV256qWfURKERMN7T2EtMNJaf7RKDMBCSmiwec/X/hWazsoWvMcViaXBWvbZSTCFQbAYnpamvR/9VHbVu9bauaVQcBienqaEfVQgSKQkBiuigYfSYclUIAs3feecdHeCXKN9Fci5H69x8cBbjZLtrXPVMxslMeIiACFUzgzz//coMGcULBjhVcCxU9GwGN9+obItC8CZRbTGvMb979QaWrcQIS05XRAV577e0oCM5P0TEwbSSoK6PJVEoRKAkBJlUvvTQyOm5pHn/kilL1EdB4X31tqhqJQEMJaMxvKDndJwJlIiAxXSbQRXjMmDFvufHjJ7opU74qQm7KQgREoBIJsI+OM0slpCux9dKXWeN9ela6UgSqmYDG/GpuXdWtKghITFdFM6oSIiACIiACIiACIiACIiACIiAC5SQgMV1O2nqWCIiACIiACIiACIiACIiACIhAVRCQmK6KZlQlREAEREAEREAEREAEREAEREAEyklAYrqctPUsERABERABEfi/9u46Tsqq/eP4JaAgIr10oyAtjYBIKykqIUgqIBISohLSgqAioKCoCNKhdIl0iAtISy/S0p2Sz32dfe5hZnd2d2aZXdidz/nnt8zcdd5nHl+/730KAQQQQAABBBCIFQKE6VjRjFQCAQQQQAABBBBAAAEEEEAgOgUI09Gpzb0QQAABBBBAAAEEEEAAAQRihQBhOlY0I5VAAAEEEEAAAQQQQAABBBCITgHCdHRqcy8EEEAAAQQQQAABBBBAAIFYIeAvYXrDhm0SFHRQTp48E6l2S5UqhTz3XHYpVChvpM7nJAQQQAABBBBAAAEE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t26z7N9/WOLGjSvHj5/yPRxXfGCBNGkCRAN19uyZGNr9wJpcAAEEEEAAAQQQQAABBKJVILaG6WhF5GYIIIAAAggggAACCCCAAAL+JUCY9q/2prYIIIAAAggggAACCCCAAAI+ECBM+wCRSyCAAAIIIIAAAggggAACCPiXAGHav9qb2iKAAAIIIIAAAggggAACCPhAgDDtA0QugQACCCCAAAIIIIAAAggg4F8ChGn/am9qiwACCCCAAAIIIIAAAggg4AMBwrQPELkEAggggAACCCCAAAIIIICAfwkQpv2rvaktAggggAACCCCAAAIIIICADwQI0z5A5BIIIIAAAggggAACCCCAAAL+JUCY9q/2prYIIIAAAggggAACCCCAAAI+ECBM+wCRSyCAAAIIIIAAAggggAACCPiXAGHav9qb2iKAAAIIIIAAAggggAACCPhAgDDtA0QugQACCCCAAAIIIIAAAggg4F8ChGn/am9qiwACCCCAAAIIIIAAAggg4AMBwrQPELkEAggggAACCCCAAAIIIICAfwkQpv2rvaktAggggAACCCCAAAIIIICADwQI0z5A5BIIIIAAAggggAACCCCAAAL+JUCY9q/2prYIIIAAAggggAACCCCAAAI+ECBM+wCRSyCAAAIIIIAAAggggAACCPiXAGHav9qb2iKAAAIIIIAAAggggAACCPhAgDDtA0QugQACCCCAAAIIIIAAAggg4F8CZWJzhgAAArJJREFUhGn/am9qiwACCCCAAAIIIIAAAggg4AMBwrQPELkEAggggAACCCCAAAIIIICAfwkQpv2rvaktAggggAACCCCAAAIIIICADwQI0z5A5BIIIIAAAggggAACCCCAAAL+JUCY9q/2prYIIIAAAggggAACCCCAAAI+ECBM+wCRSyCAAAIIIIAAAggggAACCPiXAGHav9qb2iKAAAIIIIAAAggggAACCPhAgDDtA0QugQACCCCAAAIIIIAAAggg4F8ChGn/am9qiwACCCCAAAIIIIAAAggg4AMBwrQPELkEAggggAACCCCAAAIIIICAfwkQpv2rvaktAggggAACCCCAAAIIIICADwQI0z5A5BIIIIAAAggggAACCCCAAAL+JUCY9q/2prYIIIAAAggggAACCCCAAAI+ECBM+wCRSyCAAAIIIIAAAggggAACCPiXAGHav9qb2iKAAAIIIIAAAggggAACCPhAgDDtA0QugQACCCCAAAIIIIAAAggg4F8ChGn/am9qiwACCCCAAAIIIIAAAggg4AMBwrQPELkEAggggAACCCCAAAIIIICAfwkQpv2rvaktAggggAACCCCAAAIIIICADwQI0z5A5BIIIIAAAggggAACCCCAAAL+JUCY9q/2prYIIIAAAggggAACCCCAAAI+ECBM+wCRSyCAAAIIIIAAAggggAACCPiXAGHav9qb2iKAAAIIIIAAAggggAACCPhAgDDtA0QugQACCCCAAAIIIIAAAggg4F8CDyVM+xcxtUUAAQQQQAABBBBAAAEEEIjtAvfueVTDx+5ZxaMj9aCQid3jEzkQAQQQQAABBBBAAAEEEEAAgRgg4GFEJkzHgLbkERFAAAEEEEAAAQQQQAABBKJJgDAdTdDcBgEEEEAAAQQQQAABBBBAIPYIeBim/wd+fYVH27TiVgAAAABJRU5ErkJggg==", "text/plain": [ "" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Using `find_elements(By.TAG_NAME, )` (and other similar `find_elements_...()` functions), we can retrieve all elements of a particular type, such as HTML `input` elements." ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "button": false, "execution": { "iopub.execute_input": "2025-10-26T13:36:02.515745Z", "iopub.status.busy": "2025-10-26T13:36:02.515637Z", "iopub.status.idle": "2025-10-26T13:36:02.519881Z", "shell.execute_reply": "2025-10-26T13:36:02.519499Z" }, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "ui_elements = gui_driver.find_elements(By.TAG_NAME, \"input\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "For each element, we can retrieve its HTML attributes, using `get_attribute()`. We can thus retrieve the `name` and `type` of each input element (if defined)." ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.521451Z", "iopub.status.busy": "2025-10-26T13:36:02.521349Z", "iopub.status.idle": "2025-10-26T13:36:02.601291Z", "shell.execute_reply": "2025-10-26T13:36:02.600979Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name: name | Type: text | Text: \n", "Name: email | Type: email | Text: \n", "Name: city | Type: text | Text: \n", "Name: zip | Type: number | Text: \n", "Name: terms | Type: checkbox | Text: \n", "Name: submit | Type: submit | Text: \n" ] } ], "source": [ "for element in ui_elements:\n", " print(\"Name: %-10s | Type: %-10s | Text: %s\" %\n", " (element.get_attribute('name'),\n", " element.get_attribute('type'),\n", " element.text))" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "button": false, "execution": { "iopub.execute_input": "2025-10-26T13:36:02.602889Z", "iopub.status.busy": "2025-10-26T13:36:02.602790Z", "iopub.status.idle": "2025-10-26T13:36:02.606971Z", "shell.execute_reply": "2025-10-26T13:36:02.606603Z" }, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "ui_elements = gui_driver.find_elements(By.TAG_NAME, \"a\")" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.608427Z", "iopub.status.busy": "2025-10-26T13:36:02.608331Z", "iopub.status.idle": "2025-10-26T13:36:02.622674Z", "shell.execute_reply": "2025-10-26T13:36:02.622415Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Name: | Type: | Text: terms and conditions\n" ] } ], "source": [ "for element in ui_elements:\n", " print(\"Name: %-10s | Type: %-10s | Text: %s\" %\n", " (element.get_attribute('name'),\n", " element.get_attribute('type'),\n", " element.text))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### User Interface Actions\n", "\n", "Similarly to what we did in the [chapter on Web fuzzing](WebFuzzer.ipynb), our idea is now to mine a _grammar_ for the user interface – first for an individual user interface *page* (i.e., a single Web page), later for all pages offered by the application. The idea is that a grammar defines _legal sequences of actions_ – clicks and keystrokes – that can be applied on the application." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We assume the following actions:\n", "\n", "1. `fill(, )` – fill the UI input element named `` with the text ``.\n", "1. `check(, )` – set the UI checkbox `` to the given value `` (True or False)\n", "1. `submit()` – submit the form by clicking on the UI element ``.\n", "1. `click()` – click on the UI element ``, typically for following a link." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "This sequence of actions, for instance would fill out the order form:\n", "\n", "```python\n", "fill('name', \"Walter White\")\n", "fill('email', \"white@jpwynne.edu\")\n", "fill('city', \"Albuquerque\")\n", "fill('zip', \"87101\")\n", "check('terms', True)\n", "submit('submit')\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Our set of actions is deliberately defined to be small – for real user interfaces, one would also have to define interactions such as swipes, double clicks, long clicks, right button clicks, modifier keys, and more. Selenium supports all of this; but in the interest of simplicity, we focus on the most important set of interactions." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" }, "toc-hr-collapsed": false }, "source": [ "### Retrieving Actions\n", "\n", "As a first step in mining an action grammar, we need to be able to retrieve possible interactions. We introduce a class `GUIGrammarMiner`, which is set to do precisely that." ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.624555Z", "iopub.status.busy": "2025-10-26T13:36:02.624442Z", "iopub.status.idle": "2025-10-26T13:36:02.626380Z", "shell.execute_reply": "2025-10-26T13:36:02.626158Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIGrammarMiner:\n", " \"\"\"Retrieve a grammar of possible GUI interaction sequences\"\"\"\n", "\n", " def __init__(self, driver, stay_on_host: bool = True) -> None:\n", " \"\"\"Constructor.\n", " `driver` - a web driver as produced by Selenium.\n", " `stay_on_host` - if True (default), no not follow links to other hosts.\n", " \"\"\"\n", " self.driver = driver\n", " self.stay_on_host = stay_on_host\n", " self.grammar: Grammar = {}" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "#### Excursion: Implementing Retrieving Actions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Our first task is to obtain the set of possible interactions. Given a single UI page, the method `mine_input_actions()` of `GUIGrammarMiner` returns a set of *actions* as defined above. It first gets all `input` elements, followed by `button` elements, finally followed by links (`a` elements), and merges them into a set. (We use a `frozenset` here since we want to use the set as an index later.)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.627776Z", "iopub.status.busy": "2025-10-26T13:36:02.627677Z", "iopub.status.idle": "2025-10-26T13:36:02.629747Z", "shell.execute_reply": "2025-10-26T13:36:02.629548Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIGrammarMiner(GUIGrammarMiner):\n", " def mine_state_actions(self) -> FrozenSet[str]:\n", " \"\"\"Return a set of all possible actions on the current Web site.\n", " Can be overloaded in subclasses.\"\"\"\n", " return frozenset(self.mine_input_element_actions()\n", " | self.mine_button_element_actions()\n", " | self.mine_a_element_actions())\n", "\n", " def mine_input_element_actions(self) -> Set[str]:\n", " return set() # to be defined later\n", "\n", " def mine_button_element_actions(self) -> Set[str]:\n", " return set() # to be defined later\n", "\n", " def mine_a_element_actions(self) -> Set[str]:\n", " return set() # to be defined later" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### Input Element Actions\n", "\n", "Mining input actions goes through the set of input elements, and returns an action depending on the input type. If the input field is a text, for instance, the associated action is `fill()`; for checkboxes, the action is `check()`." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The respective values are placeholders depending on the type; if the input field is a number, for instance, the value becomes ``. As these actions later become part of the grammar, they will be expanded into actual values during grammar expansion." ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.631128Z", "iopub.status.busy": "2025-10-26T13:36:02.631018Z", "iopub.status.idle": "2025-10-26T13:36:02.632588Z", "shell.execute_reply": "2025-10-26T13:36:02.632378Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from selenium.common.exceptions import StaleElementReferenceException" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.633709Z", "iopub.status.busy": "2025-10-26T13:36:02.633628Z", "iopub.status.idle": "2025-10-26T13:36:02.637241Z", "shell.execute_reply": "2025-10-26T13:36:02.636937Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIGrammarMiner(GUIGrammarMiner):\n", " def mine_input_element_actions(self) -> Set[str]:\n", " \"\"\"Determine all input actions on the current Web page\"\"\"\n", "\n", " actions = set()\n", "\n", " for elem in self.driver.find_elements(By.TAG_NAME, \"input\"):\n", " try:\n", " input_type = elem.get_attribute(\"type\")\n", " input_name = elem.get_attribute(\"name\")\n", " if input_name is None:\n", " input_name = elem.text\n", "\n", " if input_type in [\"checkbox\", \"radio\"]:\n", " actions.add(\"check('%s', )\" % html.escape(input_name))\n", " elif input_type in [\"text\", \"number\", \"email\", \"password\"]:\n", " actions.add(\"fill('%s', '<%s>')\" % (html.escape(input_name), html.escape(input_type)))\n", " elif input_type in [\"button\", \"submit\"]:\n", " actions.add(\"submit('%s')\" % html.escape(input_name))\n", " elif input_type in [\"hidden\"]:\n", " pass\n", " else:\n", " # TODO: Handle more types here\n", " actions.add(\"fill('%s', <%s>)\" % (html.escape(input_name), html.escape(input_type)))\n", " except StaleElementReferenceException:\n", " pass\n", "\n", " return actions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Applied on our order form, we see that the method gets us all input actions:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.639248Z", "iopub.status.busy": "2025-10-26T13:36:02.639120Z", "iopub.status.idle": "2025-10-26T13:36:02.678740Z", "shell.execute_reply": "2025-10-26T13:36:02.678497Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "{\"check('terms', )\",\n", " \"fill('city', '')\",\n", " \"fill('email', '')\",\n", " \"fill('name', '')\",\n", " \"fill('zip', '')\",\n", " \"submit('submit')\"}" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_grammar_miner = GUIGrammarMiner(gui_driver)\n", "gui_grammar_miner.mine_input_element_actions()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### Button Element Actions\n", "\n", "Mining buttons works similarly:" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.680039Z", "iopub.status.busy": "2025-10-26T13:36:02.679951Z", "iopub.status.idle": "2025-10-26T13:36:02.682631Z", "shell.execute_reply": "2025-10-26T13:36:02.682364Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIGrammarMiner(GUIGrammarMiner):\n", " def mine_button_element_actions(self) -> Set[str]:\n", " \"\"\"Determine all button actions on the current Web page\"\"\"\n", "\n", " actions = set()\n", "\n", " for elem in self.driver.find_elements(By.TAG_NAME, \"button\"):\n", " try:\n", " button_type = elem.get_attribute(\"type\")\n", " button_name = elem.get_attribute(\"name\")\n", " if button_name is None:\n", " button_name = elem.text\n", " if button_type == \"submit\":\n", " actions.add(\"submit('%s')\" % html.escape(button_name))\n", " elif button_type != \"reset\":\n", " actions.add(\"click('%s')\" % html.escape(button_name))\n", " except StaleElementReferenceException:\n", " pass\n", "\n", " return actions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Our order form has no `button` elements. (The `submit` button is an `input` element, and was handled above)." ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.684259Z", "iopub.status.busy": "2025-10-26T13:36:02.684153Z", "iopub.status.idle": "2025-10-26T13:36:02.690206Z", "shell.execute_reply": "2025-10-26T13:36:02.689728Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "set()" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_grammar_miner = GUIGrammarMiner(gui_driver)\n", "gui_grammar_miner.mine_button_element_actions()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "##### Link Element Actions\n", "\n", "When following links, we need to make sure that we stay on the current host – we want to explore a single website only, not all the Internet. To this end, we check the `href` attribute of the link to check whether it still points to the same host. If it does not, we give it a special action `ignore()`, which, as the name suggests, will later be ignored as it comes to executing these actions. We still return an action, though, as we use the set of actions to characterize a state in the application." ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.692230Z", "iopub.status.busy": "2025-10-26T13:36:02.692054Z", "iopub.status.idle": "2025-10-26T13:36:02.693945Z", "shell.execute_reply": "2025-10-26T13:36:02.693656Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from urllib.parse import urljoin, urlsplit" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.695537Z", "iopub.status.busy": "2025-10-26T13:36:02.695411Z", "iopub.status.idle": "2025-10-26T13:36:02.697865Z", "shell.execute_reply": "2025-10-26T13:36:02.697577Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIGrammarMiner(GUIGrammarMiner):\n", " def mine_a_element_actions(self) -> Set[str]:\n", " \"\"\"Determine all link actions on the current Web page\"\"\"\n", "\n", " actions = set()\n", "\n", " for elem in self.driver.find_elements(By.TAG_NAME, \"a\"):\n", " try:\n", " a_href = elem.get_attribute(\"href\")\n", " if a_href is not None:\n", " if self.follow_link(a_href):\n", " actions.add(\"click('%s')\" % html.escape(elem.text))\n", " else:\n", " actions.add(\"ignore('%s')\" % html.escape(elem.text))\n", " except StaleElementReferenceException:\n", " pass\n", "\n", " return actions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "To check whether we can follow a link, the method `follow_link()` checks the URL:" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.699365Z", "iopub.status.busy": "2025-10-26T13:36:02.699215Z", "iopub.status.idle": "2025-10-26T13:36:02.701554Z", "shell.execute_reply": "2025-10-26T13:36:02.701144Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "class GUIGrammarMiner(GUIGrammarMiner):\n", " def follow_link(self, link: str) -> bool:\n", " \"\"\"Return True iff we are allowed to follow the `link` URL\"\"\"\n", "\n", " if not self.stay_on_host:\n", " return True\n", "\n", " current_url = self.driver.current_url\n", " target_url = urljoin(current_url, link)\n", " return urlsplit(current_url).hostname == urlsplit(target_url).hostname" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "In our application, we would not be allowed to follow a link to `foo.bar`:" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.704082Z", "iopub.status.busy": "2025-10-26T13:36:02.703955Z", "iopub.status.idle": "2025-10-26T13:36:02.705865Z", "shell.execute_reply": "2025-10-26T13:36:02.705508Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_grammar_miner = GUIGrammarMiner(gui_driver)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.707319Z", "iopub.status.busy": "2025-10-26T13:36:02.707211Z", "iopub.status.idle": "2025-10-26T13:36:02.711141Z", "shell.execute_reply": "2025-10-26T13:36:02.710711Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_grammar_miner.follow_link(\"ftp://foo.bar/\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Following a link to `localhost`, though, works well:" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.712609Z", "iopub.status.busy": "2025-10-26T13:36:02.712514Z", "iopub.status.idle": "2025-10-26T13:36:02.716315Z", "shell.execute_reply": "2025-10-26T13:36:02.716065Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_grammar_miner.follow_link(\"https://127.0.0.1/\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "When adapting this for other user interfaces, similar measures would be taken to ensure we stay in the same application." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Running this method on our page gets us the set of links:" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.718566Z", "iopub.status.busy": "2025-10-26T13:36:02.718380Z", "iopub.status.idle": "2025-10-26T13:36:02.735553Z", "shell.execute_reply": "2025-10-26T13:36:02.735221Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "{\"click('terms and conditions')\"}" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_grammar_miner = GUIGrammarMiner(gui_driver)\n", "gui_grammar_miner.mine_a_element_actions()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "#### End of Excursion" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Let us show `GUIGrammarMiner` in action, using its `mine_state_actions()` method to retrieve all elements from our current page. We see that we obtain input element actions, button element actions, and link element actions." ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.737769Z", "iopub.status.busy": "2025-10-26T13:36:02.737624Z", "iopub.status.idle": "2025-10-26T13:36:02.801722Z", "shell.execute_reply": "2025-10-26T13:36:02.801500Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "frozenset({\"check('terms', )\",\n", " \"click('terms and conditions')\",\n", " \"fill('city', '')\",\n", " \"fill('email', '')\",\n", " \"fill('name', '')\",\n", " \"fill('zip', '')\",\n", " \"submit('submit')\"})" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_grammar_miner = GUIGrammarMiner(gui_driver)\n", "gui_grammar_miner.mine_state_actions()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We assume that we can identify a user interface *state* from the set of interactive elements it contains – that is, the current Web page is identified by the set above. This is in contrast to [Web fuzzing](WebFuzzer.ipynb), where we assumed the URL to uniquely characterize a page – but with JavaScript, the URL can stay unchanged although the page contents change, and UIs other than the Web may have no concept of unique URLs. Therefore, we say that the way a UI can be interacted with uniquely defines its state." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Models for User Interfaces" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### User Interfaces as Finite State Machines\n", "\n", "Now that we can retrieve UI elements from a page, let us go and systematically explore a user interface. The idea is to represent the user interface as a *finite state machine* – that is, a sequence of *states* that can be reached by interacting with the individual user interface elements." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Let us illustrate such a finite state machine by looking at our Web server. The following diagram shows the states our server can be in:" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.803606Z", "iopub.status.busy": "2025-10-26T13:36:02.803495Z", "iopub.status.idle": "2025-10-26T13:36:02.805079Z", "shell.execute_reply": "2025-10-26T13:36:02.804854Z" }, "slideshow": { "slide_type": "fragment" }, "tags": [ "remove-input" ] }, "outputs": [], "source": [ "# ignore\n", "from graphviz import Digraph" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.806358Z", "iopub.status.busy": "2025-10-26T13:36:02.806264Z", "iopub.status.idle": "2025-10-26T13:36:02.807848Z", "shell.execute_reply": "2025-10-26T13:36:02.807608Z" }, "slideshow": { "slide_type": "fragment" }, "tags": [ "remove-input" ] }, "outputs": [], "source": [ "# ignore\n", "from GrammarFuzzer import dot_escape" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:02.809154Z", "iopub.status.busy": "2025-10-26T13:36:02.809071Z", "iopub.status.idle": "2025-10-26T13:36:03.234087Z", "shell.execute_reply": "2025-10-26T13:36:03.233712Z" }, "slideshow": { "slide_type": "subslide" }, "tags": [ "remove-input" ] }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\\<start\\>\n", "\n", "<start>\n", "\n", "\n", "\n", "\\<Order Form\\>\n", "\n", "<Order Form>\n", "\n", "\n", "\n", "\\<start\\>->\\<Order Form\\>\n", "\n", "\n", "\n", "\n", "\n", "\\<Terms and Conditions\\>\n", "\n", "<Terms and Conditions>\n", "\n", "\n", "\n", "\\<Order Form\\>->\\<Terms and Conditions\\>\n", "\n", "\n", "click('Terms and conditions')\n", "\n", "\n", "\n", "\\<Thank You\\>\n", "\n", "<Thank You>\n", "\n", "\n", "\n", "\\<Order Form\\>->\\<Thank You\\>\n", "\n", "\n", "fill(...)\n", "submit('submit')\n", "\n", "\n", "\n", "\\<Terms and Conditions\\>->\\<Order Form\\>\n", "\n", "\n", "click('order form')\n", "\n", "\n", "\n", "\\<Thank You\\>->\\<Order Form\\>\n", "\n", "\n", "click('order form')\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# ignore\n", "dot = Digraph(comment=\"Finite State Machine\")\n", "dot.node(dot_escape(''))\n", "dot.edge(dot_escape(''),\n", " dot_escape(''))\n", "dot.edge(dot_escape(''),\n", " dot_escape(''), \"click('Terms and conditions')\")\n", "dot.edge(dot_escape(''),\n", " dot_escape(''), r\"fill(...)\\lsubmit('submit')\")\n", "dot.edge(dot_escape(''),\n", " dot_escape(''), \"click('order form')\")\n", "dot.edge(dot_escape(''),\n", " dot_escape(''), \"click('order form')\")\n", "display(dot)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Initially, we are in the `` state. From here, we can click on `Terms and Conditions`, and we'll be in the `Terms and Conditions` state, showing the page with the same title. We can also fill out the form and place the order, having us end in the `Thank You` state (again showing the page with the same title). From both `` and ``, we can return to the order form by clicking on the `order form` link." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### State Machines as Grammars\n", "\n", "To systematically explore a user interface, we must retrieve its finite state machine, and eventually cover all states and transitions. In the presence of forms, such an exploration is difficult, as we need a special mechanism to fill out forms and submit the values to get to the next state. There is a trick, though, which allows us to have a single representation for both states and (form) values. We can *embed the finite state machine into a grammar*, which is then used for both states and form values." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "To embed a finite state machine into a grammar, we proceed as follows:\n", "\n", "1. Every _state_ $\\langle s \\rangle$ in the finite state machine becomes a _symbol_ $\\langle s \\rangle$ in the grammar.\n", "2. Every _transition_ in the finite state machine from $\\langle s \\rangle$ to $\\langle t \\rangle$ and actions $a_1, a_2, \\dots$ becomes an _alternative_ of $\\langle s \\rangle$ in the form $a_1, a_2, dots$ $\\langle t \\rangle$ in the grammar." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The above finite state machine thus gets encoded into the grammar\n", "\n", "```\n", " ::= \n", " ::= click('Terms and Conditions') | \n", " fill(...) submit('submit') \n", " ::= click('order form') \n", " ::= click('order form') \n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Expanding this grammar gets us a stream of actions, navigating through the user interface:\n", "\n", "```\n", "fill(...) submit('submit') click('order form') click('Terms and Conditions') click('order form') ...\n", "```\n", "\n", "This stream is actually _infinite_ (as one can interact with the UI forever); to have it end, one can introduce an alternative `` that simply expands to the empty string, without having any expansion (state) follow." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "### Retrieving State Grammars\n", "\n", "Let us extend `GUIGrammarMiner` such that it retrieves a grammar from the user interface in its _current state_." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Excursion: Implementing Extracting State Grammars" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" }, "tags": [] }, "source": [ "We first define a constant `GUI_GRAMMAR` that serves as template for all sorts of input types. We will use this to fill out forms." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "\\todo{}: Have a common base class `GrammarMiner` with `__init__()` and `mine_grammar()`" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.236278Z", "iopub.status.busy": "2025-10-26T13:36:03.236151Z", "iopub.status.idle": "2025-10-26T13:36:03.238088Z", "shell.execute_reply": "2025-10-26T13:36:03.237830Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from Grammars import new_symbol" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.239286Z", "iopub.status.busy": "2025-10-26T13:36:03.239179Z", "iopub.status.idle": "2025-10-26T13:36:03.241122Z", "shell.execute_reply": "2025-10-26T13:36:03.240786Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from Grammars import nonterminals, START_SYMBOL\n", "from Grammars import extend_grammar, unreachable_nonterminals, crange, srange\n", "from Grammars import syntax_diagram, is_valid_grammar, Grammar" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.242404Z", "iopub.status.busy": "2025-10-26T13:36:03.242300Z", "iopub.status.idle": "2025-10-26T13:36:03.244928Z", "shell.execute_reply": "2025-10-26T13:36:03.244508Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIGrammarMiner(GUIGrammarMiner):\n", " START_STATE = \"\"\n", " UNEXPLORED_STATE = \"\"\n", " FINAL_STATE = \"\"\n", "\n", " GUI_GRAMMAR: Grammar = ({\n", " START_SYMBOL: [START_STATE],\n", " UNEXPLORED_STATE: [\"\"],\n", " FINAL_STATE: [\"\"],\n", "\n", " \"\": [\"\"],\n", " \"\": [\"\", \"\"],\n", " \"\": [\"\", \"\", \"\"],\n", " \"\": crange('a', 'z') + crange('A', 'Z'),\n", "\n", " \"\": [\"\"],\n", " \"\": [\"\", \"\"],\n", " \"\": crange('0', '9'),\n", "\n", " \"\": srange(\". !\"),\n", "\n", " \"\": [\"@\"],\n", " \"\": [\"\", \"\"],\n", "\n", " \"\": [\"True\", \"False\"],\n", "\n", " # Use a fixed password in case we need to repeat it\n", " \"\": [\"abcABC.123\"],\n", "\n", " \"\": [\"\"],\n", " })" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.246734Z", "iopub.status.busy": "2025-10-26T13:36:03.246598Z", "iopub.status.idle": "2025-10-26T13:36:03.271879Z", "shell.execute_reply": "2025-10-26T13:36:03.271640Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "start\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "state" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "unexplored\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "end\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "text\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "string" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "string\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "character\n", "\n", "string\n", "character" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "character\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "letter\n", "\n", "digit\n", "\n", "special" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "letter\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "e\n", "\n", "d\n", "\n", "c\n", "\n", "b\n", "\n", "a\n", "\n", "f\n", "\n", "g\n", "\n", "h\n", "\n", "i\n", "\n", "j\n", "\n", "\n", "o\n", "\n", "n\n", "\n", "m\n", "\n", "l\n", "\n", "k\n", "\n", "p\n", "\n", "q\n", "\n", "r\n", "\n", "s\n", "\n", "t\n", "\n", "\n", "y\n", "\n", "x\n", "\n", "w\n", "\n", "v\n", "\n", "u\n", "\n", "z\n", "\n", "A\n", "\n", "B\n", "\n", "C\n", "\n", "D\n", "\n", "\n", "I\n", "\n", "H\n", "\n", "G\n", "\n", "F\n", "\n", "E\n", "\n", "J\n", "\n", "K\n", "\n", "L\n", "\n", "M\n", "\n", "N\n", "\n", "\n", "S\n", "\n", "R\n", "\n", "Q\n", "\n", "P\n", "\n", "O\n", "\n", "T\n", "\n", "U\n", "\n", "V\n", "\n", "W\n", "\n", "X\n", "\n", "\n", "Y\n", "\n", "Z" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "number\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "digits" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "digits\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "digit\n", "\n", "digits\n", "digit" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "digit\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "1\n", "\n", "\n", "2\n", "\n", "3\n", "\n", "\n", "4\n", "\n", "5\n", "\n", "\n", "6\n", "\n", "7\n", "\n", "\n", "8\n", "\n", "9" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "special\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", ".\n", "\n", " \n", "\n", "!" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "email\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "letters\n", "@\n", "letters" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "letters\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "letter\n", "\n", "letters\n", "letter" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "boolean\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "True\n", "\n", "False" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "password\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "abcABC.123" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "hidden\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "string" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "syntax_diagram(GUIGrammarMiner.GUI_GRAMMAR)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "The method `mine_state_grammar()` goes through the actions mined from the page (using `mine_state_actions()`) and creates a grammar for the current state. For each `click()` and `submit()` action, it assumes a new state follows, and introduces an appropriate state symbol into the grammar – a state symbol that now will be marked as ``, but will be expanded later as the appropriate state is seen." ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.273525Z", "iopub.status.busy": "2025-10-26T13:36:03.273420Z", "iopub.status.idle": "2025-10-26T13:36:03.277052Z", "shell.execute_reply": "2025-10-26T13:36:03.276799Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIGrammarMiner(GUIGrammarMiner):\n", " def new_state_symbol(self, grammar: Grammar) -> str:\n", " \"\"\"Return a new symbol for some state in `grammar`\"\"\"\n", " return new_symbol(grammar, self.START_STATE)\n", "\n", " def mine_state_grammar(self, grammar: Grammar = {},\n", " state_symbol: Optional[str] = None) -> Grammar:\n", " \"\"\"Return a state grammar for the actions on the current Web site.\n", " Can be overloaded in subclasses.\"\"\"\n", "\n", " grammar = extend_grammar(self.GUI_GRAMMAR, grammar) # type: ignore\n", "\n", " if state_symbol is None:\n", " state_symbol = self.new_state_symbol(grammar)\n", " grammar[state_symbol] = []\n", "\n", " alternatives = []\n", " form = \"\"\n", " submit = None\n", "\n", " for action in self.mine_state_actions():\n", " if action.startswith(\"submit\"):\n", " submit = action\n", "\n", " elif action.startswith(\"click\"):\n", " link_target = self.new_state_symbol(grammar)\n", " grammar[link_target] = [self.UNEXPLORED_STATE]\n", " alternatives.append(action + '\\n' + link_target)\n", "\n", " elif action.startswith(\"ignore\"):\n", " pass\n", "\n", " else: # fill(), check() actions\n", " if len(form) > 0:\n", " form += '\\n'\n", " form += action\n", "\n", " if submit is not None:\n", " if len(form) > 0:\n", " form += '\\n'\n", " form += submit\n", "\n", " if len(form) > 0:\n", " form_target = self.new_state_symbol(grammar)\n", " grammar[form_target] = [self.UNEXPLORED_STATE]\n", " alternatives.append(form + '\\n' + form_target)\n", "\n", " alternatives += [self.FINAL_STATE]\n", "\n", " grammar[state_symbol] = alternatives # type: ignore\n", "\n", " # Remove unused parts\n", " for nonterminal in unreachable_nonterminals(grammar):\n", " del grammar[nonterminal]\n", "\n", " assert is_valid_grammar(grammar)\n", "\n", " return grammar" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "To better see the state structure, the function `fsm_diagram()` shows the resulting state grammar as a finite state machine. (This assumes that the grammar actually encodes a state machine.)" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.278516Z", "iopub.status.busy": "2025-10-26T13:36:03.278426Z", "iopub.status.idle": "2025-10-26T13:36:03.280025Z", "shell.execute_reply": "2025-10-26T13:36:03.279794Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from collections import deque" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.281325Z", "iopub.status.busy": "2025-10-26T13:36:03.281246Z", "iopub.status.idle": "2025-10-26T13:36:03.282755Z", "shell.execute_reply": "2025-10-26T13:36:03.282488Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from bookutils import unicode_escape" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.283977Z", "iopub.status.busy": "2025-10-26T13:36:03.283890Z", "iopub.status.idle": "2025-10-26T13:36:03.286860Z", "shell.execute_reply": "2025-10-26T13:36:03.286582Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "def fsm_diagram(grammar: Grammar, start_symbol: str = START_SYMBOL) -> Any:\n", " \"\"\"Produce a FSM diagram for the state grammar `grammar`.\n", " `start_symbol` - the start symbol (default: START_SYMBOL)\"\"\"\n", "\n", " from graphviz import Digraph\n", " from IPython.display import display\n", "\n", " def left_align(label: str) -> str:\n", " \"\"\"Render `label` as left-aligned in dot\"\"\"\n", " return dot_escape(label.replace('\\n', r'\\l')).replace(r'\\\\l', '\\\\l')\n", "\n", " dot = Digraph(comment=\"Grammar as Finite State Machine\")\n", "\n", " symbols = deque([start_symbol])\n", " symbols_seen = set()\n", "\n", " while len(symbols) > 0:\n", " symbol = symbols.popleft()\n", " symbols_seen.add(symbol)\n", " dot.node(symbol, dot_escape(unicode_escape(symbol)))\n", "\n", " for expansion in grammar[symbol]:\n", " assert type(expansion) == str # no opts() here\n", "\n", " nts = nonterminals(expansion)\n", " if len(nts) > 0:\n", " target_symbol = nts[-1]\n", " if target_symbol not in symbols_seen:\n", " symbols.append(target_symbol)\n", "\n", " label = expansion.replace(target_symbol, '')\n", " dot.edge(symbol, target_symbol, left_align(unicode_escape(label)))\n", "\n", " return display(dot)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### End of Excursion" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Let us show `GUIGrammarMiner()` in action. Its method `mine_state_grammar()` extracts the grammar for the current Web page:" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.288397Z", "iopub.status.busy": "2025-10-26T13:36:03.288296Z", "iopub.status.idle": "2025-10-26T13:36:03.335897Z", "shell.execute_reply": "2025-10-26T13:36:03.335607Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_grammar_miner = GUIGrammarMiner(gui_driver)\n", "state_grammar = gui_grammar_miner.mine_state_grammar()" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.337596Z", "iopub.status.busy": "2025-10-26T13:36:03.337484Z", "iopub.status.idle": "2025-10-26T13:36:03.340420Z", "shell.execute_reply": "2025-10-26T13:36:03.340134Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "{'': [''],\n", " '': [''],\n", " '': [''],\n", " '': [''],\n", " '': ['', ''],\n", " '': ['', '', ''],\n", " '': ['a',\n", " 'b',\n", " 'c',\n", " 'd',\n", " 'e',\n", " 'f',\n", " 'g',\n", " 'h',\n", " 'i',\n", " 'j',\n", " 'k',\n", " 'l',\n", " 'm',\n", " 'n',\n", " 'o',\n", " 'p',\n", " 'q',\n", " 'r',\n", " 's',\n", " 't',\n", " 'u',\n", " 'v',\n", " 'w',\n", " 'x',\n", " 'y',\n", " 'z',\n", " 'A',\n", " 'B',\n", " 'C',\n", " 'D',\n", " 'E',\n", " 'F',\n", " 'G',\n", " 'H',\n", " 'I',\n", " 'J',\n", " 'K',\n", " 'L',\n", " 'M',\n", " 'N',\n", " 'O',\n", " 'P',\n", " 'Q',\n", " 'R',\n", " 'S',\n", " 'T',\n", " 'U',\n", " 'V',\n", " 'W',\n", " 'X',\n", " 'Y',\n", " 'Z'],\n", " '': [''],\n", " '': ['', ''],\n", " '': ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],\n", " '': ['.', ' ', '!'],\n", " '': ['@'],\n", " '': ['', ''],\n", " '': ['True', 'False'],\n", " '': [\"click('terms and conditions')\\n\",\n", " \"fill('email', '')\\ncheck('terms', )\\nfill('zip', '')\\nfill('name', '')\\nfill('city', '')\\nsubmit('submit')\\n\",\n", " ''],\n", " '': [''],\n", " '': ['']}" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "state_grammar" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "To better see the structure of the state grammar, we can visualize it as a state machine. We see that it nicely reflects what we can see from our Web server's home page:" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.341791Z", "iopub.status.busy": "2025-10-26T13:36:03.341679Z", "iopub.status.idle": "2025-10-26T13:36:03.725226Z", "shell.execute_reply": "2025-10-26T13:36:03.724828Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "start\n", "\n", "<start>\n", "\n", "\n", "\n", "state\n", "\n", "<state>\n", "\n", "\n", "\n", "start->state\n", "\n", "\n", "\n", "\n", "\n", "state-1\n", "\n", "<state-1>\n", "\n", "\n", "\n", "state->state-1\n", "\n", "\n", "click('terms and conditions')\n", "\n", "\n", "\n", "state-2\n", "\n", "<state-2>\n", "\n", "\n", "\n", "state->state-2\n", "\n", "\n", "fill('email', '<email>')\n", "check('terms', <boolean>)\n", "fill('zip', '<number>')\n", "fill('name', '<text>')\n", "fill('city', '<text>')\n", "submit('submit')\n", "\n", "\n", "\n", "end\n", "\n", "<end>\n", "\n", "\n", "\n", "state->end\n", "\n", "\n", "\n", "\n", "\n", "unexplored\n", "\n", "<unexplored>\n", "\n", "\n", "\n", "state-1->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-2->unexplored\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fsm_diagram(state_grammar)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "From the start state (``), we can go and either click on \"terms and conditions\", ending in ``, or fill out the form, ending in ``." ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.727029Z", "iopub.status.busy": "2025-10-26T13:36:03.726890Z", "iopub.status.idle": "2025-10-26T13:36:03.729389Z", "shell.execute_reply": "2025-10-26T13:36:03.729137Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "[\"click('terms and conditions')\\n\",\n", " \"fill('email', '')\\ncheck('terms', )\\nfill('zip', '')\\nfill('name', '')\\nfill('city', '')\\nsubmit('submit')\\n\",\n", " '']" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "state_grammar[GUIGrammarMiner.START_STATE]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Both these states are yet unexplored:" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.730746Z", "iopub.status.busy": "2025-10-26T13:36:03.730629Z", "iopub.status.idle": "2025-10-26T13:36:03.732700Z", "shell.execute_reply": "2025-10-26T13:36:03.732458Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "['']" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "state_grammar['']" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.734024Z", "iopub.status.busy": "2025-10-26T13:36:03.733915Z", "iopub.status.idle": "2025-10-26T13:36:03.736124Z", "shell.execute_reply": "2025-10-26T13:36:03.735839Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "['']" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "state_grammar['']" ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.737517Z", "iopub.status.busy": "2025-10-26T13:36:03.737414Z", "iopub.status.idle": "2025-10-26T13:36:03.739594Z", "shell.execute_reply": "2025-10-26T13:36:03.739325Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "['']" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "state_grammar['']" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Given the grammar, we can use any of our grammar fuzzers to create valid input sequences:" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.740913Z", "iopub.status.busy": "2025-10-26T13:36:03.740817Z", "iopub.status.idle": "2025-10-26T13:36:03.742368Z", "shell.execute_reply": "2025-10-26T13:36:03.742118Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from GrammarFuzzer import GrammarFuzzer" ] }, { "cell_type": "code", "execution_count": 89, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.743793Z", "iopub.status.busy": "2025-10-26T13:36:03.743700Z", "iopub.status.idle": "2025-10-26T13:36:03.746716Z", "shell.execute_reply": "2025-10-26T13:36:03.746462Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "fill('email', 'G@C')\n", "check('terms', True)\n", "fill('zip', '342')\n", "fill('name', '.')\n", "fill('city', '6')\n", "submit('submit')\n", "\n" ] } ], "source": [ "gui_fuzzer = GrammarFuzzer(state_grammar)\n", "while True:\n", " action = gui_fuzzer.fuzz()\n", " if action.find('submit(') > 0:\n", " break\n", "print(action)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "These actions, however, must also be _executed_ such that we can explore the user interface. This is what we do in the next section." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Executing User Interface Actions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "To execute actions, we introduce a `Runner` class, conveniently named `GUIRunner`. Its `run()` method executes the actions as given in an action string." ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.748075Z", "iopub.status.busy": "2025-10-26T13:36:03.747988Z", "iopub.status.idle": "2025-10-26T13:36:03.749553Z", "shell.execute_reply": "2025-10-26T13:36:03.749310Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from Fuzzer import Runner" ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.750749Z", "iopub.status.busy": "2025-10-26T13:36:03.750663Z", "iopub.status.idle": "2025-10-26T13:36:03.752588Z", "shell.execute_reply": "2025-10-26T13:36:03.752334Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "class GUIRunner(Runner):\n", " \"\"\"Execute the actions in a given action string\"\"\"\n", "\n", " def __init__(self, driver) -> None:\n", " \"\"\"Constructor. `driver` is a Selenium Web driver\"\"\"\n", " self.driver = driver" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### Excursion: Implementing Executing UI Actions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The way we implement `run()` is fairly simple: We introduce four methods named `fill()`, `check()`, `submit()` and `click()`, and run `exec()` on the action string to have the Python interpreter invoke these methods." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Running `exec()` on third-party input is dangerous, as the names of UI elements may contain valid Python code. We restrict access to the four functions defined above, and also set `__builtins__` to the empty dictionary such that built-in Python functions are not available during `exec()`. This will prevent accidents, but as we will see in the [chapter on information flow](InformationFlow.ipynb), it is still possible to inject Python code. To prevent such injection attacks, we use `html.escape()` to quote angle and quote characters in all third-party strings." ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.753959Z", "iopub.status.busy": "2025-10-26T13:36:03.753863Z", "iopub.status.idle": "2025-10-26T13:36:03.756607Z", "shell.execute_reply": "2025-10-26T13:36:03.756284Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIRunner(GUIRunner):\n", " def run(self, inp: str) -> Tuple[str, str]:\n", " \"\"\"Execute the action string `inp` on the current Web site.\n", " Return a pair (`inp`, `outcome`).\"\"\"\n", "\n", " def fill(name, value):\n", " self.do_fill(html.unescape(name), html.unescape(value))\n", "\n", " def check(name, state):\n", " self.do_check(html.unescape(name), state)\n", "\n", " def submit(name):\n", " self.do_submit(html.unescape(name))\n", "\n", " def click(name):\n", " self.do_click(html.unescape(name))\n", "\n", " exec(inp, {'__builtins__': {}},\n", " {\n", " 'fill': fill,\n", " 'check': check,\n", " 'submit': submit,\n", " 'click': click,\n", " })\n", "\n", " return inp, self.PASS" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "To identify elements in an action, we first search them by their name, and then by the displayed link text." ] }, { "cell_type": "code", "execution_count": 93, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.757998Z", "iopub.status.busy": "2025-10-26T13:36:03.757906Z", "iopub.status.idle": "2025-10-26T13:36:03.759764Z", "shell.execute_reply": "2025-10-26T13:36:03.759496Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from selenium.common.exceptions import NoSuchElementException\n", "from selenium.common.exceptions import ElementClickInterceptedException, ElementNotInteractableException" ] }, { "cell_type": "code", "execution_count": 94, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.760979Z", "iopub.status.busy": "2025-10-26T13:36:03.760893Z", "iopub.status.idle": "2025-10-26T13:36:03.762857Z", "shell.execute_reply": "2025-10-26T13:36:03.762610Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "class GUIRunner(GUIRunner):\n", " def find_element(self, name: str) -> Any:\n", " \"\"\"Search for an element named `name` on the current Web site.\n", " Matches can occur by name or by link text.\"\"\"\n", "\n", " try:\n", " return self.driver.find_element(By.NAME, name)\n", " except NoSuchElementException:\n", " return self.driver.find_element(By.LINK_TEXT, name)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The implementations of the actions simply defer to the appropriate Selenium methods, introducing explicit delays such that the page can reload and refresh." ] }, { "cell_type": "code", "execution_count": 95, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.764146Z", "iopub.status.busy": "2025-10-26T13:36:03.764053Z", "iopub.status.idle": "2025-10-26T13:36:03.767267Z", "shell.execute_reply": "2025-10-26T13:36:03.766992Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from selenium.webdriver.support.ui import WebDriverWait" ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.768631Z", "iopub.status.busy": "2025-10-26T13:36:03.768532Z", "iopub.status.idle": "2025-10-26T13:36:03.770394Z", "shell.execute_reply": "2025-10-26T13:36:03.770137Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIRunner(GUIRunner):\n", " # Delays (in seconds)\n", " DELAY_AFTER_FILL = 0.1\n", " DELAY_AFTER_CHECK = 0.1\n", " DELAY_AFTER_SUBMIT = 1.5\n", " DELAY_AFTER_CLICK = 1.5" ] }, { "cell_type": "code", "execution_count": 97, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.771618Z", "iopub.status.busy": "2025-10-26T13:36:03.771522Z", "iopub.status.idle": "2025-10-26T13:36:03.773334Z", "shell.execute_reply": "2025-10-26T13:36:03.773064Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "class GUIRunner(GUIRunner):\n", " def do_fill(self, name: str, value: str) -> None:\n", " \"\"\"Fill the text element `name` with `value`\"\"\"\n", "\n", " element = self.find_element(name)\n", " element.send_keys(value)\n", " WebDriverWait(self.driver, self.DELAY_AFTER_FILL)" ] }, { "cell_type": "code", "execution_count": 98, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.774519Z", "iopub.status.busy": "2025-10-26T13:36:03.774428Z", "iopub.status.idle": "2025-10-26T13:36:03.776669Z", "shell.execute_reply": "2025-10-26T13:36:03.776410Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIRunner(GUIRunner):\n", " def do_check(self, name: str, state: bool) -> None:\n", " \"\"\"Set the check element `name` to `state`\"\"\"\n", "\n", " element = self.find_element(name)\n", " if bool(state) != bool(element.is_selected()):\n", " element.click()\n", " WebDriverWait(self.driver, self.DELAY_AFTER_CHECK)" ] }, { "cell_type": "code", "execution_count": 99, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.777921Z", "iopub.status.busy": "2025-10-26T13:36:03.777842Z", "iopub.status.idle": "2025-10-26T13:36:03.779788Z", "shell.execute_reply": "2025-10-26T13:36:03.779530Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "class GUIRunner(GUIRunner):\n", " def do_submit(self, name: str) -> None:\n", " \"\"\"Click on the submit element `name`\"\"\"\n", "\n", " element = self.find_element(name)\n", " element.click()\n", " WebDriverWait(self.driver, self.DELAY_AFTER_SUBMIT)" ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.780906Z", "iopub.status.busy": "2025-10-26T13:36:03.780826Z", "iopub.status.idle": "2025-10-26T13:36:03.782698Z", "shell.execute_reply": "2025-10-26T13:36:03.782422Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIRunner(GUIRunner):\n", " def do_click(self, name: str) -> None:\n", " \"\"\"Click on the element `name`\"\"\"\n", "\n", " element = self.find_element(name)\n", " element.click()\n", " WebDriverWait(self.driver, self.DELAY_AFTER_CLICK)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### End of Excursion" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Let us try out `GUIRunner` and its `run()` method. We create a runner on our Web server, and let it execute a `fill()` action:" ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.784051Z", "iopub.status.busy": "2025-10-26T13:36:03.783908Z", "iopub.status.idle": "2025-10-26T13:36:03.803043Z", "shell.execute_reply": "2025-10-26T13:36:03.802734Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.804847Z", "iopub.status.busy": "2025-10-26T13:36:03.804677Z", "iopub.status.idle": "2025-10-26T13:36:03.806295Z", "shell.execute_reply": "2025-10-26T13:36:03.806075Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_runner = GUIRunner(gui_driver)" ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.807482Z", "iopub.status.busy": "2025-10-26T13:36:03.807398Z", "iopub.status.idle": "2025-10-26T13:36:03.829903Z", "shell.execute_reply": "2025-10-26T13:36:03.829594Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(\"fill('name', 'Walter White')\", 'PASS')" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_runner.run(\"fill('name', 'Walter White')\")" ] }, { "cell_type": "code", "execution_count": 104, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.831326Z", "iopub.status.busy": "2025-10-26T13:36:03.831225Z", "iopub.status.idle": "2025-10-26T13:36:03.854621Z", "shell.execute_reply": "2025-10-26T13:36:03.854243Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydB7gUNduG81k+e+8VFQv2hg0VxS5YQcWCBSzYRbF3UewFe0exUBQVG4K9oyCCFRVUrIiCXbH7zx3+d7/snJnd2XP2tN0n1+XlYXcmk9zJZPPkffPmP/9GySmJgAiIgAiIgAiIgAiIgAiIgAiIgAhkJvAfienMrHShCIiACIiACIiACIiACIiACIiACHgCEtPqCCIgAiIgAiIgAiIgAiIgAiIgAiJQIgGJ6RKB6XIREAEREAEREAEREAEREAEREAERkJhWHxABERABERABERABERABERABERCBEglITJcITJeLgAiIgAiIgAiIgAiIgAiIgAiIgMS0+oAIiIAIiIAIiIAIiIAIiIAIiIAIlEhAYrpEYLpcBERABERABERABERABERABERABCSm1QdEQAREQAREQAREQAREQAREQAREoEQCEtMlAtPlIiACIiACIiACIiACIiACIiACIiAxrT4gAiIgAiIgAiIgAiIgAiIgAiIgAiUSKE1M/+c/JWavy0VABERABERABERABERABERABESgGRH4999MhZWYzoRJF4mACIiACIiACIiACIiACIiACFQFAYnpqmhmVVIEREAEREAEREAEREAEREAERKCcBCSmy0lTeYmACIiACIiACIiACIiACIiACFQFgQYR0xkfUhXAVUkREAEREAEREAEREAEREAEREIHmRyAeGyyjzq3bnumMD2l+NFViERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiAgMV0VzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBqiBQaWL677//dv/++29Z2m7GGWd0/4kDKkvOjZPJd9995+699163yCKLuA4dOriZZpqpcQpS5Kn//POP47+k1FTLXKhKhfpkQ9Tnq6++cuPGjfP/ffLJJ27xxRd3K664olthhRXcMsss4/vB1KlT3UknneQOOuggt+GGGzbJftGUCzVhwgT35ptvuilTprhff/3Vj0ELLbSQW3rppd3666/vZp111kYtfrFxsSH6YV0BFKtDKflX2theSt11rQiIgAiIgAiIQBkJVJKYnjRpkhcK5Uqvv/66W3vttcuVXaPm89JLL7lNNtkkV4Yll1zSvf/++2722Wdv1HIlPbxnz57u8ssvTyzX2LFj3ZprrtnkylyoQF27dnW333574iV//fWXY2JfH+n33393Z511lrvoooty2c8111zup59+yvv3zjvv7EX2Cy+84Pr37+/22muv+ihOxeX5ww8/uKuuusq37UcffVSwfp06dfKLFeutt16jcNhpp53cww8/nPjs5ZZbzn344YeNUq6sD9XYnpWUrhMBERABERABEWhQApUkpn/77Tf34osvutGjR7uTTz45leP+++/vll12WcdkmEnaF1984YVEPFWSmN5jjz28VTpMd9xxh9t3330btL9ledi7777rxfStt95a4/JXXnnFbbDBBlmyaTLXjBkzxp122mnuscceq1Gm+hLTWJq32WYbRx8m0ecvuOACt9hii3nLKVbUE088sUa/l5jO1m3uuusud/jhh+ctTHTp0sUdc8wxfmxhoerJJ5/0ixlh4j288cYb3bzzzpvtQWW6Csv5e++95y6++OIabd4cxLTG9jJ1BGUjAiIgAiIgAiJQXgKVJKZDMjfddJPr3r17DVgbb7yxF9zx9Pnnn7trr73WXXjhhbmvKklMY81FQIXphBNO8JPrppiYPM8222w1ijZixIhm6Yb8zjvvuNVWW63BxDRC7/rrr/fP23rrrd2wYcPcDDPMkPd8hDxi7/zzz899LjFd+G1g+wELI+E4wR2MNwcffHCNm59//nm32Wab5X2Oi/0jjzzi3ewbOj399NNuyy23zHtscxDTGtsbuqfoeSIgAiIgAiIgApkIVKqYxhq4zjrr1GBw1FFHedfMtNSrV6+cNamSxDST/1NOOSWv2k3dZXrVVVd1WKnD1FzFdNriQH1YpuN9/7bbbnMHHHBAap/fbbfd3H333ee/l5guPGyec8457uyzz867qFu3boleFHbRAw884Dp27Jh3D9ssGF/YV92QKWlcbG5iWmN7Q/YYPUsEREAEREAERKAggUoV07g0rrzyyiWLacTNuuuu6624lSSmCT6Gm+8NN9zgJ/BYpQ899NAm/XYkWdObo5s3kBtSTMcXTrBQF2prXMJxTWYv9YABA9yee+7ZpPtFYxXu0UcfdTvssEONxzPWrLTSSgWLxfcffPBB3jWbbrqpe/bZZ2t4DNRn/d544w231lpr5T2iuYlpje312UOUtwiIgAiIgAiIQEkEJKadGzRokFtwwQVz7o+4PhMsqJLEtHWKP//80we8irv8ltRpGuhiienage7cubO75557cjevscYa7tVXXy0YURp3b7wyZJlOZs5706pVqxqBxrbYYgv31FNPFW0oG1PiF9JOu+++e9H7y3VBtYnpahrby9VHlI8IiIAIiIAIiEAJBKpdTLMHkmBAhx12WC7qMa7FuBizz3WVVVYpgWblX4qF++uvv/ZH/iTtaU4jgMWffelEmF544YXdfPPNVxRWMTH97bffOsqDVbXUxQHKgaWQtl9qqaWKliXpAgLYEcW5RYsWbv755y+YR0Naptu2bVsjyBTHXRF1Os2CSjTn5ZdfvkmIadqU47zoXxzjVko/s0YgD4ILzj333D6PmWeeuVZtbDfdeeedbr/99quRB27fZ555ZtG8P/74Y4cFOJ74jOBgWY/g48gt6kX/pd8XS19++aW/xE45qK2Y5rmfffaZ++OPP/y7/9///rfYo1O/nzZtmo8e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AiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAnUmIDFdZ4TKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgApVC4NVXx7oJEz5xM800o5s06etKqZbqIQIiIAIlE1h00YXcP//865ZfvoVbf/01S75fN4hArQhITNcKm24SAREQAREQgUYl0LfvPW7llVdw88wzt1twwfkatSx6uAiIgAg0NoF///3XTZ36vfv++x/c++9/6Lp23b2xi6TnVwMBielqaGXVUQREQAREoJIIIKTXW29Nt8giC1VStVQXERABESgLgUmTJrvXX39bgrosNJVJQQIS0+ogIiACIiACItB8CLzyyhgXGWBcy5Ytmk+hVVIREAERaGACEyZ87GaccQa3wQZrN/CT9biqIiAxXVXNrcqKgAiIgAg0cwL9+z/o1lprNbl2N/N2VPFFQATql8CUKd+6sWPfdXvvvVP9Pki5VzeBShPTf/zxR2KDzjTTTG6GGWbIfffnn39GK/vR0n6Q/vvf/5a1M3z11Vfup59+ciussELBfP/6668oYMI/Na75T9Q4M888c+q9v/zyi3v22Wfdr7/+6nbfXftCytV4U6dOdY899pjr1KmTm2222cqVrfKpQAJp7yDv5H333efWXXddt8oqq1RgzZtflSqpTQYNesS1a9em+TWCSiwCIiACDUiAef6zz45wnTvv0IBP1aOqjkAlienvvvvOtWrVyn39dX5E02233dZdfPHFbo011si170knneRuv/323LULL7ywe+aZZ8o28WXituiii3ox/dZbb7nVVlsttW+dddZZ7oYbbqhRbrth0003ddTh8MMPd/PNN18UsXWSO/jgg92jjz7qL9lzzz3dgAEDqq7vlrvCCOjevXu7l156yWf9/fffR4F95in3Y5RfBRAo9g7eeOON7tBDD3VLLrmk++yzzyqgxs2/CpXUJn369I0sLbs0/0ZpBjVgoZv/WJBXqgwCGF3KbTypDDKVWYv+/Ye4Hj26VWblVKumQaCSxDREGSTPPfdcd95553nAc801l/v2228TfwivueYad9RRR7mjjz7aXX755dG+ihnL1ihjxoxx66yzjs/vnnvuKWo5/uSTT9wyyyzjr99+++3dzTff7PjszTffdCeeeKIX5dTl9ddfj0L+L+9+/PFHd9hhh7n+/ftLTJep1X7//Xc3YsSIyOLTzueI1XH22WcvU+5NIxus7gsssEDTKEwzL0WhdxCPEfrRvvvu6+644456qykLPowL5Ry76q2wjZxxQ7VJQ1SzVDE93dtmaPSbMtFNm/arW2KJJd3GG28SLTA37tExb7wxNnURGY781i277HINgTTxGXiwbbnlZlF04G+jRdZX3LzzzltvZfnqq0nR7/nd/hlLLbV07jn8DYeGEvNdu+4XucWOcWPGvFVSXTFmvPbaqEz3bLHFlpnHrC+//NKNHv1aZJR403sX0mfXW289t9BCC+c9K2u5x4//wG233dZuo43auLvukhEiU4M184skppt5AzaH4leamIY5q8gdO3Z0Dz74oG+CPn36uGOOOSavORBKWLFXX31198gjj+S5gJej3d5//32fP2nIkCFu5513LprtIoss4icWiOTrrrsud/3EiRO9VR1Bzf/feOMN/x3XHHHEERLTRclmvwCPgjnmmMPf8Ntvv7lZZpkl+81N/Ercjp977jl31VVXNfGSNp/iFXoHmYgX2qZR11rSPzfeeGPvoYIXjFJxAvXdJsVLUJ4rShHT9913b+TVdGjig3fYYUd34423NJhQixfi0EMPdg88cH8qlLPP7hX9Hh5RHmi1yOWXX352yy03Pcjba6+N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NWli2kTeQw895N0kw3TAAQe4fv36uX333dfdcccded898sgj/vpDDz3Ui8SsCa4vvfRSniv9bbfd5iZOnOgnxA2xcNGyZUv30UcfuSlTprgFFlggV3QEAosoLC707dvXde3aNa9aJ554orvkkku8lQtrF+Ji6623dhdeeKEve6G05ZZbuqeffjp3L9ciPnBDJa+VV145K0JdJwJlIZBFTCNQu3fv7p/3+eefuyWWWKLGs5966il3+umnuxEjRpSlXLXJhO05M888c96t1113nTviiCMkpmsDVPeIgAgkEpCYVscQARFIJVBNYhqL8wcffOBZIIaGDh1aY080FtTVVlvN9erVqyJ6TZqYvv/++12nTp3cCSec4LDwWGLP5LzzzuutT3PNNZf7/vvvHfsiLSEeuX7w4MH+/qwpSUyb0Jw6daqbf/75s2ZV6+uwpF111VXu4YcfzvNUePfdd92qq04/I2iPPfZwgwZFZ4kFad1113V4M+BGiuguRUxjKcPKv9566+UWdHr37u1FSNJCRq0rpxtFICOBLGKaha5u3aZHs/7iiy/c4osvXiN3ti/wLnTo0CHjkxvmMly+WeyTm3fD8NZTRKAaCEhMV0Mrq44iUEsC1SSmhw8f7i666CJvKSTFhaSJKYTVWWedlUcU12fchHFTxrK98cYbJ7qKv/nmmz7wzYYbbugmTJjg9x62aNEiz8UXd+LHH3/ci1Zcf+eee+4arff+++976/m0adPc6quv7lq3bl3jGgQtVtXddtstz/IeXpgmphGwWOZx3xw9enTuljfeeMOttdZauX/HXeJNWMatu1iIYIPYTLIyx8U0oh0xjYUWHojpULRbAXArJ6DQIossktjDycfuQ/hTLyzQScms6lia6QeWrr32WnfkkUf6f7KAwF573MFJ3333nS/bGmus4WBDiotp6o7gWHrppWvUgfbhPysj5T3//PPdGWec4R588EEv6vGaCD0neAZBoAiwRJ5KIlBOAuUQ02+//bZ/37fffvu8otFnGU/wXuG9xmpNX6afW/BHxke8M1iwY/xLsnqzd5t7yaNVq1Z+rFhqqaVqYGAhjLE59K5JE9OMI3fffbdbc8013QYbbFAQqSbO5exxyksEmj8BjQnNvw1VAxGoNwLVJKaZwGF1xo0b10VSPCAZlsm4mL7vvvu8YEVwIaKvvPJKL5LDe/kMF2HE9NFHH+3FU58+fXLthmUSSzh7EQcOHJj7HJGG+7PtW/7jjz/c8ccf7x544AHXtm1b/xxck4lKi8v1rLPO6u9l//H666/v/+aatMlhoQBk3E8+iEfbJ3zZZZf551NX9kzi3sy/SYhVrqMu7DEmMaHGpRJrryUEOmU1ay+fh2KagHDt27ev0adfe+01h1gnIVixgD/xxBP+33A66KCDPD9L9957r7ckwxkrry2SxKOy2/U//PCDX8CILyAw0WdfPXstcV0PeVpZ2R+NCLay4dlw3nnnuU8++cTdfPPN/nOEOOXD8myJwHaUj37Boso888xTo95XXHFFLtAdwuDUU0/1QfMQG+xJpY60g7V9jQz0gQiUQKAcYvrkk0/2i2ZnnnmmfzL9lUUp3iPeL8YPs2zzPf2Y95MFpNNOOy2vtO+8845bZZVVcp8dd9xxjneC/EgXXHCB491FXDOmMEbiYXLnnXf69woPGRYWLaWJ6csvv9wHVyP99ttvBYMCauJcQofSpSJQBQQ0JlRBI6uKIlBbAtUmpjfffHM/AcM6YSm0vsbFNG66WKIRNlg2mEBifcGaEooyJornnnuut7SSsHojrLDCIIrZj0vCTZr9ykwI27Vr50U9wpP9ySTuIS8sMwgvLKMISa7DNZhnkLCEUi4SYnvZZZdN7AKFxDSu7FjgEflmYdpmm228gMXyjOV6iy22cOyNJGGZ5zruOfvss73FiYBcPH/nnXf2QvjVV1/1E2qEJYG7EK+kUExjsScKL8KVesEE6zxReXkmli0s8eSBqyZ5sHDBtQhXRDWJz/bee29/3WyzzeYFOtarQi76tMULL7zguZIvln/alHqec8453lKGSLYJP8KWyTziHusYySzTPJc2ogyUjaBHJPZsIsxJoZhmmwGLFfCkjbkPcbDddtv5vkSZ8GhgK8Kuu+7qPRIQKSx4EJWefhK3YCc2uj4UgQIEShXTLA7ZYhvvPP2ThTbeFxPTbGXgfUbkklhsoq8vtthivp/bohgu4YxhLCwRm4FFOEQ3JymQWMjaaKON/Htge7Ft0YxxgjgFjJ0EBMS7hO+yimkW3BinEO54mZj3SRIqTZz1ComACIQENCaoP4iACKQSqEYxDQyboPF3GJAsLqYRwwhVLMe4XjMBw1V3xhln9EyZ2FkAHKwpWFWwIiMWLSHMsGrGA3ph3WFCaCJ53LhxfqKHUGXPnyUsw3fddZe37hBx3BIu0FhhEXVpqZCYJio14hHByISZ/MgLl0kmnrvssou3JLGQQP1xTUZoWmRqJtCUH2u/WXwoBwG8br/99jyRXsqeaQQ6E3Ym00yqSexXxv2cRQmsVIhvE9PLLbect+7jYl4s0Q60By7/LBwgahHJtB0WdgKTsXgBGxITeyb4tpDCZ6GYxs3UFjXMio1gwKWcFIppxDEpbc+0RVAOLdWIl5122smLaitzsTrqexEoRKBUMU1/tq0bjHeMU7yfoZjmeXiW4LXCGMJ2CxsX2dLCEVq8Jx9//HFOxNopC6FwNo8bFpOI60AygR0/houFNRbgsopp8mL8YNtGISHNdZo46x0SAREICWhMUH8QARFIJVCtYhogJnL52wKSmbUw3DONSyACmgklk71bbrnFH8dCCvcOWxTZ0NLCNbYnF9fHMEqIIUklAAAgAElEQVS4XY9bOG7iuAMjvpiMYtGJJ9x8eb7tPczSrQuJaSbGnH9sk1mzPOMmySSVenLkjFmuTVgWc5HEjZ2jo7BeIVBJWcU0PBdaaCFvQRoyZEheFVlkYAKP0MXd3sQ0lmiEfpaE5Zz62gKGWZ7N1XSfffbxFmbbN41oxxoPA0smpuPtzMLLHHPMkbfoUYqYxlsCr4m///47b+81lmyO82IhAHdzJRGoC4FSxXQ8ABkLeHiM4FVhlmnKYx4/8UU/+xzPDBYkLaV9zmIZ7xHJ4lzgTRLGLeA7C5JWipjOyk0T56ykdJ0IVAcBjQnV0c6qpQjUikA1i2lEC6INCwkJ12yOakoKQIZlEIGNazCWYqwkpCxiGhdGXJPjYtqOn7HPcQ2+4YYbvBUS199ypEJimvzN+ow7O2KVfYVYj5ZZZhm/H5j/IwgRrKHV2sqGyzbunUx2sR7bXnS+r42YNuHI/UzKw2Su8paviWkm1biMZklYerFM0cZYvhGwCGc7/5oARbhUI+SxxiNiQ0sxzzAxjfs33gVhIvgZQZPgScoqpk2IF6p3XDRkqa+uEYE4gbqKafLD2sz2jtCDJk1MI6AJIhYX0xZFP/45UcIZM3m/WMgitgOLehLT6ssiIAKNRUBiurHI67ki0AwIVLOYpnnYp8r+XCaGlhCVoWUaazLW4/BcYdu7mkVME5jswAMPLCqmsQbjuhgXb3XpRsXENEKYPdwIRP5PCq1HiE4EKNfhDo2V3a4j2jh7fUlMdNmPjJs0+yDZh14bMW0uoeSJ1ThMtBEWe9zQ2W9eGzFNfrjy4+aPmzqTfPMM4Dvc6HEXZ4GD/dv0BfZXUj9LhY7Gqq2YNhf7pHoTLZxFHhZYwqBOdekXurd6CZRDTIf08HDBW6YcYpoFzs6dOzuCPrLPmsUsc/2WmK7ePquai0BjE5CYbuwW0PNFoAkTqCYxbZOzeHPYXuUkMY3FFZEYn8jVh5gmYjPHNrEHGKFnew6tXIhyAl6Vcr5zMTFtViOssezLDqNW81xzhbfvYYUAJdme71Bg87kJ9KxiOlyQwPrMMVjhnsm016e2Yto8BaxOcU8ALGFY2dkrD5+vvvoqL/BXucQ0+9HZD22JhQss5PGzvZvw8KGiNUMC5RTTRPVnSwdR6MshprFGs4hG7AkCmJEkppthJ1ORRaDCCEhMV1iDqjoiUE4C1SCmcRtkvzF7ebF6JCWsqSZsQsu0Te5wOUboYIEJLbJE9rb9zWl7pnHdxoUbl0iEpiU7wsXcvNm3SzAvEsGomEyaoMYVHaFNpGs7IonjYLAaE/DMAqLF61ZMTHM94tVcqC24mOVjQcr4d3wvJK7rCFOsvBwdRmK/I5Gxs1imzcWc4GFt2rTJFZ2I3LiLs5DBXmtLtMVzzz3nowET6Ki2YhoLd3gWdRhcjGdZkDL+xn0cN/Iw1VVMsz++R48e3o01dBPv3r2734sfHkfGc2l7vCOwqMsyXc7RrzrzyiKmbQsKhHgXk86CtnedGAQsqKWJac6kJvgei4SIbks23oVu3naaAH190KBB/lKLORF3B7eYDvH4CjbehnmQD+85C4YsWoXjSlIv0MS5Ot8N1VoE0ghoTFDfEAERSCVQDWLaosbGo2nHoSDSCKgTimmL9sy1WIQRYeynJZqtiS0mZ+yjtijWRMhGlFoyC278fGPbT0vwM9ybSZYHfzP5JNAWYhMBGJ5/HJ4zXWiPdRYxbXu141F4KQMuxrhuE9EbN3QWACzZ+dvct//++/s91UyAzWW+mGXaAggR5ZcFAXggpDkWjHqTsB4ziebIMdoCDwGiBrPIUFsxTb60I+W0yOVhX7CjufiMYGRY3sJUVzE9fvx4Xyd4MeHfb7/9csenEeSNchFBGQs5e9I5T5drWaBYfvnlNZqJQJ0IZBHTBA5kcZDEee8sfPHOEXwQzwneEY7BYhwk6jaeJBzdxjhACheownPl7Ug6rnnggQdcx44d864nwCDjL4kTAog9wP0Wi4GxlPeC59m18XHVFvni4js8Z5o4CXbcVxJMTZzr1MV0swhUHAGNCRXXpKqQCJSPQCWLaSZuiCXEqCWOnsKaakcuhSSJ2I2FlaBUtmeaz7Aos5eZhOjDcomVmwjSCF7ywwUb0WOJ5yI82SvNZNASEz+OncKNMTw+i4BmWE1w4z7mmGPyLNiITZ4fBiWzs67JN3S9jveMLGLaRDERehGo8WQRrkMLtF3DBJXJL2Lb+FB3BCJWeAtQZOc7EwnYEu2DNZZ8SYhkzqomEVmcvO18Wj6DJfvW2ctMMjEdntOd9c1gnzTWXotcHu8HeBtgrQ89D+yaZ555xlvfwz309h3HeiE27AgzBAH1wGpnR2NxLaIAsQK3cI884hnXevqMMeVZ5BGejZ61nrpOBOIEColpFrJYXKO/Zk1s0+jXr58/Js88XPAc4XQCFp7C+BN4txDkj/zDcYNFMsYLAh7iDcJ7z7WMPVzHuMxnLFQi4nkWY7AlxlU8eVgQZdHNEotyvGfkb+dMM2bbMYdpddTEOWvr6zoRqA4CGhOqo51VSxGoFYFKFtO1AYJFhWjMTOrChEDCxdvOW+U7xGAh60Ztnm/3EN2ZfdPk36JFi7yjkuwaglaRiDqdlrKI6bqUk3sRyIhOjpEqdOZ12nNwwyfwUMjWrp02bZo/s5agYMXOhq1rPRr6flz0qftss81Wo33hAVO8ApK4NHRZ9bzKIZDFMt3YtSVOAUfkhdtXyjHeMrYzphYbSzRxbuweoOeLQNMioDGhabWHSiMCTYqAxHSTao6yF6YhxHTZC60MRUAE6o1AcxDT9Vb5jBlr4pwRlC4TgSohoDGhShpa1RSB2hCQmK4NteZzj8R082krlVQEGoKAxHRxypo4F2ekK0SgmghoTKim1lZdRaBEAhLTJQJrZpdLTDezBlNxRaCeCUhMFwesiXNxRrpCBKqJgMaEampt1VUESiQgMV0isGZ2ucR0M2swFVcE6pmAxHRxwJo4F2ekK0SgmghoTKim1lZdRaBEAhLTJQJrZpffEwXl7Rwd19prK+fOaNfMCq/iioAIlJ1AryjY9VlPOXfvns7ttnrZs6+IDPv3HxKd3LBDdBzYTBVRH1VCBESg9gT+/PMvN3jwo9ExmTvXPhPdKQIiULkEJKYrt22p2etfOrfutc4tOLtze6/p3HyzVXZ9VTsREIF0At9Nc+7usc5Njf7/xlHOrbGoaCUReP31t6Mzrn+OzrtvLUGtLiICVUwAIf3iiyPdvPPO49Zee9UqJqGqi4AIpBKQmK7szvH3P86dMty5S16s7HqqdiIgAtkJnL65c2dv6dyMM2S/p9quHD36LTd+/ET31VffVFvVVV8REIH/J7DwwvO7lVdeQUJaPUIERCCdgMR05feOvyJBPfpz56b86lz0p5IIiECVEkA7LzSHc+ss4dxMEtJV2gtUbREQAREQAREQgbIRkJguG0plJAIiIAIiIAIiIAIiIAIiIAIiUC0EJKarpaVVTxEQAREQAREQAREQAREQAREQgbIRkJguG0plJAIiIAIiIAIiIAIiIAIiIAIiUC0EJKarpaVVTxEQAREQAREQAREQAREQAREQgbIRkJguG8p6z2jUqDfdhAkT3eTJU+r9WXqACIhA0ySw8MILuFatWrp11lmtaRZQpSoLAY33ZcGoTESg2RPQmN/sm1AVqHQCEtPNo4Vfe+1N98sv06JzT9d1M800U/MotEopAiJQdgKce/rSS6PcnHPO6Vq3Xr3s+SvDxieg8b7x20AlEIGmQkBjflNpCZVDBFIISEw3j64xYMBDbvfd20tIN4/mUilFoF4JMLkaPHio22uvner1Ocq8cQhovG8c7nqqCGQl8PXX32a9tNbXcca1JY35tcaoG0Wg/glITNc/43I8oU+fvq5Hj27lyEp5iIAIVAABjQkV0IgpVVDbVm7bqmaVQaChxTTUNC5URt9RLSqQgMR082hUDaLNo51UShFoKAIaExqKdMM/R23b8Mz1RBEohYDEdCm0dK0IVDgBienm0cCaXDWPdlIpRaChCGhMaCjSDf8ctW3DM9cTRaAUAhLTpdDStSJQ4QSqVUz/+uuv7v3333d///23a9GihVtooYV8S0+ZMsX98MMPrmXLlv7fX375pRs2bJjbcccdc9c0RpfQ5KoxqOuZItB0CdTXmMCYyH9ZEwER//nnH/9fPP0n+oGZccYZ3V9//ZWYHffOMMMMWR+Vet23334bnXQwwc0666xu2WWXdXPNNZe/dvz48W7BBRd08803X52fYRlMnTrVPfbYY65Tp05uttlmK1u+YUb11bb1UlhlKgJVSKAUMf3eex+6zz+f5JZccjF/EkPWFO6Z5h6NC1nJ6ToRaGAC1SSm//jjD3fhhRe6u+++233wwQeeNJOun376yf9/m222cW+99Zbr3Lmz69Wrl/+ev++55x53yCGHuBtvvLGBW+d/j9Mg2mjo9WARaJIE6mtMOO2009z555+fuc633HKL++KLL/LGVRtbt9pqK3f66ae7o48+OopA/lJinsstt5xbf/31Xffu3d3mm2+e+blff/21O+mkk9zQoUMdf4dpySWX9Hk9+OCD7v7773eUo64JAd27d+9cPb7//ns3zzzz1DXbxPvrq23rpbDKVASqkEBWMf3++x+50aPfzBFaf/213PLLL5OJmMR0Jky6SAQan0C1iOlx48a5Ll26uNdff92tssoq7oYbbnDrrruum3322d3EiRNd37593bnnnusb5Nhjj3WXX365//viiy/2E7abbrrJHXzwwXkNhjj//fffc1aQ+mxNTa7qk67yFoHmR6C+xoR9993X3XXXXV44br/99m6ppZby1mVLb7zxhmvXrp3/54YbbuheeOEFf8rAv//+69q0aeNeeeUV/92nn37q77XEguTNN9/s//nEE0/479577z03cOBA/1987C3UIo888ojbe++9/ULoHnvs4QX7yiuv7G8hz1NPPdU9/PDD/t9DhgxxO++8c50bmLF+xIgRubr/8ssv/vejPlJ9tW19lFV5ikA1EsgipidM+MSNHDnG41lkkYXc5Mnf+L832GDtyPuxRVFsEtNFEekCEWgaBKpBTE+aNMmttNJKfuLF5HDQoEGJApjP99xzT3fooYe666+/PtdAf/75p5t55plrNBjWls0228y7+9V30uSqvgkrfxFoXgTqa0zYZJNNXNeuXd2BBx5YAwjbY9Zbbz337rvv+u9wrbYtMfz78MMP92Mnnj4//vhj3v233367z5f0+eefuyWWWML/jQg/5ZRT3EUXXeT/jTV5p53Sj/x6/PHH3bbbbuuvPeuss/x/uJOHCTf1Hj16uGuuucYNGDDAj+vlSNR/jjnm8Fn99ttvbpZZZilHtjXyqK+2rZfCKlMRqEICxcT0J598HnmxvObJrL32qtFi3wpu3LjxbsyYd/xnG2/cOtpiuGRBchLTVdixVOXmSaAaxPQ+++zj+vfv7xvok08+cUsvvXRqY2255ZZu8cUXd3feeWfBBsWSstdee0VnvQ6W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l6hRo8qVK9ddD44jvjWBZMm8BYI6Y8Y0dO1+a5ocgARIgARIgARIgARIgARIIEIJuKuYjlCIvBgJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEaCY9qz95mpJgARIgARIgARIgARIgARIgARcQIBi2gUQOQQJkAAJkAAJkAAJkAAJkAAJkIBnEXgnYtqzEHO1JEACJEACJEACJEACJEACJEAC7k7g9WuHVvjBa6M51BOdgip2h09kRxIgARIgARIgARIgARIgARIgARKIBAQclMgU05FgLzlFEiABEiABEiABEiABEiABEiCBCCJAMR1BoHkZEiABEiABEiABEiABEiABEiAB9yHgoJj+H+xKdqEZJZ+EAAAAAElFTkSuQmCC", "text/plain": [ "" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "A `submit()` action submits the order. (Note that our Web server does no effort whatsoever to validate the form.)" ] }, { "cell_type": "code", "execution_count": 105, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.856351Z", "iopub.status.busy": "2025-10-26T13:36:03.856235Z", "iopub.status.idle": "2025-10-26T13:36:03.881078Z", "shell.execute_reply": "2025-10-26T13:36:03.880786Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(\"submit('submit')\", 'PASS')" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_runner.run(\"submit('submit')\")" ] }, { "cell_type": "code", "execution_count": 106, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.882422Z", "iopub.status.busy": "2025-10-26T13:36:03.882332Z", "iopub.status.idle": "2025-10-26T13:36:03.896999Z", "shell.execute_reply": "2025-10-26T13:36:03.896598Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZQcRdu2C4fAiyZYcHeX4G7BCRDc3YJbcHd3l+DuQUNwggaCQ3B3lyB/rsr/zFdbWz3TPTuzmZ296xwOsNN6VXV33Y/VKP8Nb05NBERABERABERABERABERABERABEQgN4FRJKZzs9KGIiACIiACIiACIiACIiACIiACIuAJSExrIIiACIiACIiACIiACIiACIiACIhAQQIS0wWBaXMREAEREAEREAEREAEREAEREAERkJjWGBABERABERABERABERABERABERCBggQkpgsC0+YiIAIiIAIiIAIiIAIiIAIiIAIiIDGtMSACIiACIiACIiACIiACIiACIiACBQlITBcEps1FQAREQAREQAREQAREQAREQAREQGJaY0AEREAEREAEREAEREAEREAEREAEChKQmC4ITJuLgAiIgAiIgAiIgAiIgAiIgAiIgMS0xoAIiIAIiIAIiIAIiIAIiIAIiIAIFCRQTEyPMkrBw2tzERABERABERABERABERABERABEehABP77L9fFSkznwqSNREAEREAEREAEREAEREAEREAEOgUBielO0c26SREQAREQAREQAREQAREQAREQgVoSkJiuJU0dSwREQAREQAREQAREQAREQAREoFMQaBcxnfMknQK4blIEREAEREAEREAEREAEREAERKDjEYhrg+XUuW3Lmc55ko5HU1csAiIgAiIgAiIgAiIgAiIgAiLQKQhITHeKbtZNioAIiIAIiIAIiIAIiIAIiIAI1JKAxHQtaepYIiACIiACIiACIiACIiACIiACnYKAxHSn6GbdpAiIgAiIgAiIgAiIgAiIgAiIQC0JSEzXkqaOJQIiIAIiIAIiIAIiIAIiIAIi0CkISEx3im7WTYqACIiACIiACIiACIiACIiACNSSgMR0LWnqWCIgAiIgAiIgAiIgAiIgAiIgAp2CgMR0p+hm3aQIiIAIiIAIiIAIiIAIiIAIiEAtCUhM15KmjiUCIiACIiACIiACIiACIiACItApCEhMd4pu1k2KgAiIgAiIgAiIgAiIgAiIgAjUkoDEdC1p6lgiIAIiIAIiIAIiIAIiIAIiIAKdgoDEdKfoZt2kCIiACIiACIiACIiACIiACIhALQlITNeSpo4lAiIgAiIgAiIgAiIgAiIgAiLQKQhITHeKbtZNioAIiIAIiIAIiIAIiIAIiIAI1JKAxHQtaepYIiACIiACIiACIiACIiACIiACnYKAxHSn6GbdpAiIgAiIgAiIgAiIgAiIgAiIQC0JSEzXkqaOJQIiIAIiIAIiIAIiIAIiIAIi0CkISEx3im7WTYqACIiACIiACIiACIiACIiACNSSgMR0LWnqWCIgAiIgAiIgAiIgAiIgAiIgAp2CgMR0p+hm3aQIiIAIiIAIiIAIiIAIiIAIiEAtCUhM15KmjiUCIiACIiACIiACIiACIiACItApCEhMd4pu1k2KgAiIgAiIgAiIgAiIgAiIgAjUkoDEdC1p6lgiIAIiIAIiIAIiIAIiIAIiIAKdgkCziem///67pv02ynBAo402mvv333/9P6k2+uij1/Sc7XmwrPuy+27Pa+ks5/r+++/dCy+84N566y03ySSTuFlmmcUtsMACneX2O8V9lntfFAUw6qijOv5pljZs2DB31113ue+++85tsMEGboIJJmjYW8v6nvBN4B3Z0do///zj/vvvv1aXPTLGGNfy0ksvuffee89988037s8//3RjjTWW69q1q38nzjvvvCN13MOJa8xqjTYGGKsPPfSQe/fdd916663nppxyyo42PHW9IiACItAxCTSbmF5kkUXcc889V7POWG211dy9997rP+yvvPJK8ripyUnNLqDOB8q6r+WXX949/PDDdT575zo84nnDDTdMjiPE9OWXX+7mmWeezgWlSe+23Pui6C2fddZZbvfddy+6W0Nu/+OPP3qh9NVXX5Wu7/nnn3cLLrhgw13vnXfe6dZee+3kdZ1zzjlu1113bbhrLndBn3/+eabAOvbYY93BBx/cLvczdOhQd+KJJ7rrrrvO/fzzz5nn/N///ue23nprt99++7mpppqqXa4tPAnjcuGFF84874033uiNQY3QPvroI3+t4XN11FFHuUMPPbQRLk/XIAIiIALNTaDZxDSTshdffLFFp/Xo0cN7/hDZKaHNBxFr+LPPPttq31VWWcX179/f3XPPPe744493Tz75ZKsB0ZHF9B133OH2339/9/bbb7e4L4np2j73H374ocPQY5MdJoewv/vuu93hhx/uT8bkEa/CpJNOWtuT62jtTuCZZ55xQ4YM8e8MxEOq8YwtueSS3iP3xRdfuM8++8yxXyww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MUuOP8L5xx9/9Dy6devm00uo20CqAksc4cFWEwEREAEREAEREIHcBCSmc6PShiIgAiIgAiIgAiIgAiIgAiIgAiIwgoDEtEaCCIiACIiACIiACIiACIiACIiACBQkIDFdEJg2FwEREAEREAEREAEREAEREAEREAGJaY0BERABERABERABERABERABERABEShIQGK6IDBtLgIiIAIiIAIiIAIiIAIiIAIiIAIS0xoDIiACIiACIiACIiACIiACIiACIlCQgMR0QWDaXAREQAREQAREQAREQAREQAREQAQkpjUGREAEREAEREAEREAEREAEREAERKAgAYnpgsC0uQiIgAiIgAiIgAiIgAiIgAiIgAhITGsMiIAIiIAIiIAIiIAIiIAIiIAIiEBBAhLTBYFpcxEQAREQAREQAREQAREQAREQARGQmNYYEAEREAEREAEREAEREAEREAEREIGCBCSmCwLT5iIgAiIgAiIgAiIgAiIgAiIgAiIgMa0xIAIiIAIiIAIiIAIiIAIiIAIiIAIFCUhMFwSmzUVABERABERABERABERABERABERAYlpjQAREQAREQAREQAREQAREQAREQAQKEpCYLghMm4uACIiACIiACIiACIiACIiACIiAxLTGgAiIgAiIgAiIgAiIgAiIgAiIgAgUJCAxXRCYNhcBERABERABERABERABERABERABiWmNAREQAREQAREQAREQAREQAREQAREoSEBiuiAwbS4CIiACIiACIiACIiACIiACIiACEtMaAyIgAiIgAiIgAiIgAiIgAiIgAiJQkIDEdEFg2lwEREAEREAEREAEREAEREAEREAEJKY1BkRABERABERABERABERABERABESgIAGJ6YLAtLkIiIAIiIAIiIAIiIAIiIAIiIAISExrDIiACIiACIiACIiACIiACIiACIhAQQLNJKb/+ecfxz9xG2OMMfzf//3331a/jTrqqG700Uf3f+f3v//+u8U27DtKDKkg47Zs/tlnn7n+/fu7Nddc03Xr1q10qF9//dU9+uij7rfffnMbbLBB6e9c//PPP++eeeYZt+eee7bl1CNl33fffde99NJLLe4pz4V8+umn7uWXX3ZDhgxxb775pptyyind3HPP7eaYYw43zzzz5DlEXbf5+eef3cMPP1zoHFNPPbVbcMEFC+1Tj415dq677jr37LPPum222cbNP//89ThNi2M+99xzjj5NNZ7Zcccd180222yue/fudb8WO8H777/vBg8eXDof74bVV1+98Pm/+uor99RTTxXeb7755nPTTTdd2f14X9xyyy3+Ofjhhx88o9lnn90tueSS7rLLLvP/Xn755V3Md8IJJ3TLLrts2WOPjHFQGFLOHUbmt6JR3tF//fVX8ns42mijuWHDhiVJjjnmmC2+NeE31b6l/I13+O+//+7HW6XGtryze/Xq5cLjV9qv2t/b+3zVXqf2EwEREAER6CAEmklMX3HFFW7rrbduQZ6JI3+/44473Iknnug++eST0u8LLLCA23fffd3GG2/s//bWW2+5rbbaygtR2qSTTupuvPFGt8wyy4y03uzdu7e/hh122MFdeOGF7vPPP3fbb7+9u+eee/w1bbTRRl7o0Lbddlt30003OYTb//73P/fTTz+NtOsueuJTTjnFXXzxxe7tt9929MsLL7yQ6xB//vmnO/bYY93RRx/tt19qqaW8EEf4XHLJJZ4Fguf88893iNOR1T788EN3wgknuAsuuKDVJSBi6C/E44svvlj6nf7kHkZ2w5iz2mqrlZ6Jjz/+uO6TXu770ksvLT2LxmDhhRf2gpJxbs8o/b/ddtvVHdNDDz3kNt10U4cYplX7jHGclVZaqXS9HGeKKabwY9/aDDPM4P/25JNPlv52+eWX+/dTVuO46623nv95l1128ULm1VdfdQcffHBpF7gyrs455xy3++67l/4O10GDBpVlWMtxwPM955xzurHHHrvu/ZY6wcj6VjTKOxpjAs9R+D3ke3fAAQe4TTbZxI+z+++/vwU63qtw69Kli//7UUcd5Xhv846l8fs000zjrr76av+M7LPPPv73cg3hjSGHY1x77bWlb3G9BkV7n69e96HjioAIiIAINBCBZhLTYMXqjBijMSF97733SrS/+OILx6TRJhA//vijG3/88Vv0BpMMPJkIhtdff91NNdVUI7W3TjrpJD/Bueiii7yIpiGSd955Zz/5CMX0L7/84q688kq32267VT3RH1k3i4f9zDPP9BP/Hj16uKeffrripSCY11lnHffKK6/4bfG8hcYUhGno2cWgstZaa1U8bj03OOyww0rCn/MwaUUkWWMSesghh3jDQqOIaYw4O+20U+kav/76a9e1a9d6YvLHhsVkk03W4jzffPONm2SS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r7+6Rx991NE/4Vq1LN1DfjOVueO1tlPXyrrlVOjeeOONlQdd787U8UVABERABERABERABNqXQGcR04iGBRZYwK9vilDpqI21cKl6fMIJJ7gtttjCffDBB75wE8sNPffcc27WWWftULd24YUXup122smvN/vxxx93qGuv9mLpQ9aJJn+YvkNoPv74426fffbxfUiDyw477FDtKXLtl7qOzz//3G2//fbunnvu8cfYaKON3HXXXef/m7VTb7rpJn/djDfWR89qCOhjjz3WPfnkk34T1qet1drkuW5OG4mACIiACIiACIiACIhAvQl0FjGNMLn44ovdHnvs4c4888x6Y63b8bkH7mXw4MG+YBNt//33dyeffLI77bTT3F577VW3c7f1wHjTEWFhpWa8n1R43nzzzd1VV13V1lN0mP179uzpnnjiCe/9xciDx/frr7/2Fa4x+LSHmAZWfB38DZG88847e6EfiulffvnFXXnllW633XarKKZ//PHHkke6M4hpPPCTTDJJrvH3119/eeMCz4KaCIiACIiACIiACIhABybQGcT0N99847p161bqpe+++85NNNFEHa7XWHZj0kkndXPOOad7+umnS9dPLbjXXnvNe9ypjtyIjWtfYoklvMdz8sknb3GJw4YNc2OMMUYjXnZdryl13xtuuKH3/raXmOYGU9dx3nnnuV133bWFmGbbV155xacUVPJMsy0Cs2vXrp5hM3umSVMYOHCgXx87T8Ogt8wyy/gQfzUREAEREAEREAEREIEOTKAziOlTTjnFe26/+uor31Onnnqq23vvvTtcrw0ZMsTNPffcbpNNNnHXXHNNh7r+XXbZxYenE0Yci+kOdSN1vtjevXu7G2+8sV3FdOqWLPw+9EyzHUabueaaK5eY/v77793EE0/c1GL6rbfecrPNNptfHzuPmL7++ut9WP/NN98sMV3nZ0mHFwEREAEREAEREIG6E2h2MU347PTTT+8OPfRQH1Z79dVXe+/up59+WlXBLkJgBw0a5MjBZm3cFVdcMenlRjS+/PLLbujQoX67+eabz3Xv3r1Vf/I76+6SN0wY9MMPP+y++OILH37LdVujWFX//v19GPfqq6/ujjzyyNJveP0wFIwyvDPXXnvt0t/JiX3kkUfcBBNM4EX4HXfc4b2QCCSKlRG2S27rOuus4//OfZGDvdZaa5VE0D//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0x2lp3SdIiACIiACIiACIiACIiACIiACDUNAYrphukIXIgIiIAIiIAIiIAIiIAIiIAIi0FEISEx3lJ7SdYqACIiACIiACIiACIiACIiACDQMAYnphukKXYgIiIAIiIAIiIAIiIAIiIAIiEBHIdBMYvqff/5x/BO3McYYw//933//bfXbqKOO6kYffXT/d37/+++/W2zDvqPEkDpK5+o6a07g559/dm+99Zb74YcfXPfu3d0ss8ziRhtttMzz/Pfff27YsGHJ3+Ox9ddff7Xabswxx6z5PeiAzv31x99uyBMfuSlnnNhNPv2E7Yrki/d/cEOe+siNM96YbpYFp3Tdphq/Xc+f92R//PGHe/XVV93CCy+cdxdtJwIiIAIiIAIiIAKdi0AziekrrrjCbb311i06cPnll3f8/Y477nAnnnii++STT0q/L7DAAm7fffd1G2+8sf8bImmrrbZyzzzzjP//SSed1N14441umWWW6VyDQnebJHDVVVe5/fbbzy222GLuyy+/9OOEMcTf55xzzuQ+r7zyitttt93c448/3uL3lVZayZ177rlu5pln9n//7bffvGh5/fXXS9vNMccc7uqrr/bnUKsNAYTslUcOcC88+J4/4EFX93LzLz99bQ6e4ygX7f+A++Sdb92M807u7rn4Bb/HqY9s5aaetWuOvdt3k1VXXdXdf//97vLLL/fvRTUREAEREAEREAEREIGIQDOJaW7tpZdeKomPGWaYwb333ohJM+2LL77wgsUE9Y8//ujGH7+lVwgP9jzzzOM+/vhjL2ymmmqquowZvJB//vmn+9///leX4+ugtSWAcEZEMy5sTOy8887uggsucIwzPHhdunTJPOkJJ5zgDjroIP/7ZZdd1sroYzvefPPNboMNNnC77LKLF9tqtSXw77//ue8+/9kduFo/99O3v7lDrt/AzbPUtLU9ScbRnr7rLXf6Tne5Mx7bxnvErzrqUXf3hc+7I2/dyM2+aH3eM225MYvIwRh09tlnt+VQ2lcEREAEREAEREAEmpNAs4lpeglv86mnnuo77MMPP3TTTDNNqfPOP/98L1RojzzyiFtuueVadCxhuZNPPrnbf//93T777FO3Tt9jjz28x7tXr151O4cOXDsCNqZeeOGFkrFm0KBBbtFFF/UnefLJJ93iiy+eecJ77rnHrbHGGv53hLntF++Ah3rcccf1kRRrrbVW7W5AR2pB4NB1rnVvPfeZO+zGDd1cS/zf+6GemE7d/g737L3vuH7v7enGHHtEasmfvw9zY40zRj1PW/WxMTSS1rDXXnu50047rerjaEcREAEREAEREAERaFoCzSimCdeebbbZfJ8de+yx7uCDDy713/fff+8mnnhi//+bb765D9ENm3kgP/roIzf11FPXpd+vv/56H1qOF1Jiui6Ia37QY445xh166KFu7733LhlqyK8n75l2++23u7XXXjvzvA888IBbZZVV/O+hIE/tgEfw0UcfVXpBzXvx/w5oYvqIm3u7ORarz3MeX36fpS51nw/93l0zdC83xljZefZ1vO1Ch15kkUXcc889504//XS35557FtpXG4uACIiACIiACIhApyDQjGKajlt66aV9niohuXinKTRmbcEFF3Qvvvii/9/vvvvOTTTRRKXfdt99dzdkyBA3YMCA0t8IFe/fv38pxHeJJZZw888/f4vxQcg2nm6OhdeRsF/+f9ZZZ3UrrLCCs0JSFsbLzoj8pZZayk0//fR+u3KN3Fu8lj169HDvvvuu925OO+20fn9rX3/9tUO0TTjhhP7vcQg7233++efu5ZdfdkOHDnXTTTedm2+++XwhrbgREn/nnXe6HXbYweeS33fffW711Vcv5fgiJAcPHuzvkwJueGUJd87TuA+O98Ybb/hcY4wbhFDD6JZbbnFhIS7+jgHkzTffbHFohCn7PfXUU75/abCBJY0Q/ltvvdW9//77bpxxxnH0OXnKqWJyzz77rB8Pv//+u99u3nnn9QzDxjghdxTBPNNMM/mfPvvssxK7Tz/91E055ZSZt19UTD/22GMt+pYDwwCP9QQTTOBTEcYbbzz/77DRb88//7zjemaccUYvyE3w5+kb+pqx9s0333iDFPnanM8a/QYnGmOW/uNcMLTGmArHAmOEMbvOOus47ovna5NNNmnx3KWu7fdf/nLvD/nKffLWN268Ccd208zezU01yyStNv3hq1/d8w+861bcbF732XvfuZceed8tsMIMbooZRjzXw4NN3Hsvf+7eeelz98/f/w73RE/rLu37oPdMp8Q0x+C8f/3+9/BzdvX5zWEjVHzIkx+5Lv8by00zW1f3/P3vDi9c+K9bYu3Z3Gij/997xvah0BkFz07Y8lb/p/0uW8eNMeZobqLJxnPTztGtdOi894s3Gw/3vMtM50YZdRT3zPDw8e4zT+LmXHyEUeC7L35xQ1/50i208ow+lP3tFz4bft//uQVXnMGNPvy8NI7x2pMfu99//cvNvshUbuIpxmvFddNNN3XXXnutjH55HhxtIwIiIAIiIAIi0DkJNKuYpnDTFlts4Ts1DOdGXIUTfXJed9xxR78dImGyySZzZ511VqngDuJu/fXX90WkENFnnnmmF7LXXXed22ijjXwFcIrz4JkkJBKBjMgkrNfa9ttv7y666CL3yy+/eBGB15FtESpTTDGF22yzzfyxUo3zkWOLwCE0HKPAGWecUdqUHPB7773XYQTA420NkUXoMYKLxnVyX4Rsrrbaal4o3XTTTT5//Mgjj3QHHnigF7OIvnPOOcfdddddPp+bvF3jiFh9+umnffEt8nqp9ot4RWBxPxR4Izy+XGPb3r17uwMOOMDNNddc7uSTT/bX+dVXX7lu3bq5iy++2At42pZbbul/RxjDn2JItPPOO88z4/oQ5IRPI8ARdAhahBtsYQMX7hNREOd+wmTXXXd111xzjWfAsTg/jSrdiMjjjjvOrbjiislbsoJ39CnHKNfaKqY33HBD98EHH3huGHf4dxx+y/UwRigcRW4345RxcNttt1U0dNB/eB8Za0RsjD322KXxdOmll/r+pnEf/E5/kQZxyimn+FoEjD2uhwbD7bbbzo+dK6+80ns32R/jDseiHXLIIe7oo4/ORPbK4x+6s3a9x0046bhuvuWm88LvvcFfuB5rzOK2PXZFN0HXLm7wwA9c/8tf8sXExh53DLfdcSu5c/rc64858wJTuGPv2tSL2IsPfHC4+HzbrddnMff3n3+7/le87EUm7YhbNnJz9BiRr/z3X//4POZB/d9xcyw6tXv7xc/cVx/96M+525k9/bHuvuh59+iNQ4bnXf/iNj5wKffkHW+6j9742u/f99r1vcCNG+f/+fvf3TN3v+1/4nijjz7acAE8seu152L+b3nul8Jl91z0wvBzvuH++HWY2+2snu6Sgx70/03b64K13MCbhrgXHx7qpp9rUrfq1gu48/fpX7qc8Sfp4g6/aUP33HDxf/2JT7S4zNMGbN3KUHH44Ye7o446yj9XeKnVREAEREAEREAEREAEIgLNKqYRB+aZDcO5CdfFw0jDO4voIuyWhieTsGvzVv/000/es82xfv31V19gyryR4X6vvfaaF5zm7UYkIPYQHibUw7BxC5/E87vmmmuWHZMYAjgeApxGNWkEIt5dvO+IGhriilxwRCV54IhkQti5dxo55OT9ciyEDA1RvNBCC/ltEdPHH3+8L+CGCDLRgyClQjrMqIwOPzy33APCC08v/DgODcG78sorZ94Tnkz6BVFOgy2ecbyu5tnl+rlfBO5hhx3mt+MaLewegwhedWt4SBHx2267rf9Tz549vcAPrwUvLf3NklbmaeX62QfjRJ8+ffy+GE4woHDfiAkiELI8zksuuaQ3ciDeqfxerrVFTFvqQXg/GBkQ11akzCIe8AJjpMBQwL0gpDEC4REOozPia8UggQFo4MCBflzRiOyw/8ZggxGGBisMMyam7VjwwDBiYpr96Rerjo/Rgf5HYFOQbd11100ie+fFz13fNa/xucyH3rDh8DHmvEf55G1u90IRoXz07Zu4D4eL2PuHi+lHrn/VHwcP8nK953IDbhji992079Lu3D3vGy4wX3Mn3r+FF5g0KnrvseQl/r/D4l+XHfKwXy7rmDs3cV3GH8v98sMfbt8Vr/DCeb0+PdyaOy7sPdLn7nlvScD23m8J7wl+45lP3P6Xr5u5zBaCd4tZzvTnvOrtPl78W8t7v19/8tNwr/tQx3Va2+74ldyLD73n/vhtmDcyPNRvsLvvshFRNxRW2+LwZd2Ewz3gZ+1ytxfsNLz2vfdf0nXrPr47d6/7vDFiuY3mcjufumqL/uCZ32abbXzkQbmoi2Qn6o8iIAIiIAIiIAIi0BkINKuYpu/wGDNxpyGQEVGERuOhZG1ghCmNsGcEImGoeGdZDouGYMXzineX8FfCmREptq4wwtVCaMmlJbcQr+qFF15YGjp4uhG8Dz74YMnDaWIa768VpSo31jgux8e7Z9fG9n379vWe0zj3G2GMl9i8f2E4MvdE2LM1vLZ4PWl4ZvFYYxQg3JkW5/eaAH344YdbLAdlohzmZqxI3ZMVNUKEzj333H4TRD4eVSsUZ0YNIggQqhaabSIZ0c890qx6O6LcvPDrrbeeF5Hsi4im2TI/YaEwRD/9EvaD5bNjRMG7m9WIPiCcGY+3La1Wrg/bIqataB4RDnjlGYf0KYIUUUuKAaHns88+u19KyxocrdjeO++8UwpPj6+T+6fYGcYS+jVsGG6IVIAHRgzOjZHjiCOOaCWmeX4IQzcxzXGIrMDjTRQBxptw7GXx2nfFK723N65yjajdaaEL/G4IPwTg0Fe/dAeuOuKeT+i/uZth7slKh8WTfVDPfm6q4SHQpz3acsk8y1+2c+D13XvZy90G+yzuVtp8vtIxrh7uqX781tcdXt1LXhlRuPCkrW/3YeULrTzTcAG9TrluL/1WTkwXuV9C1ntPdYo/7lZHLud6bjfiObVm94xYv+y13d3oY4wIO8eLf+wmN/tw7nOf2aEUjv7iQ0N9+Ll58sNjMRaIyiClo9xa6rkAaCMREAEREAEREAERaEYCzSymH3roIZ8nS0Pg4sFcdtllvSgYa6yxSt4WwlPx7FLFO66iTCgzAhqvNOGql1xyiQ/ZppFXOskkI3I48cDhLYxDb8mXxruMtxORRzMxfffdd/s85EoNAUU4Ml4i8xizD15JDANx+LJtj0BFzFioOqHLGAXCZtWj+Zst2RR6galuHjZEF+KLY6UaudPlxDTiDnFIQ/Bz7fGSUhgp8EJjhHjiiSe8Z5UJPf2HdxmRjTjE08rxMGhwn9boL0LDyV8nnxqDCl5mWti/5knlN8QhjeNyb3iaEX9ZDePG22+/7ejDPK0tYhpRb4YGWOBJt0gAzh1GBmT1C2Ho4T7hNTNOWPoI4Yw4Dxs56ZyTxv2yLnYRMW3GCXLNSYWo1Mh/3mH+EePjopd29mHeYUMQIgyX7jWHD3P+9rOf3c4LjzBe3fjpvi227XfMQHfn+c+51bdf0G15RMuq/VaA7KjbNnazLdLdr/l85REDvMeYXOa4jTHW6O6EezfzOceEbT949WC39dHLu9W2ybcGeJaYLnq/XNdui13sw89Db7td74evf+32W+nKFuKf3+zv5JGf+fiICI5yf+c3jGsYnMoZlSr1p34XAREQAREQAREQgaYm0MxiGgFGCDGijLBs8kcJjbXiYubBxGuGF5cQZop4IbTDRsgwgouiVHhRrSpzHjFt3s96iGmENbmpsZhG7BNebn+3NY4RRYjTuFHki1BcDAIIXMI6bS3lWExbuDQh8NWskU24O+HHGCZoiFaEXpyXjLhFtJmnGw8690OjPwkDxzNMn4Rebrs3Qu/ZHw8yXmxC3tknFNN4uMlxD0P2bQmrSh52wpWJEuDfeVoopsstjWWRD4TBk6NuDbGL6LWGl5rQffrABCvrWBOpULTZGIW5GR3sGKQ3mMffjD9FxPQNN9zg6wHkFdMUBUPo0sIlpOx6rj/pCXfrmc/4kG3EZOitjsX0CVvc6sPCyXdeev05WmApienbh4vphbuXBPLB/XoNz9EeUcQuq5Gn/MBVtRHTRe+Xa6pGTFNUbc+lL/NF2UIx/cnbwz3yy13e6u+ch/cb0TBhMcaiY0vbi4AIiIAIiIAIiEBTE2hmMU3HIZYQTdbwmiKUaOHav36SOlysIVrCZiIGQYr3mmZhx20V02EearlBluWZtpDrSmLa7iErdNnyZSk2xPJP5cQ0HmM811SMtlDwog8IYcmINoS7NUJKCTO2htHDKnPDGcFH7jZF4hD99CFV0/v169fKQEDBJIQoObn8jufb7jEU0xhOEHpEDhBRQP46DEysUxAt1TDSkBaAYM/bQu8x10Sl5FSzpdvMCxxuA3P24zcaUReMIQQrOfpcP3n4RZuFZ5M/TuRF2DCmWK61LddVTzFNFe0DVhmxXN05z2zvJp36/yqJ87e7LnjOXX30QL+cFZW4y4lpjsPxtjhsWbfGjiNy+q3FYvrC/R5wD1/7ivdg48ku12oppoveL9fVXmL6n3/+8Ua5eEwUHV/aXgREQAREQAREQASalkCzi2nLqbUORKzYskeh55rfKZhE6K81K8CERxsPp7WOJqbDcHfCni1k2O7H8rpt3etyYtrylrOEF2HXGB3CAmHhw4Pn1Nb9fv31173gRRym8nVNACMa8eayrBe50VRAp+HVPu2001oIU3LjOTfbIZa7du3qt02Jaf6OiOcaqBxORAJ9TbXxODohvAe8xwhpy/nO83JAoMOZZsXeUvshWCnARuX3cccdEeKMR5jQ9jnmmMMNGzbMGyEwetiYJY+Z6AJaKjeaZwAvemhUCs9NkTcK08U56mwTrtkOf1IhTEyTC00+v7VUznRRzzSFtLaYeUTIfp/z1vDLTYXtnD3udY/d8vrwStXzu22OWaGsmKYa+BO3v1ES3uFxTExTyGzWhad0d573nOt37EA36TQTuDMe27aUa2z7UOSMpbB6rD6Lr6BdK8900fvletpLTHMujFd58tzzPAPaRgREQAREQAREQASajkCzi2k6jFxbBBteSJa0ajGpHi5KCO9GmFHUKSy0Y2HA/EbeIMXJQnHO9ibsqGyMsItzpm296zDM2/5GsSg8ipValmeaZb123nlnt9NOO5XykDkW+eH8zTzW5EUj/Mg35l4pXGbNPMDcIwW7CBsOc6YRjuHazBZCzv6hhxXDBIIMwWU55an74ljffvv/2ru7UMuqAg7gW4gyCguaCEoUX8IECWMgCOaha5CQRFBGSB8TZBhlRUpQkCIExqg9xFjoSxfmoZwI+pioQZJAGuUm9BDVaAOFk09m9EETk+V0/vuyTrvjuXfuutxWzDq/9aLO3eesvX5rX5n/Xl/PjmdEp5T1wMvWc09nDkzvOxt+ZWrzsk2tssFYeSFSdrZOMM309ATaTBfPNPOUjY2NcXR72Sjwdn2SgJn1pNndervQvfgdZf182ppp3MWgXJfgkunQ2aQtLzZKyRrpHD+V2RGlZMQwzmlPXhRkY720L1P5s/FY2V08x2hlVD/npGe987KSc5/Li4HF863Tx9ngbjpN+9ChQ+MLkyx3yPemZNp/An1ekGTvgCyHSClT0GtGzUsIzo7ctx/d3ByvlGxAltHou2brl7N793TN9IO/v23c+buUhO6E75QvfPOG4erZ7tYp/3zu+VkgfWD8ns8defdwzdoVw+nZWda3rq2PP09Q/+Adb50H6mzSlfXX2eDsxRe/aD4lPDtlX//R/x7xXgo8+8O//fns8OGrNme9rP/6lnG38FJq2pvPlDBdDKZ1brVm+qmTfxhuu3Z9fFlw+NGb5h8p7V6c/p0L8rucl0b5fcpRaQoBAgQIECBAgMCCwCqE6QSxjOQt2/CrBImyWdeUJ9N/E4BScmRWAlk2USrTbDPVOGtmExzKutNsKFY2pco0yYwapmRENmtaU7LOOeudM+06ATThN+sSt/oLa6Y35wzhAwcOjEcclVJ27Z6u+c3PEugTwDKim7W6KdPR6em5sZnWnCnX05A5vXZxN+9M0c4IaYJ5SqZTZ0Qzm5JlBCtBs4z8L/tlS5jOC4BsnpZ/Ly8nMpW0HG1VPjedOTAN4LHKSHZZ4z2tJ0dfZeOxlLgkxOXeMmKb0eqEzUxPz4ZlmTKd3bhz/5m2nbXBaUNekORorGWbw2VztIx257syfb6s497J/1iy8V3Whpcj2XJGc9Z9p2TmQ8JyXi7Ev7ykyc/Slxk9TgAva7QzCpy+Sbvy3JQzr3N9XjIk6Gd9ekb0U09e9mxXymhzLPKSIRvrZRQ8BvmO9FPZGT0BuhyTlWctL5ny/OSlRQJ9viOj53lpUUa9c0+Zrp9rz1eyKVeOrsqmXRl9TrhN+eWJ08OdNzw4H5XOn+W4py++71vjzxd3837+X+dmu3kfGad6p+SorBwHdeJ7T4xnSackROY4rXd94s3DV2fHRP3k6ObU/YTOrKU++bOnx82+cmZ1drxOybFdOc6qZjfv6a7jdz/0oeHyq/6zhKCmvWf++o/h4JWbm8Qt2807x4DlOLCUI6c+NbzkpZtHcP384d8Od33g2+O/f/1Xtwwve8VmmN/44W+Gez7y3Rdcnz8oLyG3m0kxflAhQIAAAQIECKyqwCqE6ZxhnB20t/rLfAJKdpguZ+qWZyGjshnhzVE/KdmMJ6E4o20J5wkNWYOdsJOjmErJtOFMf83O19kcq5RsGJVdoMuIaP48gTobnOVs4MWS+hPYp8cdJRwmfCd45nOlJDhmvWy+f3p8VkYPM7qYAJhQlDZk5Dn3mGCYcJ5R0HI2dEatExITFlMSgrKT+HSKcHa5zvdkGnwpCfpxyl/Atyvl7O+sh04oz+hzQm3qLC8epp+Pd3bmnq6vjktGWbNeeFl96cuMnKYN2b09LzHymQTAtCdtSZumm4Itu+fF3dNzTb4no7gZgd3psVjT785o32LfFecE7bxUWByxzvOVe87IdY74ymyCvFzILuXTZQllQ7ppfXkOs0v3To42KmvwY5SwXtaEZ6p2jt6aljz/eSER4zx7eW4yKyAvmzJlPtb5sxw9Vkp+X/LCIM/O+UpGjRNuE5az2/a+114yPP7QqeE9n37LcP3N+2fruC8avvGlR8YzlRO6U7IT93UHrxlu/PzmOdkpGRG+/7PHh8eOba4zzzVve/8bx3Ohz86mlK/dePU4dXvfLGRnxHr99h+PU7hLyVFSN9/99nFTsqdP/XH4ysePzcN5rsno+Me+fN1w2ZWbywmWla/d+qPh0e8/Mb/PHLP1pmuvmK3PXpuH2p2097EfPDms3/HwOKJeSs6M/swD7xxHzI/d//jwnfs2hr88e2b8ce7t4J1rwy8e+d1w9N4T88+k/k/e947hqdnO30fv/en8vi57w6uHm2bnVmfae0rZmHD6InDLRvoBAQIECBAgQGAVBVYhTKdfMy035/AuK5nenHW2y8Jcrs9oZ0bUpkc4Ze11GQHdzXOTqdeZJp7Rvuk06t18V81nsqFURkYzoplAm5C0k6C1rI6sTy52ZVrx+e4lgTAjqZm2HNes3y5rg5d9NrtJJ8Au7hyeUDodvV38bEbQ89lpMM1/px/L2eCZJp0XDQmRedGSqco5Ci0BMWdtZ9p+7jHnk09LXkLkhUI2Y9ttSZsyUp1gnD6Iw1bPQdqSe84/M9qcEfS0vWwMNr2HjOZn5kT6OS8cdjISPP18RqPzu5L+yUum7Ia/VYlVHDLFPKXsR7CXz/OfnjkznD75zCx0Xjxc+vpXjaFxN+Xs358bp4S/5vJXjmcsJ5AmKC8ruTbB+eWzOvddeskY3FuVvWrvXtxvnrfMlFh8kbIX3+07CBAgQIAAAQJdCKxKmO6iszRizwTKWt7jx4/PR+UXvzxhMlPiy9FQe1a5LyJAgAABAgQIECBA4MIXEKYv/D7UgnqBTMHPWurDhw+PU76nJTMGMlU8o3JZi6y0E3jv6+5pV5maXiCweFY3IgIECBAgQIAAgW0EhGmPxyoKZL15jvlKyRT1rN/OtP2s+80mWtlYK7tWbzX1fxXNtJkAAQIECBAgQIAAgYmAMO1xWFWBbCKWHduzEVnO38769f3794/HlS2exb2qRtpNgAABAgQIECBAgMAWAsK0R4MAAQIECBAgQIAAAQIECFQKCNOVYAZwbpAAAAlzSURBVC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAEC/5cwjZ0AAQIECBAgQIAAAQIECPQkcO7cjlpz0blZ2dGVuWgxse/4gy4kQIAAAQIECBAgQIAAAQIXgMAOI7IwfQH0pVskQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8C/5Mw3Q+PlhAgQIAAAQIECBAgQIAAgV0L1E3z3nU1PkiAAAECBAgQIECAAAECBPoREKb76UstIUCAAAECBAgQIECAAIFGAsJ0I2jVECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB8BYbqfvtQSAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQjIEz305daQoAAAQIECBAgQIAAAQKNBITpRtCqIUCAAAECBAgQIECAAIF+BITpfvpSSwgQIECAAAECBAgQIECgkYAw3QhaNQQIECBAgAABAgQIECDQj4Aw3U9fagkBAgQIECBAgAABAgQINBIQphtBq4YAAQIECBAgQIAAAQIE+hEQpvvpSy0hQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8CwnQ/faklBAgQIECAAAECBAgQINBIQJhuBK0aAgQIECBAgAABAgQIEOhHQJjupy+1hAABAgQIECBAgAABAgQaCQjTjaBVQ4AAAQIECBAgQIAAAQL9CAjT/fSllhAgQIAAAQIECBAgQIBAIwFhuhG0aggQIECAAAECBAgQIECgHwFhup++1BICBAgQIECAAAECBAgQaCQgTDeCVg0BAgQIECBAgAABAgQI9CMgTPfTl1pCgAABAgQIECBAgAABAo0EhOlG0KohQIAAAQIECBAgQIAAgX4EhOl++lJLCBAgQIAAAQIECBAgQKCRgDDdCFo1BAgQIECAAAECBAgQINCPgDDdT19qCQECBAgQIECAAAECBAg0EhCmG0GrhgABAgQIECBAgAABAgT6ERCm++lLLSFAgAABAgQIECBAgACBRgLCdCNo1RAgQIAAAQIECBAgQIBAPwLCdD99qSUECBAgQIAAAQIECBAg0EhAmG4ErRoCBAgQIECAAAECBAgQ6EdAmO6nL7WEAAECBAgQIECAAAECBBoJCNONoFVDgAABAgQIECBAgAABAv0ICNP99KWWECBAgAABAgQIECBAgEAjAWG6EbRqCBAgQIAAAQIECBAgQKAfAWG6n77UEgIECBAgQIAAAQIECBBoJCBMN4JWDQECBAgQIECAAAECBAj0IyBM99OXWkKAAAECBAgQIECAAAECjQSE6UbQqiFAgAABAgQIECBAgACBfgSE6X76UksIECBAgAABAgQIECBAoJGAMN0IWjUECBAgQIAAAQIECBAg0I+AMN1PX2oJAQIECBAgQIAAAQIECDQSEKYbQauGAAECBAgQIECAAAECBPoREKb76UstIUCAAAECBAgQIECAAIFGAsJ0I2jVECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB8BYbqfvtQSAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQjIEz305daQoAAAQIECBAgQIAAAQKNBITpRtCqIUCAAAECBAgQIECAAIF+BITpfvpSSwgQIECAAAECBAgQIECgkYAw3QhaNQQIECBAgAABAgQIECDQj4Aw3U9fagkBAgQIECBAgAABAgQINBIQphtBq4YAAQIECBAgQIAAAQIE+hH4NxubwcBuDqn8AAAAAElFTkSuQmCC", "text/plain": [ "" ] }, "execution_count": 106, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Of course, we can also execute action sequences generated from the grammar. This allows us to fill the form again and again, using values matching the type given in the form." ] }, { "cell_type": "code", "execution_count": 107, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.898981Z", "iopub.status.busy": "2025-10-26T13:36:03.898817Z", "iopub.status.idle": "2025-10-26T13:36:03.918073Z", "shell.execute_reply": "2025-10-26T13:36:03.917715Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.920131Z", "iopub.status.busy": "2025-10-26T13:36:03.920011Z", "iopub.status.idle": "2025-10-26T13:36:03.922062Z", "shell.execute_reply": "2025-10-26T13:36:03.921699Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer = GrammarFuzzer(state_grammar)" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.923481Z", "iopub.status.busy": "2025-10-26T13:36:03.923351Z", "iopub.status.idle": "2025-10-26T13:36:03.926099Z", "shell.execute_reply": "2025-10-26T13:36:03.925846Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "while True:\n", " action = gui_fuzzer.fuzz()\n", " if action.find('submit(') > 0:\n", " break" ] }, { "cell_type": "code", "execution_count": 110, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.927293Z", "iopub.status.busy": "2025-10-26T13:36:03.927197Z", "iopub.status.idle": "2025-10-26T13:36:03.929191Z", "shell.execute_reply": "2025-10-26T13:36:03.928759Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "fill('email', 'HTrX@b')\n", "check('terms', False)\n", "fill('zip', '54')\n", "fill('name', '.')\n", "fill('city', '!')\n", "submit('submit')\n", "\n" ] } ], "source": [ "print(action)" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:03.931056Z", "iopub.status.busy": "2025-10-26T13:36:03.930937Z", "iopub.status.idle": "2025-10-26T13:36:04.000893Z", "shell.execute_reply": "2025-10-26T13:36:04.000556Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(\"fill('email', 'HTrX@b')\\ncheck('terms', False)\\nfill('zip', '54')\\nfill('name', '.')\\nfill('city', '!')\\nsubmit('submit')\\n\",\n", " 'PASS')" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_runner.run(action)" ] }, { "cell_type": "code", "execution_count": 112, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.002489Z", "iopub.status.busy": "2025-10-26T13:36:04.002318Z", "iopub.status.idle": "2025-10-26T13:36:04.016493Z", "shell.execute_reply": "2025-10-26T13:36:04.016216Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZTkNta2tRuGDU+YGTfMzMzMsMENMzMzMzNumJmZM0k2zJwNM/7zKP+t77ZarrK7q2t6ql+dk5Oky2XLj2SX3kv6258DWlATAREQAREQAREQAREQAREQAREQAREoTeBvEtOlWelAERABERABERABERABERABERABEYgEJKY1EURABERABERABERABERABERABESgIgGJ6YrAdLgIiIAIiIAIiIAIiIAIiIAIiIAISExrDoiACIiACIiACIiACIiACIiACIhARQIS0xWB6XAREAEREAEREAEREAEREAEREAERkJjWHBABERABERABERABERABERABERCBigQkpisC0+EiIAIiIAIiIAIiIAIiIAIiIAIiIDGtOSACIiACIiACIiACIiACIiACIiACFQlITFcEpsNFQAREQAREQAREQAREQAREQAREQGJac0AEREAEREAEREAEREAEREAEREAEKhKoJqb/9reKp9fhIiACIiACIiACIiACIiACIiACIjAIEfjzz1KdlZguhUkHiYAIiIAIiIAIiIAIiIAIiIAI9AkCEtN9Yph1kyIgAiIgAiIgAiIgAiIgAiIgAs0kIDHdTJo6lwiIgAiIgAiIgAiIgAiIgAiIQJ8g0BIxXfIifQK4blIEREAEREAEREAEREAEREAERGDQI5DWBiupc7uXM13yIoMeTfVYBERABERABERABERABERABESgTxCQmO4Tw6ybFAEREAEREAEREAEREAEREAERaCYBielm0tS5REAEREAEREAEREAEREAEREAE+gQBiek+Mcy6SREQAREQAREQAREQAREQAREQgWYSkJhuJk2dSwREQAREQAREQAREQAREQAREoE8QkJjuE8OsmxQBERABERABERABERABERABEWgmAYnpZtLUuURABERABERABERABERABERABPoEAYnpPjHMukkREAEREAEREAEREAEREAEREIFmEpCYbiZNnUsEREAEREAEREAEREAEREAERKBPEJCY7hPDrJsUAREQAREQAREQAREQAREQARFoJgGJ6WbS1LlEQAREQAREQAREQAREQAREQAT6BAGJ6T4xzLpJERABERABERABERABERABERCBZhKQmG4mTZ1LBERABERABERABERABERABESgTxCQmO4Tw6ybFAEREAEREAEREAEREAEREAERaCYBielm0tS5REAEREAEREAEREAEREAEREAE+gQBiek+Mcy6SREQAREQAREQAREQAREQAREQgWYSkJhuJk2dSwREQAREQAREQAREQAREQAREoE8QkJjuE8OsmxQBERABERABERABERABERABEWgmAYnpZtLUuURABERABERABERABERABERABPoEAYnpPjHMukkREAEREAEREAEREAEREAEREIFmEpCYbiZNnUsEREAEREAEREAEREAEREAERKBPEJCY7hPDrJsUAREQAREQAREQAREQAREQARFoJgGJ6WbS1LlEQAREQAREQAREQAREQAREQAT6BIF2E9O//fZbU8ftbwMADTbYYOGPP/6I/+Ta4IMP3tRrtvJkRfdl993KvvSVa3355ZfhqaeeCq+88koYddRRw+STTx5mmmmmvnL7feI+670vqgL4+9//HvinXdqvv/4abrjhhvDFF1+EVVddNYw44oi99taKfk/4TeAdOai133//Pfz555+duj0w5hh9eeaZZ8Ibb7wRPv/88/Dzzz+HoYYaKow22mjxnTj99NMP1HkPJ/pY1HrbHGCu3nnnneH1118PK620Uhh77LEHtemp/oqACIjAoEmg3cT0bLPNFp544ommDcaSSy4Zbr755vjD/vzzz2fPm1ucNK0DPXyiovtaaKGFwl133dXDV+9bp0c8r7baatl5hJg+99xzwz//+c++BaVN77be+6LqLZ9wwglh6623rvq1Xnn8119/HYXSp59+Wuvfk08+GWaeeeZe19/rr78+LL/88tl+nXTSSWHLLbfsdX2u16GPPvqoUGAdfPDBYY899mjJ/bz55pvh8MMPD5deemn49ttvC6/5j3/8I2y44YZh5513DuOOO25L+uYvwrycddZZC697xRVXRGNQb2jvvvtu7Kt/rg444ICw995794buqQ8iIAIi0N4E2k1Msyh7+umnOwzaHHPMET1/iOyc0OYHEWv4Y4891um7iy++eLj11lvDTTfdFA499NDw0EMPdZoQg7KYvu6668Iuu+wSXn311Q73JTHd3Of+nXfeCRh6bLHD4hD2N954Y9h3333jxVg84lUYffTRm3txna3lBB599NHQv3//+M5APOQaz9g888wTPXIff/xx+PDDDwPfSwVG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yKNfv34xvYS6DaQqsMURHmw1ERABERABERABEShNQGK6NCodKAIiIAIiIAIiIAIiIAIiIAIiIAJ/EZCY1kwQAREQAREQAREQAREQAREQAREQgYoEJKYrAtPhIiACIiACIiACIiACIiACIiACIiAxrTkgAiIgAiIgAiIgAiIgAiIgAiIgAhUJSExXBKbDRUAEREAEREAEREAEREAEREAEREBiWnNABERABERABERABERABERABERABCoSkJiuCEyHi4AIiIAIiIAIiIAIiIAIiIAIiIDEtOaACIiACIiACIiACIiACIiACIiACFQkIDFdEZgOFwEREAEREAEREAEREAEREAEREAGJac0BERABERABERABERABERABERABEahIQGK6IjAdLgIiIAIiIAIiIAIiIAIiIAIiIAIS05oDIiACIiACIiACIiACIiACIiACIlCRgMR0RWA6XAREQAREQAREQAREQAREQAREQAQkpjUHREAEREAEREAEREAEREAEREAERKAiAYnpisB0uAiIgAiIgAiIgAiIgAiIgAiIgAhITGsOiIAIiIAIiIAIiIAIiIAIiIAIiEBFAhLTFYHpcBEQAREQAREQAREQAREQAREQARGQmNYcEAEREAEREAEREAEREAEREAEREIGKBCSmKwLT4SIgAiIgAiIgAiIgAiIgAiIgAiIgMa05IAIiIAIiIAIiIAIiIAIiIAIiIAIVCUhMVwSmw0VABERABERABERABERABERABERAYlpzQAREQAREQAREQAREQAREQAREQAQqEpCYrghMh4uACIiACIiACIiACIiACIiACIiAxLTmgAiIgAiIgAiIgAiIgAiIgAiIgAhUJCAxXRGYDhcBERABERABERABERABERABERABiWnNAREQAREQAREQAREQAREQAREQARGoSKCdxPTvv/8e+CdtQwwxRPz7H3/80emzv//972HwwQePf+fz3377rcMxfPdvKaSKjLtz+IcffhhuvfXWsOyyy4Z+/frVTvX999+He++9N/zwww9h1VVXrf2d/j/55JPh0UcfDdttt113Lj1Qvvv666+HZ555psM9lenIBx98EJ599tnQv3//8N///jeMPfbYYbrppgtTTz11+Oc//1nmFD16zLfffhvuuuuuStcYb7zxwswzz1zpOz1xMM/OpZdeGh577LGw0UYbhRlnnLEnLtPhnE888URgTHONZ3a44YYLU045ZRhnnHF6vC92gbfeeis899xztevxblh66aUrX//TTz8NDz/8cOXvzTDDDGHCCSes+z3eF//5z3/ic/DVV19FRlNNNVWYZ555wjnnnBP/vdBCC4WU70gjjRQWWGCBuuceGPOgMqQe/ALvWtjyTPJe6YnGvJh99tnDYIMN1u3T//LLLx3OwfhdffXVYbnllgv/+Mc/Cs//yiuvxN/ESSaZpNt90AlEQAREQAREoO0JtJOYPu+888KGG27YYcxYOPL36667Lhx++OHh/fffr30+00wzhZ122imsueaa8W8sIjbYYIMoRGmjjz56uOKKK8L8888/0ObB6quvHvuw6aabhtNPPz189NFHYZNNNgk33XRT7NMaa6wRhQ7tX//6V7jyyisDwo3F0jfffDPQ+l31wkcddVQ488wzw6uvvhoYl6eeeqrUKX7++edw8MEHhwMPPDAeP++880YhjvA566yzIgsEz6mnnhoQpwOrvfPOO+Gwww4Lp512WqcuIGIYL8Tj008/Xfuc8eQeBnbDmLPkkkvWnon33nsvDDnkkD3aLe777LPPrj2LdrFZZ501CkrmuT2jjP/GG2/co/3h5HfeeWdYe+21A2KY1tVnjPMsuuiitf5ynrHGGivOfWsTTzxx/NtDDz1U+9u5554b309FjfOutNJK8eN///vfUTi/8MILYY899qh9Ba7Mq5NOOilsvfXWtb/D9fHHH6/LsJnzgOd7mmmmCUMPPXSPj1uzLsD7d/PNNw/jjjtu4BloduP3abfddotjzFh3pyHK55577k6nwAiAoaXIQPz888+H6aefPs6R3vDu6Q4DfVcEREAEREAEWkKgncQ0wPBqIsZoLEjfeOONGsePP/44sGg0Qf3111+HEUYYoQNnrPd4MlksvfTSS3HhNDDbEUccEXbddddwxhlnRBFNQyRvscUW4ZJLLukgpr/77rtw/vnnh6222qrLC/2Bda94fY4//vi48J9jjjnCI4880rArCOYVVlghsACk4XnzxhSEqffsYlDBKzMw2z777FMT/vQjXTgj1Pbaa69oWOgtC1oTEcbts88+C6ONNlqPY4TFGGOM0eE6n3/+eRh11FGjsPWClGcEY0VPt0MPPbQmTrsrpjHWcR9EUOAxXHnllWvdP+6448K2224b8DQvuOCCUWhj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z88ZZ5wRDQjsVX7xxRfXPNw//vhj9GITwUOTmG7mzNO5REAEREAERKAPE+gLYvrzzz8P/fr1q43yF198EUYeeeRBbtQJURx99NHDNNNMEx555JFa/1nUvvjii9HjTnXk3tjoOwt9PJ5jjjlmhy7++uuvYYghhuiN3e7RPuXuG4GA+GiVmOYGc/045ZRTwpZbbtlBTHPs888/HwVJIzHNsQjM0UYbLTJsZzGNl/S+++6L+2OXaRj05p9//hji38z25ZdfhlFGGSWeEuPaTjvt1On0iMphhx02/h3huu+++wbEPe8Nti7DsGNtscUWiykHyy67bLj++utrfzfRjkfcwrWL7oNQ7HnnnTc8/fTT8ZD7778//r81BC5pKnixjzrqqEIcBx54YPRoL7744oG5ifAvarzveddgLCCCxzfmLnNYYrqZM0/nEgEREAEREIE+TKAviGkWaSwu8WjQjj766BjyN6i1/v37x1y/tdZaK3pdBqVGOCfh6YQRp2J6ULqPnu7r6quvHq644oqWiuncPVn4vfdMcxxGm2mnnbaUmPbirl3FNJ7aKaecMu6PXUZMX3bZZTGs/6qrrmq6mCZywLzdxx13XNh22207DS0REGa4OuiggwJeYQTvjDPOGL3OvhWJaYx3bGGGEC6z77EJZs5NGDdzCM83nmtqWGAEvO666wpz6m+88cYo6PFsI8btmnjKSYtA1M8zzzwBQwH/YFDgXU/kDvnRfM+axHRPv8F0fhEQAREQARHoYwTaXUyzeCQUkBBCwmovvPDC6N394IMPShW5SacDCzhCFQmXZG9c8hFzXm5E47PPPhvDITluhhlmCOOMM06n2cXn5DGSN8ziksXfxx9/HMNv6bc1ilXdeuutMYybvMP999+/9hlChcUjoZrLL7987e/kxN59991hxBFHjCKcBSteSAQSBX5YfJPbusIKK8S/c1/kYC+33HI1DxcLVRasL7/8cphlllniedL2xhtvxL6R88xiGa8Qi3MafSAMHQMGjdBheFFwzKIFKLp18803hw033LDTuZvNsd7jzb7HeOdYuBMyivef+UM+qeX7IjzwapGfiYctHVOOJ3cVwYDHD16EnKaFkeCCMODvcLVWVkyTA2r51Xx3uOGGi3PGQmrtfGOPPXb0gjLWllOLZ9LmSVE/ekJM02fumYb4QZSnDX6kMLzwwgtxjs41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AREQAREQAREQAREQARFoEwIS020ykLoNERABERABERABERABERABERCB1hGQmG4da11JBERABERABERABERABERABESgTQhITLfJQOo2REAEREAEREAEREAEREAEREAEWkdAYrp1rHUlERABERABERABERABERABERCBNiEgMd0mA6nbEAEREAEREAEREAEREAEREAERaB0BienWsdaVREAEREAEREAEREAEREAEREAE2oSAxHSbDKRuQwREQAREQAREQAREQAREQAREoHUEJKZbx1pXEgEREAEREAEREAEREAEREAERaBMCEtNtMpC6DREQAREQAREQAREQAREQAREQgdYRkJhuHWtdSQREQAREQAREQAREQAREQAREoE0ISEy3yUDqNkRABERABERABERABERABERABFpHQGK6dax1JREQAREQAREQAREQAREQAREQgTYhIDHdJgOp2xABERABERABERABERABERABEWgdAYnp1rHWlURABERABERABERABERABERABNqEgMR0mwykbkMEREAEREAEREAEREAEREAERKB1BCSmW8daVxIBERABERABERABERABERABEWgTAhLTbTKQug0REAEREAEREAEREAEREAEREIHWEZCYbh1rXUkEREAEREAEREAEREAEREAERKBNCEhMt8lA6jZEQAREQAREQAREQAREQAREQARaR0BiunWsdSUREAEREAEREAEREAEREAEREIE2ISAx3SYDqdsQAREQAREQAREQAREQAREQARFoHQGJ6dax1pVEQAREQAREQAREQAREQAREQATahEA7ienff/898E/ahhhiiPj3P/74o9Nnf//738Pggw8e/87nv/32W4dj+O7fUkhtMva6jeoEvv322/DKK6+Er776Kowzzjhh8sknD4MNNljhif7888/w66+/Zj9P59Yvv/zS6bghhxyyeif1jYYEfvnpt9D/wXfD2JOMEsacaKSGxzfzgI/f+ir0f/jdMMzwQ4bJZx479Bt3hGaevmnn+umnn8ILL7wQZp111qadUycSAREQAREQAREQgbYi0E5i+rzzzgsbbrhhh/FZaKGFAn+/7rrrwuGHHx7ef//92uczzTRT2GmnncKaa64Z/4ZI2mCDDcKjjz4a/3/00UcPV1xxRZh//vnbasx1M10jcMEFF4Sdd945zDnnnOGTTz6J84Q5xN+nmWaa7Emff/75sNVWW4UHHnigw+eLLrpoOPnkk8Nkk00W//7DDz9E0fLSSy/Vjpt66qnDhRdeGK+h1hwCCNnz978nPHXHG/GEu1+4cphxoYmac/ISZzljl9vD+6/9L0wy/ZjhpjOfit84+u4NwnhTjFbi2609ZIkllgi33XZbOPfcc+N7UU0EREAEREAEREAERCAh0E5imlt75plnauJj4oknDm+88deimfbxxx9HwWKC+uuvvw4jjNDRK4QH+5///Gd47733orAZd9xxe2TO4IX8+eefwz/+8Y8eOb9O2lwCCGdENPPC5sQWW2wRTjvttMA8w4M37LDDFl70sMMOC7vvvnv8/Jxzzulk9LEvXnXVVWHVVVcN//73v6PYVmsugT/++DN88dG3YbclLwrf/O+HsNdlq4Z/zjtBcy9ScLZHbnglHLv5DeG4+zeKHvELDrg33Hj6k2H/q9cIU83eM++Z7tyYReRgDDrxxBO7cyp9VwREQAREQAREQATak0C7iWlGCW/z0UcfHQfsnXfeCeOPP35t8E499dQoVGh33313WHDBBTsMLGG5Y445Zthll13Cjjvu2GODvs0220SP98orr9xj19CJm0fA5tRTTz1VM9Y8/vjjYfbZZ48Xeeihh8Jcc81VeMGbbropLLPMMvFzhLl9L/0CHurhhhsuRlIst9xyzbsBnakDgb1XuCS88sSHYZ8rVgvTzv1/74eexHT0JteFx25+LVz0xnZhyKH/Si35+cdfw1DDDNGTl+3yuTE0ktaw/fbbh2OOOabL59EXRUAEREAEREAERKBtCbSjmCZce8opp4xjdvDBB4c99tijNn5ffvllGGWUUeL/r7vuujFE1zfzQL777rthvPHG65Fxv+yyy2JoOV5IiekeQdz0kx500EFh7733DjvssEPNUEN+PXnPtGuvvTYsv/zyhde9/fbbw+KLLx4/94I89wU8gvfee6/SC5o+iv93QhPT+121eph6zp55ztPubzvv2eGjN78MF7+5fRhiqOI8+x687Uqnnm222cITTzwRjj322LDddttV+q4OFgEREAEREAEREIE+QaAdxTQDN99888U8VUJy8U5TaMzazDPPHJ5++un4v1988UUYeeSRa59tvfXWoX///uGee+6p/Y1Q8VtvvbUW4jv33HOHGWecscP8IGQbTzfnwutI2C//P8UUU4SFF144WCEpC+Ply4j8eeedN0w00UTxuHqN3Fu8lnPMMUd4/fXXo3dzggkmiN+39tlnnwVE20gjjRT/noawc9xHH30Unn322fDmm2+GCSecMMwwwwyxkFbaCIm//vrrw6abbhpzyW+55Zaw9NJL13J8EZLPPfdcvE8KuOGVJdy5TOM+ON/LL78cc40xbhBCDaP//Oc/wRfi4u8YQP773/92ODXClO89/PDDcXxpsIEljRD+q6++Orz11lthmGGGCYw5ecq5YnKPPfZYnA8//vhjPG766aePDH1jnpA7imCedNJJ40cffvhhjd0HH3wQxh577MLbryqm77///g5jy4lhgMd6xBFHjKkIww8/fPy3b4zbk08+GejPJJNMEgW5Cf4yY8NYM9c+//zzaJAiX5vrWWPc4ERjzjJ+XAuG1phTfi4wR5izK6ywQuC+eL7WWmutDs9drm8/fvdLeKv/p+H9Vz4Pw480dBh/qn5h3MlH7XToV59+H568/fWwyDrThw/f+CI8c/dbYaaFJw5jTfzXcz0g2CS88exH4bVnPgq///bHAE/0BOHsPe+InumcmOYcXPeXH38bcM3RYn6zb4SK93/o3TDsP4YK4085WnjyttcHFC78I8y9/JRhsMH/7z1j36HQGQXPDlv/6vinnc9ZIQwx5GBh5DGGDxNM3a926rL3izcbD/f0808Y/vb3v4VHB4SPjzPZqGGauf4yCnzx8Xfhzec/CbMsNkkMZX/1qQ8H3PefYeZFJg6DD7gujXO8+NB74cfvfwlTzTZuGGWs4TtxXXvttcMll1wio1+ZB0fHiIAIiIAIiIAI9E0C7SqmKdy03nrrxUH14dyIK7/QJ+d1s802i8chEsYYY4xwwgkn1AruIO5WWWWVWEQKEX388cdHIXvppZeGNdZYI1YApzgPnklCIhHIiEzCeq1tsskm4YwzzgjfffddFBF4HTkWoTLWWGOFddZZJ54r17geObYIHELDMQocd9xxtUPJAb/55psDRgA83tYQWYQeI7ho9JP7ImRzySWXjELpyiuvjPnj+++/f9htt92imEX0nXTSSeGGG26I+dzk7RpHxOojjzwSi2+R10u1X8QrAov7ocAb4fH1GseuvvrqYddddw3TTjttOPLII2M/P/3009CvX79w5plnRgFPW3/99ePnCGP4UwyJdsopp0Rm9A9B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/2Y002cCBAgQIECAAAECBGYCwrTb4WYVqIhYFdsrRNb+261fv/3223fble3vxX2zGuk3AQIECBAgQIAAAQJXERCm3RoECBAgQIAAAQIECBAgQGChgDC9EMzhBAgQIECAAAECBAgQIEBAmHYPECBAgAABAgQIECBAgACBhQLC9EIwhxMgQIAAAQIECBAgQIAAAWHaPUCAAAECBAgQIECAAAECBBYKCNMLwRxOgAABAgQIECBAgAABAgSEafcAAQIECBAgQIAAAQIECBBYKCBMLwRzOAECBAgQIECAAAECBAgQEKbdAwQIECBAgAABAgQIECBAYKGAML0QzOEECBAgQIAAAQIECBAgQECYdg8QIECAAAECBAgQIECAAIGFAsL0QjCHEyBAgAABAgQIECBAgAABYdo9QIAAAQIECBAgQIAAAQIEFgoI0wvBHE6AAAECBAgQIECAAAECBIRp9wABAgQIECBAgAABAgQIEFgoIEwvBHM4AQIECBAgQIAAAQIECBAQpt0DBAgQIECAAAECBAgQIEBgoYAwvRDM4QQIECBAgAABAgQIECBAQJh2DxAgQIAAAQIECBAgQIAAgYUCwvRCMIcTIECAAAECBAgQIECAAAFh2j1AgAABAgQIECBAgAABAgQWCgjTC8EcToAAAQIECBAgQIAAAQIEhGn3AAECBAgQIECAAAECBAgQWCggTC8EczgBAgQIECBAgAABAgQIEBCm3QMECBAgQIAAAQIECBAgQGChgDC9EMzhBAgQIECAAAECBAgQIEBAmHYPECBAgAABAgQIECBAgACBhQLC9EIwhxMgQIAAAQIECBAgQIAAAWHaPUCAAAECBAgQIECAAAECBBYKCNMLwRxOgAABAgQIECBAgAABAgSEafcAAQIECBAgQIAAAQIECBBYKCBMLwRzOAECBAgQIECAAAECBAgQEKbdAwQIECBAgAABAgQIECBAYKGAML0QzOEECBAgQIAAAQIECBAgQECYdg8QIECAAAECBAgQIECAAIGFAsL0QjCHEyBAgAABAgQIECBAgAABYdo9QIAAAQIECBAgQIAAAQIEFgoI0wvBHE6AAAECBAgQIECAAAECBIRp9wABAgQIECBAgAABAgQIEFgoIEwvBHM4AQIECBAgQIAAAQIECBAQpt0DBAgQIECAAAECBAgQIEBgoYAwvRDM4QQIECBAgAABAgQIECBAQJh2DxAgQIAAAQIECBAgQIAAgYUCwvRCMIcTIECAAAECBAgQIECAAAFh2j1AgAABAgQIECBAgAABAgQWCgjTC8EcToAAAQIECBAgQIAAAQIE/l/CNHYCBAgQIECAAAECBAgQILAlgaefPlVvnvf0UTvVkR20n9hP/UIHEiBAgAABAgQIECBAgACB54DAKSOyMP0cuJY+IgECBAgQIECAAAECBAisJCBMrwTtNAQIECBAgAABAgQIECCwHYH/kzC9HR49IUCAAAECBAgQIECAAAEC1y2wbJr3dZ/GCwkQIECAAAECBAgQIECAwHYEhOntXEs9IUCAAAECBAgQIECAAIGVBITplaCdhgABAgQIECBAgAABAgS2IyBMb+da6gkBAgQIECBAgAABAgQIrCQgTK8E7TQECBAgQIAAAQIECBAgsB0BYXo711JPCBAgQIAAAQIECBAgQGAlAWF6JWinIUCAAAECBAgQIECAAIHtCAjT27mWekKAAAECBAgQIECAAAECKwkI0ytBOw0BAgQIECBAgAABAgQIbEdAmN7OtdQTAgQIECBAgAABAgQIEFhJQJheCdppCBAgQIAAAQIECBAgQGA7AsL0dq6lnhAgQIAAAQIECBAgQIDASgLC9ErQTkOAAAECBAgQIECAAAEC2xEQprdzLfWEAAECBAgQIECAAAECBFYSEKZXgnYaAgQIECBAgAABAgQIENiOgDC9nWupJwQIECBAgAABAgQIECCwkoAwvRK00xAgQIAAAQIECBAgQIDAdgSE6e1cSz0hQIAAAQIECBAgQIAAgZUEhOmVoJ2GAAECBAgQIECAAAECBLYjIExv51rqCQECBAgQIECAAAECBAisJCBMrwTtNAQIECBAgAABAgQIECCwHQFhejvXUk8IECBAgAABAgQIECBAYCUBYXolaKchQIAAAQIECBAgQIAAge0ICNPbuZZ6QoAAAQIECBAgQIAAAQIrCQjTK0E7DQECBAgQIECAAAECBAhsR0CY3s611BMCBAgQIECAAAECBAgQWElAmF4J2mkIECBAgAABAgQIECBAYDsCwvR2rqWeECBAgAABAgQIECBAgMBKAsL0StBOQ4AAAQIECBAgQIAAAQLbERCmt3Mt9YQAAQIECBAgQIAAAQIEVhIQpleCdhoCBAgQIECAAAECBAgQ2I6AML2da6knBAgQIECAAAECBAgQILCSgDC9ErTTECBAgAABAgQIECBAgMB2BITp7VxLPSFAgAABAgQIECBAgACBlQSE6ZWgnYYAAQIECBAgQIAAAQIEtiMgTG/nWuoJAQIECBAgQIAAAQIECKwkIEyvBO00BAgQIECAAAECBAgQILAdAWF6O9dSTwgQIECAAAECBAgQIEBgJQFheiVopyFAgAABAgQIECBAgACB7QgI09u5lnpCgAABAgQIECBAgAABAisJCNMrQTsNAQIECBAgQIAAAQIECGxHQJjezrXUEwIECBAgQIAAAQIECBBYSUCYXgnaaQgQIECAAAECBAgQIEBgOwLC9HaupZ4QIECAAAECBAgQIECAwEoCwvRK0E5DgAABAgQIECBAgAABAtsREKa3cy31hAABAgQIECBAgAABAgRWEhCmV4J2GgIECBAgQIAAAQIECBDYjoAwvZ1rqScECBAgQIAAAQIECBAgsJKAML0StNMQIECAAAECBAgQIECAwHYEhOntXEs9IUCAAAECBAgQIECAAIGVBITplaCdhgABAgQIECBAgAABAgS2IyBMb+da6gkBAgQIECBAgAABAgQIrCQgTK8E7TQECBAgQIAAAQIECBAgsB0BYXo711JPCBAgQIAAAQIECBAgQGAlAWF6JWinIUCAAAECBAgQIECAAIHtCAjT27mWekKAAAECBAgQIECAAAECKwkI0ytBOw0BAgQIECBAgAABAgQIbEdAmN7OtdQTAgQIECBAgAABAgQIEFhJQJheCdppCBAgQIAAAQIECBAgQGA7AsL0dq6lnhAgQIAAAQIECBAgQIDASgLC9ErQTkOAAAECBAgQIECAAAEC2xEQprdzLfWEAAECBAgQIECAAAECBFYSEKZXgnYaAgQIECBAgAABAgQIENiOgDC9nWupJwQIECBAgAABAgQIECCwkoAwvRK00xAgQIAAAQIECBAgQIDAdgT+B7i3gsAQaLbQAAAAAElFTkSuQmCC", "text/plain": [ "" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Exploring User Interfaces\n", "\n", "So far, our grammar retrieval and execution of actions is limited to the current user interface state (i.e., the current page shown). To systematically explore a user interface, we must explore all states, notably those ending in `` – and whenever we reach a new state, again retrieve its grammar such that we may be able to reach other states. Since some states can only be reached by generating inputs, test generation and user interface exploration _take place at the same time._ \n", "\n", "Consequently, we introduce a `GUIFuzzer` class, which generates inputs for all forms and follows all links, and which updates its grammar (i.e., its user interface model as a finite state machine) every time it encounters a new state. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Excursion: Implementing GUIFuzzer" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Exploring states and updating the grammar at the same time is a fairly complex operation, so we need to introduce quite a number of methods before we can put this to use. The `GUIFuzzer` constructor sets three important attributes:\n", "\n", "1. `state_symbol`: This holds the symbol of the current state (e.g. ``).\n", "2. `state`: This holds the set of actions for the current state, as returned by the `GUIGrammarMiner` method `mine_state_actions()`.\n", "3. `states_seen`: This maps the states seen (as in `state`) to the respective symbols.\n", "\n", "Let us show these three attributes after initialization." ] }, { "cell_type": "code", "execution_count": 113, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.017817Z", "iopub.status.busy": "2025-10-26T13:36:04.017725Z", "iopub.status.idle": "2025-10-26T13:36:04.019593Z", "shell.execute_reply": "2025-10-26T13:36:04.019120Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from Grammars import is_nonterminal" ] }, { "cell_type": "code", "execution_count": 114, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.021693Z", "iopub.status.busy": "2025-10-26T13:36:04.021564Z", "iopub.status.idle": "2025-10-26T13:36:04.023555Z", "shell.execute_reply": "2025-10-26T13:36:04.023009Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from GrammarFuzzer import GrammarFuzzer" ] }, { "cell_type": "code", "execution_count": 115, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.025822Z", "iopub.status.busy": "2025-10-26T13:36:04.025685Z", "iopub.status.idle": "2025-10-26T13:36:04.028989Z", "shell.execute_reply": "2025-10-26T13:36:04.028663Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIFuzzer(GrammarFuzzer):\n", " \"\"\"A fuzzer for GUIs, using Selenium.\"\"\"\n", "\n", " def __init__(self, driver, *,\n", " miner: Optional[GUIGrammarMiner] = None,\n", " stay_on_host: bool = True,\n", " log_gui_exploration: bool = False,\n", " disp_gui_exploration: bool = False,\n", " **kwargs) -> None:\n", " \"\"\"Constructor.\n", " `driver` - the Selenium driver to use.\n", " `miner` - the miner to use (default: `GUIGrammarMiner(driver)`)\n", " `stay_on_host` - if True (default), do not explore external links.\n", " `log_gui_exploration` - if set, print out exploration steps.\n", " `disp_gui_exploration` - if set, display screenshot of current Web page\n", " as well as FSM diagrams during exploration.\n", " Other keyword arguments are passed to the `GrammarFuzzer` superclass.\n", " \"\"\"\n", "\n", " self.driver = driver\n", "\n", " if miner is None:\n", " miner = GUIGrammarMiner(driver)\n", "\n", " self.miner = miner\n", " self.stay_on_host = True\n", " self.log_gui_exploration = log_gui_exploration\n", " self.disp_gui_exploration = disp_gui_exploration\n", " self.initial_url = driver.current_url\n", "\n", " self.states_seen = {} # Maps states to symbols\n", " self.state_symbol = self.miner.START_STATE\n", " self.state: FrozenSet[str] = self.miner.mine_state_actions()\n", " self.states_seen[self.state] = self.state_symbol\n", "\n", " grammar = self.miner.mine_state_grammar()\n", " super().__init__(grammar, **kwargs)" ] }, { "cell_type": "code", "execution_count": 116, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.030632Z", "iopub.status.busy": "2025-10-26T13:36:04.030514Z", "iopub.status.idle": "2025-10-26T13:36:04.061830Z", "shell.execute_reply": "2025-10-26T13:36:04.061266Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The initial state symbol is always ``:" ] }, { "cell_type": "code", "execution_count": 117, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.064161Z", "iopub.status.busy": "2025-10-26T13:36:04.064013Z", "iopub.status.idle": "2025-10-26T13:36:04.197097Z", "shell.execute_reply": "2025-10-26T13:36:04.196604Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "''" ] }, "execution_count": 117, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer = GUIFuzzer(gui_driver)\n", "gui_fuzzer.state_symbol" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The current state is characterized by the available UI actions:" ] }, { "cell_type": "code", "execution_count": 118, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.199069Z", "iopub.status.busy": "2025-10-26T13:36:04.198892Z", "iopub.status.idle": "2025-10-26T13:36:04.201611Z", "shell.execute_reply": "2025-10-26T13:36:04.201196Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "frozenset({\"check('terms', )\",\n", " \"click('terms and conditions')\",\n", " \"fill('city', '')\",\n", " \"fill('email', '')\",\n", " \"fill('name', '')\",\n", " \"fill('zip', '')\",\n", " \"submit('submit')\"})" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer.state" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "`states_seen` maps this state to its symbol:" ] }, { "cell_type": "code", "execution_count": 119, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.203833Z", "iopub.status.busy": "2025-10-26T13:36:04.203690Z", "iopub.status.idle": "2025-10-26T13:36:04.206168Z", "shell.execute_reply": "2025-10-26T13:36:04.205894Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "''" ] }, "execution_count": 119, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer.states_seen[gui_fuzzer.state]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The `restart()` method gets us back to the initial URL and resets the state. This is what we use with every new exploration." ] }, { "cell_type": "code", "execution_count": 120, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.207816Z", "iopub.status.busy": "2025-10-26T13:36:04.207697Z", "iopub.status.idle": "2025-10-26T13:36:04.209766Z", "shell.execute_reply": "2025-10-26T13:36:04.209423Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "class GUIFuzzer(GUIFuzzer):\n", " def restart(self) -> None:\n", " \"\"\"Get back to original URL\"\"\"\n", "\n", " self.driver.get(self.initial_url)\n", " self.state = frozenset(self.miner.START_STATE)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "When producing a sequence of actions from the grammar, we want to know which final state we are to be in. We can retrieve this path from the _derivation tree_ produced – it is the last symbol being expanded." ] }, { "cell_type": "code", "execution_count": 121, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.211455Z", "iopub.status.busy": "2025-10-26T13:36:04.211330Z", "iopub.status.idle": "2025-10-26T13:36:04.213306Z", "shell.execute_reply": "2025-10-26T13:36:04.213013Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "while True:\n", " action = gui_fuzzer.fuzz()\n", " if action.find('click(') >= 0:\n", " break" ] }, { "cell_type": "code", "execution_count": 122, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.214634Z", "iopub.status.busy": "2025-10-26T13:36:04.214508Z", "iopub.status.idle": "2025-10-26T13:36:04.216163Z", "shell.execute_reply": "2025-10-26T13:36:04.215937Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from GrammarFuzzer import display_tree, DerivationTree" ] }, { "cell_type": "code", "execution_count": 123, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.217467Z", "iopub.status.busy": "2025-10-26T13:36:04.217360Z", "iopub.status.idle": "2025-10-26T13:36:04.602688Z", "shell.execute_reply": "2025-10-26T13:36:04.602216Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "<start>\n", "\n", "\n", "\n", "1\n", "<state>\n", "\n", "\n", "\n", "0->1\n", "\n", "\n", "\n", "\n", "\n", "2\n", "click('terms and conditions')\\n\n", "\n", "\n", "\n", "1->2\n", "\n", "\n", "\n", "\n", "\n", "3\n", "<state-1>\n", "\n", "\n", "\n", "1->3\n", "\n", "\n", "\n", "\n", "\n", "4\n", "<unexplored>\n", "\n", "\n", "\n", "3->4\n", "\n", "\n", "\n", "\n", "\n", "5\n", "\n", "\n", "\n", "4->5\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 123, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tree = gui_fuzzer.derivation_tree\n", "display_tree(tree)" ] }, { "cell_type": "code", "execution_count": 124, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.604126Z", "iopub.status.busy": "2025-10-26T13:36:04.604007Z", "iopub.status.idle": "2025-10-26T13:36:04.606457Z", "shell.execute_reply": "2025-10-26T13:36:04.606195Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIFuzzer(GUIFuzzer):\n", " def fsm_path(self, tree: DerivationTree) -> List[str]:\n", " \"\"\"Return sequence of state symbols.\"\"\"\n", "\n", " (node, children) = tree\n", " if node == self.miner.UNEXPLORED_STATE:\n", " return []\n", " elif children is None or len(children) == 0:\n", " return [node]\n", " else:\n", " return [node] + self.fsm_path(children[-1])" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "This is the path in the finite state machine towards the \"fuzzed\" state:" ] }, { "cell_type": "code", "execution_count": 125, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.607928Z", "iopub.status.busy": "2025-10-26T13:36:04.607825Z", "iopub.status.idle": "2025-10-26T13:36:04.716654Z", "shell.execute_reply": "2025-10-26T13:36:04.716345Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "['', '', '']" ] }, "execution_count": 125, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer = GUIFuzzer(gui_driver)\n", "gui_fuzzer.fsm_path(tree)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "This is its last element:" ] }, { "cell_type": "code", "execution_count": 126, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.718328Z", "iopub.status.busy": "2025-10-26T13:36:04.718190Z", "iopub.status.idle": "2025-10-26T13:36:04.720439Z", "shell.execute_reply": "2025-10-26T13:36:04.720189Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "class GUIFuzzer(GUIFuzzer):\n", " def fsm_last_state_symbol(self, tree: DerivationTree) -> str:\n", " \"\"\"Return current (expected) state symbol\"\"\"\n", "\n", " for state in reversed(self.fsm_path(tree)):\n", " if is_nonterminal(state):\n", " return state\n", "\n", " assert False" ] }, { "cell_type": "code", "execution_count": 127, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.721985Z", "iopub.status.busy": "2025-10-26T13:36:04.721829Z", "iopub.status.idle": "2025-10-26T13:36:04.833681Z", "shell.execute_reply": "2025-10-26T13:36:04.833382Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "''" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer = GUIFuzzer(gui_driver)\n", "gui_fuzzer.fsm_last_state_symbol(tree)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "As we run (`run()`) the fuzzer, we create an action (via `fuzz()`) and retrieve and update the state symbol (`state_symbol`) we are supposed to be in after running this action. After actually running the action in the given `GUIRunner`, we retrieve and update the current state, using `update_state()`." ] }, { "cell_type": "code", "execution_count": 128, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.835234Z", "iopub.status.busy": "2025-10-26T13:36:04.835127Z", "iopub.status.idle": "2025-10-26T13:36:04.837450Z", "shell.execute_reply": "2025-10-26T13:36:04.837219Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIFuzzer(GUIFuzzer):\n", " def run(self, runner: GUIRunner) -> Tuple[str, str]: # type: ignore\n", " \"\"\"Run the fuzzer on the given GUIRunner `runner`.\"\"\"\n", " assert isinstance(runner, GUIRunner)\n", "\n", " self.restart()\n", " action = self.fuzz()\n", " self.state_symbol = self.fsm_last_state_symbol(self.derivation_tree)\n", "\n", " if self.log_gui_exploration:\n", " print(\"Action\", action.strip(), \"->\", self.state_symbol)\n", "\n", " result, outcome = runner.run(action)\n", "\n", " if self.state_symbol != self.miner.FINAL_STATE:\n", " self.update_state()\n", "\n", " return self.state_symbol, outcome" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "When updating the current state, we check whether we are in a new or in a previously seen state, and invoke `update_new_state()` or `update_existing_state()`, respectively." ] }, { "cell_type": "code", "execution_count": 129, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.838611Z", "iopub.status.busy": "2025-10-26T13:36:04.838517Z", "iopub.status.idle": "2025-10-26T13:36:04.840583Z", "shell.execute_reply": "2025-10-26T13:36:04.840363Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIFuzzer(GUIFuzzer):\n", " def update_state(self) -> None:\n", " \"\"\"Determine current state from current Web page\"\"\"\n", "\n", " if self.disp_gui_exploration:\n", " display(Image(self.driver.get_screenshot_as_png()))\n", "\n", " self.state = self.miner.mine_state_actions()\n", " if self.state not in self.states_seen:\n", " self.states_seen[self.state] = self.state_symbol\n", " self.update_new_state()\n", " else:\n", " self.update_existing_state()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Finding a new state means that we mine a new grammar for the newly found state, and update our existing grammar with it." ] }, { "cell_type": "code", "execution_count": 130, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.841658Z", "iopub.status.busy": "2025-10-26T13:36:04.841569Z", "iopub.status.idle": "2025-10-26T13:36:04.843301Z", "shell.execute_reply": "2025-10-26T13:36:04.843066Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIFuzzer(GUIFuzzer):\n", " def set_grammar(self, new_grammar: Grammar) -> None:\n", " \"\"\"Set grammar to `new_grammar`.\"\"\"\n", "\n", " self.grammar = new_grammar\n", "\n", " if self.disp_gui_exploration and rich_output():\n", " display(fsm_diagram(self.grammar))" ] }, { "cell_type": "code", "execution_count": 131, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.844638Z", "iopub.status.busy": "2025-10-26T13:36:04.844547Z", "iopub.status.idle": "2025-10-26T13:36:04.847140Z", "shell.execute_reply": "2025-10-26T13:36:04.846759Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIFuzzer(GUIFuzzer):\n", " def update_new_state(self) -> None:\n", " \"\"\"Found new state; extend grammar accordingly\"\"\"\n", "\n", " if self.log_gui_exploration:\n", " print(\"In new state\", unicode_escape(self.state_symbol),\n", " unicode_escape(repr(self.state)))\n", "\n", " state_grammar = self.miner.mine_state_grammar(grammar=self.grammar, \n", " state_symbol=self.state_symbol)\n", " del state_grammar[START_SYMBOL]\n", " del state_grammar[self.miner.START_STATE]\n", " self.set_grammar(extend_grammar(self.grammar, state_grammar))\n", "\n", " def update_existing_state(self) -> None:\n", " pass # See below" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "If we find an existing state, we need to _merge_ both states. If, for instance, we find that we are in existing `` rather than in the expected ``, we replace all instances of `` in the grammar by ``. The method `replace_symbol()` takes care of the renaming; `update_existing_state()` sets the grammar accordingly." ] }, { "cell_type": "code", "execution_count": 132, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.848744Z", "iopub.status.busy": "2025-10-26T13:36:04.848642Z", "iopub.status.idle": "2025-10-26T13:36:04.850328Z", "shell.execute_reply": "2025-10-26T13:36:04.850031Z" }, "slideshow": { "slide_type": "skip" }, "tags": [] }, "outputs": [], "source": [ "from Grammars import exp_string, exp_opts" ] }, { "cell_type": "code", "execution_count": 133, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.851872Z", "iopub.status.busy": "2025-10-26T13:36:04.851715Z", "iopub.status.idle": "2025-10-26T13:36:04.854243Z", "shell.execute_reply": "2025-10-26T13:36:04.853871Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "def replace_symbol(grammar: Grammar, \n", " old_symbol: str, new_symbol: str) -> Grammar:\n", " \"\"\"Return a grammar in which all occurrences of `old_symbol` are replaced by `new_symbol`\"\"\"\n", "\n", " new_grammar: Grammar = {}\n", "\n", " for symbol in grammar:\n", " new_expansions = []\n", " for expansion in grammar[symbol]:\n", " new_expansion_string = exp_string(expansion).replace(old_symbol, new_symbol)\n", " if len(exp_opts(expansion)) > 0:\n", " new_expansion = (new_expansion_string, exp_opts(expansion))\n", " else:\n", " new_expansion = new_expansion_string # type: ignore\n", " new_expansions.append(new_expansion)\n", "\n", " new_grammar[symbol] = new_expansions # type: ignore\n", "\n", " # Remove unused parts\n", " for nonterminal in unreachable_nonterminals(new_grammar):\n", " del new_grammar[nonterminal]\n", "\n", " return new_grammar" ] }, { "cell_type": "code", "execution_count": 134, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.855828Z", "iopub.status.busy": "2025-10-26T13:36:04.855718Z", "iopub.status.idle": "2025-10-26T13:36:04.858129Z", "shell.execute_reply": "2025-10-26T13:36:04.857877Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUIFuzzer(GUIFuzzer):\n", " def update_existing_state(self) -> None:\n", " \"\"\"Update actions of existing state\"\"\"\n", "\n", " if self.log_gui_exploration:\n", " print(\"In existing state\", self.states_seen[self.state])\n", "\n", " if self.state_symbol != self.states_seen[self.state]:\n", " if self.log_gui_exploration:\n", " print(\"Replacing expected state %s by %s\" %\n", " (self.state_symbol, self.states_seen[self.state]))\n", "\n", " new_grammar = replace_symbol(self.grammar, self.state_symbol, \n", " self.states_seen[self.state])\n", " self.state_symbol = self.states_seen[self.state]\n", " self.set_grammar(new_grammar)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "This concludes our definitions for `GUIFuzzer`." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### End of Excursion" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Let us put `GUIFuzzer` to use, enabling its logging mechanisms to see what it is doing." ] }, { "cell_type": "code", "execution_count": 135, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.859697Z", "iopub.status.busy": "2025-10-26T13:36:04.859588Z", "iopub.status.idle": "2025-10-26T13:36:04.881983Z", "shell.execute_reply": "2025-10-26T13:36:04.881633Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 136, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:04.883921Z", "iopub.status.busy": "2025-10-26T13:36:04.883796Z", "iopub.status.idle": "2025-10-26T13:36:05.012578Z", "shell.execute_reply": "2025-10-26T13:36:05.012222Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer = GUIFuzzer(gui_driver, log_gui_exploration=True, disp_gui_exploration=True)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Running it the first time yields a new state:" ] }, { "cell_type": "code", "execution_count": 137, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:05.014771Z", "iopub.status.busy": "2025-10-26T13:36:05.014588Z", "iopub.status.idle": "2025-10-26T13:36:05.629211Z", "shell.execute_reply": "2025-10-26T13:36:05.628590Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Action fill('email', 'BU@L')\n", "check('terms', False)\n", "fill('zip', '1')\n", "fill('name', '. 1')\n", "fill('city', '1')\n", "submit('submit') -> \n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZQUx/e2K+4OcXdPiBJXIsSVuLsRNyLE3d2NuDtRQoQkRCHE3fUXd/14iu/Ov7a2eqZ7dmZ3mXnvORxgpvWp6p5660qN8t9wczIREAEREAEREAEREAEREAEREAEREIHcBEaRmM7NShuKgAiIgAiIgAiIgAiIgAiIgAiIgCcgMa2OIAIiIAIiIAIiIAIiIAIiIAIiIAIFCUhMFwSmzUVABERABERABERABERABERABERAYlp9QAREQAREQAREQAREQAREQAREQAQKEpCYLghMm4uACIiACIiACIiACIiACIiACIiAxLT6gAiIgAiIgAiIgAiIgAiIgAiIgAgUJCAxXRCYNhcBERABERABERABERABERABERABiWn1AREQAREQAREQAREQAREQAREQAREoSEBiuiAwbS4CIiACIiACIiACIiACIiACIiACEtPqAyIgAiIgAiIgAiIgAiIgAiIgAiJQkEAxMT3KKAUPr81FQAREQAREQAREQAREQAREQAREYCQi8N9/uS5WYjoXJm0kAiIgAiIgAiIgAiIgAiIgAiLQFAQkppuimXWTIiACIiACIiACIiACIiACIiACtSQgMV1LmjqWCIiACIiACIiACIiACIiACIhAUxBoFzGd8yRNAVw3KQIiIAIiIAIiIAIiIAIiIAIiMPIRiGuD5dS5bcuZznmSkY+mrlgEREAEREAEREAEREAEREAERKApCEhMN0Uz6yZFQAREQAREQAREQAREQAREQARqSUBiupY0dSwREAEREAEREAEREAEREAEREIGmICAx3RTNrJsUAREQAREQAREQAREQAREQARGoJQGJ6VrS1LFEQAREQAREQAREQAREQAREQASagoDEdFM0s25SBERABERABERABERABERABESglgQkpmtJU8cSAREQAREQAREQAREQAREQARFoCgIS003RzLpJERABERABERABERABERABERCBWhKQmK4lTR1LBERABERABERABERABERABESgKQhITDdFM+smRUAEREAEREAEREAEREAEREAEaklAYrqWNHUsERABERABERABERABERABERCBpiAgMd0UzaybFAEREAEREAEREAEREAEREAERqCUBiela0tSxREAEREAEREAEREAEREAEREAEmoKAxHRTNLNuUgREQAREQAREQAREQAREQAREoJYEJKZrSVPHEgEREAEREAEREAEREAEREAERaAoCEtNN0cy6SREQAREQAREQAREQAREQAREQgVoSkJiuJU0dSwREQAREQAREQAREQAREQAREoCkISEw3RTPrJkVABERABERABERABERABERABGpJQGK6ljR1LBEQAREQAREQAREQAREQAREQgaYgIDHdFM2smxQBERABERABERABERABERABEaglAYnpWtLUsURABERABERABERABERABERABJqCgMR0UzSzblIEREAEREAEREAEREAEREAERKCWBCSma0lTxxIBERABERABERABERABERABEWgKAo0mpv/++++attsowwGNNtpo7t9///V/Ujb66KPX9JztebCs+7L7bs9raZZzfffdd+6FF15wb775pptsssnc7LPP7hZaaKFmuf2muM9y74uiAEYddVTHn0axv/76y919993u22+/dRtttJGbaKKJOu2tZf2e8JvAO3Jks3/++cf9999/rS67I/oY1/LSSy+5d999133zzTfujz/+cGONNZbr0qWLfycusMACHdrv4cQ1Zlln6wP01Ycffti98847bv3113dTTz31yNY9db0iIAIiMHISaDQxvdhii7nnnnuuZo2x+uqru/vuu8//sA8dOjR53NTgpGYXUOcDZd3Xiiuu6B555JE6n725Do943njjjZP9CDF9xRVXuPnnn7+5oDTo3ZZ7XxS95bPPPtvtueeeRXfrlNv/8MMPXih99dVXpet7/vnn3cILL9zprveuu+5y66yzTvK6zj33XLf77rt3umsud0Gff/55psA67rjj3KGHHtou9/Pee++5k046yV1//fXup59+yjznBBNM4Lbddlt3wAEHuGmnnbZdri08Cf1y0UUXzTzvTTfd5CeDOoN99NFH/lrD5+roo492hx9+eGe4PF2DCIiACDQ2gUYT0wzKXnzxxRaN1r17d+/5Q2SnhDY/iMyGP/vss632XXXVVV3//v3dvffe60444QT31FNPteoQI7OYvvPOO92BBx7o3nrrrRb3JTFd2+f+ww8/dEz02GCHwSHs77nnHnfkkUf6kzF4xKsw+eST1/bkOlq7E3jmmWfcsGHD/DsD8ZAynrGll17ae+S++OIL99lnnzn2iwVGI4npCy64wO22224tcGy33Xbusssua/c2qnTCr7/+2l/XIYcc0mrTU045xe2///6VDtGpvqefXXLJJcmJmfYQ03hODzvsMC+kQ0P0bbjhhv43ePDgwf6deOGFF7baBrGPN7i97Ndff/Wec8YF++23X6vTdiYxfdBBB7mTTz651TUS/THJJJO0FzKdRwREQASak0Aji2k8IIjgWWed1Tfu1Vdf7bbeeutWDU3I4Zprruk/ZwCMN/qTTz7x/zcxzb8HDBjgGADHNjKLae7loosucrvsskuL25KYru37IPZU4m1h8BNHUtxwww2uV69etT25jtZhBF577TU3zzzzJM+Pl3bCCSds8d3PP//srrnmGsfg2ER1I4lpBOhpp53W4p6JxhgyZEiHtVGlE6+yyiruoYcearEZzy7P8MhovF8QgqHVW0x///33bpNNNnEPPPBAi/My8d2tW7dWGOHLMxDaWmut5a677jo3/vjjtzt2Jr3iifTO9K5m/MJYJ7bOGvXR7g2oE4qACIhAPQk0mpg20TL33HO7Rx991E0xxRQlfHnENBvjHVxqqaW8F7FHjx7uwQcf9Mf49NNPk+FmI7uYhtNKK63UoptJTNfuqXvllVdahW+feOKJfrCImAo9kbfffrtbd911a3dyHalDCfBuSOU7M9FH2H+Whc9kI4npQYMG+XdraJ09ZHrfffd1Z5xxRotrHpnF9FFHHeX69u3bbmIajzST0vTp0K666iq31VZbZT4D++yzjzvzzDNbfE/Y/a233tquHmougBxk3s2hdSYxjWcfLrFlTVZ06EtRJxcBERCBRiPQqGKacMnFF1+8RXPlFdPsxA/lpptuKjHdaB2+A+7nyiuv9Ll/odlgPPTAMAHE4IciPLLGIRBPmHBnlcQ02+y1117unHPOcY0kprmvs846y98TYdTkHRO+S4pDZzVCfE8//fQWlzcyhnnbDbS3mD744INbhXaT5vL++++7csU7s3K8SYuJJwPq3XdSYrozhXmTqkWfjI2J2o7w5Ne7PXR8ERABEehUBBpRTPMjTa5Q/ENdREyzP5WWQw+tPNOdquuONBeTClkMPVukFPzvf//zRe5kjUcgr5hmApCwcHKIMf6/xBJLNJyY5t6odk6l5DHGGKPTN7jEdPVNRJTXbLPN1uoAecPKV1tttVah4RyMGhTTTz999RdWcM/OLqZvueWW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vHP69+/v+yw5/gjnH374wfPo2rWrTy+hbgOpCixxhAdbJgIiIAIiIAIiIAK5CUhM50alDUVABERABERABERABERABERABERgBAGJafUEERABERABERABERABERABERABEShIQGK6IDBtLgIiIAIiIAIiIAIiIAIiIAIiIAIS0+oDIiACIiACIiACIiACIiACIiACIlCQgMR0QWDaXAREQAREQAREQAREQAREQAREQAQkptUHREAEREAEREAEREAEREAEREAERKAgAYnpgsC0uQiIgAiIgAiIgAiIgAiIgAiIgAhITKsPiIAIiIAIiIAIiIAIiIAIiIAIiEBBAhLTBYFpcxEQAREQAREQAREQAREQAREQARGQmFYfEAEREAEREAEREAEREAEREAEREIGCBCSmCwLT5iIgAiIgAiIgAiIgAiIgAiIgAiIgMa0+IAIiIAIiIAIiIAIiIAIiIAIiIAIFCUhMFwSmzUVABERABERABERABERABERABERAYlp9QAREQAREQAREQAREQAREQAREQAQKEpCYLghMm4uACIiACIiACIiACIiACIiACIiAxLT6gAiIgAiIgAiIgAiIgAiIgAiIgAgUJCAxXRCYNhcBERABERABERABERABERABERABiWn1AREQAREQAREQAREQAREQAREQAREoSEBiuiAwbS4CIiACIiACIiACIiACIiACIiACEtPqAyIgAiIgAiIgAiIgAiIgAiIgAiJQkIDEdEFg2lwEREAEREAEREAEREAEREAEREAEJKbVB0RABERABERABERABERABERABESgIAGJ6YLAtLkIiIAIiIAIiIAIiIAIiIAIiIAISEyrD4iACIiACIiACIiACIiACIiACIhAQQIS0wWBaXMREAEREAEREAEREAEREAEREAERkJhWHxABERABERABERABERABERABERCBggQaSUz/888/jj+xjTHGGP7zf//9t9V3o446qht99NH953z/999/t9iGfUeJIRVk3JbNP/vsM9e/f3+31lprua5du5YO9csvv7jHHnvM/frrr26jjTYqfc71P//88+6ZZ55xe++9d1tO3SH7vvPOO+6ll15qcU95LuTTTz91L7/8shs2bJh744033NRTT+3mm28+N/fcc7v5558/zyHqus1PP/3kHnnkkULnmG666dzCCy9caJ96bMyzc/3117tnn33Wbbfddq5bt271OE2LYz733HOONk0Zz+x4443n5pxzTjfNNNPU/VrsBO+//74bMmRI6Xy8G9ZYY43C5//qq6/coEGDCu+34IILuhlnnLHsfrwvbr31Vv8cfP/9957RXHPN5ZZeeml3+eWX+79XXHFFF/OdeOKJ3fLLL1/22B3RDwpDascd/vjjD/fNN98U6oO823g/bbDBBm7MMces69W+9957bqaZZqr571c1913XG9XBRUAEREAERKAjCTSSmL7yyivdtttu2wInA0c+v/POO91JJ53kPvnkk9L3Cy20kNt///3dpptu6j9788033TbbbOOFKDb55JO7m266yS233HId1kS9evXy17DTTju5iy66yH3++eduxx13dPfee6+/pk022cQLHWz77bd3N998s0O4TTDBBO7HH3/ssOsueuJTTz3VXXLJJe6tt95ytMsLL7yQ6xAM7I477jh3zDHH+O2XWWYZL8QRPpdeeqlngeC54IILHOK0o+zDDz90J554orvwwgtbXQIihvZCPL744oul72lP7qGjjcmc1VdfvfRMfPzxx3UXAtz3ZZddVnoWjcGiiy7qBSX93J5R2n+HHXaoO6aHH37Ybb755g4xjFX7jHGcHj16lK6X40w11VS+75vNPPPM/rOnnnqq9NkVV1zh309ZxnHXX399//Vuu+3mhfMrr7ziDj300NIucKVfnXvuuW7PPfcsfQ7XwYMHl2VYy37A8z3PPPO4scceu+7tVusT/Pnnn+6aa67xXHfddVfXt2/fXKdgspZJC95J1113Xel3J9fOBTZCrPM+5BxMto4zzjgF9s7etNr7rsnJdRAREAEREAER6KwEGklMw5iZf8QYxoD03XffLaH/4osvHINGE9Q//PCDm3DCCVs0Dd4XPJkIhtdee81NO+20Hdp0J598sjvooIPcxRdf7EU0hkhmEMdgKRTTP//8s7vqqqvcHnvsUfVAv6NulkHfWWed5Qeo3bt3d08//XTFS0Ewr7vuum7o0KF+Wzxv4WQKwjT07DKhsvbaa1c8bj03OOKII0rCn/MgjhBJZgi1ww47zE8sdBYxzSTOLrvsUrrGr7/+2nXp0qWemPyxYTHFFFO0OA+ewMkmm8zFgpRnhMmKetsJJ5xQEqdtFdNM1nEfRFDcdttt3ltpduaZZ7revXs7PM0rrLCCF9pMLhAZ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v/zyi3vssccc7cO61GYskUZ+M5W547W2U9fKuuVU6GbNXOVB1681WTYqZaMMf8GXWxaLSuosLZUy9mN/s9Q58iyRxzkI6ae/s5Qby5OxfFXWknX0MZYpS1me89WPso4sAiIgAiIgAiIgAhGBZhHTiIaFFlrIr2+KUBlZjUEmVY9PPPFEt9VWW7kPPvjAF25iuaHnnnvOzTHHHCPVrV100UVul1128evNfvzxxyPVtVd7sbQh60STP0zbITSfeOIJt99++/k2xOCy0047VXuKXPulruPzzz93O+64o7v33nv9MVg65/rrr/f/3n777d3NN9/sr5v+xvroWYaAPu6449xTTz3lN2EtcwmhXM1S1UYbbrih70NfffVVcn+qNq+yyipu5ZVX9hNXZkOHDvXVnNk3tB49evilyuxdyaTKoosu6tdxN2Pyi/XAea+mjGP27dvX92n6DM8467HzDsYOOeQQd8ABB7QqgnXxxRe7k046ya8PbkZ/o/r0lVdeWRUf7SQCIiACIiACIiACdSHQLGIaYXLJJZe4vfbay5111ll1YdkeB+UeuJchQ4b4gk3YgQce6E455RR3+umnu3322ac9LqOqc+BNZ1AceijxflLhecstt3RXX311VccdGXfq2bOne/LJJ733FzGCN+7rr7/2Fa4RG+0hpuEWXwefIZJ33XVXL/RDMf3zzz+7q666youvSmL6hx9+KHmkOWaji2k88JNNNlmuroiHFx4wrKVRnXnSSSf1h1xqqaXcbbfd5vvVu+++68455xw/EYIhklmCLDQm5xC32OWXX5657vAtt9ziIxXYn+OkjOiKgw8+2Avf7t27++XQ6OO2rjjXNGjQIHfUUUd5oc2a4ksvvXSLQ/3zzz/+/Wbi/e233/YebZkIiIAIiIAIiIAIdCoCzSCmv/nmG9e1a9cS92+//XakXBLk999/d5NPPrmbZ5553NNPP126H8IoX331Ve9FojpyZzSunQE+Hs8pp5yyxSUSZlouFLUz3k8tril13xtvvLEXPe0lprmP1HWcf/75bvfdd28hptkWTyYpBZXENNsiMLt06eJRNbKYJk1h4MCBfn3sPMaE3nLLLedD/Gtts8wyi/fobrbZZu7aa68tHZ4ohG222cZ7kjGEN9ERZjyXa665pv8vIfxZ6TB4qMcbbzx35513urXXXrvV5RPO3a1bN+8h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ljFpRl49Rn9nssaW7cvz3sg6Lsue0WbhMljhtkxU8G7s1q2bn+jJSmthggQvO9cVGu9HuPK+iz3WqWuCNc8IS2bxXNFXWFOaaBdY0a6E7RPeH9e0ICqCfsUzk8c4Fu1tZik8vIN4x8hEQAREQAREQAREoG4EGklM1w1SdGAGnAjkGWaYIfOUeGgYNCJuCGsm3NzWdW6v62yv8xBWTIh3KPoQGbGnH28S3MIliypd48jGkevFQxp67hDZeEpZj7ueRjhzPFmAJ48K1ixR1pGGZ5iJItq+UrVuvIykQpAfbQK80rUTgowHm74IByYUsu65muOXOz/tS6QH1zvWWGNVulQfbcI1EskRC8nO0t+p2k17kZ7CuwshHF9rxRv9/xvwLqA98ZLTP+kD9XwX8o6hPfC8V3vNee9N24mACIiACIiACDQ5AYnpJu8Aun0REAEREAEREAGz0KsxAAAgAElEQVQREAEREAEREIHiBCSmizPTHiIgAiIgAiIgAiIgAiIgAiIgAk1OQGK6yTuAbl8EREAEREAEREAEREAEREAERKA4AYnp4sy0hwiIgAiIgAiIgAiIgAiIgAiIQJMTkJhu8g6g2xcBERABERABERABERABERABEShOQGK6ODPtIQIiIAIiIAIiIAIiIAIiIAIi0OQEJKabvAPo9kVABERABERABERABERABERABIoTkJguzkx7iIAIiIAIiIAIiIAIiIAIiIAINDkBiekm7wC6fREQAREQAREQAREQAREQAREQgeIEJKaLM9MeIiACIiACIiACIiACIiACIiACTU5AYrrJO4BuXwREQAREQAREQAREQAREQAREoDgBienizLSHCIiACIiACIiACIiACIiACIhAkxOQmG7yDqDbFwEREAEREAEREAEREAEREAERKE5AYro4M+0hAiIgAiIgAiIgAiIgAiIgAiLQ5AQkppu8A+j2RUAEREAEREAEREAEREAEREAEihOQmC7OTHuIgAiIgAiIgAiIgAiIgAiIgAg0OQGJ6SbvALp9ERABERABERABERABERABERCB4gQkposz0x4iIAIiIAIiIAIiIAIiIAIiIAJNTkBiusk7gG5fBERABERABERABERABERABESgOAGJ6eLMtIcIiIAIiIAIiIAIiIAIiIAIiECTE5CYbvIOoNsXAREQAREQAREQAREQAREQAREoTkBiujgz7SECIiACIiACIiACIiACIiACItDkBCSmm7wD6PZFQAREQAREQAREQAREQAREQASKE5CYLs5Me4iACIiACIiACIiACIiACIiACDQ5AYnpJu8Aun0REAEREAEREAEREAEREAEREIHiBCSmizPTHiIgAiIgAiIgAiIgAiIgAiIgAk1OQGK6yTuAbl8EREAEREAEREAEREAEREAERKA4AYnp4sy0hwiIgAiIgAiIgAiIgAiIgAiIQJMTaCQx/c8//zj+xDbGGGP4z//9999W34066qhu9NFH95/z/d9//91iG/YdJYbU5H2mmW//p59+cm+++ab7/vvv3TTTTONmn312N9poo2Ui+e+//9xff/2V/D7uW3/++Wer7cYcc8xmxl23e//z97/dsCc/clPPMqmbcqaJ63ae1IG/eP97N2zQR26c8cd0sy88tes67YTtev68J/v999/dK6+84hZddNG8u2g7ERABERABERABEWguAo0kpq+88kq37bbbtmjAFVdc0fH5nXfe6U466ST3ySeflL5faKGF3P777+823XRT/xkiaZtttnHPPPOM///kk0/ubrrpJrfccss1V6fQ3SYJXH311e6AAw5wSyyxhPvyyy99P6EP8fk888yT3Gfo0KFujz32cE888USL73v06OHOO+88N9tss/nPf/31Vy9aXnvttdJ2c889t7vmmmv8OWS1IYCQveqoAe6Fh971Bzzkmg1ctxVnqs3Bcxzl4gMfdJ+8/T83ywJTunsvecHvcdqj27jp5uiSY+/23WS11VZzDzzwgLviiiv8e1EmAiIgAiIgAiIgAiIQEWgkMc2tvfTSSyXxMfPMM7t33x0xaMa++OILL1hMUP/www9uwglbeoXwYM8///zu448/9sJm2mmnrUufwQv5xx9/uAkmmKAux9dBa0sA4YyIpl9Yn9h1113dhRde6OhnePDGHXfczJOeeOKJ7pBDDvHfX3755a0mfWzHW265xW200UZut91282JbVlsC//77n/v285/cwav3cz/+71d32A0bufmXmaG2J8k42tN3v+nO2OVud+bj23mP+NVHP+buueh5d9Rtm7i5Fq/Pe6YtN2YROUwGnXPOOW05lPYVAREQAREQAREQgcYk0GhimlbC23zaaaf5Bvvwww/d9NNPX2q8Cy64wAsV7NFHH3UrrLBCi4YlLHfKKad0Bx54oNtvv/3q1uh77bWX93hvsMEGdTuHDlw7AtanXnjhhdJkzeDBg93iiy/uT/LUU0+5JZdcMvOE9957r1tzzTX99whz2y/eAQ/1eOON5yMp1l577drdgI7UgsDh617n3nzuM3fETRu7eZf6v/dDPTGdtuOd7tn73nb93t3bjTn2iNSSP377y401zhj1PG3Vx2aikbSGffbZx51++ulVH0c7ioAIiIAIiIAIiEDDEmhEMU249pxzzunb7LjjjnOHHnpoqf2+++47N+mkk/r/b7nllj5ENzTzQH700Uduuummq0u733DDDT60HC+kxHRdENf8oMcee6w7/PDD3b777luaqCG/nrxn7I477nDrrLNO5nkffPBBt+qqq/rvQ0Ge2gGP4GOPPab0gpq34v8d0MR031t6ubmXqM9zHl9+72Uuc5+/95279r193BhjZefZ1/G2Cx16scUWc88995w744wz3N57711oX20sAiIgAiIgAiIgAk1BoBHFNA237LLL+jxVQnLxTlNozGzhhRd2L774ov/vt99+6yaZZJLSd3vuuacbNmyYGzBgQOkzQsX79+9fCvFdaqmlXLdu3Vr0D0K28XRzLLyOhP3y/znmmMOttNJKzgpJWRgvOyPyl1lmGTfTTDP57coZubd4Lbt37+7eeecd792cYYYZ/P5mX3/9tUO0TTzxxP7zOISd7T7//HP38ssvu/fee8/NOOOMbsEFF/SFtGIjJP6uu+5yO+20k88lv//++90aa6xRyvFFSA4ZMsTfJwXc8MoS7pzHuA+O9/rrr/tcYyY3CKGG0a233urCQlx8zgTIG2+80eLQCFP2GzRokG9fDDawxAjhv+2229z777/vxhlnHEebk6ecKib37LPP+v7w22+/+e0WWGABzzA0+gm5owjmWWed1X/12Wefldh9+umnbuqpp868/aJi+vHHH2/RthwYBnisJ5poIp+KMP744/u/Q6Pdnn/+ecf1zDLLLF6Qm+DP0za0NX3tm2++8RNS5GtzPjPaDU4YfZb241wwNKNPhX2BPkKfXXfddR33xfO12WabtXjuUtf2289/uveHfeU+efMbN/7EY7vp5+rqpp19slabfv/VL+75B99xK2+xgPvs3W/dS4++7xZaaWY31cwjnuvhwSbu3Zc/d2+/9Ln75+9/h3uiZ3CX9XnIe6ZTYppjcN4/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QIAAAQIECBAgQIAAAWHaM0CAAAECBAgQIECAAAECBCoFhOlKMJcTIECAAAECBAgQIECAAAFh2jNAgAABAgQIECBAgAABAgQqBYTpSjCXEyBAgAABAgQIECBAgAABYdozQIAAAQIECBAgQIAAAQIEKgWE6UowlxMgQIAAAQIECBAgQIAAAWHaM0CAAAECBAgQIECAAAECBCoFhOlKMJcTIECAAAECBAgQIECAAAFh2jNAgAABAgQIECBAgAABAgQqBYTpSjCXEyBAgAABAgQIECBAgAABYdozQIAAAQIECBAgQIAAAQIEKgWE6UowlxMgQIAAAQIECBAgQIAAAWHaM0CAAAECBAgQIECAAAECBCoFhOlKMJcTIECAAAECBAgQIECAAAFh2jNAgAABAgQIECBAgAABAgQqBYTpSjCXEyBAgAABAgQIECBAgAABYdozQIAAAQIECBAgQIAAAQIEKgWE6UowlxMgQIAAAQIECBAgQIAAAWHaM0CAAAECBAgQIECAAAECBCoFhOlKMJcTIECAAAECBAgQIECAAAFh2jNAgAABAgQIECBAgAABAgQqBYTpSjCXEyBAgAABAgQIECBAgAABYdozQIAAAQIECBAgQIAAAQIEKgWE6UowlxMgQIAAAQIECBAgQIAAAWHaM0CAAAECBAgQIECAAAECBCoFhOlKMJcTIECAAAECBAgQIECAAIH/S5jGToAAAQIECBAgQIAAAQIEehI4f35Lrbnk/Kxs6cpctJjYt/xBFxIgQIAAAQIECBAgQIAAgYtAYIsRWZi+CPrSVyRAgAABAgQIECBAgACBRgLCdCNo1RAgQIAAAQIECBAgQIBAPwL/kzDdD4+WECBAgAABAgQIECBAgACBbQvUTfPedjU+SIAAAQIECBAgQIAAAQIE+hEQpvvpSy0hQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8CwnQ/faklBAgQIECAAAECBAgQINBIQJhuBK0aAgQIECBAgAABAgQIEOhHQJjupy+1hAABAgQIECBAgAABAgQaCQjTjaBVQ4AAAQIECBAgQIAAAQL9CAjT/fSllhAgQIAAAQIECBAgQIBAIwFhuhG0aggQIECAAAECBAgQIECgHwFhup++1BICBAgQIECAAAECBAgQaCQgTDeCVg0BAgQIECBAgAABAgQI9CMgTPfTl1pCgAABAgQIECBAgAABAo0EhOlG0KohQIAAAQIECBAgQIAAgX4EhOl++lJLCBAgQIAAAQIECBAgQKCRgDDdCFo1BAgQIECAAAECBAgQINCPgDDdT19qCQECBAgQIECAAAECBAg0EhCmG0GrhgABAgQIECBAgAABAgT6ERCm++lLLSFAgAABAgQIECBAgACBRgLCdCNo1RAgQIAAAQIECBAgQIBAPwLCdD99qSUECBAgQIAAAQIECBAg0EhAmG4ErRoCBAgQIECAAAECBAgQ6EdAmO6nL7WEAAECBAgQIECAAAECBBoJCNONoFVDgAABAgQIECBAgAABAv0ICNP99KWWECBAgAABAgQIECBAgEAjAWG6EbRqCBAgQIAAAQIECBAgQKAfAWG6n77UEgIECBAgQIAAAQIECBBoJCBMN4JWDQECBAgQIECAAAECBAj0IyBM99OXWkKAAAECBAgQIECAAAECjQSE6UbQqiFAgAABAgQIECBAgACBfgSE6X76UksIECBAgAABAgQIECBAoJGAMN0IWjUECBAgQIAAAQIECBAg0I+AMN1PX2oJAQIECBAgQIAAAQIECDQSEKYbQauGAAECBAgQIECAAAECBPoREKb76UstIUCAAAECBAgQIECAAIFGAsJ0I2jVECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB8BYbqfvtQSAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQjIEz305daQoAAAQIECBAgQIAAAQKNBITpRtCqIUCAAAECBAgQIECAAIF+BITpfvpSSwgQIECAAAECBAgQIECgkYAw3QhaNQQIECBAgAABAgQIECDQj4Aw3U9fagkBAgQIECBAgAABAgQINBIQphtBq4YAAQIECBAgQIAAAQIE+hEQpvvpSy0hQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8CwnQ/faklBAgQIECAAAECBAgQINBIQJhuBK0aAgQIECBAgAABAgQIEOhHQJjupy+1hAABAgQIECBAgAABAgQaCQjTjaBVQ4AAAQIECBAgQIAAAQL9CAjT/fSllhAgQIAAAQIECBAgQIBAIwFhuhG0aggQIECAAAECBAgQIECgHwFhup++1BICBAgQIECAAAECBAgQaCQgTDeCVg0BAgQIECBAgAABAgQI9CMgTPfTl1pCgAABAgQIECBAgAABAo0EhOlG0KohQIAAAQIECBAgQIAAgX4EhOl++lJLCBAgQIAAAQIECBAgQKCRgDDdCFo1BAgQIECAAAECBAgQINCPgDDdT19qCQECBAgQIECAAAECBAg0EhCmG0GrhgABAgQIECBAgAABAgT6Efg3Q69ZsWLkQlAAAAAASUVORK5CYII=", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "In new state frozenset({\"click('order form')\"})\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "start\n", "\n", "<start>\n", "\n", "\n", "\n", "state\n", "\n", "<state>\n", "\n", "\n", "\n", "start->state\n", "\n", "\n", "\n", "\n", "\n", "state-1\n", "\n", "<state-1>\n", "\n", "\n", "\n", "state->state-1\n", "\n", "\n", "click('terms and conditions')\n", "\n", "\n", "\n", "state-2\n", "\n", "<state-2>\n", "\n", "\n", "\n", "state->state-2\n", "\n", "\n", "fill('email', '<email>')\n", "check('terms', <boolean>)\n", "fill('zip', '<number>')\n", "fill('name', '<text>')\n", "fill('city', '<text>')\n", "submit('submit')\n", "\n", "\n", "\n", "end\n", "\n", "<end>\n", "\n", "\n", "\n", "state->end\n", "\n", "\n", "\n", "\n", "\n", "unexplored\n", "\n", "<unexplored>\n", "\n", "\n", "\n", "state-1->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-2->end\n", "\n", "\n", "\n", "\n", "\n", "state-3\n", "\n", "<state-3>\n", "\n", "\n", "\n", "state-2->state-3\n", "\n", "\n", "click('order form')\n", "\n", "\n", "\n", "state-3->unexplored\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "None" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "('', 'PASS')" ] }, "execution_count": 137, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer.run(gui_runner)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "The next actions fill out the order form." ] }, { "cell_type": "code", "execution_count": 138, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:05.630878Z", "iopub.status.busy": "2025-10-26T13:36:05.630759Z", "iopub.status.idle": "2025-10-26T13:36:06.163847Z", "shell.execute_reply": "2025-10-26T13:36:06.163389Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Action click('terms and conditions') -> \n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBXhcx9WGxyzbsiyHmbGhhpkahuZ3A07SMDTM7GADDTM70DAzN5yGyU3D2DA5ZJRkyZL1zzs3ZzU7e+/uvdKKz3mePLF2L8x8AzvfwT7NVoyKIqAIKAKKgCKgCCgCioAioAgoAoqAIqAIpEagj5Lp1FjphYqAIqAIKAKKgCKgCCgCioAioAgoAoqAQ0DJtE4ERUARUAQUAUVAEVAEFAFFQBFQBBQBRSAjAkqmMwKmlysCioAioAgoAoqAIqAIKAKKgCKgCCgCSqZ1DigCioAioAgoAoqAIqAIKAKKgCKgCCgCGRFQMp0RML1cEVAEFAFFQBFQBBQBRUARUAQUAUVAEVAyrXNAEVAEFAFFQBFQBBQBRUARUAQUAUVAEciIgJLpjIDp5YqAIqAIKAKKgCKgCCgCioAioAgoAoqAkmmdA4qAIqAIKAKKgCKgCCgCioAioAgoAopARgSUTGcETC9XBBQBRUARUAQUAUVAEVAEFAFFQBFQBJRM6xxQBBQBRUARUAQUAUVAEVAEFAFFQBFQBDIikI1M9+mT8fF6uSKgCCgCioAioAgoAoqAIqAIKAKKgCLQjRBobk7VWCXTqWDSixQBRUARUAQUAUVAEVAEFAFFQBFQBHoFAkqme8UwaycVAUVAEVAEFAFFQBFQBBQBRUARUATKiYCS6XKiqc9SBBQBRUARUAQUAUVAEVAEFAFFQBHoFQh0CJlO+ZJeAbh2UhFQBBQBRUARUAQUAUVAEVAEFAFFoPshEOYGS8lz2xYznfIl3Q9NbbEioAgoAoqAIqAIKAKKgCKgCCgCikCvQEDJdK8YZu2kIqAIKAKKgCKgCCgCioAioAgoAopAORFQMl1ONPVZioAioAgoAoqAIqAIKAKKgCKgCCgCvQIBJdO9Ypi1k4qAIqAIKAKKgCKgCCgCioAioAgoAuVEQMl0OdHUZykCioAioAgoAoqAIqAIKAKKgCKgCPQKBJRM94ph1k4qAoqAIqAIKAKKgCKgCCgCioAioAiUEwEl0+VEU5+lCCgCioAioAgoAoqAIqAIKAKKgCLQKxBQMt0rhlk7qQgoAoqAIqAIKAKKgCKgCCgCioAiUE4ElEyXE019liKgCCgCioAioAgoAoqAIqAIKAKKQK9AQMl0rxhm7aQioAgoAoqAIqAIKAKKgCKgCCgCikA5EVAyXU409VmKgCKgCCgCioAioAgoAoqAIqAIKAK9AgEl071imLWTioAioAgoAoqAIqAIKAKKgCKgCCgC5URAyXQ50dRnKQKKgCKgCCgCioAioAgoAoqAIqAI9AoElEz3imHWTioCioAioAgoAoqAIqAIKAKKgCKgCJQTASXT5URTn6UIKAKKgCKgCCgCioAioAgoAoqAItArEFAy3SuGWTupCCgCioAioAgoAoqAIqAIKAKKgCJQTgSUTJcTTX2WIqAIKAKKgCKgCCgCioAioAgoAopAr0BAyXSvGGbtpCKgCCgCioAioAgoAoqAIqAIKAKKQDkRUDJdTjT1WYqAIqAIKAKKgCKgCCgCioAioAgoAr0CASXTvWKYtZOKgCKgCCgCioAioAgoAoqAIqAIKALlREDJdDnR1GcpAoqAIqAIKAKKgCKgCCgCioAioAj0CgSUTPeKYdZOKgKKgCKgCCgCioAioAgoAoqAIqAIlBMBJdPlRFOfpQgoAoqAIqAIKAKKgCKgCCgCioAi0CsQ6GlkuqmpyTQ3N5dl7Pr162f6hACV5cmd85Dx48ebu+66y8w666xms802M/379++chpR46/Tp0w3/xUlXbXOxLhWbk+XuD3Of95VTeto6KCc2PeVZpfbNcs9TcPv111/NBx98YL799ltTWVlpllhiCTPffPOZvn375sH6/vvvm7feesvsuOOO3Q7uUusxaW19/vnn5v777zdrrLGGWWmlldrc72nTppmHHnrI/Pbbb2abbbYxw4cPb/Mz9QGKgCKgCCgCioAiYBHoSWT6hx9+MHPMMUfZxvU///mPWXbZZcv2vM580EsvveQOZiJzzTWX+fjjj82QIUM6s1mx7z788MPN+eefH/vdf//7X7PMMst0uTYXa9Buu+1mrr/++thLGhsbDQfqcsljjz1mNt1003I9zj3nlVdeMausskpZn6kP61oIbLHFFo5sxckCCyxg/ve//5WlwU888YS5+OKLzRtvvGF++umn2GeuueaaZr311jNbb721mWmmmcyf//xnd325lKRl6UjKh7z55ptmxRVXTLz6zjvvdOTWF/Y+9kCR7bbbztx2220p31h42cSJE80iiyyShzftWn755Vv9TL1REVAEFAFFQBFQBH5HoCeR6alTp5oXX3zRjB071hxzzDGJY7zLLruY+eef33DIgIB/99135oUXXii4vieR6VGjRjmrtC833nij2WmnnbrcWsBaxYHy2muvLWjbq6++alZeeeUu1+ZiDcKqdtxxxxmIbigdQaaHDRvmCMncc89tzjrrrII28P1+++1nvvjiC9fGyZMn512jZLpbTbdWNfazzz4zH330kTn77LML9sJykOlffvnFHHHEEeaGG27ItW+55ZYzI0eONGuttZazTLO2n376aXPffffF9qE7kuna2lpnVX/ttdfyCLJ0MCTTDQ0Nbp2GigbGZ8EFF4zFhXdcd911ZuONN4695oorrnDr25fdd989dn9t1eTRmxQBRUARUAQUgd6MQE8i0/44XnXVVWbvvfcuGNrVV1/dEe5QcDW87LLLzJlnnpn7qieRaay577zzTl63jzzySHd47oqCYmTw4MEFTeuuxA5X1SWXXLLdyfQjjzxiNt9889x7zjvvPHPAAQeYgQMHus9w8Q8P6ksvvbR5++233ffg/o9//MOcdtppuWfg1bDaaqt1xWmibSozAs8884yzCvvSVjJ9zz33GLwzfCXNOuusY/71r3+ZQYMGFfTgjjvuMFhjQ+mOZNrvA55BrCVfbr/9drPtttvmPsL1HWt8KHgN+Ova/148X5KuQYnBPuCLv+bLPIX0cYqAIqAIKAKKQO9CoKeSaawBWD5COfDAA52bYZKccsop5qSTTnJf9yQyjZJg9OjRed3u6i7TxFBipfalu5LpJOVAuS3TDz/8sLNCI5deeqnZf//98/ArRablYjw7xIqtZLr3/CbE7ZttIdMPPvig+b//+788AHE5xgo9YsSIRGBpB5ZWX/HT3cn0lltuWWB1D8k0gGy44YbmySefzGGD58jPP/8cq3i45pprzN/+9jd3bRKZfvnllw1KZF/i9obeM8u1p4qAIqAIKAKKQBkR6KlkGpfFxRdfvACpUmQackMsGVbcnkSmST52xhlnmCuvvNLMPPPMBqv0PvvsU8aZVP5HxVnTu6ObN8h0FJnmQE386yabbGIeffTRgkFJS6YhLgsttJAhERKeHOFhvPyjrU/sCgjgofDHP/4xrymtJdMffvih+cMf/lDQrbvvvttstdVWJbsbksCeSKbjYqZRIOIdcuuttxos+Mcff3yBtwDg8fvkxz0Xs15fdNFFTokMKUfBduyxxxpIuooioAgoAoqAIqAItBEBJdPG4FaIa524N+L6fPTRR/coMi3ThKyuJLwKM+a2cRq1y+1KprPDKpbAJMtTWjLNm8U6TT4BP3ld9lbpHd0FgXKSadySCTsIhVwVVVVVqSA58cQTzamnnuqu7S1kWoCpr6+PtUbzPQnhCL3wLffFyDT3UCGBrO0DBgxIhb1epAgoAoqAIqAIKAIpEOjtZJoDRnV1tdl3331zbq1YBnAxJs41zrKSAtYeewkWbg5w88wzT2xMc1LHsfgTl84BcZZZZinq4inPKEWmKfNCe0gml1U5QDs++eQTN/Yk/GmNQAqw3M4777xmhhlmKPqIjrJMP/DAAy6pE3M4zjMjC5l+/vnnzdprr+2SJ/nleSA133zzjSFZEvNA4rFbg2FdXZ356quv3HOyZpaXe0leNfvss8dmRYc8MO+Yf4xTmhJP3EP/+L9/D0m0KJU344wztqar7h6SRX3//feOGDIWaUllsReyh3366aeu3BHPzFLOj7YgUgWhXGQaD5JVV121oNmU5CMUIa0QZz3nnHO6eOs0ZJr+ME54VWSdT3FtYp9gjTO/2CvSCveR0I+kYUJe49y84yzTpd5Be1iXzGtfSpHpUs8Nv2f+0wfWDnimWTul3pH196M912Kptur3ioAioAgoAopAKgR6O5mWGMGjjjoqL9MxWb45QBFDHXf4g0A899xz7oCx8847u0y4cUKWVYg5QimqrNmzt99+e3PooYe2+l7iE08++eTYtmH1wXrEAYe4RghfKLQXRQPJ2ah7Sp9FcEHEfZBkNnHCAZj7rr76ancg9QUXQ9651FJL5X1OnKQ8L45MkyCJGF4ssJTLQXgWGYGJC49L8iUvgPwRB0w/cJEUkftxfeeQWkzGjRtnTjjhBJd12O8TpcbWXXddZ0WDgIVSikxDPg466KDEV+MaC+EsJRBMlAwQkDjJQqY5yNJfIVqQauYSbt9+Mqm//vWvhrm06KKL5l7573//24USxAnXEheK++o555yTu4R5duGFF7pxTCJcTz31lPnyyy+dm2po9WRc+LyiosJMmTLFPZv168thhx3mxi+OGEFOGIMwmzTzkfkF8dl1111jM6IXGxfayxogvjWuHBTVBXgu68mXpL2Ha8ABokPYxr333pt7LnOZ/tGPuORe3MvYgRPrQAgZSsMddtjBjUtYyqk1bt7sp/7YSr9wNSbUJotQVo6QBfCPE9YyWJFPwceXcSPcgfkWEmuSdqEsDWWxxRYzVDlgf+H/JE8TAYdzzz3X/OUvf0lsPtnw8Wzy90lc2snmz94Qzi2fTBcbb9qB0g/XeeZJ3DyifaLoIYSHdibt6+z74BInxHGPGTMmrw9cR6gHv3XEaPsKm/b4/WivtZhl3um1ioAioAgoAopAKgR6O5nmAElsWkimBTwOP7i7YsUMpaamxh3ScBOn7JR/8JJrfateXCIYDigc7LEIhZYGngGxwOW8tfdiCTr44IMNJDQUiD6H+EmTJrmyNRz4QznkkEPcwQ2M4oTDO6QyzEALOeRg7pMuDtckHUI5EJZfkmdTOocDGxJHpktN6iTrDKVlIH1CwFEygAvZc/1DJWQRohFnhaFGLsoFOchusMEG7pkcnKXkD3jcdNNNBUmXSpFp3DYhzJQE8w/K1NwloRiH43LEOGYh04I1linmISRNBDdywgUgwAjeBig5sGAh9IeEd2E5Nr5jnpFgKY4ccYifbbbZXDZxGSt/zLmHMm9JwjtZy5Ao5mCcQEYgo359bxRdECmRjTbayI0h88aveZ60TyS1x49rFaI733zzuXJJ5DDwBUUPzxeB0DEffcWPfIeyAUVb0jr6+9//nkuk6L8DYs+eECb2k2toY/jM1pBpLLKhAo13tMYSm4QtFnmUeShIRJiPeFGguJDM2SgKeK8oNbkW7FHcxGW2Z62FpaT8NqBI+9Of/lTQLDJms49mER8PlBvs9XG/NXgesLYguox7KWF97rjjjm6P88uRyX0ocFBS+MK4o4SRz5kLKMQg6MxDwQqSTtlCSSBX7t+P9lqLpTDT7xUBRUARUAQUgVYh0FvJNAcx6m9SNggpdkhOKmskZJr7IRy4+oYHUZ9MQ8Y4pCOQBogsFm4splhow0MUBIVDFK6gbbmX98WRKCHTMnGSrEl8T2Z0rHMcQEOBZPkWwK+//tpZiH0s/GvEFdl/zjbbbOMsaVg9eA+SRKY52HGgI5Y3zFbNfXgJ+FZSrKsLL7xwXnv8TOaQZ5/YcCC//PLL87oJ+YI8izA2WAZRpmDBJabYJ29hlt5SZFqe67uCcmDFgpbFbbfUJtAaMn3BBRfkERawkjruJErCwoxgnQcD3ypOHoI4RU5SO1He8D5c6JPcasEeogChjCMeKEr4HEUVcyru/bfddlte+SW/bBFECcIk4rs+ZyHTuBxD0GUdhPMqrmTR448/7pRQIngZFHMrp14wBDmuj1gMfQzZZ3D9D0kuY8i+hPU3zlqZlUzj4ox3QJwkEdFS8zbue6ou+PsOFmAUUgieRewB/h4U1mr2M9+Hz2eOUZ6La0K8VlllFWcF9wUCylr1hfmHRZo5iAIxLE3ItaFygTayV4UiZJq9hr2EcQ+VUfy96aabulspKyihL1I6y39mSKb5PWTf9Ut3+XkXKGOGgkoEBQV7qB9/Xa7fj/ZYi62ZX3qPIqAIKAKKgCKQCoHeRqY5BGChGDt2bN4hqdghmYOGb8USYH0yzWe4KHMY9sUn01i5IUsh+cS6AokIBTLFoQlpy73cTxwtJNaXkExDMLC0hoJFWSwuKCBCqw0WPKwqIn55MfkM6624UIMbca6+hFY5vosj0+F1hx9+eJ7lkPs4BNMXESzdWItFIA4cDkXefffdAld1f9xwnUY54B+qw3aEuPiKEN6ThkzjQooliHtxk/YtpQWD0soPspJpCGHoMg4pEPd82um7J6MgYl6J+CW2/CYzr1kLYe1cn1xAhkKyjAsypA9PCBRYzJHQyopFDRdwrPoIbsUQA1/89Q7xEld2rgnnM5+JwiULmY6zIjKHiPFHQgUNn2GZ9Gvd8xnuvaHXCgQX4oMVn7lFaEFoZQ2rEVx11VVm7733zsMBZeIll1yS+yyO4Gcl05B76WM4TctVji8uU3hYNg8PBt8zAg8PrP0iKP3iQjIYf0g53ilxewP3+/HbSfjzfMnH8N133zllUyhxpbHilGdCpuX+cE/j8ySvHMY3DCEJyTRrVn5r5B3se6IUob/E5PvKCSzxvldAOX4/2mstFgCvHygCioAioAgoAuVCoLeR6STcSh2S4w44IZmOy17rkzIIHYcgDptyiOMAjPteaNEm3g/CL+7GbbmXPm+99dYFbughmcZdHSLqC9YVYmRF4hILoaDw4w9xswxddCFFvsUFa7vfZ/qLBdCXUgnIuJb3+Mmx5H45fNJ2IVXyXUhYsNiF8aVY4t98801nFT799NOdhckXLFa4y4qUek8pMo0rMYoBiCBzJi55WDnWfFYyjeIERYEvZISXeRkSJ9o/YcKEnFUM3MAvFCyuuIkynwi1gGTutddeziot8a1x4x8SpjirG54LvoX15ptvLshV4BNmFD3Eu/tCrD/uvmLdw1IOMfITFZYaj7j3+vPmxx9/dHkZfMH7AS8UX+JcpnGTX3/99XOXYZEkXtcXFFxS4xlihHt5SLjxruBzkXLUmY57hjw/fF8pDJO+j/N4CC3xpdZtEsH193UswXEhH5SYktAWvFhCD5k99tjDuZr7EqfQ7AgyzVwWDyxpj0+mwY3fI38/Zv/j98eXOMxRtskcLsfvR3utxdbOM71PEVAEFAFFQBEoiUBvI9MccrD+YV1Dqy4Wn44g07yLw6RP7jick0QoFNw2/QN+W+7l2a0l02G9YmJhJS5W2ozFhezHIlj+Q2thaFmJI3WQWt9tMA2Z5lCLJTcULPkcXv3SOnINh8vQuh5n/aNP9I2sxGH8LcTfT7xGRmqflPAu36JXjEyTlEksPCFZLLmAM16QlUyHYwBZJkZShMzJ1C33xccmjkyHChruxcockpa48Q8tm8QGhwn2Qq8BwgEkdEDa6WeVRmkSJt3iOggFXhYQVZQqkCz+nzZLNEnQ/Dh3/s08kVhTiC3j4UuomOK7ODId1luPUyqQ50Dia+MIbjiWvKsc2bzDmFe/f1iU2+pxEefZEteXW265xYUD+IKCRJRDSWQ6zBoet2YkAz3PjsvSTV6APffcM+/dabN5l9syXYpMx3lIEHYTupGj7ArzavjhEnFkOuvvR3utxYzbpF6uCCgCioAioAikR6C3kWlcPiEvCIddDuxYxTqCTIejkmTBiXMzbeu95SLTYMXh3pfQDTR0r+Ta0DIdHhghxFjq/M/TkGmeHXf4FNf0NO7tPCNOAYD1j/jZOBf/UDmQROrFypVEpmmnn/U6zqKVfjWXvjILmU4Kb/DLxUGCQ1dsvCiExMSRafpLxuNSkoZMQ6Qh1L6EZDrOa8An0+wDuHknJfNCaYKrbEjIS7Wf71HIkG0bRRFrEPdnMKPsGGSXUA5fWkummTf//Oc/857lEx2s1GEWahQIr7/+et495SDTWDqTSsWFSoA0GKbZ+9g/yI3gS1yffUVOW8i078Idt3eEse+0q6uS6Tg38DBcg/aj8MNzxBeUlaLMSkOmS/1+tOdabM1c03sUAUVAEVAEFIGSCPRmMg04cgDoaDKN9QMLtZ/wRQYrJJ7hILbm3o4k03HurcS5SgIbDr3EevoSl/QrLZlefvnlCzIeSyxonFUvTD5FO+Jc0zlkbrHFFrFxlf5hmvtDK6T0TeJWk8h03AKNc/0suZBTXpCFTOMNEVeDmwRMcQoGaQLkVlyQ48h0XFxwXPM7ikzz7jDJWlx7SCJFPHNr62qTkZ+5R3blJOLeXmQ6rn9hojX6XA4ynaSE4fn+PpByyhZcFhebGxfX7Sdt9B9C+1DAlYNMJ/UVbwgSafnSVcl0nHeUb8GXPsStZRQ0KIv831K/z6FluhSZ7qi12Nq5p/cpAoqAIqAIKAIFCPR2Ml1bW2uGDh3a4ZbpOC0+g5PGateaezuSTBNnSLIfP4bTt7bHuR3GZflNS6YhvCTf8QX3XBK9xblvh7Hi3OdnkJXnQJxwk41LUuQnkuJ6mUfhAkNZstpqqyUmIIvbknBZhdQkJXFqyzaWhUwnkY2w78Xa013INH2gHJdf/iuuX0klp4phgBst8xGCJUIGdBQOYW3p9iLTYeZr2hEXn10OMs2z44gjn5M5nGRubZE4Mh1nmY5zX+a9EvNfDjId53LOO2Td+/3sqmSapHQkp/MlzjIdN4f8ZI7lsExLG9prLbZl3um9ioAioAgoAopALAK9nUwDCpZNDra4hyZJORKQybM5gGFJCZMBhTGVcW1p7b0dSaZpN4SaMlp+3VWsFMQg+3F3/M0hDMIZSloyTWw5iWt8EetuXNKcG2+8sSAhVdy7cBOlzWFyMt5D7DhjKJJUwkgSFSVZpimFQ9/DuYD1F1dgP4a8HFtYFjIdl5iNNpARGWVJGulOZJr+QCbJrB/OJ7+vkjytVP9x5yasJMyJwLjilRJnpWsvMi2Z4v02x8Wul4tMx5WK4t1hJv1SGMZ9H+e2H0emUbChaPPFx7ccZDopQRlEnr3Hl65KpuMStZHZOwxBiMv0jreG1GEvJ5ku91pszTzTexQBRUARUAQUgVQIKJk2BpddSEuYWdcHsJxkOq50FO8iKywudyLEolGOxC+b1dp7O5pM0wcOmrRdyhKhLCBZFWWViDMkYzXJnZLiK9OS6bjrSGSDkiQuzi8uOVCcO7jUq46LiQwTKcUdzP2kSMUSkEEOQgsl+GG9PPXUU1Ot47QXZSHTPDMOF7H6p3lndyDTZCQmYR0JlkR5AeHFOkbcfChChkv1n3rcoRXWx64jyXRc/DD1uEkW5ku5yDSeGnhWhEoi3vXrr78mrvk4TFEgUsqOOtJIXH6CuARkceSOWH4pk1cOMk174vaHsH4013VVMh03NyiRSAI3X+Iy+5OxnHh9pBxkur3WYqm1qt8rAoqAIqAIKAKtRkDJdDro4sg0WY39bL2lSmPxpqQarBxsKS8lGY1JXDTPPPM4CyqW1Lbe29FkGjKL+yAxw1iNICDUDc4iacg0LptxMawyNnG1fiGoEFWRuBqqtJmYYchVXEwh9ZX9hFRkh6e9vpCIjQMmUqo01ujRowvqC3NfmNU9C35x12Yl03Eu9GCDokGyUst7iB/FhR8vDynt1R3ItJCJuKRR1GYniZ0vYVm0pDGJCzHw39GRZDpuftLu+vr6vPVTjtJYgkdcNm2+y+IqT2w5yeJwkSfBGlnLkTglT9iXuHASMnkTD4yUi0zH7a0oYsJyeu1Npn2PERQQhC8hpbJ5x1UiQLn37LPP5k3tuH76NefLQabbay22dd/U+xUBRUARUAQUgUQEeiqZTsqU/be//a0gPizN9Ig7vPklgKhDSxKrMLNxmHBn2223LSg5wvuJL954441zTcE9FIuun6ypLffGHeTC2OE44pkmgUxYGgurrZ/xubUZquPINK6bKC1E4kqp4F5+8MEHu0uwjlPayq977SsouCYu0ZafkTru0O0f7HlGHHZ+xm/q/MaVVJL4TYgA84fDqS8QV5QsUtM2zVxNuiYpWVKci6w8I85Vlu/CMcUlHOUJ7r2+teqYY44pCJ846KCDzEUXXVSyK3EWv7A0VjmyecsB3ld++I0LSwKFLv5xHUkabxKBiacJSjLq/fqS1s07LKEWl83bL43F2JO9G+WWL2HIQ5znS1g7vOTA/X4BSiqsmXGl/yQxX7FnoXjEGs21uIfjPTB48GB3CwqNMNQgTNwYKsFQWL777rs55YEoLMM2ZC2NFbdGCAHB6i/KUSz0lBQME8+F3ki0pbWlsWTfk98+cTXnd4TfE1/8OtN8TgJOKguIxO0J4W9guAeU4/ejPdZi2vmq1ykCioAioAgoAq1CoKeSaQ5wvsu0gEOZGw4bffv2zYRXXIklDnO4cUIeSVYVEmleQCIXskJXVlYarJlx7rw+YeXQCwGRg40ckNpyL8/EhT10ufTLmtBWiHtYsijMkoulNIwFDF0sIbJSfkxAJj5zzjnndPHHWHs5ZHIfhJn/llxyyYIxiSPToVU5dD2EjKDk8GsWjx071qywwgp540195BlnnNF9FlrQaCuWMP9QC/nz3e3DeFNqyvoxhiSygpiIJCl3/GReHPT92tVyL/MMC2ncITvLJIaU4PoeJ8WSiiUpcSAnfIfbLRhCFEL30DhvDb8sVVL7k0qNgYMfB0vMJmvEF8jvmDFjch898sgjeQoYviAmHUKK+G6uvuVSHiCKLf6m9jSKmVL7R1IsLXMehR5x1ygeQuF7siOzX9DGpFj8MElI/kYAACAASURBVCN9XAK9sJ46ceB+7XrezfpG4cdYEv6AQiROwJ15mHUOEjdO/K24Vsuz6SckdO211y54HaW1aAvWXeYURBpMQmVUuCf7+xlKKvYUf0/GZV+yzPPSuHnB51Jfnn8nJRYM68zH5W2g/Ycffrhzayfrta/Qk06TUf2uu+7Kub3j8SFeHT4wYdvjlEhcz1zFQlxdXe0Uc+y3O+ywgyvD5ku4f4EzZN//jfDfGXpUMX7ke4B0i5Tj96M91mLshNYPFQFFQBFQBBSBciHQk8g0rrS4E0MacJtNEjJLc8CgPBOHilIHY54TRyKzjAGHEUhAaHnkGWj4cemG0GCh9g80EnsXRyzT3EuiI4ggZD8ULMokj6FdWKhwfY6LceRQuP/++xssrRB9sAgFosk1HMh23nnngsNzKawgWJQMEoLL9X6fObRJ2zj8Y7XkgA2ZEoGIglecO3loNdluu+1cPDKkmvkgzwYvrqXusC+QAvDxk9QRE0tfmXNk/RahLBfKkIqKCvcR85Es7XG4Qayw1KIEQGFCu+LGgPkMWZBnlsJTvsdCSmZhxo4kVMyxOOH9YDnffPO5NSEWQK6l/jcKlA8++KDoa8kOLUQQEsic8sfHvxkyAAEB71CwxIMf8yEU2obCB1ILQWDehdY+Dvoocxgb3KrJQhxHZHgOMbSvvfZaXg1mxgAlTVVVlSHLPIRIhGvxIEgjSRmt5V4Ua0mJzrAcEu/PfAuJEPdjZab9tAXi6St65PkQZbJnY3GXPS4uh0CavnBN6KWS9j6uY19jXYTzDwyYWyj7fvjhB2fNpbSeCOuGBFm+cky+Q+ECTn7VAMgYijPG31cMhnkSINLMwbh5gUKI71hrvBsFSyhggSJVyl+xNpjPcWs3DU7kTWDessZRXIQCTswFmXtJmcrlPp4HDigx2GPiBC8JFE+ipEDhhyu3jBH7KUop9mT2dskfwF6Ml4AkjcSrply/H++99167rMU0Y6DXKAKKgCKgCCgCrUKgJ5FpEonFlTEqBgyH2TjrSNw9uK9yGA0P7xysOLxxoOWQxqGIgwZucVhjIWYcrEkmllUgahzY0hD+8Nnciwszh8NiAtGHRBUTDmccrEILk3+PlL0hWZDUlM7SXw7/WDvE+iVkGnd0iBGHWg7kcQJh4nBbrAYwz8bF+9VXX419BmSZ58Qd3OUGatfyjLhDM+OOdXqbbbbJe35c6Rn/AqxWWHbj3MD963yLWVpck+JCi90fV+ecAzOHefAJhX5jiWdtSP3pJKtfeG/oUsv3afDCGl1qraNcgxDEeYxIO5jTkAPGAMsr8aNxCi/mJqR25ZVXTgu9U9TwzHC+8T6UI8xllFlY9HyByDGXITBhySL/OpQXWJ+xKhcTcPAz0idl2kaJQDzzYost5h5HOwmRoO8o3lC4+KEoqYH4/ULmEPskSqykOtvyTEgy2aOxLhcTvG5QFjL34oQ2Y8UPPT7i4tn9+1GUkV8Aq3qShHW6x40b55RhoYIE/FAOsYdCYBGUISgE2Xf5fWCesLaKjbdf05lnsB5RbvrCmGGZhnzHxUKHfQnd7RkXlHtxXhPci+KR30E/7CTNe9L+fjBe7bEWs85VvV4RUAQUAUVAEUiNQE8i06k73YYLcUF8+eWX3WGQAwWkWUgQn0Pmll122RypaMOruu2tuLiSKKgY8U7qHK7OcoC+++67nXV64YUXzl0OMcDFEmLJe8gMDpkoRoDDd2HRgjBhBSGJFu/AtbIYEfefAQHkAEk7IOgciHkGh+bWKD2600BPmTLFYcc4kYUdCzH9zur+25X6jMIJayAknnnE31igcRVG8HRgfmT1CuBe5gr7AtZ29gmew/z2yS1km7mEazfWxKyJ+lqDJR4LWCJRtrAGZB9jTeFdwLiiDGwPgQCzfvGWwBLNGgIPMv3zTkIRILtZBM8RXKTBEUUXRBUCjfdRRwt7AxZv5hJjjbcOwrpBwYL7finFWdo201fCWCDyzC367HuVpH1OeB0JzFjjtJk5IaE4eGu0p7TnWmzPduuzFQFFQBFQBHoxAkqme/Hgt1PXOeBhWZMYYg7mkllWXsmBGlIbWg395FXt1Dx9rCKgCCgCioAioAgoAoqAIqAIKAJtR0DJdNsx1CfkI0DJKBJ4IbhJ+om5QqywTIlbKd+F2c8VW0VAEVAEFAFFQBFQBBQBRUARUAS6JAJKprvksHTbRpG51o+nw2WUGLhiglunlOwh2RWxiiqKgCKgCCgCioAioAgoAoqAIqAIdGkElEx36eHpdo0jdpGYT8kIS5IksmMTXxsK8bdk2ZXkQX596G7XcW2wIqAIKAKKgCKgCCgCioAioAj0LgSUTPeu8e6I3lKqhvrafsZrSl/NP//8LtEQyXK+//57l6SHRG5koKUmc1KN245os75DEVAEFAFFQBFQBBQBRUARUAQUgUwIKJnOBJdenBIByuBQ8/mVV15xWbOJjSaDMEJNWTL3kvWczLYjR44sSFCW8jV6mSKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkIKJnuHNz1rYqAIqAIKAKKgCKgCCgCioAioAgoAt0YASXT3XjwtOmKgCKgCCgCioAioAgoAoqAIqAIKAKdg4CS6c7BXd+qCCgCioAioAgoAoqAIqAIKAKKgCLQjRFQMt2NB0+brggoAoqAIqAIKAKKgCKgCCgCioAi0DkI9CQy3dzcbKZNm5YJyL59+5r+/fub6dOnm7feesvU1dWZNdZYI9Mz9OLOR6C2tta8+OKL5tNPPzVLL720WWmllcygQYMyNey3334zTzzxhPm///s/M3jw4KL38r577rnHLL/88uYPf/hDpvd0tYvHjx9v7r//frP++uubueeeu0s0rz3wHTdunHnyySfNwgsvbFZeeeVcP7///nvzr3/9y/z5z382M888c5fof0c04rPPPnN73jbbbNMRr8v0jq7Stix7QqYOprjY/pyZb7+dbr75ZrqZcca+Zr75+to9Lbrxtdea7B7Xz4S/3yke226XfP99s11H0+w6GmDXUZ92e0/WB//2W7P57LPppqLCmPnn72eGDYue8Omn081MM/UxI0Z0nbZm7Vt3uv6dd5rMIov0c+PQkWJ/qu1vdYP9re5nf6v75V5tj3zmjTeaDOfGVVbp3yFN6iprhL43NrZ02R6D7Tk4HoKGhsLP+1kY+a8jhfb+73/Tzfjx082cc/Y1c8zR17WBz99+u8mNr0p6BB5+eJpdi33sua91c//jj6fb8/I0s+22A80ss+geWvBjzA94CuljN6B0V/KwVjL2FO3Iu4SD4XLLLZfptlGjRjkCcdNNN5mffvrJHH744ebcc8/N9Ay9uHMR+Oijjxx5ZuzuvPNO88EHH5i//vWv5pZbbknVsDfeeMPd+8ILL7jrf/31VzPDDDMUvXfMmDFmn332MXPNNZc97H6T6j1d9aJjjjnGnHXWWWaDDTZwyoSuIOXEl3FlfBlnhGfvtddeuW5uu+22bt7wGd/1dGF/u/rqq80nn3zi9suxY8d2mS53lba1Zk8oF4hvvdVkRo+uNS+/3GgmTzaO/PF/ZOml+5kll+xnbr21wdTUjDBDhpTrrW1/zrbb1th11GDX0SC7jjq3YT/91GyOPrrWPProNPu7nn9UmWuuPmaddQaYBx5oMPfeO6zVh8m2I9Z7njB1qrEH7vHmoouGmt12G9ihHR8zpt7+Vtfa3+o+9re62pGvvfeuMXfd1eDW1cknDzYnntgxDL+rrBH2lkMOqXXKBJEPPxxuFlvMsmpPpkwxZtSoKeaxx1qMVIss0tdceeVQs+66rSNhWQf/jjsazHnnTc211d8P//SnqA21tc3mlVeqsj66117//vtN9ndkkuv/l18ON/POmz/uxYC58sp6c845U83nn1uNjJX336/KU1L1WlBbyXO7JJl+9dVXzaqrrupIwaGHHmq1V3Paw8YQZ4lCRo8ebXbZZRer2RpvF94r5rDDDnPWqMsvv9wcdNBB5r777utVZBrSOOOMM3bI3G+vdzVYtemKK65olllmGXPjjTdazeX/zLLLLmtWW201Z21MEr89NTU1hrmDZRZJQ6afe+45+2Oyrtlpp53ce7uzoHTYcccdzUknnWT+/ve/t2tX0s6DcuLbaE9PP//8sz1Ar+MIZEimzz77bHvwPtpcddVV5m9/+1u79r8rPByr/0UXXWSOPfZYa5FZxe2FXUU6s21t3RPaiiGHfA6NxxxT5x512mmDzQ47DHQWaaxrb7zRaHbfvSZ3iPn552pnWe0M+fXXZvvbkf/us8+eatdRnV1HQ+w6yuYVVM4+YHH561+nOKI0atRAc/zxFWbxxSOr1UcfNdl5X2ceeigiB/ffX2k9kQaU8/X6rBgEbrmlwf7G1NhDd1/z3nvDU3lUxM2x6Pe5cO4VA/255xrtb/Vk+1s90P5WD3WXfvXVdLu2asxLLzW2G5nuymsEDDCHsRbOPNNqOqxAkl9/vcoMH164pzzyyDSz+eZTzK67DjT//OfQVOPX1oUwfnyzOeCAWqc4hEBfffVQs956A9ye98svkRfMTjvVuNcwr95/f3hbX9lr7mdu/uEPE01lZR/z7rvDMyll8VSAjC+3XETGlUz/Pm16EpnmAI6V6fPPPzdDh0abJgZ0XLmR888/35FskTPPPNM888wzzhqHReTII4/sNWQaF+V///vf5uKLL273DQSCu/3229uN+vWyv+udd95xRNongvX19c51v1+CH1JSe/r8vhjSkGk6QkjBgAE94yDWEX3JOufK3Sa8UO66664CMt3TxjLNInvqqaec0nHNNdc0zz//fJpbOuyazmhbufaEtoB03HF15vTTo4Pto49Wmk02KdxbJkxotp9Ptsq/JvP118OtV1V6i0Jb2ubfi6vl9ttPcQfvUIiy6swt8YknGs1GG0Vm/JNOqrD/DS44+DdZYxxWuUsvrTe33TbUbLddx1pKyzUO3ek5K600KWdZfOqpYZYUFbdq3nPPNHs+mWbPJ/keDsXmXjE84ubl4YfX2TPh1HYh0115jfg44R79xz9GpAhBsXTvvZX2zJyPpo1+tIRrvPU8GWrDgtp/veCGvtZak52yA4+CZ5+tMgstVLjXffBBk1UIT7JhJX2tIUXJdJY9gX2QI2841mmfUVU13ikslUz/jlhPItMQYw7LV1xxRW4+FCPTHKCwVBNrC9HGFbQ3uHl//PHH1p1nMXPggQe2O5nG0sSBfYr1F+K95RbGG5J08sknW1etE0s+vlh7spLpki/TC3IIdOScS4Jd3LlDy3RvHKann37aeWJgrX/22We7FAQd3bausCe8916TWWqp6FB7wAGDzCWXJLtJv/hio91TJ1sr63Cz6KIdS6axkK+55iS7nzfb/bxrHV5p26KLTrBx5lhd+pp33hmeGNc5cWKzVURMMBdcMMTssUfnWdG71MJrp8YQ3w/hIa4Sl/vNNhtgHn64MvFtxGIutthEez4ZlEemyz33jjqqzrmrltvNu9ztbKdhcY8VMk34CDHtSBIeffqMtzlHOiYs4uqr6224iF3QVkoReBSQZ55ZZyZNGtGeUOmzAwSUTAeA9CQyTddIJCaWaP4uRqb5HhdQrJghmSYBzuOPP25mnXVWq0VdzyYpKVyoP/74o3nzzTfNd999ZxZccEGz9tprZ7JUvv/++y5eERfUP/3pT87C6rddhgoiggX2l19+cSSYOMfhw/MPMlhjUSbQTpIrvfvuu+7vRRdd1LV/4MBIm0g8Me7JxIfj4r7ffvuZqqoq5xYtUqpfYEq/iRXecsst3f/BqsJmFtlss81yWE2cONGMHDnS4DEwyyyzmBtuuMG9gkM8mBeTH374wfz3v/91XgbzzTef1Z7+0bnti/BO8LvjjjvM9ddfb/7yl7/k4mDXWmst594fSqn2+GSaBGTgx/sJHVhhhRUKnkdCq0cffdTGgO2W9x3YEjKAAoExpS0+vnH9BtPXXnvNuZhvuummbvzwmGCcN95444LEYIzRgw8+6PrM/Hjssccc9hLSwDvSzBtpC/Od5G2bbLJJXvN4hiTmW2qppWJx4AbWAJ4HXA9WKFAkAVyaOReHSRK+kB/6++GHH5ollljCxbczRjLHk+ZVMTJNG1GusSZ8YX9grv/nP/9xng4bbbSRm4+hMNasZfrPXGcvCPcMwkseeeQRt9Znmmkmq3V/yT2X+UqoQijkAnjggQfcHCCpXmVlpfu/L6XWqlzL3oEF+r333nMJ8+gLa7cUmQZnkjIi7CXgzVgzV0VYmwsssID7M+3e4PchS9vS4Jxmbcj7y70nMF/efvttt37Z41j3gk3SvOTzjTeebPfQKCPQN98Mt9aY4iQZt9Urrhiai3F8990ml2Rr5MgBdpwb7Tg3WVfngbnkWsQ+jh3baOdnk52ffe387B+beItYyldeISyi2T67n7MgivUbAjpy5BS7nzc6YnTDDZH31/rrD8glL8JShFWOJGTI3XdPsx48LTHL88zT16y+erT34zo6aVL03RJL9HPx4CIQqrfearRzz1glQz+7p5ROLnTWWS0u8nfdVWm23rq419Cpp051iYx2373F0oalhffixjjDDH3cu/2kVdI+XPLBAWsZ+EBK/vvfJruW++dZ0OgH1jVcaElyFf7sQWCI9+Q7xu/VVxtd/OKaa7b8PjIWJPqpru7jPq+qKnTDTdtu4hx51j77DDJ4OTz9dKP58cfp9jdngE3OVjjnPvpouostx/WX8cEt1B+nYnNavtt55xo7B4z1hBlgFReRW26SIoj5w9yGdDOH9ttvkOsv86PY3Pvxx2b7exjF64M5Mb6Q9oUXjvo0blyzi5/347V9Mn300RVuPn7+eZPd5/rZNgywfY16gDLgu++i+FDmxDrr9DfEgPM8EebRyiv3M61ZIz6GtP2ddxqdGzPrb7nl+hW4XeOe/eabTS4x4ZZbDnD/f/zxKJkUfc6SUE/INFbdVVedlMsv8OCDlbk1LO2DPN1//zD7+1V4dkvTbntEtWeqaa59K6/c3+6RTfbvRqcQxH379yOqzQVhzOyzR1bPUkox2oY7+AorTCqwTKdpE/eTFI69kfnGWmP/Y31vvnlLm1CQPPvsNNumZrsGB9h9I38Nsr8+9liDnaMD3Vx//fVGG4s83WyxxQA3ZxAswYTqfPjhdLefsbeEIsnUwIa9YrXV+tvfj/x1idUe3FiTPIP1yTvxsJH95bvvml0b2O9XWKG/2zfCfLz06ZFHGlx/ZputpT+0gTAY9sCGhmb3jk02GZhbD/58UMu0N4I9jUyHk7MUmZbrhUzvscceVrP9rSOHIhw+iakdJmlA7RcQOOKsIToQO77noAuJKnV44nCKBfyhhx5yz5gwYYJ17zvdHcJJfDPPPPO4V0+2M/WQQw6xMSr/dLG5kNXbb7/dfXfttde6LLwoD3bddVeXjZnriYPkMMehXYQ4UOJBEdzc7777btdHkmdB9mg370dK9euCCy5wigfuh1hA3E855ZQ8rOgDBPK6666zrnSXOsKAQPYgPPQhifjQH1zPaSfEDuUB1mfeh/WZZFnc+/LLL5vLLrvMER3iYBdZZJEc0Tv++ONtjNziBRtVqfYImb7yyitdcjFfiItmDBDaw7MgGoifi4/+nnrqqQ5PyCTjDHGC+CcJccqMp2CKYgQFhAjzDlKFEgSCzTuYO3wOBjvvvLO7VOJf08wbrufgT1+JmWb+ksWceYQQi37EEUe4+QzZ43sUC8w5sGAuijC3uPaAAw5wyqcTTjjBzcWHH37YjXmpORfiUgxfMIcUE+O85JJLWsvCOY6UosAolYk7JNP0kblG8kGUVVtttZVbGyKMx3bbbef+JEyBsAjaBhlmfxCFEPMdYirKMBkbnrXhhhuaL774wuy///65+cJY/+Mf/3B4itx88802hm+H3N94W3z55Zeun5B8/g+OrD2RUmtVriMBG+NAu9mvUADRRqQUmWa+Me/95IyQVdawhMyQzGzPPfe0Vr70e0Nr2lYK5zRrI5xr5doTeC7KH9bHVHvSnn/++d14sw5I7nfUUUeFr879zSGrf//x7m8Oz2PHpk+kc9ll9ZbU1jsX2m22GeCIx7XXRul3iRU+9dTB7rstt5xs52d/59LHQYmfsrvvHmbnZ8vB+LDDau0Y1ts9JVJEnnFGnSMHJPaBzFx3XYPde6ba/TyyYHFw5wB8442Vdh+ZatdRg7NubbXVAPvsiIncfnuDXTstcY133FHpEqghL7zQ6Fw56fOtt1a6QzXxeEccUWv3nQb73QBHLiGA9I33FMsEvcUWU3Kx0L/9Vp2JVNCep55qtGtwij1Y9rXrZIA7PAuul1461CkQOLhjzbz22npHPEi0RoIkDrciBx00yFpVK+w+NSWHFd8RR048OXLRRfX2d73e4cX1jMuFF1q28busuGI/u06H2efUOgxFILIvvVSVd7BN027c30lqJ2NHrDjk1JcwARWJpyAERx892O5BTS4e/tBDB9k9KH1yOUju7LNPsHvnMJttuX+OJCV5Xxx6aK2dOw3OuwD3XuYsfV544X6xc2+PPSrsGEzNzenLLhtqfw+j+bbKKv1sXpwKN28lgVZzc4tRRMg0sdQoPCShEvei/AD/BRfEw6HJzcknn2x0bXn77So3T4nlPfXUOncfiqtbbhnaqjXC+yAlhxxSY+dEg4vthhjffns0H669tsW1+oILpjrXdPDZaKP+jpSeckoUGoJAPt94I30MrJDp+voRdm40WkL9e6ZD+6xwPsSR6TTthvztumuNPVtECd+OPbbCKZ9QXoj4awNFwYorRl46Rx1VYffP4pVV8iZxBiyZE+yftIM96IADKlxOChHW+zPPcPaaZgjB8UVcmyGcjAfjhjz2WKVd5zVufEQIJYH4goGfDPHmm4e6nBgiKHy22WaK/f1odlUHIOfgRf/Bgb2Hd11/fb17/umnD3Z7g3gUPP54tJ9fdVW9m6/0Z9ZZ+9rzWK17Dt4g7Nmvv95kFbE8J2oz81kUZCg88Dwip8Cllw6xisUm+zsw1Y5HP6t4q8pVQuA+tUwHM0/JdASIkGn+DYGFTFEyh8M0B8nbbrstd7DmkMyhCesDB3oI4NZbb+2Ix+qrr+4sQHEWZoGegzlWTw7wkA8EaySHL94rbuqbb765I8Uc4iE0CAdj+TeHYggnRA1CJaQVMkdCKQ6Xe++9t7vv66+/zlk3IdxnnHFGgUt7mn5xkMadGkKAcOiHPPE5ZCDEiiRgtBHCDskvJeedd54jZvQBUoxwSMXaCbmBTNN2keOOO84RV/oEQSklxdojZBqlBmMAOeWZJKhDQQKpQegHJZaIsUeETHNwxnp+8MEHu/YjkFBwkXvj2ocFksO2EBwS5TGezD8UIZAu2gQpw/IJgRb8sWhiGYcUQJbIA5B23hCTjDWV50HmfDJNCABzFKUFllGsqowhY8C4SP8g0swx5qWUlIPg0h8ww+INrklzLg6PJHy5FssonhSSNEswB8M55pij6PDHkWnWMGQHkuyTaazfWGIhyKxrYuP5bLbZZnMESfaDr776ylmqwR+lFnLhhRc6oomyg/HCQo3SB2u9CPczv3g3Cg1/fkkiRQg7ZBwBU8g1Y4WkWavsQVjvUQbSNzKWy74E+WUOMWdwqy4mzGeUDmEIDOONIkPINPM1y96QpW1pcGYPKrU24vpZjj0BxRRzhaoCKD+Z86wt8WjxxzJsA4fxBRec6D6GNN55Z7ILbHgvhPSoo2pdDDXCoR7iC8E+88wh7pA433wT7fwc6pIHRfOz3s7PWncw+vjjaktw+jjSykEaAiJZccl2PGpUjSVRFfZZ0YGWpD+bbDIlRyr4DGKBJeWss+rsOpqWR6b5HjdMDqOQoy+/rM65XnNwm3nm8fawOiyXGRjyiPXq5ZejREgcIJdeeqI7PIpyIGmuzjrrBHdYpV9ZXT7FFRmrGzG9nIuw0EA4OWyDy4svRiTquecoBxMlOEMgO3/5ywD7faO1REUElYP4GWcMcZ4CkAOJ48YCiKUJ8g0Rw7qNHHlkhXNrxlq01lotYP8I3gAAIABJREFUFkKwxzrLe9ddd5LDgSRaEC4kbbtxy4f87bdf5DrL4Zl4ZJLIkekaMom1+oorIqIs80EO6HyGEgFyLcqWpHHwP2fsb7mlPpd0TAgs1/z6a3XOauffQ1IsDvCHH15hc9m0EKm4ucdh/7LLUG5ExIBD/267DbLzvd7ubQOsImeg/a2eZvGNyFAcmeZzlASbbTbQWfL23z/CCA+KF16I5sK99zKv8+c915x88lSbtLMuR6b5rDVrhORezDOUDng3IKJs4t+SQwEr6okn1ub6S4K9E06osOevZqcIYv5nyQPgk2kUY5BC8R4IE5LFkem07YZ0ouQQZQ5Kvh13HOi8JPbeO8JbckCglBOFyOWXDzH77pstDCNtm/C6gFRefHGktNhgg/42AeQQux/2dQkMUZ4gEFDai8cIhBhlJN4srHvGA68AIeHscddfX+kszySTxPsFActLLhnq9hFyNbAfskeMG1ftvmevWWaZifb3o38uwdvYsViVI6UC65BSiOwbu+7asvfQLrwmnn9+mttH2TvBk3m7xhrRPGLdsu7Ydz77bLgrt0hZwPXWizYwn0zLtf5ey3q4/PL6gjweSqYdfC2iZDrCQsh0aJ2CqGAB4pCIZRSr4UILLeQsn1i0RO69917nMo3gLss1cQJBwe0a6yLWKhHICOWcIIt8DrHaYostYg+7EB3ux7IMwcJCRmZyLENheR/IOgQX8ifZqoXYQAbJZIxk6RfWS9yqIQD0VQ7oIVY8NwuZ5jAurtwQF7/Ws8RG80wO4ViskfYg05A5caeFDIrrNFm/xX1ciABtEDINMeM+3PDBW8pr4eouFt/YSWE/JLsySpwwIZT/HsgQShyUJtS3Rjiw++Xgss4bngGRxvooZFreicXct9Cj5OBaiD0KDtxzmQPMK+a/CJ/j5oz7r5Qni5tzSVjIGEv9bt/yD5GGzKKIwu0coV14eIhHR9Jzk9y8IYOsG3/ts9bpP6EGkCQRxolkhYQX4MKL0oN9ANdnSXjHv2V8fJKNIgB38ltvvdVZupG4+YUih70ERQqKHNY3awNFCaQ2y1plD2FOMD6sWRGSwaEATEOmBYuQTDOv8ZgQMs2zs+wNWdqWFudiayNpXqQh06X2BAg0Xk0oJhhnEVEComhhLsQJlsUNNogONljSzjsvmyUGKycJtSCR48aNsPtmy1s4lHI4/e67FhLL4Wv55aNDmpBsLLAkiYIUkoAIEUKFBexf/4qKM8cRBXmbxDn6lmm+w5V7+PAJ7jKfnN133zT7e1frXH45h+D+SIbZv/99sCN2IlhZbr65Ie/wGeIICR06NLLui/UwabzjPl9mmUnOwvP888PyXKxxl5xrrqjtZDEWN2GxgkMsIbsikmjLv5bvwBsi4fcfK+Nhh9UVKFAkEZ2ffZpnkOUdV3b/oJul3biwzjJL1Jevvhpu98vIfRQL1W671Tjy+OKL0ThfcUW9I95YDCE0uI9CHIhNDZOCJeGMAoC4dGJwZTxxZV944UhxdM45g+3eXViSSsg0Coazzy5OpnkOuMp8xqsDBZIvMq/4LI5M+3Oea3wyJ6QEEgP5COfWJZfU29+e2pJkWtoTt0YgZ8wnFDlPP/17EfTfb0C5BPmCpH3xRbUbh/vvn2bX6RRHjj79dHgugRRjyFhS5gvM00hIprlH3sm//YRkIZnO2m7xfAlL54kSTOKxTzyxLkdCH3ig0rlKp5WsbRIrOHvnr7+OyCVPlESGPu60QbKa+0pHLO/9+kV7zzvvVOXct3H9HjYs+vyTT4bnQg4IrxgxIlqHU6aMsPtWixKD8UcZKrLCCpEiEUUoezWCgg9rOWODh4kIoQELLDDBhd3IHs53fL722pPseay/854QETLsk2nmWjT+QywPifY1qdKAQhXlXni/JiD7HREl0xEQQqZ9l+hoIkVlc4Sk+tYGXIvjBAIRF2PLtRBlDsjEl8bFScrzIAeXXHJJbJIwrIVYwBFcnCF7WAKxXoWuoBB3CDyHZ1xRESE23INlDMnSL9x3iS2F7Pjuy1iIIbe0HdKByEE1TT1bOeCDa5isDHItGdo5uEqccmvJdFx7xDKNBXDeeed17ffDBLCOCWFDiSDjL2SP/6NEEUsyCg8IWjEvBRlv5gRzA0s/RM0XrJOQ89NOO83hi3WY2ujSPv/arPOGe3kfHhhCpn3L6uyzz14wxXHxxuUWIkV78SZAmVNM4uZcsevj8OV6SKZ4bjB3cS2Pi4+Pe3YSmYbk7L777nlkmhwIjGOT9cFNGj88UoRAJ+0F4CLeIZBylABYuiGiCM8Xd3Esqyi/CBuRecY6Zzz8/STtWqUPotAJ3eAlyVe5yXTavQFPh7Rty4JzsbWRNN+K7VFp9wRRDCTNAxQvSWQaEgcpQkICVXRR/f6luFKHhyv/kIdlJE4g73vvHR2acOkeOjSKncPaAnHDOuYTCCHTce7ouNNioQnJNM87+OBaZwHyLe+bbjrFZSzHIov4FnOsQ6Hg+vrGG1W52Mrwezkc+hafNPiJKzLX/vBDdV78IJ9JPLs/NrhAY4X3rcRcu/XWU+xv7bSCpEly/T33VLo4VwRrD1YfsXJJW3E9pSRQ6Aot1+MWftFFQ5w1EhfqtO3Gyj/DDNH1P/1Ubb0CorGWhHbMEUkqRxzuPPNEpBeSfeGFQ1LFrft4i2fDxInVeXHeYjlknL79trog+7uQ6dDFN2nuYWmbe+6orT5ZlrZghVtkkcLvxUqO9RsruIiP05VXDnHrozVkOu0agYxDysOEa7SHHAarrx4p2oSQUfrtz3+eUlAOSjxAZH74Y5H07zgyjRJk/fUnu7WPSEKykExnbbfgHYYKoKQAX1kbMs95N9ZfP6dBqT5lbZPsveGeIZ/7a4J3J30ue494nkg7SdqGoMycY46WuGS5/scfq+1vfh+nTEERkLRPEzstZHrffWutN1u9U2rJ3sk7ZL2hjGVfLyWixPDJNPdISTeUoHfe2WDHv84R+lDRq5bpAGEl0xEgSWRa3I6FTBMriFUJV1yJMy41af3vxTXSt6zF3S8ECusYZZ98wUJKMiJE4lKTyLQ8J45MoyTA2oVk6VfSgRn3a0hTa8k0bQFXCAQZ1kMhyRQusL4SoL3JNG2QA3UpMs21uOSjaMB6itAXPBuSPBWkj8XItChgRFGC5ROvBMS32vJ31nnDPSGZ3nfffZ3rMWEHxNgmiVgsaTv3FBMh0/6cK3Z9EpkmXAGLKmQewUqO8kq8Loo9My2ZFsUNbtqTJrWUDQmfLaQXpViasm9xZNonikKmeQ+KNNaRCEo+9iLalHat0iZyGogngd9+IdOUxyIcpJhksUyn3RuytC0LzsXWRlIfs5JpnhPuCaJ8Yb74uTWKAvv7l1J2hj9xU40rOVXsOcTsbrddTYGlQghR2mfidk0sMLHSJJzBrfBvf6stC5nGzXPJJaO1xMGSxDbzzz/RWk2qc/Wq5ZBI3CExy1mF+GshACGBK/Ysn7DU1Y0oiMs+4YQ6q8icmhfPnkSmqXuLFT3MQEzcOEoPPzFaEplmDPbcs5BMEwuJC6eQ7KztTiLTuHivscZkd5D3M7SL1bVlDxrk3GC91DFFh4hn8uxiEpepWci0H17AM5LItO89UA4yzbuWWGKi9SKa7sqr4SnRnmR6ww0nO5di3sP7fCEZV2VlRMgk5jWJTOMaD3ZCpv354T/Td52OI9NcS/wu4RUS40tCMtzI/QRkWdudRKblOUKmn3220Vrpo/PTMcdU2P0onZWd67O2KYlMS0b5cE2QIG+JJSYVrJUkMi2fJ5Hp77+PwmwI8yHch/CUUusLjxE8R0IyLSEHaV3jk8g0Hiy4e992GxnVK1yiQmK1S5FpEuP17RvNVV+yhi5l3fe7zPVKpqOhSEumObgTjwxhIptyVsH9E1dEcdlNul9cKHEdvOaaa/Iu862lJKrCpbatZDpLv9IemGl0Fsu0EAiIIgfoUCQWmIRnxGkjXY1M0yZIETGpkgQOMkNG7GIxvcXINJZNYpMlNKAYYcg6b2hvSKZRHOG6S9gArudJQkgC1mGsxRLLm3Rtucg0z8fNGQWTeFXwGeQQK2sxSUumyfBcXR3FMoF10rhJHC/XETObVNdc2pSFTHMPcdbE2+N9gkB8yZPAeKXZg1CGkIsBCS3snU2ms7QtC86dRabxFMEqzpiJi3/RyRh8KYd3PpYDVtr7k8g0SWSIl47m54jEMlHR/DAuDhirqrhbiut3OSzTvEMsUByOsX6ROfn661vcDimFgxss5aoOOSRbnCTPFzdS/h2XjTgJT+Jul1suIvpffDHcYpZvFSf28Ygj6lwW52efjdxwk8i0uNW3hUxL3GpomQ7JdNZ2ZyXT0R7U5EjUJ59E2ayJKyUxV4liHC5xEZgyl8Ja6HhMrLzyRBdzHqfo6QpkWjwMJAyiPcm0uO3uscdAe9ZrWQ/g7ROU554b5rLwpyXTZNUnLj8U6kQTB4wkkWm+893n5Rm4IUs276ztTkumIfKzzRZ5UGDdxxslbS3krG1qbzIthLUUmSYcAuvvm29W2d+P4pULksi0hIEQdpImr0EcmcYlfOWVJ7n1TUgKeyFEmprsacg0ydeI//aFbOC+50fSPtztP1cyHQ1hWjItyYG4Jy42GtIEUfaTZPmTRGL/JPOy/x0HXrHcQRhJ8uQncZJrpWYvf1NCiqRIbSXTWfrVXmT6qaeecoQB8a3A0m+J/yb5Eu7TSFci0yQZI8ZW2oayBddphERmEMokKUamxVWfxHbEVBcjDMT2Z5k3tCck034CMRJ7kXzLF9zsSUqGFQ73aCQumzYKADwxCAcoF5mWZHO8k/hj4oAhm2ncldOSaZ4tcy0usR0x4YwX3wk2xE1DcH0hSz+KCfDFkpmWTLO+WPfgRpI4lAaiPCK3Am7heGkgxfagXXbZJZfV3k9iyH2tIdMoVlCwiMTFTKfdG5hXknG/VNtQVKTFmdjyJK+NpLVXDsu0JJBMUn6icGJvjyurRrsk1o9/hzGFce2mNI+tbuZcZJPINIeaAQMiS8FNNw11CX/y52ezfVeNvb/SeihFVi3/wFRuMk2M9JZbTnGxzwiWKEmSw99+ohziqINtxyVHIikZbuRx4lsosSi9917hM/z7ICrENXJQF+tfXPImIci+G25XINO+1TJNu7OQaQgbMbmUBaPsDi7/WOgRP7lR0poifhf3aonBDq8jMROxscgrrwxzpcFEOptMMy8gc1hlhdwImSZb9vvvt5QlLRYzndbNW2KEJUGUfyYXCynYSAhCWjKdNDb+50KYa2pG2HCpwjtuuaXB7hstGa59Mp213WnJNK1AeYUSC7n11qEukVwxwSWZSgZZ29RVyDQhL2QXT1KoQKDx1IDcJpFpCbMBJz+MQ3BDGcd+K6X+4si0WPb9WPW0ZDrNfOvR1/R0Mk2ZEklkhRsxB5o4EQIBOZBMyVwnMdNySOJ5xNNCHnDhJbEPlkcEMoWbLYczv96v/z6xAPMZh1OSGWHRwpoJ4SLzL0SaerCSYElIlDwnTBjF5yQHQiEQxkyT+ZsDuO/mzfOx7PkHvyz9EpIYxkzLc303byznlHRKsjb72OBeS5+JVZX4YPmeOGbKzYA1SZvElVKso2ndh4u1R1w3GUe/bq7EzNIu2oD4ZEBcrYllhTzxfxGyNpNYjtheLO9JImTaz6gtcwoXcV/54seF4iYs7eb6rPOGe0IyTRw8WeoRkt3hXixkBms7ihv6SDtknkPyiaFm/jKOzHMIJniDX9ycK7axxuHL9fSVWtwSbysuwHFx9uHzhUzjwi5xzFyD5wdu1D72Yp3nez9hGNjg0o7SAtdyQj5wu2ZeYm2VZHDUQyZHAYRWSl7FkWms7FJmTNy8iZHm3xKCQRvEO4FEfHhopNmDmKtkJGfeomygfVKSThJmpcllIHsgpfDY2xAUKRB6FBrsnSSBQ9LuDRDkLG1Li3OxtZE038qxJ0hWe97hlzmjnyi3UHpKecKkdohVJZpzyQdISMrIkZPt70WULVpipqmTikXWF3EvhsA+9tiwXHImSCTlsnbZZZArzyKHKLID33FHZB2T2F3f1ZHs09QBJjHPN99E3hsi11xT79zCw9ht+R5SRjIvSArPlMRj8r3vCg5xxaVYCDWJf8haPnbs8KLlsSQZG8/E3fXcc1ue4beVwzdtpV4spZ522KHGZbuOSwIlViMsZFLvOolMb7ttjYszDMmtfJ7GzZt4SFze/ezatH3MmHqXedu3WGdpN7GQM81UGDMtbrX+OBO/Tv1pyeIe7UG1ruxOqRreEl7gZ5AP5zzJzOacM2pL6AZKqaeTTqorIBZJc8+PmZ4+fYRLZucLWZsXXzx9zLTMQ6y3uFYjkoyPf1NGiszXkG5yBJD0i9h/Mm4jWdcINeGXWiryjAgT4BEyQOiAv6YefJDkU4Ux04JblphpGXti18PayYKhn4HdJ9NZ2411E2IWxkxLeIafT4D1SaI69gr2LhIgLrtsvMUWEkqWbRQf5H3IgmUSmZa+oeAgDjrco0L371Ju3pKpXJ4j14sXknid8L1fMguFKN4FP/zQnCurJ+Ew558/2GLZEhbgJ/ejrjSEmJreJGckoz6J9fBuECu/tOE//6ly2PrKV7L6S9JAFKAoQkNPGbn/vfei0om9Xno6mfaT9ZBkCXITJ1L+JYwhlIRO/ufEwEoCLEgdpZ+I5cS6CzmG2CYJ5AdLo9QR5n4yQFNiBkKAZVPIv8QqQuyIMZxxxhmdpYqasbwLKzixeojEyvId1iHET26ERY945GixRtmbESxNtAXLF9mo0/RLYqNp+88//+zqKSNiqfKxEhLM92BJsigs6eAdJ751+rXXXnOlZhAhY5AJYmZF5J1kucYjoJQktYe5QbsQ4rUlwRukRpJwMUYkEkIkKzv//u233xyJlLnml1ET13VIR1zta2mvkGn+lpJnPFfG2k9Y52MUZvPm/izzhutDMs1nkpmdfzP/wIP+Q8yYe8Ti+uMi/ZDr+BviKRm5k+ZckktsHL48EzINmcWtnH+zBiCEEGKUQ8VEXHFREJAVW0Tw8okl85q1JbHvYECeAnId+EooxtXP3sx4oTwgg7a/Fn2lnp+wTdrvzzvINGSd8l/ybOY5Y40lGvKddg+S7O48HzLMuicTu79HoexBGSUZ7EMMxXLL5yjrIOSsQxQGKBXBBus56zLL3pClbVjj0+Bcam3EzY9y7AkoRZjrUjsc5Re40Ef2c7yJJHQgaY5iOSSBDgdohMMM2ZQ5qEAqv/hiuj0UNdjfmDrnCr3HHtG+K9YYYu1++SU66ItIjJ/8DUGQWtM+WZB4O67DJY/DLHVOpV4qsYuUbeHQRawzwqF9yJA+ri7zwQcPypUJKlYrW5Ik+dlifTwkIzGfcZAl+ZXUAH711Sq77xQ/tHEgxKKFyyPC/f/4x2Cbybafs2oTD/jAAw2u9NK66/a3uSGGOpdGknktssgE53p8ySVD3MEREWLkW6VxU5533sgtU5IzSR8ka3cY7ytu/NSGHT06OgBLXzn4QqJExF0zxJFyZpBcXK2feCK6Pku7JTaa+4jLx8Ua8WOja2ujbPC8hxJMUmOc61D2jB3baPeg6kSFBh4Tu+wSKRRCYuiPM/+WONGwPUIg+Zx5TimyE04Y7GLr4+Ye60Oy4cdl8xarMs/z64+PHl3nPDLIzIyiqbq6j4sPRVGC+zN9Zw5G9zXb90fkH6UV9Z0hcZ9+2pSLK0bxQHZylAlZ14isP97H2NBXlE+bbTbZEfm33hrual4jEhvNev/55xH2/BUhK8o4f36EmId/UzucbM3XXNOyn4TXsKY23TSK6/bJNNdlabco7Px9h/CS/v0j7xl/bfA3Wdh33LGlVjtzAaXFwgv3dcSPMaLGOHPtqaeqXI6HrG268cYGN18R3zrP2GItRsaPr3ZzAxHvGv963OkXWijaEwkDIRwkuq8l4Z+UNuNzFARYhRE8N9ijyFdBJQOpdc6cXGCBfvb3o8Guxz4ul4G0YdVVJ7lSiHFKS1GoyBjK/snfftZtv/qBxOJzjeQ5QIFBSTI8F1h/7IsoUEeNGuR+l/g9kjl+992Vid5C0o5e8f+eSqbJFosliizIvkBY/Qy7fIflCOtTywRc3R2CODSTeVdknXXWsYvlWfcn1mviYn2BmHJQLxU7ieWOslQQKBHIHFmKwwOXWJAgrhyoJXs2BEiSWmEB89uJ6yttIcMsh38ROcSDDdmB5eDnx2+X6pdY8H2sIDLUHsb6LSLkFqst/5bv6DcWt2IZriFr3IOVib402AA7rPO4d0vdXf4Ga79/kHg8C8AySeLag4smcwVigIA1Vn5cMqV2tnyOxZU5wP/leqzuWO+YWzyLz2kLpIN2gplvCY1rm5BpsYgLUeGAjoVXLJ64tUPQheTRVhKUhWEFaeaNtCOOTKO0QeEhmbO5ln4SS+0nJQPPMWPGOGu1tImEXDfeeGOufBn3FptzIR6szzh8sU5SGgvB6go2WMoZIzCRrNjh88h+DwH35wo5D8g4j6s2lmURcAY7rMiEGmCx9vcQrIwopfw1jqID137mqwj3MSdYz3yO1VvqwDNmWHJxgadP/jyCJKPUYjzrbGYqsIbsYY2/4YYbcrW8s+xBeAxgaZf30Ef2DNYslnPINN4joTu/jyPKNvBijLmfeYhyhVJYPAM8IbLMg7R7A9dlaVspnNOujXB+lGNPoP8oKdi38AQSwWODNYMVPq2QlfX44+tycar+fZTxGT16sCNC/iFXruEwzqGeuEiR119vsvNzco4Y8zkknbJDckDDUkj9Ug7MHKSwVpMQidhRPoPw3XZbpctIu802UWw1QvkirCPEK2Mhb1lH/VwpqWWWySe/WFjmmGNCYo1hCASZv0mwI8Ih7uqrh2ZKSkbMLiVe4hJgQVLBEHdx//yDm/huu7X0l1hfDrMQORQMKCFQaOy7b42NJ4wCAyE0WPcPPrjC1SHG0iWCxfWCC4a6WHS/HRxGa2qanaVIBII2ZsxQV+OXg7yP44MPDnP4QhpEKFd2882V1tLcx4b9lG43pX522imqQ4wwT7Daf/FFk4uH9N/30EPD3LtIRFdX1+xwp740lu0bbhia55rvz02INEoGeQfz6MQTB+dK7Mi1jM1++9XkaqPL5xIrDwmhvq4QC4k/xxIczj0UIZdeOjVX85vx2H//lqRV4IYCStrEXDr77CHObZg5f8IJtS4Gme/B5Oefp9u9eqDLlj7DDPkmbtYlig7aRd8OOqjCKbp23nmKmwOQxA02iJRVrVkjEitPH0aOHGjPetFcIgxjoYUiIi2hEIIZZIk46+OPr82tSb4rlfSJ5GTEt5JkTYQ1/tBDlU7pFArKhBVXnOTWocRMyzVp2i3WTbmHfYzxJou1v2bCTNTkVkB5cPnlU3Nj6LcNKzehKXPNlZ/nIE2bsJITviBzgz2VrPWUKsQzQoSxvuUWFOkkiavLzTVySVDT/Oqrp+ZwZH6ddNJgOz/6Onzl2TyLrPHLLNPfngVrcnObZ6Ps23PPQS7pG/NGkihyD2MC5osuiifPdJe/QGp18z1tZp9dcslon2WN4MGCF8/vOXDdNTfeWGnPYxFGJDiksoLgznzbZ5+oDN3zz0fzghwJWN8PPLDCkfbVVotq3PO7wZ5+yil1ub5x/377VeR5sRRMoN7wQU8l0x0xdrjwEa/JYQx3V3GhTPtuSCKEljI4xcr7QGyo/YuVFOuM1GJO+56462g77swQRrEsy3Vt7Vfc+yAEEItS1hm5F0zBBkscxAnFQSklRRY8srYnzbPxBJBET7gf82/ccYuRFHmuHzONFZe+gxWxu62VtPNGyDSkSupCyztR/OByjeWdvhQrE0XNc9qMB0XWOZe2jxBMLLOsBWKSWTtSMi3tM7Jeh0szbrpYqpMIO8/EOwWLNsRJsu1nfRfXY+VkzvB/nsmz8I6Iwz7LWkU5wD4z88wzO6syXjKinEjTTqzrEEYpG4eChPH2wwzSPCfumixtKxfOYTvKtSfgUUIoCnurhAC1BhesBx991GQxn+7c9RZaqJ8jT62Vr7+e7iyziy7az86p+Kdg6aRkEvHYIpAb3u8L5AoiLmQ8S5sg1GSwLSbSd94777x9UycgCp+JwgH3R/qOxR7CJPWVk97PoRY3T/oGWbLbTbeQcrYbSxnWJ/4PdpWVfdyYpU0E1VbAGDcsfsSIiuVVntmWuZfULoj11KnN7n3F+ghZoV3MI64jbh1CH7aR97SmnSiTPvywyXkcMPeSXK/bim9r7gcjvBbCvYBndUS7UeaADXsD5aTYD6nRnCQd0abW4FjqHhQX7FnMRckvUeqe8Hu8Z1D8sYfh5ZBFmONR2b2W+1iPKMuSfjeyPL/HXqtkuscOrXasGyFQLAFZe3dDXLDDBFPt/V59viKgCCgCioAioAgoAoqAItCtEVAy3a2HTxvfQxCQ2GrchXFnb0/B2sw7iOnFikxIAK7Vpcq1tWeb9NmKQG9FoE+fwtqcvRUL7bcioAgoAopAz0MgrgZ8j+qlkukeNZzamW6IAK66xP1CZom7JmY2a8hAlm4TX0/MLLG7JMwjlp4wBeJfi7kxZ3mHXqsIKAKKgCKgCCgCioAioAj0eASUTPf4IdYOdmEEINJkWfaTV1HDmYRlpbJTt7ZbxB2TKIrkaMTfkySJZG5tifNtbVv0PkVAEVAEFAFFQBFQBBQBRaDbIqBkutsOnTZcEVAEFAFFQBFQBBQBRUARUAQUAUWgsxBQMt1ZyOt7FQFFQBFQBBQBRUARUAQUAUVAEVAEui0CPZlMSyp9yjtQG42yIhMnUnJpull22ZbaH6SRp/YhNRXXWCMquN6VxVa1seUqmmyd3fwannFtpnQDRddra6lh11J7lPIC99zTYJZfvl/ecygn8Oqrja7WIHX0Oloov0ApGH980rSBMaYu42KL9bPlf9LcYVwD3TdiAAAgAElEQVSdVsY+FNYEZUF6szAO//rXNFs/eIArldOV5OOPp5snnphm67cOTCwdQXkH5nKcUPbHL/0Tdw37AWWJttpqoCupo6IIKAKKgCKgCCgCioAioAjEEgf/Qw6hKaSPrQOc7koe1krGnqIdsZfY8r62EPrUXOF1arVRPB1yCNFaYIF+tp5uVKDuiCPqzE031bvvDz+8whVW7+pyySX1tsB6na0jV+1qHMYJtTwpvv7IIxGj2G67gea221qK8lHYfZ99am2x+z7mm2+qXV27446rM4891uCKvV988RAbRzuoQ6FASbDMMhNNQ0Oza1Ma+fbb6eagg2rNU09NM3/8Y39X8J4i81deOdTMNltxEnjKKVPtPKh3BepFKEC//voDzM03V6Ym5Wna2d2u2XbbGpsQrcHstdcgM2ZMSu1EO3fyyivrzTnnTHXKMOT996sSFUrUatxxxxo7n/MZ9eqr9zd///tgO8bJSjMULNXV4906uPXWoWb77ZVNt/PQ6uMVAUVAEVAEFAFFQBHongi0kud2aTJ96aX1lgjWGg7OEMi55+5rvvpquk26VOcIwppr9rfJlyxrsiJk7L77pnULMo2iYJFFJjpCcc89lTYrc7IJddKkZrPvvrWWEDQUkOnnnms066472ey000Bz441DDc+lUPuGG04yH3wwvVPI9F571Zqrr67PEfxSKwrr+pprTjKfftpkPQuGmwUXjMZ5qaUmmiWW6GeeeabKDC6hG0EltNpqk6w13gJg5euvh7v50lqZMKHZZsnuU9Ly2drnt8d9eHDMOGO+4uHss6eao4+uM1ddNcQqZTpWqZLUx4aGyPtgueUmlSTT8oy77mowo0ZZ9wwru+wy0Fx/fYtCqRiWm246xbz44jTr1VFl39fxHhrtMc76TEVAEVAEFAFFQBFQBBSBMiPQE8n0rLNOcJbmBx+sdG6qIrj1jho1xbzxRmOe5fPcc6eaI4+s6xZkGksbB30EZcGLL0ZKgSS5/PJ6s//+tQVkmutxgw3dmffeu9YSqPoOJ9MoM7bcMuqXWMtLTXUUBVgrjzqqwpx1VgtrPvHEOnPqqVPNoYcOMuefX9qqut9+teaKK+otCTZm0qQRpV6b+P3UqYzJJOsNMKykVbzVLynzjf/733RreZ1iXn+9quDJcfOjzK9v1eOqqiKrcTHLtDz4gw+arGIlIt/XXTfU7LpreitzV+1/q0DTmxQBRUARUAQUAUVAEVAEyo9ATyPTxERXV09wQF166RBLJPOtap9+Ot1ZdpuaRpi+vxsgzz9/qiXS3YNMQ6THjm10ygIEErTiismWM3HnDt28k2aSEMuOdPP+7rtms/jiE8zllw+1lvKaVGQal/Bhw8a7bnzyyXBbJ7nFmvzll9PN/PNPdOR43LgRJa3Thx5aay68sO1kWrD74YfqbkGmxbI/ZUqz+fjj4eXfXNrpiVnItKx3mnLnnUPz8ga0U/P0sYqAIqAIKAKKgCKgCCgCvQWBnkamcVfu3z8iWZCphx4aZtZeOz8+8thj68zxxw/OxcSGZJr44ccfn2ZmnbWvWW+9/mbEiHwXWAj7vfdOszHLTZao9bFJvPqbDTboXxAa/u67TS4WeeTIAdatvNG8916T+etfB+aeByGEGH/8cZNNpNTXtTN8lz8PhRi8/XaVfd9kR6jFTTtpvhYj0+PGNZtHH51mdtutxVoXkumff262bt+RC7QIic/8pFQkhHrrrUabwM1YF+t+ZoUV0rvFEp+68caTrUKgv9lvvwpLpCekItPgv9VWkSV7+vQRBdgL4Qq9E+JwKkamx49vdnHnf/rTAJfA7qWXGs1//tNo1lprQE6JQR8IITjvPGuatkKcLePIvBCc8Ip4++0mw5wgzn211frb2P18d3Ke88wzUfI3cHzggQbnPYAihHtw7Sfx1j77DDK4kz/9dKN1zZ9uPRUGWOVB/rN430MPTXNu0cSg87xNNhloa0lHCDCHR46cYt2YG10SrxtuiNyfiReXOHzGHcu1790h+DHm77zTaH75pdklfcMVmnb7QlK4Z56Z5rBYeeX+ru/0b9FFWVcDChJ7pV1XHUGmGQvWbGVln4L5DLZvvsk8aHLu/BttNMDMN19haECa9Z1lTMH2o4+mu3khCQJpX5gokHAN2vfdd9Nt6EM/t6/09oR6veX3XPupCCgCioAioAgoAh2MQE8j08B32GG15oIL7En+dzn99MHOhTspK6+Q6T32GOhiqB9/3J6Wf5c//KGvjacd7og5AjlebrmJjvwdeGCFISaTmOQDDhhkLrkkcim+7LJ6S07qrTt5k7WEDTBVVX3MtdfagE8rxx9fYV2QB7vvttxysk241d9ZyCE+vOPuu4fZuOX45EhYzyFyzz47zCYgi2JakW+/rTZzzhmfbCuOTNPm665ryCVnam5ucW0OyTSE+5RT6qzVuN4RppEjB7qETAst1NeSNBK41Zr77mtw5JIs4JAD+nzjjZWmoqL0ZAb7W25pMK+8UmUg7mnJ9BlnTDUoRSASKBdCWWaZSZbsNVmcBlsX/uINiSPTX3wx3bnHSwKra68dapPa1eWSX/G+m28eanbYYaAbyxNOqM3NGxQrAwf2MWeeOdgsuWQ/ax0nk/oUM3VqsyW9/XJJ3nBNx0Udwg4O119fb8ey2TBfb7+9wbUfOf30IXZe1Dvyhtx/f6Ujwr58+OFwS2ojQgeJJZac+HG8M8hMDV54MDz9dJWbZ4z/pZdOzT1zs80icsu4XXnlVJuUL3r/VlsNsO/+nYHbZ+NefcghNeaf/2xwipyKij62rdFaAyMyxkNEd921xrYzSmZ37LEVTpEgyfC4ljhs4rFF0qwrubY9yTReEhdfHI0FyqrQu4X9Ybvtohhs1sG//z3N7gEoW/rb8R+WU0SUWt9PPNFoRo+uTT2mvI8QFbwujj56sFVyNLn1H4YyXH99g03IV2MVVANsKMt0lwuANXLffZUFypvSq1OvUAQUAUVAEVAEFAFFQBEoikBPJNO4r+666xR3yBVZZJG+7rAfV/pKyDTXHnLIIGv5qzDff8+heYo7UJPEDOsggps1BIuDs5DeBReMEoJNmFDtLEZklD7qqNpcUius0STEgmCfeeYQR0rnm29iXgwnbsaQOojOxx9Xm9lnzyfHkBJIBMQGgkO7iA1HTjihwhLe+ExbcWQaYvPkk9NcnDhSjExjTV9vvcn2gF5hjjmmIi+xFknesDy+/HKV6zekcOmlJzpCKEqDYpMPkrf22pMsGR3urJUQmbRk+uCDay3pqU+MG19rrcluHBjPCy4oHjcdR6aJf8a6t+aaFvjfhXmwyir9bXz2VBerjWX5f/+L3KNlfPj3r79WmxlmiMYPKyYZyldaqb8loEOdBX3s2CZr7YzieJlHK61EsrRGN2d5DoLCBcvi889Pc5nFUVSg6EAgR7jhkzSMjOxYy7FWX3FF1E8yXmMp98cAxQAKkUcfrbQW6iiPAKWvNtlkSp5CAgUJFuSzzqpz6yck05tvPsWR4n//e5hVoERKH3AGb0Sej0V8551rcmSR/uy440BnWScuH/GTvaVZVxEy0TpIGzOd1c0b6zj37LDDFJfl3SfT7CuLLjrBKcAgp1h7+Wy22aL2yD6BEqPU+qaqAEq4tGPK+K+66uS8fYdxhlxfdlk07nffPc0pbd59t8opcVBqbL31FNvWaW6dkHRRQlsES/2/IqAIKAKKgCKgCCgCikAbEOiJZBo4yNIMeTjggOjgLoKV7OSTB+eVlBIyHRKH3XarsRaqBnPiidE9CEmyOJx+9lmUPRrBTRlr9ksvDXPuu8hFF9VbIheR4zBuF5KB5e+776pz5BTitPzyyYmSIMUk1sIKLS6b0j7e8eOPI2JLOSW5eX/44XRbVmiia2sSmcY1eIstJtsM20NdTV9f5H7KDEHkRLBU33xzg3MdHjcuubwVJGTZZSc6jwHKLyFZyLRguNFG/S0pLEzCtuGGk63CAII60CktikkxN+8llpjospv7JZKwoi68cIRdTU2Eu0+mf/utOueujwV3jz1qrEV4mFOoiKywQqR08NuHtfmBB6a50l5Yn33Baj/LLJHy5Kuvhpt55onmHvOTeeAno5Ns9j4RFE8GrOVHHx1Z6uPItLyTrOpkV/fXBN4TW2wxxVlh6Y8vKFZ4L8njpGSbeIiE5bUkQeCTTw7LlahKu654Z3uSaenTDjvUOLLrY3jyyVNtWa0689//Vrm69SKs9XPPrTN33FHp1n/a9Z1lTEmQB/HGon/55UPc/kUt8DPPrHOKFbwRFlpogs090M/uLS1z5957Wwj7p58Odx4lKoqAIqAIKAKKgCKgCCgCZUKgp5JpgQeCtv/+NY6kiODOfc01LQRLyHToeioExCcDWHuwXhEHigXqhhsacvWsH3ig0pKNyOqHm+7229cUECPu79cviunGWh4nhx1WYa13LQQVxcBii020lr1Bzgot8vrrTTYWNSLgV189xOy5Z2EJoyQy7Vvs4sg0LsG4qhJLu/POhRmQfUv67LMX9gP33zfeqEp0rYd8gR+YyRzMQqaxvGKZW2ed/s7tPZQ11pjsLLannTbY1s/O7uYtzxN3cSyRxL4jflz+jz9WWw+BPolkGvIJCU0aa8iXkH3JTh6X/A2r/wwzRGT6p5+qc7HYL74YWc95vp9ETMpdUR6NcnAnn4wiptmGQFTY2O5IMSRkGk+JsWPzXeVxA99995o8Mk09b2qcU3+cNvry8suNltBH1mlJCCdjFLoi4+mAJd4v7ZZ2XfH8jiDTQoh9Mi0eKH7ywnDeZVnfWcYUl+155okUOChOLrxwSF4st+/tkDTXbrmlMlM+g9jNST9UBBQBRUARUAQUAUVAEWhBoKeTaekp1lIyRYv4ccZJZJqEUkccUecsp2PGtJAHXFghJ7hLH3PMYBtnWu8SOflk+o47qO1cSKblUAxZjStHFDc3IR4QkGLCAZq42dCNs7VkWt61yir9rEtvISkW4vfYY5UuPjOLCAHENd13Z8dSRxw0lnYpabX11gNtdvbCeHCxvibhKCS4VC1u2l3MMh1Hpn3CFEemx4+vzrVZCBgltyTuPgmrYpnUk4gXCgMUByGZBkuUDbfdhoW5wiUsY563hUyLtR9vhJNOyldQ1NilVVkZKYkefrjSEIOdRKblOeHYpFlXnUWm8aQYOnR8yfJpWdZ31jFFkYFCQwTl33nnDXFtEuXd6NEVLuZeRRFQBBQBRUARUAQUAUWgAxDoaWQaArHhhgPy3DAFxtNPn2qtlFGcMK6S++4bWXKzkOnXXmuycbOTzF/+MsDFsuLiK3Gkaci0xFPy3sbGEXkxyEnDjfsvJPmMMwpjf0kmdsIJUZ/8OG55VmvJNK7A110XJWE66KBB1m09/924AOMKTDwycclZRA7+ae756KMonjoUPA3AJak2tLgSp6lFXG4yLbHztHnuuSc4i/Cbb1ZZN/7iWc7LRabJsI3HAq7AzAkyTcscbwuZFjf00LODfuI90bdvRKafey7KoJ+FTKddVzy/vSzTkNuhQ/s4b4rQMu2X3CM8Y4454hP+ZVnfWck0fX/zzaZcPDd/k+zu0UeHWRfzBuu5UuMyr5PBXkURUAQUAUVAEVAEFAFFoAMQ6GlkevToOldu6oknCl1/iTGcc87CpF1pyfRvvzVbYjLBufT+/HO1K5WEZCHTJKQaMCAiHTfdNNQlZfIFC+Jee9W4+EvGRtyxn3pqmCvTFYp/yCexFAmgfGktmcaNd9ll++UScPlJ2Hi+JLkiCReENyy9Q6wwScmIuQ2FPpJ8LBTIBeWuIMgPPBCNHyWVUFiEQtmhOeaIEj+F2cx/+KHZfheN89SpI8ygEly/Pcm0JNZKIqAQaBQXEN5ykWmx/PrKnXKQaWL2Tz11qku8Rs4Af++gVBahCIjU2U5LprOsK57fHmQad3ji4HF3n2uuvgVkmveKgoa8C//4R771FwUGORr4Lu36Zh3Eue7HeRs8/PA0hztl6SiXRhI8UaK98EKURZwEZUhcbDTrDXf/M85Qq3XhbqKfKAKKgCKgCCgCioAi0EoEehqZvvbaehs7XGszEVfaTLb5RO7ZZxtt8qTowOlbcYUY7r77QJfxW0RipoUIySGX7yVjLqRuwQUnOAuu/06xvsZZioil5nuSdD322DCX3RvhWZTL2mWXQa7kEkJsMSWGvvyyJVlZONSS/InP33mnytUUFiHrNC7Zo0YNtAS9pW/Uq1188cIEZGHcrmDD8157rcplnkZwyV1yyShemxha3E2FUJPtmWzmY8cOT1UeS9oqGcpJYvXNN4XJy8iYTu1fEnQRs37SSXU2i/nUgszh99wzzWUxpuwU5adKiZDYOCt3nJs3yZ4qKiKFiLh5+599/vnwXN3nq66qz2WvllJa3IdS5dRT6yzxbM6ViBLszz9/sHU9z3ejJgZ6ppkKY6ZlToubt6+sIbu3JIeTBF9+CTdCE9Zdd3JsXe9rrqm3ya5q82L+yey+1FLRmJMZes01W5Q7EkbhJ0+jlBskPoyZlkzr4uadZV3xbiHT771XlZfULW6c/Xl6++2FifS4hxj4vfeuseXZGu28jrKzSwIyP35dvDH43k9IxzsYuxNPHOwSqqVd32nHlPeRo4Ca4iSQEyErOvOLfWfzzQeYeeeN9iFiqu+9t9LtLwi1wlGwkKhv4YUjLw+I/P33T3PVDTQpWakdQr9XBBQBRUARUAQUAUUgAYGeRqZ9wnzOOYPtIbnCWTrJPr3ffjUutpl4Tqx2/X7nnFJmCZdJ36ItCZfkcw6gI0ZEhAYCDFEmudSnnzY5CymHWFx5cYkWKx7v/uWXEXmJuD74oMmSgIiUILRHak3zb2JOEXF9jcue7A+nxGfzGWSGg7TETu+5Z42rcR3G1Ppx2H72aUnchQs8rvDEB+PeK3WwOZBLxnLJJs57sZrRf4gRpPfVV6usVbm4W3M4JUuR6UUXnejKFUkMOxZNyCD1kEWJwDj88Y+RkoCYdMpHFRPck1dbbVKujJmfKZvyWIMHR6SZpF24SCNY+ZZbLhq/F18c5vqNiEs344XyAuJPOSyypoMJQgz6Agv0s3g22Gf3cUnDJCZ81VWjdsRl8/YJJ/0iVhzx42hra0fYZxoXQ831kCnGkfrUzz03zc1RFBWjRlH+bZBTfsw/f4QVrvxDhvSxZZ76moMPHmRzAkSZq8PkZPI54y34YindbLPJrnzXW2+1ZLkXC7k/p/3kbcT2EuObZV1RCkraLGXiio0vYRCjRkW5EujzEUdE5d1qapqd8urDD5ssMa53md8p/SaWW8HQV8gQh47iTMqXgUFlZR83/3zPg7TrO8uYQqZPPLHW1WOXrPCsS7xwPv202imtJLM7fWXf2WSTgbb8WJObU+eeO9hlzhcRBZxf3q3oQtEvFQFFQBFQBBQBRUARUAQKEehpZPqLL6ZbsjLRHW4ff3yai1eFVEDUEA7Mxx032B6CIyzEAiXIQIweeqjSlTOiBJaIZI2mRM3RR9e6AzWfjR492BLOZlevlwPsaacNsWS4wR3ORTiwYlHaZpsWl24ycW+11WTXPhESCp199mBHrsQyKN9hBSSjdEgOsf7dfHMU2ywCYXruuSrnLg5p9vsGQb7++npzyy0NuXu4/oADKlx2Z5QNItTHPuecIe45WJt9LChrBBFFEQEm/rsppZU1KRn3C5lOOuBDnGmfX1cb13CsitRERmEA2UbJgUUR1+liAlmkRJkQXa5lDNdYY4Ajz8SgQkTl8yOOGOwsedtvH9UfR8Du+usrnQu+JEXjcxQwd95Z6cZy3LhmV/+Xesz+eIIT8eB4CVDXWN7FNZBliDj1gp94otEmz2t5J/ice+4QW4KqyRKkKF4egfg+9NAw64LdZK3KNQ4LMDnwwApH0FEaMN+YZ5dcMsQpeGgXlnzkyCMrnEWcklZ4Tvx/e3cCbtX0/3H820BEpJI0iKgoQxnKlBBKhoiSsVCkjPEnmaefKZGxlNmPDIXQj1CIhAZCk0oalEpSVEr6n8+6zzr2PZ1z77ndezZW7/U8/0fde87ee73W7vf8P/u71trR4+pa/Oug/Ou+ZHXCCZu6WQpqWprgq5y+Eu6PoT0GtL5eu5srfPrmH1IU9u9K+wVoKrMeUnl7nb9bt83yVWv9cXVf6Bqi93PypBn+MGJEBWeizQWj/371+rUhQyq45QZaEy3b6O/1Dm09FPAP53T4wv59F3VM86Zor7SVK9e5f1t6qKDKtnbb1z3pm5+ZE+2i3DV7JHp9mq4vSz3cUUCnIYAAAggggAACCGyAQGhhWpUvVYb8VGetZZw6dW1iamipRFWpTNr1t0Vl05ReVbYqVfqr6qndjPX/iKeuHS7s2LNn/5lYf70uEarKJAN+Yd/5p/1eOx1PmbLWTb2uXbv0ejuKl9T1rk7kO01Z3XXX0vnW6+r4/nc1apRyY/13NY2lrkXXkdpUSdc7qhXy/RTcXF2nHnQsWLAu327pmgKuart/kOTPrWCm0J9u1/RM16dqtKq6Oocqpen6W9S+leS/q6Keu6if1xprTdHXu+YV8jO1kvr3LRv9b4v+q2OqIq6d8FN379d1aJynTVvrHnbVrVsm4+vpNFtHD2YK21OgqDZ8HgEEEEAAAQQQ2GgEQgvTG83A0VEEEEAAAQQQQAABBBBAAIG/TyCkMF2qVN76VhoCCCCAQPYC69Ztk/2H+SQCCCCAAAIIIIBAnkBIYZoxRQABBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICQBwnRIo0lfEEAAAQQQQAABBBBAAAEEYhEgTMfCzEkQQAABBBBAAAEEEEAAAQRCEiBMhzSa9AUBBBBAAAEEEEAAAQQQQCAWAcJ0LMycBAEEEEAAAQQQQAABBBBAICSBkML0unXrbM2aNUUantKlS1vZsmWL9J3ifvi3336z999/31asWGHt2rUr7uH4fhYC06dPtwkTJuCdhVWIH1nw3VL77usf7YDj6sfavT/XrrOZX/1o0yfMt6q1trZ6+1a3LStuFus1cDIEEEAAAQQQQACBHAmEFKYVlvbee+8iSbVv395eeOGFIn1nQz88f/5869Kli7355pvuEB06dLDnn39+Qw/H97IQ6N27tw0YMMCmTZvm7o1x48Zl8S0+EorA0Ec+t/eem2jzZ/5sO+1e1e58+6zYuvb7yjV2zXHP2c57bWfLl6yyscOnW6Xtt7T7P+psm24W7wO82DrNiRBAAAEEEEAAgY1JIKQwPWbMGDvggAPsyCOPtMsuu8xq1Khh5cuXt7p167ohvfrqq61jx472888/2yeffGI9evSw4447zoYOHRrbkC9btswuuOACe+655wjTMair+t+3b1/r1auX7b///m7caRuPgALtsIHj7fk7Rlndvbe3214/PbbOD+z1ro15Y5oN+LKbrfn9D7up3Qs2Z+pi6ze2q5Xfqlxs18GJEEAAAQQQQAABBHIkEFKY1tTpU045xWbOnGlbbLGFE9PUb03lVuvTp48L2b7dcccdNmLECBs+fHiOdNMf9uGHH7bu3bsTpmNSf/fdd90DlmbNmtmHH34Y01k5zT9FYOKo7+3WDi/Zrk1q2M2vnBrLZSX+Z8c61u9rtRtsa7e8epo7559/rrM/Vq+lKh3LCHASBBBAAAEEEEAgBoGQwrSC8UsvvWSPPPJIUq6gMD1jxgxXqf7oo49ikP7rFP3797euXbsSpmNSf++99+yII46wQw891EaOHBnTWTnNP0Xgq0SYviURphscUMtufPmUWC5ryYJfres+/WIN8LF0jJMggAACCCCAAAII/CUQUpjOq/78maxE6+8FhWn9/o8//nAbkOm/X375pX311VfuOw0bNrTGjRvbJptsktXtog2uRo0aZWeffbbNnTvX3nrrLfvll1/s8MMPd8eJtoLCtAK+vjtnzhyrWbOmHXTQQet931/32LFjbfz48VamTBlr2bKl7bjjjutd66+//urWCU+dOtWqVq1qzZs3t2222SarPun6hwwZYt99951tvvnmts8++7gKb6nITSMrXYeut23btu6/b7/9tm222WZ2zDHHZH0uXZCuceLEibZ48WLbdddd3RrnrbfeOt+1anz10EQ/32OPPey1115zm85p/bnfSE7fVwX666+/tgYNGjgfXVu6MJ2Nz4IFC9xSgPPOO89d4//+9z/XN798oDBMfX7lypXuY/Xr13f31rx58+zTTz9NfrVRo0ZWp06d5N/Vz48//tiF/5122sl23nlnN77Vq1fPdzpdj/YK0PHlse+++xZ2OcnfL1++3H33m2++sdhsg1IAACAASURBVEqVKrnvy8s33Yv6N+FbmzZtnKVmcshNbdNNN7Vjjz0233UXNj6ZLvCHGUvs+0mLEuuLV1r1XSpZnT22SzsdevbkRbZg1lLbr1Vdmzxmjs2estgOPnG35MZeyxLfnzxmrs2Zsshq1qtipcuUst6dX0sbplf9tsZmTlxgOvdWVcpbg/1rrbdBmKaKfzrsW9ur+Y5WqnQpG/P6VKtRt7I1PLDWel1ZtWKNTfl0rs2d9pM9ffP7bo1017tbus/Vql/FKlevkPxOSfR37R9/2jefzLFqO1a0KtW3slmTFtqsbxZag6a1rNpOFfOda8rn86x6nUpuunuZsnmzdWgIIIAAAggggAACxRAILUynUhQWpvV5BeHTTjvNvv/+exfKFAhfeeUV23PPPe3pp5+2vfbaK6OwKuF33323ff7551ahQgXr3Lmz3Xvvvfk+r02wLr/88uTPMoXpwYMH28knn2wXXnihC9Fa66t14NqkTNflm8K6//upp55qH3zwgavIK7gryPpQqWtSiNT1a6r766+/7q7x5ZdftqOOOqrAu0YmCrP77befXXTRRe74Wueta3vggQfcd9VPTZ3X9SjMN23a1G6++ebkcRXMdA1at15QU6i79NJL7fHHH7czzzzTBfFBgwa5rzz22GNuB26tc9e5nnzySXe+//znP+4zCt9q6rf6pAcaCrqyaNWqlQ0bNsz1Wy01TBfmo9D44IMPJt0eeughO+usvA2sirL+WsdRvxYuXOjuA90PCui6fr/sQJuk6d5R07p6BW5dr5YtvPrqq85B9+QJJ5zgPrN69Wq74oor3M8OOeQQd59oeYOsdM/KsKCmqe+nn366VatWzTkptMtD31ef9eDlhx9+cPf2fffd5w71008/udCthwMa+3feecfdT7rebMcn3TWt/HW1PXnDCBs56Gs75KQGtkm5svbxa5PdRy+4p1VyB+63nphgH7z0jc34coHtf2w9K79lORsx6Cv3ubaX7G8drjzYJieC7O1nDrbdD6ptjQ7bySaMmGnj3pnhPpNamZ7+xYJEyH7VdmxQ1YVkfW6zLTaxywe0ccF57rc/2ZuPjnPXotB94f2tbeDV77g/qz0x6SLbYuv8a5+X/7zSnrx+pC2a+4tN+WyeO96+R+7iPt/0mHrWtHVdK4n+HnPevrbJpmVsxPNf2bKfVth5dx5po4dOta8/np0kPvqcvU3/d2/XoYmdzBcmf97itD3t/LsL/vdf4M3DLxFAAAEEEEAAAQTyBDb2ML106VJXLVRlb9asWS4sqN1111121VVXubAwZcqU9SqC/v5RFVRroG+44Qb3I1XvtNGZKrlXXnmlC3lqqvApnKulC9MKJKpEK1jq1VkKoAoz2kQtugu1NtTS9SogK0ipcq6fKRTpuz5468GAKplPPPGEderUyZ1XoUjhTX1SRXP77bfP+M+gdevWLjT5kKoPqjqqwCYzVYZ1fddff70LemraGf26665zQVFBTeEx9UFAuhOqsqkdzvVQQMFQTaHY/1mBWBvLqeKpvqifarfccour8KoK7SvUCvAnnXSSvfjii8kZCgqpukYFbE35VsvGR/1QgPb904MFzTyQqY6lNffZtksuucTuv//+ZJj23zv44INdBToapv29p35uueWWbqaEHhDo3P5VanrAIY/Ro0e7sVCY1f2lBw3XXnuts8nUVBHXwwD1QaFaMw00M0NBXeOg32npg6rQP/74o7u31HyY1p917hYtWiTDtO6JwsZnl13yQmVqu+OsITb+vZl24+AOicpwTfdrheIb2uY9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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "In new state frozenset({\"click('order form')\", \"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.')\"})\n" ] }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "start\n", "\n", "<start>\n", "\n", "\n", "\n", "state\n", "\n", "<state>\n", "\n", "\n", "\n", "start->state\n", "\n", "\n", "\n", "\n", "\n", "state-1\n", "\n", "<state-1>\n", "\n", "\n", "\n", "state->state-1\n", "\n", "\n", "click('terms and conditions')\n", "\n", "\n", "\n", "state-2\n", "\n", "<state-2>\n", "\n", "\n", "\n", "state->state-2\n", "\n", "\n", "fill('email', '<email>')\n", "check('terms', <boolean>)\n", "fill('zip', '<number>')\n", "fill('name', '<text>')\n", "fill('city', '<text>')\n", "submit('submit')\n", "\n", "\n", "\n", "end\n", "\n", "<end>\n", "\n", "\n", "\n", "state->end\n", "\n", "\n", "\n", "\n", "\n", "state-1->end\n", "\n", "\n", "\n", "\n", "\n", "state-4\n", "\n", "<state-4>\n", "\n", "\n", "\n", "state-1->state-4\n", "\n", "\n", "click('order form')\n", "\n", "\n", "\n", "state-2->end\n", "\n", "\n", "\n", "\n", "\n", "state-3\n", "\n", "<state-3>\n", "\n", "\n", "\n", "state-2->state-3\n", "\n", "\n", "click('order form')\n", "\n", "\n", "\n", "unexplored\n", "\n", "<unexplored>\n", "\n", "\n", "\n", "state-4->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-3->unexplored\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "None" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "('', 'PASS')" ] }, "execution_count": 138, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer.run(gui_runner)" ] }, { "cell_type": "code", "execution_count": 139, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:06.165943Z", "iopub.status.busy": "2025-10-26T13:36:06.165800Z", "iopub.status.idle": "2025-10-26T13:36:06.248622Z", "shell.execute_reply": "2025-10-26T13:36:06.248302Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Action click('terms and conditions') -> \n" ] }, { "data": { "text/plain": [ "('', 'PASS')" ] }, "execution_count": 139, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer.run(gui_runner)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "At this point, our GUI model is fairly complete already. In order to systematically cover _all_ states, random exploration is not efficient enough, though." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Covering States\n", "\n", "During exploration as well as during testing, we want to _cover_ all states and transitions between states. How can we achieve this?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "It turns out that _we already have this._ Our `GrammarCoverageFuzzer` from the [chapter on coverage-based grammar testing](GrammarCoverageFuzzer.ipynb) strives to systematically _cover all expansion alternatives_ in a grammar. In the finite state model, these expansion alternatives translate into transitions between states. Hence, applying the coverage strategy from `GrammarCoverageFuzzer` to our state grammars would automatically cover one transition after another." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "How do we get these features into `GUIFuzzer`? Using _multiple inheritance_, we can create a class `GUICoverageFuzzer` which combines the `run()` method from `GUIFuzzer` with the coverage choices from `GrammarCoverageFuzzer`." ] }, { "cell_type": "code", "execution_count": 140, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:06.250515Z", "iopub.status.busy": "2025-10-26T13:36:06.250377Z", "iopub.status.idle": "2025-10-26T13:36:06.866951Z", "shell.execute_reply": "2025-10-26T13:36:06.866649Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from GrammarCoverageFuzzer import GrammarCoverageFuzzer" ] }, { "cell_type": "code", "execution_count": 141, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:06.868482Z", "iopub.status.busy": "2025-10-26T13:36:06.868343Z", "iopub.status.idle": "2025-10-26T13:36:06.870132Z", "shell.execute_reply": "2025-10-26T13:36:06.869887Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from bookutils import inheritance_conflicts" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Since the `__init__()` constructor is defined in both superclasses, we need to define our own constructor that serves both:" ] }, { "cell_type": "code", "execution_count": 142, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:06.871531Z", "iopub.status.busy": "2025-10-26T13:36:06.871443Z", "iopub.status.idle": "2025-10-26T13:36:06.874775Z", "shell.execute_reply": "2025-10-26T13:36:06.874557Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "['__firstlineno__', '__init__']" ] }, "execution_count": 142, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inheritance_conflicts(GUIFuzzer, GrammarCoverageFuzzer)" ] }, { "cell_type": "code", "execution_count": 143, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:06.875858Z", "iopub.status.busy": "2025-10-26T13:36:06.875773Z", "iopub.status.idle": "2025-10-26T13:36:06.877593Z", "shell.execute_reply": "2025-10-26T13:36:06.877383Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "class GUICoverageFuzzer(GUIFuzzer, GrammarCoverageFuzzer):\n", " \"\"\"Systematically explore all states of the current Web page\"\"\"\n", "\n", " def __init__(self, *args, **kwargs):\n", " \"\"\"Constructor. All args are passed to the `GUIFuzzer` superclass.\"\"\"\n", " GUIFuzzer.__init__(self, *args, **kwargs)\n", " self.reset_coverage()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "With `GUICoverageFuzzer`, we can set up a method `explore_all()` that keeps on running the fuzzer until there are no unexplored states anymore:" ] }, { "cell_type": "code", "execution_count": 144, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:06.878658Z", "iopub.status.busy": "2025-10-26T13:36:06.878576Z", "iopub.status.idle": "2025-10-26T13:36:06.880704Z", "shell.execute_reply": "2025-10-26T13:36:06.880430Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "class GUICoverageFuzzer(GUICoverageFuzzer):\n", " def explore_all(self, runner: GUIRunner, max_actions=100) -> None:\n", " \"\"\"Explore all states of the GUI, up to `max_actions` (default 100).\"\"\"\n", "\n", " actions = 0\n", " while (self.miner.UNEXPLORED_STATE in self.grammar and \n", " actions < max_actions):\n", " actions += 1\n", " if self.log_gui_exploration:\n", " print(\"Run #\" + repr(actions))\n", " try:\n", " self.run(runner)\n", " except ElementClickInterceptedException:\n", " pass\n", " except ElementNotInteractableException:\n", " pass\n", " except NoSuchElementException:\n", " pass" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Let us use this to fully explore our Web server:" ] }, { "cell_type": "code", "execution_count": 145, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:06.882102Z", "iopub.status.busy": "2025-10-26T13:36:06.882004Z", "iopub.status.idle": "2025-10-26T13:36:06.904643Z", "shell.execute_reply": "2025-10-26T13:36:06.904180Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 146, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:06.906451Z", "iopub.status.busy": "2025-10-26T13:36:06.906265Z", "iopub.status.idle": "2025-10-26T13:36:07.013742Z", "shell.execute_reply": "2025-10-26T13:36:07.013412Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer = GUICoverageFuzzer(gui_driver)" ] }, { "cell_type": "code", "execution_count": 147, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:07.015501Z", "iopub.status.busy": "2025-10-26T13:36:07.015399Z", "iopub.status.idle": "2025-10-26T13:36:07.938892Z", "shell.execute_reply": "2025-10-26T13:36:07.938558Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer.explore_all(gui_runner)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Success! We have covered all states:" ] }, { "cell_type": "code", "execution_count": 148, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:07.940637Z", "iopub.status.busy": "2025-10-26T13:36:07.940514Z", "iopub.status.idle": "2025-10-26T13:36:08.342634Z", "shell.execute_reply": "2025-10-26T13:36:08.341663Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "start\n", "\n", "<start>\n", "\n", "\n", "\n", "state\n", "\n", "<state>\n", "\n", "\n", "\n", "start->state\n", "\n", "\n", "\n", "\n", "\n", "state-1\n", "\n", "<state-1>\n", "\n", "\n", "\n", "state->state-1\n", "\n", "\n", "click('terms and conditions')\n", "\n", "\n", "\n", "state-2\n", "\n", "<state-2>\n", "\n", "\n", "\n", "state->state-2\n", "\n", "\n", "fill('email', '<email>')\n", "check('terms', <boolean>)\n", "fill('zip', '<number>')\n", "fill('name', '<text>')\n", "fill('city', '<text>')\n", "submit('submit')\n", "\n", "\n", "\n", "end\n", "\n", "<end>\n", "\n", "\n", "\n", "state->end\n", "\n", "\n", "\n", "\n", "\n", "state-1->state\n", "\n", "\n", "click('order form')\n", "\n", "\n", "\n", "state-1->end\n", "\n", "\n", "\n", "\n", "\n", "state-2->state\n", "\n", "\n", "click('order form')\n", "\n", "\n", "\n", "state-2->end\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fsm_diagram(gui_fuzzer.grammar)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We can retrieve the expansions covered so far, which of course cover all states." ] }, { "cell_type": "code", "execution_count": 149, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:08.344797Z", "iopub.status.busy": "2025-10-26T13:36:08.344664Z", "iopub.status.idle": "2025-10-26T13:36:08.347701Z", "shell.execute_reply": "2025-10-26T13:36:08.347353Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "{' -> False',\n", " ' -> True',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " ' -> 0',\n", " ' -> 2',\n", " ' -> 3',\n", " ' -> 4',\n", " ' -> 6',\n", " ' -> 7',\n", " ' -> 8',\n", " ' -> 9',\n", " ' -> ',\n", " ' -> ',\n", " ' -> @',\n", " ' -> ',\n", " ' -> E',\n", " ' -> G',\n", " ' -> J',\n", " ' -> K',\n", " ' -> M',\n", " ' -> O',\n", " ' -> P',\n", " ' -> T',\n", " ' -> V',\n", " ' -> W',\n", " ' -> X',\n", " ' -> b',\n", " ' -> c',\n", " ' -> h',\n", " ' -> i',\n", " ' -> j',\n", " ' -> k',\n", " ' -> l',\n", " ' -> p',\n", " ' -> q',\n", " ' -> r',\n", " ' -> u',\n", " ' -> v',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " \" -> click('order form')\\n\",\n", " ' -> ',\n", " ' -> ',\n", " \" -> click('order form')\\n\",\n", " \" -> click('order form')\\n\",\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " \" -> click('terms and conditions')\\n\",\n", " \" -> fill('email', '')\\ncheck('terms', )\\nfill('zip', '')\\nfill('name', '')\\nfill('city', '')\\nsubmit('submit')\\n\",\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " ' -> '}" ] }, "execution_count": 149, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer.covered_expansions" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Still, we haven't seen all expansions covered. A few digits and letters remain to be used." ] }, { "cell_type": "code", "execution_count": 150, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:08.349342Z", "iopub.status.busy": "2025-10-26T13:36:08.349227Z", "iopub.status.idle": "2025-10-26T13:36:08.351894Z", "shell.execute_reply": "2025-10-26T13:36:08.351571Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "{' -> 1',\n", " ' -> 5',\n", " ' -> A',\n", " ' -> B',\n", " ' -> C',\n", " ' -> D',\n", " ' -> F',\n", " ' -> H',\n", " ' -> I',\n", " ' -> L',\n", " ' -> N',\n", " ' -> Q',\n", " ' -> R',\n", " ' -> S',\n", " ' -> U',\n", " ' -> Y',\n", " ' -> Z',\n", " ' -> a',\n", " ' -> d',\n", " ' -> e',\n", " ' -> f',\n", " ' -> g',\n", " ' -> m',\n", " ' -> n',\n", " ' -> o',\n", " ' -> s',\n", " ' -> t',\n", " ' -> w',\n", " ' -> x',\n", " ' -> y',\n", " ' -> z',\n", " ' -> !',\n", " ' -> .',\n", " \" -> click('order form')\\n\"}" ] }, "execution_count": 150, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gui_fuzzer.missing_expansion_coverage()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Running the fuzzer again and again will eventually cover these expansions too, leading to letter and digit coverage within the order form." ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "slide" } }, "source": [ "## Exploring Large Sites\n", "\n", "Our GUI fuzzer is robust enough to handle exploration even on nontrivial sites such as [fuzzingbook.org](https://www.fuzzingbook.org). Let us demonstrate this:" ] }, { "cell_type": "code", "execution_count": 151, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:08.353416Z", "iopub.status.busy": "2025-10-26T13:36:08.353300Z", "iopub.status.idle": "2025-10-26T13:36:10.235166Z", "shell.execute_reply": "2025-10-26T13:36:10.234847Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(\"https://www.fuzzingbook.org/html/Fuzzer.html\")" ] }, { "cell_type": "code", "execution_count": 152, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:10.236776Z", "iopub.status.busy": "2025-10-26T13:36:10.236662Z", "iopub.status.idle": "2025-10-26T13:36:10.288715Z", "shell.execute_reply": "2025-10-26T13:36:10.288306Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "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CZBAQhKgmE7Iy8pBkQAJkAAJkAAJkAAJkAAJkAAJxJMAxXQ86bJtEiABEiABEiABEiABEiABEiCBhCRAMZ2Ql5WDIgESIAESIAESIAESIAESIAESiCcBiul40mXbJEACJEACJEACJEACJEACJEACCUmAYjohLysHRQIkQAIkQAIkQAIkQAIkQAIkEE8CFNPxpMu2SYAESIAESIAESIAESIAESIAEEpIAxXRCXlYOigRIgARIgARIgARIgARIgARIIJ4EKKbjSZdtkwAJkAAJkAAJkAAJkAAJkAAJJCQBiumEvKwcFAmQAAmQAAmQAAmQAAmQAAmQQDwJUEzHky7bJgESIAESIAESIAESIAESIAESSEgCFNMJeVk5KBIgARIgARIgARIgARIgARIggXgSoJiOJ122TQIkQAIkQAIkQAIkQAIkQAIkkJAEKKYT8rJyUCRAAiRAAiRAAiRAAiRAAiRAAvEkQDEdT7psmwRIgARIgARIgARIgARIgARIICEJ5Nu6deuhhBwZB0UCJEACJEACJEACJEACJEACJEACcSJAMR0nsGyWBEiABEiABEiABEiABEiABEggcQlQTCfuteXISIAESIAESIAESIAESIAESIAE4kSAYjpOYNksCZAACZAACZAACZAACZAACZBA4hKgmE7ca8uRkQAJkAAJkAAJkAAJkAAJkAAJxIkAxXScwLJZEiABEiABEiABEiABEiABEiCBxCVAMZ2415YjIwESIAESIAESIAESIAESIAESiBMBiuk4gWWzJEACJEACJEACJEACJEACJEACiUuAYjpxry1HRgIkQAIkQAIkQAIkQAIkQAIkECcCFNNxAstmSYAESIAESIAESIAESIAESIAEEpcAxXTiXluOjARIgARIgARIgARIgARIgARIIE4EKKbjBJbNkgAJkAAJkAAJkAAJkAAJkAAJJC4BiunEvbYcGQmQAAmQAAmQAAmQAAmQAAmQQJwIUEzHCSybJQESIAESIAESIAESIAESIAESSFwCFNOJe205MhIgARIgARIgARIgARIgARIggTgRoJiOE1g2SwIkQAIkQAIkQAIkQAIkQAIkkLgEKKYT99pyZCRAAiRAAiRAAiRAAiRAAiRAAnEiQDEdJ7BslgRIgARIgARIgARIgARIgARIIHEJUEwn7rXlyEiABEiABEiABEiABEiABEiABOJEgGI6TmDZLAmQAAmQAAmQAAmQAAmQAAmQQOISoJhO3GvLkZEACZAACZAACZAACZAACZAACcSJAMV0nMCyWRIgARIgARIgARIgARIgARIggcQlQDGduNeWIyMBEiABEiABEiABEiABEiABEogTAYrpOIFlsyRAAiRAAiRAAiRAAiRAAst9yZAAACAASURBVCRAAolLgGI6ca8tR0YCJEACJEACJEACJEACJEACJBAnAhTTcQLLZkmABEiABEiABEiABEiABEiABBKXAMV04l5bjowESIAESIAESIAESIAESIAESCBOBAKJ6ZSUlDh1g82SAAmQAAmQAAmQAAmQAAmQAAmQQM4TSEtL89UJimlfmFiJBEiABEiABEiABEiABEiABEggGQhQTCfDVeYYSYAESIAESIAESIAESIAESIAEQiVAMR0qTjZGAiRAAiRAAiRAAiRAAiRAAiSQDAQoppPhKnOMJEACJEACJEACJEACJEACJEACoRKgmA4VJxsjARIgARIgARIgARIgARIgARJIBgIU08lwlTlGEiABEiABEiABEiABEiABEiCBUAlQTIeKk42RAAmQAAmQAAmQAAmQAAmQAAkkAwGK6WS4yhwjCZAACZAACZAACZAACZAACZBAqAQopkPFycZIgARIgARIgARIgARIgARIgASSgQDFdDJcZY6RBEiABEiABEiABEiABEiABEggVAIU06HiZGMkQAIkQAIkQAIkQAIkQAIkQALJQIBiOhmuMsdIAiRAAiRAAiRAAiRAAiRAAiQQKgGK6VBxsjESIAESIAESIAESIAESIAESIIFkIEAxnQxXmWMkARIgARIgARIgARIgARIgARIIlQDFdKg42RgJkAAJkAAJkAAJkAAJkAAJkEAyEKCYToarzDGSAAmQAAmQAAmQAAmQAAmQAAmESoBiOlScbIwESIAESIAESIAESIAESIAESCAZCFBMJ8NV5hhJgARIgARIgARIgARIgARIgARCJUAxHSpONkYCJEACJEACJEACJEACJEACJJAMBCimk+Eqc4wkQAIkQAIkQAIkQAIkQAIkQAKhEqCYDhUnGyMBEiABEiABEiABEiABEiABEkgGAhTTyXCVOUYSIAESIAESIAESIAESIAESIIFQCVBMh4qTjZEACZAACZAACZAACZAACZAACSQDAYrpZLjKHCMJkAAJkAAJkAAJkAAJkAAJkECoBCimQ8XJxkiABEiABEiABEiABEiABEiABJKBAMV0MlxljpEESIAESIAESIAESIAESIAESCBUAhTToeJkYyRAAiRAAiRAAiRAAiRAAiRAAslAgGI6Ga4yx0gCJEACJEACJEACJEACJEACJBAqAYrpUHGyMRIgARIgARIgARIgARIgARIggWQgQDGdDFeZYyQBEiABEiABEiABEiABEiABEgiVAMV0qDjZGAmQAAmQAAmQAAmQAAmQAAmQQDIQoJhOhqvMMZIACZAACZAACZAACZAACZAACYRKgGI6VJxsjARIgARIgARIgARIgARIgARIIBkIUEwnw1XmGEmABEiABEiABEiABEiABEiABEIlQDEdKk42RgIkQAIkQAIkQAIkQAIkQAIkkAwEKKaT4SpzjCRAAiRAAiRAAiRAAiRAAiRAAqESoJgOFScbIwESIAESIAESIAESIAESIAESSAYCFNPJcJU5RhIgARIgARIgARIgARIgARIggVAJUEyHipONkQAJkAAJkAAJkAAJkAAJkAAJJAMBiulkuMocIwmQAAmQAAmQAAmQAAmQAAmQQKgEKKZDxcnGSIAESIAESIAESIAESIAESIAEkoEAxXQyXGWOkQRIgARIgARIgARIgARIgARIIFQCFNOh4mRjJEACJEACJEACJEACJEACJEACyUCAYjoZrjLHSAIkQAIkQAIkQAIkQAIkQAIkECoBiulQcbIxEiABEiABEiABEiABEiABEiCBZCBAMZ0MV5ljJAESIAESIAESIAESIAESIAESCJUAxXSoONkYCZAACZAACZAACZAACZAACZBAMhCgmE6Gq8wxkgAJkAAJkAAJkAAJkAAJkAAJhEqAYjpUnGyMBEiABEiABEiABEiABEiABEggGQhQTCfDVeYYSYAESIAESIAESIAESIAESIAEQiVAMR0qTjZGAiRAAiRAAiRAAiRAAiRAAiSQDAQoppPhKnOMJEACJEACJEACJEACJEACJEACoRKgmA4VJxsjARIgARIgARIgARIgARIgARJIBgIU08lwlTlGEiABEiABEiABEiABEiABEiCBUAlQTIeKk42RAAmQAAmQAAmQAAmQAAmQAAkkAwGK6WS4yhwjCZAACZAACZAACZAACZAACZBAqAQopkPFycZIgARIgARIgARIgARIgARI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13f/a+sVAUVAEVAEFAFFQBFQBBQBRUARUAQiEFAyHQGavqIIKAKKgCKgCCgCioAioAgoAoqAIlDfCCiZru/+19YrAoqAIqAIKAKKgCKgCCgCioAioAhEIKBkOgI0fUURUAQUAUVAEVAEFAFFQBFQBBQBRaC+EVAyXd/9r61XBBQBRUARUAQUAUVAEVAEFAFFQBGIQEDJdARo+ooioAgoAoqAIqAIKAKKgCKgCCgCikB9I6Bkur77X1uvCCgCioAioAgoAoqAIqAIKAKKgCIQgYCS6QjQqn1lxIgR5rvvvjM9evQw008/fbXFNdv7v/32mxk+fLiZaqqpzLzzztts39UP1QaBsWPHmk8++cTMMMMMZvbZZ6985N133zXjxo0zCy20kJl00klr83EtNReBtmofWlOX/vLLL+aNN94wv/76q5ltttlSezXRRBMFV1FtXjBkuS98/vnn5uuvv25z817TIaAlKQJtCwG1f22rv9R3aLn+qjsy/c4775i//vrLzDPPPKZjx44tgvxmm21m7r//fnP77beb9ddf37sOF154oYEAHXHEEWaSSSbxfq+pHnzttdfM8ssvb+aff37Df6u0HQQ++uijlCDPNddcZsopp0wrftFFF5mDDz7Y7LXXXuacc86pNGbyySdP//vTTz81M888c9tpZCur6fvvv28uvfRSw3hn3PhKrH3wLb+9P3fCCSeYU045pUEz77nnHrPWWmsFN70t2bxYfQsGJfIF0etbbrnFbLTRRpGl6GuKQG0QaGn/qjatqq7U5rZ/Dz/8sHnsscfMgAEDTPfu3aurfBt++7PPPjM//vijdwtmmWWWdFNEfQdvyJr8wboj0zPNNJP56aefzNtvv2169uzZ5ID6FBij8N98803FuDz55JNBzrlPnXyeaW7D6lMnfcYPARZA2IV+5JFHzMorr5y+pGTaD7vYpw499FBzwQUXmH79+qWLZ74SYx98y27vz910003mX//6V9rMTTbZxCy99NJm2LBhBkdZFpFCMGhLNi9W30LwqOZZJdPVoKfv1hKB1uBf1bJ9sWU3t/1bfPHFDRteJ510UrrQX6+y4447mltvvdW7+fgZu+22m5Jpb8Sa/kEl002Pqfnjjz/MrLPOao466iiz//77N/pCjLM8YcKEdBebULknnniiRcLDm9uwxnQN2P7555+GnSiVfxBYccUV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", "text/plain": [ "" ] }, "execution_count": 152, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(gui_driver.get_screenshot_as_png())" ] }, { "cell_type": "code", "execution_count": 153, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:10.291264Z", "iopub.status.busy": "2025-10-26T13:36:10.291137Z", "iopub.status.idle": "2025-10-26T13:36:10.293468Z", "shell.execute_reply": "2025-10-26T13:36:10.293082Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "book_runner = GUIRunner(gui_driver)" ] }, { "cell_type": "code", "execution_count": 154, "metadata": { "button": false, "execution": { "iopub.execute_input": "2025-10-26T13:36:10.295057Z", "iopub.status.busy": "2025-10-26T13:36:10.294946Z", "iopub.status.idle": "2025-10-26T13:36:14.805962Z", "shell.execute_reply": "2025-10-26T13:36:14.805590Z" }, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "book_fuzzer = GUICoverageFuzzer(gui_driver, log_gui_exploration=True) # , disp_gui_exploration=True)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We explore the first few states of the site, defined in `ACTIONS`:" ] }, { "cell_type": "code", "execution_count": 155, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:14.807859Z", "iopub.status.busy": "2025-10-26T13:36:14.807727Z", "iopub.status.idle": "2025-10-26T13:36:14.809505Z", "shell.execute_reply": "2025-10-26T13:36:14.809260Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "ACTIONS = 5" ] }, { "cell_type": "code", "execution_count": 156, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:14.810875Z", "iopub.status.busy": "2025-10-26T13:36:14.810778Z", "iopub.status.idle": "2025-10-26T13:36:44.353477Z", "shell.execute_reply": "2025-10-26T13:36:44.353213Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Run #1\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Action click('use the code provided in this chapter') -> \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "In new state frozenset({\"click('the chapter on fuzzers')\", \"ignore('Pipenv')\", \"click('Fuzzer')\", \"ignore('requirements.txt file within the project root folder')\", \"ignore('official instructions')\", \"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License')\", \"ignore('MIT License')\", \"ignore('')\", \"ignore('Imprint')\", \"click('The Fuzzing Book')\", \"click('Cite')\", \"ignore('Last change: 2023-11-11 18:18:06+01:00')\", \"ignore('bookutils.setup')\", \"ignore('installation instructions')\", \"ignore('apt.txt file in the binder/ folder')\", \"ignore('bookutils')\", \"click('fuzzingbook.Fuzzer')\", \"ignore('the project page')\", \"click('')\", \"click('fuzzingbook.')\", \"ignore('pyenv-win')\"})\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Run #2\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Action click('use grammars to specify the input format and thus get many more valid inputs') -> \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "In new state frozenset({\"click('Fuzzer')\", \"click('grammar toolbox')\", \"click('coverage-based')\", \"click('probabilities')\", \"click('create an efficient grammar fuzzer')\", \"click('The Fuzzing Book')\", \"click('fuzz configurations')\", \"ignore('CSmith')\", \"click('use the code provided in this chapter')\", \"ignore('Backus-Naur form')\", \"ignore('JSON specification')\", \"submit('')\", \"ignore('Last change: 2024-06-30 18:31:28+02:00')\", \"ignore('copy')\", \"ignore('Hanford et al, 1970')\", \"click('fuzzingbook.Grammars')\", \"ignore('Chomsky et al, 1956')\", \"ignore('Purdom et al, 1972')\", \"click('generator-based')\", \"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License')\", \"ignore('typing')\", \"ignore('LangFuzz')\", \"check('e1505106-d3ed-11ef-9634-6298cf1a5790', )\", \"click('MutationFuzzer')\", \"ignore('bookutils')\", \"click('constraints')\", \"ignore('Yang et al, 2011')\", \"ignore('string')\", \"click('')\", \"ignore('re')\", \"ignore('Hodov\\xc3\\xa1n et al, 2018')\", \"ignore('Le et al, 2014')\", \"ignore('ast')\", \"ignore('Dak\\xe1\\xb9\\xa3iputra P\\xc4\\x81\\xe1\\xb9\\x87ini, 350 BCE')\", \"click('the GrammarFuzzer class')\", \"ignore('Use the notebook')\", \"click('Chapter introducing fuzzing')\", \"ignore('MIT License')\", \"click('"Mutation-Based Fuzzing"')\", \"ignore('')\", \"ignore('EMI Project')\", \"click('Cite')\", \"ignore('bookutils.setup')\", \"ignore('Burkhardt et al, 1967')\", \"click('probabilistic-based')\", \"check('e1424af2-d3ed-11ef-9634-6298cf1a5790', )\", \"click('chapter on coverage')\", \"ignore('Holler et al, 2012')\", \"click('coverage')\", \"click('mutation-based fuzzing')\", \"ignore('inspect')\", \"ignore('Imprint')\", \"ignore('Grammarinator')\", \"ignore('random')\", \"click('probabilistic grammar fuzzing')\", \"click('fuzzing functions and APIs')\", \"click('next chapter')\", \"click('later in this book')\", \"ignore('Domato')\", \"click('basic fuzzing')\", \"check('e1433cfa-d3ed-11ef-9634-6298cf1a5790', )\", \"click('our chapter on coverage-based fuzzing')\", \"ignore('Wikipedia page on file formats')\", \"click('fuzzing graphical user interfaces')\"})\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Run #3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Action click('chapter on mining function specifications') -> \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "In new state frozenset({\"click('introduction to testing')\", \"ignore('DAIKON dynamic invariant detector')\", \"ignore('Use the notebook')\", \"ignore('code snippet from StackOverflow')\", \"ignore('Ammons et al, 2002')\", \"ignore('MIT License')\", \"ignore('')\", \"click('The Fuzzing Book')\", \"click('fuzzingbook.DynamicInvariants')\", \"click('Cite')\", \"click('use the code provided in this chapter')\", \"click('ExpectError')\", \"ignore('bookutils.setup')\", \"click('symbolic fuzzing')\", \"click('the next part')\", \"click('our chapter with the same name')\", \"ignore('Last change: 2024-11-09 17:07:29+01:00')\", \"click('GrammarFuzzer')\", \"click('chapter on testing')\", \"click('concolic fuzzer')\", \"click('concolic')\", \"ignore('Ernst et al, 2001')\", \"click('chapter on coverage')\", \"ignore('subprocess')\", \"click('symbolic interpretation')\", \"ignore('showast')\", \"click('part on semantic fuzzing techniques')\", \"ignore('functools')\", \"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License')\", \"click('Grammars')\", \"ignore('inspect')\", \"ignore('MonkeyType')\", \"ignore('Imprint')\", \"ignore('Mypy')\", \"ignore('typing')\", \"ignore('itertools')\", \"ignore('sys')\", \"ignore('Pacheco et al, 2005')\", \"click('chapter on information flow')\", \"ignore('tempfile')\", \"ignore('"The state of type hints in Python"')\", \"ignore('bookutils')\", \"ignore('curated list')\", \"click('symbolic')\", \"click('domain-specific fuzzing techniques')\", \"click('')\", \"click('Intro_Testing')\", \"ignore('PyAnnotate')\", \"click('Coverage')\", \"ignore('ast')\"})\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Run #4\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Action click('Introduction to Testing') -> \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "In new state frozenset({\"ignore('Use the notebook')\", \"ignore('Myers et al, 2004')\", \"ignore('"Effective Software Testing: A Developer's Guide"')\", \"ignore('MIT License')\", \"ignore('')\", \"click('The Fuzzing Book')\", \"click('Background')\", \"click('Cite')\", \"ignore('bookutils.setup')\", \"click('ExpectError')\", \"ignore('Maur\\xc3\\xadcio Aniche, 2022')\", \"ignore('Last change: 2023-11-11 18:18:06+01:00')\", \"submit('')\", \"check('7a77e688-d3ed-11ef-a281-6298cf1a5790', )\", \"click('Web Page')\", \"click('Timer')\", \"ignore('Shellsort')\", \"click('Guide for Authors')\", \"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License')\", \"check('79d7b92e-d3ed-11ef-a281-6298cf1a5790', )\", \"ignore('Newton\\xe2\\x80\\x93Raphson method')\", \"click('use fuzzing to test programs with random inputs')\", \"ignore('Pezz\\xc3\\xa8 et al, 2008')\", \"click('00_Table_of_Contents.ipynb')\", \"ignore('random')\", \"ignore('Beizer et al, 1990')\", \"ignore('Imprint')\", \"click('Timer module')\", \"ignore('bookutils')\", \"click('import it')\", \"check('79a472e4-d3ed-11ef-a281-6298cf1a5790', )\", \"click('')\", \"ignore('Python tutorial')\", \"ignore('math.isclose()')\"})\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Run #5\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Action click('ExpectError') -> \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "In existing state \n", "Replacing expected state by \n" ] } ], "source": [ "book_fuzzer.explore_all(book_runner, max_actions=ACTIONS)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "After the first `ACTIONS` actions already, we can see that the finite state model is quite complex, with dozens of transitions still left to explore. Most of the yet unexplored states will eventually merge with existing states, yielding one state per chapter. Still, following _all_ links on _all_ pages will take quite some time." ] }, { "cell_type": "code", "execution_count": 157, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:44.354891Z", "iopub.status.busy": "2025-10-26T13:36:44.354788Z", "iopub.status.idle": "2025-10-26T13:36:44.579760Z", "shell.execute_reply": "2025-10-26T13:36:44.579426Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "ename": "ExecutableNotFound", "evalue": "failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:76\u001b[39m, in \u001b[36mrun_check\u001b[39m\u001b[34m(cmd, input_lines, encoding, quiet, **kwargs)\u001b[39m\n\u001b[32m 75\u001b[39m kwargs[\u001b[33m'\u001b[39m\u001b[33mstdout\u001b[39m\u001b[33m'\u001b[39m] = kwargs[\u001b[33m'\u001b[39m\u001b[33mstderr\u001b[39m\u001b[33m'\u001b[39m] = subprocess.PIPE\n\u001b[32m---> \u001b[39m\u001b[32m76\u001b[39m proc = \u001b[43m_run_input_lines\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minput_lines\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m=\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 77\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:96\u001b[39m, in \u001b[36m_run_input_lines\u001b[39m\u001b[34m(cmd, input_lines, kwargs)\u001b[39m\n\u001b[32m 95\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_run_input_lines\u001b[39m(cmd, input_lines, *, kwargs):\n\u001b[32m---> \u001b[39m\u001b[32m96\u001b[39m popen = \u001b[43msubprocess\u001b[49m\u001b[43m.\u001b[49m\u001b[43mPopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mstdin\u001b[49m\u001b[43m=\u001b[49m\u001b[43msubprocess\u001b[49m\u001b[43m.\u001b[49m\u001b[43mPIPE\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 98\u001b[39m stdin_write = popen.stdin.write\n", "\u001b[36mFile \u001b[39m\u001b[32m/opt/homebrew/Cellar/python@3.13/3.13.4/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:1039\u001b[39m, in \u001b[36mPopen.__init__\u001b[39m\u001b[34m(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags, restore_signals, start_new_session, pass_fds, user, group, extra_groups, encoding, errors, text, umask, pipesize, process_group)\u001b[39m\n\u001b[32m 1036\u001b[39m \u001b[38;5;28mself\u001b[39m.stderr = io.TextIOWrapper(\u001b[38;5;28mself\u001b[39m.stderr,\n\u001b[32m 1037\u001b[39m encoding=encoding, errors=errors)\n\u001b[32m-> \u001b[39m\u001b[32m1039\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_execute_child\u001b[49m\u001b[43m(\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexecutable\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpreexec_fn\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mclose_fds\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1040\u001b[39m \u001b[43m \u001b[49m\u001b[43mpass_fds\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcwd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43menv\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1041\u001b[39m \u001b[43m \u001b[49m\u001b[43mstartupinfo\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcreationflags\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mshell\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1042\u001b[39m \u001b[43m \u001b[49m\u001b[43mp2cread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mp2cwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1043\u001b[39m \u001b[43m \u001b[49m\u001b[43mc2pread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mc2pwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1044\u001b[39m \u001b[43m \u001b[49m\u001b[43merrread\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrwrite\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1045\u001b[39m \u001b[43m \u001b[49m\u001b[43mrestore_signals\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1046\u001b[39m \u001b[43m \u001b[49m\u001b[43mgid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mgids\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43muid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mumask\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1047\u001b[39m \u001b[43m \u001b[49m\u001b[43mstart_new_session\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mprocess_group\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1048\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m:\n\u001b[32m 1049\u001b[39m \u001b[38;5;66;03m# Cleanup if the child failed starting.\u001b[39;00m\n", "\u001b[36mFile \u001b[39m\u001b[32m/opt/homebrew/Cellar/python@3.13/3.13.4/Frameworks/Python.framework/Versions/3.13/lib/python3.13/subprocess.py:1972\u001b[39m, in \u001b[36mPopen._execute_child\u001b[39m\u001b[34m(self, args, executable, preexec_fn, close_fds, pass_fds, cwd, env, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite, restore_signals, gid, gids, uid, umask, start_new_session, process_group)\u001b[39m\n\u001b[32m 1971\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m err_filename \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1972\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m child_exception_type(errno_num, err_msg, err_filename)\n\u001b[32m 1973\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: PosixPath('dot')", "\nThe above exception was the direct cause of the following exception:\n", "\u001b[31mExecutableNotFound\u001b[39m Traceback (most recent call last)", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/IPython/core/formatters.py:1036\u001b[39m, in \u001b[36mMimeBundleFormatter.__call__\u001b[39m\u001b[34m(self, obj, include, exclude)\u001b[39m\n\u001b[32m 1033\u001b[39m method = get_real_method(obj, \u001b[38;5;28mself\u001b[39m.print_method)\n\u001b[32m 1035\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m method \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1036\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mmethod\u001b[49m\u001b[43m(\u001b[49m\u001b[43minclude\u001b[49m\u001b[43m=\u001b[49m\u001b[43minclude\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mexclude\u001b[49m\u001b[43m=\u001b[49m\u001b[43mexclude\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1037\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[32m 1038\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/jupyter_integration.py:98\u001b[39m, in \u001b[36mJupyterIntegration._repr_mimebundle_\u001b[39m\u001b[34m(self, include, exclude, **_)\u001b[39m\n\u001b[32m 96\u001b[39m include = \u001b[38;5;28mset\u001b[39m(include) \u001b[38;5;28;01mif\u001b[39;00m include \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m {\u001b[38;5;28mself\u001b[39m._jupyter_mimetype}\n\u001b[32m 97\u001b[39m include -= \u001b[38;5;28mset\u001b[39m(exclude \u001b[38;5;129;01mor\u001b[39;00m [])\n\u001b[32m---> \u001b[39m\u001b[32m98\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m {mimetype: \u001b[38;5;28;43mgetattr\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmethod_name\u001b[49m\u001b[43m)\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 99\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m mimetype, method_name \u001b[38;5;129;01min\u001b[39;00m MIME_TYPES.items()\n\u001b[32m 100\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m mimetype \u001b[38;5;129;01min\u001b[39;00m include}\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/jupyter_integration.py:112\u001b[39m, in \u001b[36mJupyterIntegration._repr_image_svg_xml\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 110\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_repr_image_svg_xml\u001b[39m(\u001b[38;5;28mself\u001b[39m) -> \u001b[38;5;28mstr\u001b[39m:\n\u001b[32m 111\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Return the rendered graph as SVG string.\"\"\"\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m112\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mpipe\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m=\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43msvg\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mSVG_ENCODING\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:104\u001b[39m, in \u001b[36mPipe.pipe\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 55\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mpipe\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[32m 56\u001b[39m \u001b[38;5;28mformat\u001b[39m: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 57\u001b[39m renderer: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m (...)\u001b[39m\u001b[32m 61\u001b[39m engine: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 62\u001b[39m encoding: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m) -> typing.Union[\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[32m 63\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Return the source piped through the Graphviz layout command.\u001b[39;00m\n\u001b[32m 64\u001b[39m \n\u001b[32m 65\u001b[39m \u001b[33;03m Args:\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 102\u001b[39m \u001b[33;03m ' \u001b[39m\u001b[32m104\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_legacy\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 105\u001b[39m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 106\u001b[39m \u001b[43m \u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 107\u001b[39m \u001b[43m \u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m=\u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 108\u001b[39m \u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 109\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 110\u001b[39m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/_tools.py:185\u001b[39m, in \u001b[36mdeprecate_positional_args..decorator..wrapper\u001b[39m\u001b[34m(*args, **kwargs)\u001b[39m\n\u001b[32m 177\u001b[39m wanted = \u001b[33m'\u001b[39m\u001b[33m, \u001b[39m\u001b[33m'\u001b[39m.join(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mvalue\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 178\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m name, value \u001b[38;5;129;01min\u001b[39;00m deprecated.items())\n\u001b[32m 179\u001b[39m warnings.warn(\u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33mThe signature of \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfunc_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m will be reduced\u001b[39m\u001b[33m'\u001b[39m\n\u001b[32m 180\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33m to \u001b[39m\u001b[38;5;132;01m{\u001b[39;00msupported_number\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m positional arg\u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms_\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mqualification\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m\n\u001b[32m 181\u001b[39m \u001b[33mf\u001b[39m\u001b[33m'\u001b[39m\u001b[33m \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlist\u001b[39m(supported)\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m: pass \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mwanted\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m as keyword arg\u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms_\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m'\u001b[39m,\n\u001b[32m 182\u001b[39m stacklevel=stacklevel,\n\u001b[32m 183\u001b[39m category=category)\n\u001b[32m--> \u001b[39m\u001b[32m185\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:121\u001b[39m, in \u001b[36mPipe._pipe_legacy\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 112\u001b[39m \u001b[38;5;129m@_tools\u001b[39m.deprecate_positional_args(supported_number=\u001b[32m1\u001b[39m, ignore_arg=\u001b[33m'\u001b[39m\u001b[33mself\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 113\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_pipe_legacy\u001b[39m(\u001b[38;5;28mself\u001b[39m,\n\u001b[32m 114\u001b[39m \u001b[38;5;28mformat\u001b[39m: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m (...)\u001b[39m\u001b[32m 119\u001b[39m engine: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 120\u001b[39m encoding: typing.Optional[\u001b[38;5;28mstr\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m) -> typing.Union[\u001b[38;5;28mbytes\u001b[39m, \u001b[38;5;28mstr\u001b[39m]:\n\u001b[32m--> \u001b[39m\u001b[32m121\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_future\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mformat\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 122\u001b[39m \u001b[43m \u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m=\u001b[49m\u001b[43mrenderer\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 123\u001b[39m \u001b[43m \u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m=\u001b[49m\u001b[43mformatter\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 124\u001b[39m \u001b[43m \u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m=\u001b[49m\u001b[43mneato_no_op\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 125\u001b[39m \u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 126\u001b[39m \u001b[43m \u001b[49m\u001b[43mengine\u001b[49m\u001b[43m=\u001b[49m\u001b[43mengine\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 127\u001b[39m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/piping.py:149\u001b[39m, in \u001b[36mPipe._pipe_future\u001b[39m\u001b[34m(self, format, renderer, formatter, neato_no_op, quiet, engine, encoding)\u001b[39m\n\u001b[32m 146\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m encoding \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 147\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m codecs.lookup(encoding) \u001b[38;5;129;01mis\u001b[39;00m codecs.lookup(\u001b[38;5;28mself\u001b[39m.encoding):\n\u001b[32m 148\u001b[39m \u001b[38;5;66;03m# common case: both stdin and stdout need the same encoding\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m149\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_pipe_lines_string\u001b[49m\u001b[43m(\u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m=\u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 150\u001b[39m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[32m 151\u001b[39m raw = \u001b[38;5;28mself\u001b[39m._pipe_lines(*args, input_encoding=\u001b[38;5;28mself\u001b[39m.encoding, **kwargs)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/piping.py:212\u001b[39m, in \u001b[36mpipe_lines_string\u001b[39m\u001b[34m(engine, format, input_lines, encoding, renderer, formatter, neato_no_op, quiet)\u001b[39m\n\u001b[32m 206\u001b[39m cmd = dot_command.command(engine, \u001b[38;5;28mformat\u001b[39m,\n\u001b[32m 207\u001b[39m renderer=renderer,\n\u001b[32m 208\u001b[39m formatter=formatter,\n\u001b[32m 209\u001b[39m neato_no_op=neato_no_op)\n\u001b[32m 210\u001b[39m kwargs = {\u001b[33m'\u001b[39m\u001b[33minput_lines\u001b[39m\u001b[33m'\u001b[39m: input_lines, \u001b[33m'\u001b[39m\u001b[33mencoding\u001b[39m\u001b[33m'\u001b[39m: encoding}\n\u001b[32m--> \u001b[39m\u001b[32m212\u001b[39m proc = \u001b[43mexecute\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrun_check\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcmd\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcapture_output\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m=\u001b[49m\u001b[43mquiet\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 213\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m proc.stdout\n", "\u001b[36mFile \u001b[39m\u001b[32m~/.virtualenvs/python3.13/lib/python3.13/site-packages/graphviz/backend/execute.py:81\u001b[39m, in \u001b[36mrun_check\u001b[39m\u001b[34m(cmd, input_lines, encoding, quiet, **kwargs)\u001b[39m\n\u001b[32m 79\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mOSError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[32m 80\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m e.errno == errno.ENOENT:\n\u001b[32m---> \u001b[39m\u001b[32m81\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ExecutableNotFound(cmd) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01me\u001b[39;00m\n\u001b[32m 82\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m\n\u001b[32m 84\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m quiet \u001b[38;5;129;01mand\u001b[39;00m proc.stderr:\n", "\u001b[31mExecutableNotFound\u001b[39m: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH" ] }, { "data": { "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Inspect this graph in the notebook to see it in full glory\n", "fsm_diagram(book_fuzzer.grammar)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We now have all the basic capabilities we need: We can automatically explore large websites; we can explore \"deep\" functionality by filling out forms; and we can have our coverage-based fuzzer automatically focus on yet unexplored states. Still, there is a lot more one can do; the [exercises](#Exercises) will give you some ideas." ] }, { "cell_type": "code", "execution_count": 158, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:44.581421Z", "iopub.status.busy": "2025-10-26T13:36:44.581288Z", "iopub.status.idle": "2025-10-26T13:36:46.173556Z", "shell.execute_reply": "2025-10-26T13:36:46.173266Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.quit()" ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": true, "run_control": { "read_only": false }, "slideshow": { "slide_type": "slide" } }, "source": [ "## Lessons Learned\n", "\n", "* _Selenium_ is a powerful framework for interacting with user interfaces, especially Web-based user interfaces.\n", "* A _finite state model_ can encode user interface states and transitions.\n", "* Encoding user interface models into a _grammar_ integrates generating text (for forms) and generating user interactions (for navigating)\n", "* To systematically explore a user interface, cover all _state transitions_, which is equivalent to covering all _expansion alternatives_ in the equivalent grammar." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "We are done, so we clean up. We shut down our Web server, quit the Web driver (and the associated browser), and finally clean up temporary files left by Selenium." ] }, { "cell_type": "code", "execution_count": 170, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:50.874381Z", "iopub.status.busy": "2025-10-26T13:36:50.874249Z", "iopub.status.idle": "2025-10-26T13:36:50.876089Z", "shell.execute_reply": "2025-10-26T13:36:50.875862Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "httpd_process.terminate()" ] }, { "cell_type": "code", "execution_count": 171, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:50.877456Z", "iopub.status.busy": "2025-10-26T13:36:50.877358Z", "iopub.status.idle": "2025-10-26T13:36:51.936156Z", "shell.execute_reply": "2025-10-26T13:36:51.935838Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.quit()" ] }, { "cell_type": "code", "execution_count": 172, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:51.937698Z", "iopub.status.busy": "2025-10-26T13:36:51.937602Z", "iopub.status.idle": "2025-10-26T13:36:51.939328Z", "shell.execute_reply": "2025-10-26T13:36:51.939059Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import os" ] }, { "cell_type": "code", "execution_count": 173, "metadata": { "execution": { "iopub.execute_input": "2025-10-26T13:36:51.940591Z", "iopub.status.busy": "2025-10-26T13:36:51.940502Z", "iopub.status.idle": "2025-10-26T13:36:51.942369Z", "shell.execute_reply": "2025-10-26T13:36:51.942125Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "for temp_file in [ORDERS_DB, \"geckodriver.log\", \"ghostdriver.log\"]:\n", " if os.path.exists(temp_file):\n", " os.remove(temp_file)" ] }, { "cell_type": "markdown", "metadata": { "button": false, "new_sheet": false, "run_control": { "read_only": false }, "slideshow": { "slide_type": "slide" } }, "source": [ "## Next Steps\n", "\n", "From here, you can learn how to\n", "\n", "* [fuzz in the large](FuzzingInTheLarge.ipynb). running a myriad of fuzzers on the same system" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Background\n", "\n", "Automatic testing of graphical user interfaces is a rich field – in research as in practice.\n", "\n", "Coverage criteria for GUIs as well as how to achieve them were first discussed in \\cite{Memon2001}. Memon also introduced the concept of *GUI Ripping* \\cite{Memon2003} – the process in which the software's GUI is automatically traversed by interacting with all its user interface elements.\n", "\n", "The CrawlJax tool \\cite{Mesbah2012} uses dynamic state changes in Web user interfaces to identify candidate elements to interact with. As our approach above, it uses the set of interactable user interface elements as a state in a finite-state model.\n", "\n", "The [Alex framework](https://learnlib.github.io/alex/) uses a similar approach to learn automata for web applications. Starting from a set of test inputs, it produces a mixed-mode behavioral model of the application." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Exercises\n", "\n", "As powerful as our GUI fuzzer is at this point, there are still several possibilities left for further optimization and extension. Here are some ideas to get you started. Enjoy user interface fuzzing!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 1: Stay in Local State\n", "\n", "Rather than having each `run()` start at the very beginning, have the miner start from the current state and explore states reachable from there." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 2: Going Back\n", "\n", "Make use of the web driver `back()` method and go back to an earlier state, from which we could again start exploration. (Note that a \"back\" functionality may not be available on non-Web user interfaces.)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 3: Avoiding Bad Form Values\n", "\n", "Detect that some form values are _invalid_, such that the miner does not produce them again." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 4: Saving Form Values\n", "\n", "Save _successful_ form values, such that the tester does not have to infer them again and again." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 5: Same Names, Same States\n", "\n", "When the miner finds a link with a name it has already seen, it is likely to lead to a state already seen, too; therefore, one could give its exploration a lower priority." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 6: Combinatorial Coverage\n", "\n", "Extend the grammar miner such that for every boolean value, there is a separate value to be covered." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 7: Implicit Delays\n", "\n", "Rather than using _explicit_ (given) delays, use _implicit_ delays and wait for specific elements to appear. these elements could stem from previous explorations of the state." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 8: Oracles\n", "\n", "Extend the grammar miner such that it also produces _oracles_ – for instance, checking for the presence of specific UI elements." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Exercise 9: More UI Elements\n", "\n", "Run the miner on a website of your choice. Find out which other types of user interface elements and actions need to be supported." ] } ], "metadata": { "ipub": { "bibliography": "fuzzingbook.bib", "toc": true }, "kernelspec": { "display_name": "Python 3", "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.13.4" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": true, "title_cell": "", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true }, "toc-autonumbering": false, "vscode": { "interpreter": { "hash": "4185989cf89c47c310c2629adcadd634093b57a2c49dffb5ae8d0d14fa302f2b" } } }, "nbformat": 4, "nbformat_minor": 4 }