{ "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": "2024-01-18T17:27:02.094228Z", "iopub.status.busy": "2024-01-18T17:27:02.093498Z", "iopub.status.idle": "2024-01-18T17:27:02.156095Z", "shell.execute_reply": "2024-01-18T17:27:02.155752Z" }, "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)." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "## Synopsis\n", "\n", "\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", "\n", "This chapter demonstrates how to programmatically interact with user interfaces, using Selenium on Web browsers. It provides an experimental `GUICoverageFuzzer` class that automatically explores a user interface by systematically interacting with all available user interface elements.\n", "\n", "The function `start_webdriver()` starts a headless Web browser in the background and returns a _GUI driver_ as handle for further communication.\n", "\n", "```python\n", ">>> gui_driver = start_webdriver()\n", "```\n", "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.\n", "\n", "```python\n", ">>> gui_driver.get(httpd_url)\n", ">>> Image(gui_driver.get_screenshot_as_png())\n", "```\n", "![](PICS/GUIFuzzer-synopsis-1.png)\n", "\n", "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.\n", "\n", "```python\n", ">>> gui_fuzzer = GUICoverageFuzzer(gui_driver)\n", ">>> gui_runner = GUIRunner(gui_driver)\n", "```\n", "The `explore_all()` method extracts all states and all transitions from a Web user interface.\n", "\n", "```python\n", ">>> gui_fuzzer.explore_all(gui_runner)\n", "```\n", "The grammar embeds a finite state automation and is best visualized as such.\n", "\n", "```python\n", ">>> fsm_diagram(gui_fuzzer.grammar)\n", "```\n", "![](PICS/GUIFuzzer-synopsis-2.svg)\n", "\n", "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.\n", "\n", "```python\n", ">>> gui_driver.get(httpd_url)\n", ">>> actions = gui_fuzzer.fuzz()\n", ">>> print(actions)\n", "click('terms and conditions')\n", "click('order form')\n", "check('terms', False)\n", "fill('email', 'g@r')\n", "fill('name', 'j')\n", "fill('zip', '7')\n", "fill('city', 'feb')\n", "submit('submit')\n", "click('order form')\n", "check('terms', False)\n", "fill('email', 'H@h')\n", "fill('name', 'Z')\n", "fill('zip', '1')\n", "fill('city', 'I')\n", "submit('submit')\n", "\n", "\n", "```\n", "These actions can be fed into the GUI runner, which will execute them on the given GUI driver.\n", "\n", "```python\n", ">>> gui_driver.get(httpd_url)\n", ">>> result, outcome = gui_runner.run(actions)\n", ">>> Image(gui_driver.get_screenshot_as_png())\n", "```\n", "![](PICS/GUIFuzzer-synopsis-3.png)\n", "\n", "Further invocations of `fuzz()` will further cover the model – for instance, exploring the terms and conditions.\n", "\n", "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.\n", "\n", "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.\n", "\n", "![](PICS/GUIFuzzer-synopsis-4.svg)\n", "\n" ] }, { "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": "2024-01-18T17:27:02.178355Z", "iopub.status.busy": "2024-01-18T17:27:02.178193Z", "iopub.status.idle": "2024-01-18T17:27:02.180110Z", "shell.execute_reply": "2024-01-18T17:27:02.179860Z" }, "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": "2024-01-18T17:27:02.181528Z", "iopub.status.busy": "2024-01-18T17:27:02.181425Z", "iopub.status.idle": "2024-01-18T17:27:02.183006Z", "shell.execute_reply": "2024-01-18T17:27:02.182782Z" }, "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": "2024-01-18T17:27:02.184353Z", "iopub.status.busy": "2024-01-18T17:27:02.184263Z", "iopub.status.idle": "2024-01-18T17:27:02.185866Z", "shell.execute_reply": "2024-01-18T17:27:02.185624Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import os\n", "import sys" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:02.187249Z", "iopub.status.busy": "2024-01-18T17:27:02.187158Z", "iopub.status.idle": "2024-01-18T17:27:02.188933Z", "shell.execute_reply": "2024-01-18T17:27:02.188704Z" }, "slideshow": { "slide_type": "fragment" } }, "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": "2024-01-18T17:27:02.190310Z", "iopub.status.busy": "2024-01-18T17:27:02.190229Z", "iopub.status.idle": "2024-01-18T17:27:02.750006Z", "shell.execute_reply": "2024-01-18T17:27:02.749526Z" }, "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": "2024-01-18T17:27:02.752034Z", "iopub.status.busy": "2024-01-18T17:27:02.751896Z", "iopub.status.idle": "2024-01-18T17:27:02.753679Z", "shell.execute_reply": "2024-01-18T17:27:02.753418Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import html" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:02.755055Z", "iopub.status.busy": "2024-01-18T17:27:02.754959Z", "iopub.status.idle": "2024-01-18T17:27:02.757645Z", "shell.execute_reply": "2024-01-18T17:27:02.757378Z" }, "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": "2024-01-18T17:27:02.759196Z", "iopub.status.busy": "2024-01-18T17:27:02.759098Z", "iopub.status.idle": "2024-01-18T17:27:02.770845Z", "shell.execute_reply": "2024-01-18T17:27:02.770316Z" }, "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": "2024-01-18T17:27:02.772639Z", "iopub.status.busy": "2024-01-18T17:27:02.772505Z", "iopub.status.idle": "2024-01-18T17:27:02.774805Z", "shell.execute_reply": "2024-01-18T17:27:02.774458Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from IPython.display import display, Image" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:02.776327Z", "iopub.status.busy": "2024-01-18T17:27:02.776181Z", "iopub.status.idle": "2024-01-18T17:27:02.777966Z", "shell.execute_reply": "2024-01-18T17:27:02.777668Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from bookutils import HTML, rich_output" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:02.779547Z", "iopub.status.busy": "2024-01-18T17:27:02.779422Z", "iopub.status.idle": "2024-01-18T17:27:02.791470Z", "shell.execute_reply": "2024-01-18T17:27:02.791144Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
127.0.0.1 - - [18/Jan/2024 18:27:02] \"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": "2024-01-18T17:27:02.793333Z", "iopub.status.busy": "2024-01-18T17:27:02.793193Z", "iopub.status.idle": "2024-01-18T17:27:02.815007Z", "shell.execute_reply": "2024-01-18T17:27:02.814709Z" }, "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": "2024-01-18T17:27:02.816689Z", "iopub.status.busy": "2024-01-18T17:27:02.816578Z", "iopub.status.idle": "2024-01-18T17:27:02.818323Z", "shell.execute_reply": "2024-01-18T17:27:02.818049Z" }, "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": "2024-01-18T17:27:02.819816Z", "iopub.status.busy": "2024-01-18T17:27:02.819713Z", "iopub.status.idle": "2024-01-18T17:27:02.821134Z", "shell.execute_reply": "2024-01-18T17:27:02.820904Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import shutil" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:02.822674Z", "iopub.status.busy": "2024-01-18T17:27:02.822557Z", "iopub.status.idle": "2024-01-18T17:27:02.824967Z", "shell.execute_reply": "2024-01-18T17:27:02.824709Z" }, "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": "2024-01-18T17:27:02.826435Z", "iopub.status.busy": "2024-01-18T17:27:02.826332Z", "iopub.status.idle": "2024-01-18T17:27:02.828122Z", "shell.execute_reply": "2024-01-18T17:27:02.827850Z" }, "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": "2024-01-18T17:27:02.829578Z", "iopub.status.busy": "2024-01-18T17:27:02.829466Z", "iopub.status.idle": "2024-01-18T17:27:02.831090Z", "shell.execute_reply": "2024-01-18T17:27:02.830838Z" }, "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": "2024-01-18T17:27:02.832433Z", "iopub.status.busy": "2024-01-18T17:27:02.832331Z", "iopub.status.idle": "2024-01-18T17:27:02.835279Z", "shell.execute_reply": "2024-01-18T17:27:02.835033Z" }, "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": "2024-01-18T17:27:02.836902Z", "iopub.status.busy": "2024-01-18T17:27:02.836809Z", "iopub.status.idle": "2024-01-18T17:27:06.028573Z", "shell.execute_reply": "2024-01-18T17:27:06.028115Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [], "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": "2024-01-18T17:27:06.032468Z", "iopub.status.busy": "2024-01-18T17:27:06.032300Z", "iopub.status.idle": "2024-01-18T17:27:06.110384Z", "shell.execute_reply": "2024-01-18T17:27:06.109808Z" }, "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": "2024-01-18T17:27:06.112516Z", "iopub.status.busy": "2024-01-18T17:27:06.112343Z", "iopub.status.idle": "2024-01-18T17:27:06.117200Z", "shell.execute_reply": "2024-01-18T17:27:06.116495Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
127.0.0.1 - - [18/Jan/2024 18:27:06] \"GET / HTTP/1.1\" 200 -\n",
       "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
127.0.0.1 - - [18/Jan/2024 18:27:06] \"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": "2024-01-18T17:27:06.120086Z", "iopub.status.busy": "2024-01-18T17:27:06.119919Z", "iopub.status.idle": "2024-01-18T17:27:06.173627Z", "shell.execute_reply": "2024-01-18T17:27:06.173334Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydB7gUNduG81k+exfsvSuoWFERRezYURG7KPaCYkHsBXvvFcUCqChYQOyKBUSwIaKCYlcU7L3+c4f/3S87Z3Z39uzuKbtPrsvLw+5MJrmTyebJ++bNf/6NklMSAREQAREQAREQAREQAREQAREQARFITeA/EtOpWelCERABERABERABERABERABERABEfAEJKbVEURABERABERABERABERABERABESgSAIS00UC0+UiIAIiIAIiIAIiIAIiIAIiIAIiIDGtPiACIiACIiACIiACIiACIiACIiACRRKQmC4SmC4XAREQAREQAREQAREQAREQAREQAYlp9QEREAEREAEREAEREAEREAEREAERKJKAxHSRwHS5CIiACIiACIiACIiACIiACIiACEhMqw+IgAiIgAiIgAiIgAiIgAiIgAiIQJEEJKaLBKbLRUAEREAEREAEREAEREAEREAEREBiWn1ABERABERABERABERABERABERABIokUJyY/s9/isxel4uACIiACIiACIiACIiACIiACIhAMyLw77+pCisxnQqTLhIBERABERABERABERABERABEagJAhLTNdHMqqQIiIAIiIAIiIAIiIAIiIAIiEA5CUhMl5Om8hIBERABERABERABERABERABEagJAg0iplM+pCaAq5IiIAIiIAIiIAIiIAIiIAIiIALNj0A8NlhKnVvanumUD2l+NFViERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiBQbWL677//dv/++29Z2m7GGWd0/4kDKkvOjZPJt99+6+677z630EILuU6dOrmZZpqpcQpS4Kn//POP47+k1FTLnK9K+fpkQ9Tnyy+/dBMmTPD/ffTRR27RRRd1K664olthhRXc0ksv7fvBtGnT3EknneQOOugg17Zt2ybZL5pyoSZNmuTefPNNN3XqVPfLL7/4MahFixZuySWXdOutt56bddZZG7X4hcbFhuiHpQIoVIdi8q+2sb2YuutaERABERABERCBMhKoJjH9xRdfeKFQrvTqq6+6Nm3alCu7Rs3nxRdfdO3atcuUYfHFF3fvvvuum3322Ru1XEkP79mzp7vssssSy/X666+7NdZYo8mVOV+BDjjgAHf77bcnXvLXX385JvaVSL///rs744wz3IUXXpjJfq655nI//vhj1r933HFHL7Kff/55179/f9e1a9dKFKfq8vz+++/dVVdd5dv2gw8+yFu/zp07+8WKddddt1E47LDDDu7hhx9OfPayyy7r3n///UYpV9qHamxPS0rXiYAIiIAIiIAINCiBahLTv/32m3vhhRfc2LFjXa9evXJy3G+//dwyyyzjmAwzSfvss8+8kIinahLTu+++u7dKh+mOO+5w++yzT4P2tzQPe/vtt72YvvXWW+tcPmrUKLf++uunyabJXPPaa6+5U045xT366KN1ylQpMY2lecstt3T0YRJ9/vzzz3eLLLKIt5xiRT3xxBPr9HuJ6XTd5q677nKHH3541sLE3nvv7Y455hg/trBQ9eSTT/rFjDDxHt54441u3nnnTfegMl2F5fydd95xF110UZ02bw5iWmN7mTqCshEBERABERABESgvgWoS0yGZm266yR1yyCF1YG200UZecMfTp59+6q699lp3wQUXZL6qJjGNNRcBFaYTTjjBT66bYmLyPNtss9Up2siRI5ulG/L48eNdq1atGkxMI/Suv/56/7wtttjCDR8+3M0wwwxZz0fII/bOO++8zOcS0/nfBrYfsDASjhPcwXjTvXv3OjePGDHCbbLJJlmf42L/yCOPeDf7hk5PP/2069ixY9Zjm4OY1tje0D1FzxMBERABERABEUhFoFrFNNbAtdZaqw6Do446yrtm5kpnn312xppUTWKayf/JJ5+cVe2m7jK92mqrOazUYWquYjrX4kAlLNPxvn/bbbe5/fffP2ef33XXXd3999/vv5eYzj9snnXWWe7MM8/Muqhbt26JXhR20eDBg90uu+ySdQ/bLBhf2FfdkClpXGxuYlpje0P2GD1LBERABERABEQgL4FqFdO4NK6yyipFi2nEzdprr+2tuNUkpgk+hpvvDTfc4CfwWKUPPfTQJv12JFnTm6ObN5AbUkzHF06wUOdra1zCcU1mL/WAAQPcHnvs0aT7RWMVbujQoW677bar83jGmpVWWilvsfj+vffey7pm4403ds8++2wdj4FK1u+NN95wa665ZtYjmpuY1theyR6ivEVABERABERABIoiIDHt3D333OMWXHDBjPsjrs8EC6omMW2d4s8///QBr+Iuv0V1mga6WGK6fqC7dOni7r333szNq6++unv55ZfzRpTG3RuvDFmmk5nz3qy88sp1Ao1tttlm7qmnnirYUDamxC+knXbbbbeC95frgloT07U0tperjygfERABERABERCBIgjUuphmDyTBgA477LBM1GNci3ExZp/rqquuWgTN6r8UC/dXX33lj/xJ2tOciwAWf/alE2G6ZcuWbr755isIq5CY/uabbxzlwapa7OIA5cBSSNsvscQSBcuSdAEB7IjivNRSS7n5558/bx4NaZlu3759nSBTHHdF1OlcFlSiOS+//PJNQkzTphznRf/iGLdi+pk1AnkQXHDuuef2ecw888z1amO76c4773T77rtvnTxw+z799NML5j158mSHBTie+IzgYGmP4OPILepF/6XfF0qff/65v8ROOaivmOa5n3zyifvjjz/8u//f//630KNzfv/rr7/66PHk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IAIiIAIiIAIiUDIBiemSESoDERABERABERABERABERABERCBWiMgMV1rLa76ioAIiIAIiIAIiIAIiIAIiIAIlExAYrpkhMpABERABERABERABERABERABESg1ghITNdai6u+IiACIiACIiACIiACIiACIiACJROQmC4ZoTIQAREQAREQAREQAREQAREQARGoNQIS07XW4qqvCIiACIiACIiACIiACIiACIhAyQQkpktGqAxEQAREQAREQAREQAREQAREQARqjYDEdK21uOorAiIgAiIgAiIgAiIgAiIgAiJQMgGJ6ZIRKgMREAEREAEREAEREAEREAEREIFaIyAxXWstrvqKgAiIgAiIgAiIgAiIgAiIgAiUTEBiumSEykAEREAEREAEREAEREAEREAERKDWCEhM11qLq74iIAIiIAIiIAIiIAIiIAIiIAIlE5CYLhmhMhABERABERABERABERABERABEag1AhLTtdbiqq8IiIAIiIAIiIAIiIAIiIAIiEDJBCSmS0aoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACIlAyAYnpkhEqAxEQAREQAREQAREQAREQAREQgVojIDFday2u+oqACIiACFQLgdGj33ATJ052M800k/vii6+qpVqqhwiIgAhkCCy8cAv3zz//uBVWWNqtu+4aIiMCTYuAxHTTag+VRgREQAREQATSELj11ntdq1YrurnnnsstsMB8aW7RNSIgAiLQ7Aj8+++/7ptvvnPfffeDmzBhkuvWbbdmVwcVuIoJSExXceOqaiIgAiIgAlVJoG/fe91667VxLVsuUJX1U6VEQAREIIkAHjivvjrOHXCABLV6SBMhIDHdRBpCxRABERABERCBFARefvl1Fxlq3LLLLpnial0iAiIgAtVFYNKkD93MM88ol+/qatbmWxuJ6ebbdiq5CIiACIhA7RG4++4H3VprtZJrd+01vWosAiIQEZg69Rv3+uvj3Z577igeItD4BKpNTP/xxx+JUAnOMsMMM2S++/PPP6OV/WhpP0j//e9/y9ogX375pfvxxx+jgAkr5M33r7/+8oEV4uk/UePMPPPMOe/9+eef3bPPPut++eUXt9tucncpV+NNmzbNPfroo65z585uttlmK1e2yqcKCeR6B3kn77//frf22mu7VVddtQpr3vyqVE1tcs89j7gOHTZsfo2gEouACIhAGQgwf3/22ZGuS5ftypCbshCBEglUk5j+9ttv3corr+y++io7oulWW23lLrroIrf66qtnaJ100knu9ttvz1zbsmVL98wzz5Rt4svEbeGFF/Ziety4cVGQmFY5W+qMM85wN9xwQ51y2w0bb7yxow6HH364m2+++aKIrV+47t27u6FDh/pL9thjDzdgwIASe4JuR0D36dPHvfjiix7Gd9995+aZZx6BEYE6BAq9gzfeeKM79NBD3eKLL+4++eQTEWwCBKqpTa64om9kkdmpCVCt/iKw0M1/LMgrVQcBjC7lNp5UB5nmVYv+/Ye4Hj26Na9Cq7TVSaCaxDQtxCB5zjnnuHPPPdc32FxzzRVFAPwm8YfwmmuucUcddZQ7+uij3WWXXeZmnHHGsjXya6+9FrnhreXzu/feewtajj/66CO39NJL++u32WYbd/PNNzs+e/PNN92JJ57oRTl1efXVV93yyy/vfvjhB3fYYYe5/v37S0yXqdV+//13N3LkyMji08HniNVx9tlnL1PuTSMbrO4LLKCAReVojXzvIB4j9KN99tnH3XHHHeV4XGIeLPgwLpRz7KpYYRs544Zqk4aoZrFierq3zbDoN+VD9+uvv7jFFlvcbbRRu2iBuXGPmBk37k2HB1euxG/dMsss2xBIE5+BB1vHjpu4adO+iRZZR7l55523YmX57LPP3D33DPDPWGKJ/+2F5284NJSY7969mxsz5hX32mvjiqorxgzuS5M226xj6jHr888/d2PHjomMEm9670L67LrrrutatGiZ9ai05Z448T239dZbuA022NDddZeMEGnaq6leIzHdVFumBstVbWKaJmQVeZdddnEPPvigb9ErrrjCHXPMMVmti1DCit26dWv3yCOPZLmAl6MbvPvuuz5/0pAhQ9yOOxbe17HQQgt56zQi+brrrssU48MPP/RWdQQ1/3/jjTf8d1xzxBFHSEyXo8H+Pw88CuaYYw7/r99++83NMsssZcy9cbPC7fi5555zV111VeMWpIqenu8dZCKeb5tGqRjonxtttJH3UMELRqkwgUq3SeESlOeKYsT0/fffF3k1HZr44O22297deOMtDSbU4oU49NDubvDgB3JCOfPMs6PfwyPKA60eufz8809RkLel/J1jxrweidwl6pFLulvuvLOfO/74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VOK3948/fo+OFmyZavtUpcqRJt/+/e+O5hR/+nOjQya33HJzJHh7RYtT2S7aafJMuoZ+xvtKuxbyaCvm2vqWp9z3/fTTj97jirqtsMKKFe1f+crO/I/fqHKOheVmVUv5SUzXUms38bpKTDfxBlLxRKARCbC4QBRuvAdw/VcSARFofAL1EdONX+raK4HtKceSy7FMc801dxSM7PnIInqjt+JzDBTHQSmJgAgUT0BiunhmuqNCBCSmKwRW2YpAMyWAOyVu/ARHwqqGa3VSVOJmWj0VWwSaPYGBAx+OXIo3bPKW2WYPusQK4H1x3HE9om0Rw+vkFN+rXuKjdLsI1BQBFvqfeealyHU/+di/moKhyjY+AYnpxm8DlUAEmhIB9uOz/9YSUd7D47CaUllVFhGoRQL9+z8Y7UVtFbmOz1eL1W92dSbwJ3u92U604oor+a08c8wxR7OrhwosAk2FwNSp37g33ng7ipGxQ1MpkspRywQkpmu59VV3EahLAMs0ZzETOInzcg899FBhEgERaEIERo9+I9qL+3cUgGnpJlQqFUUEREAEGobApEmTfUyYddedHs1dSQQalYDEdKPi18NFQAREQAREoGgCffveF+23bR0FhGxZ9L26QQREQASaK4HPP//Svf7621Fg1OlnryuJQKMTkJhu9CZQAURABERABESgaAII6lVWWc7NM8/c3uW7XNHwiy6IbhABERCBChJgj/S0ad9GJ+l8H52480EkpHer4NOUtQgUSUBiukhgulwEREAEREAEmgiB0aNfj45A/Mgfc/XFF181kVKpGCIgAiJQPgKLLNIiOqf9X8dZ9+utt0b5MlZOIlAOAhLT5aCoPERABERABERABERABERABERABGqKgMR0TTW3KisCIiACIiACIiACIiACIiACIlAOAhLT5aCoPERABERABERABERABERABERABGqKgMR0TTW3KisCIiACIiACIiACIiACIiACIlAOAhLT5aDY9PMYM+ZNN3HiZDdlyrSmX1iVUAREoCIEWrRYIIr+vLxba63VKpJ/NWWqMbOaWlN1EYH6EdCYWT9uuksEaoqAxHT1N/eYMePcL7/86jbccC0300wzVX+FVUMREIFEAn/++Zd76aWxbs45Z/dnFCslE9CYqZ4hAiIAAY2Z6gciIAIFCUhMF0TU7C8YMOBBt9tunSSkm31LqgIiUDoBJoeDBg1zXbvuUHpmVZqDxswqbVhVSwTqQUBjZj2g6RYRqCUCEtPV39pXXNHX9ejRrforqhqKgAikIqAxIT8m8UnVjXSRCNQMAY0JNdPUqqgIFE9AYrp4Zs3tDv0INLcWU3lFoLIENCZITFe2hyl3EaguAhozq6s9VRsRKCuBahbT//77b7Tf5c8sXv/9738T+XEd14dphhlmqArXaP0IlPWVUWYi0OwJ5BoT/vnnH/fXX3+lrl9jjpGff/65Gz58uNt+++1dixYtMmX++eef3bPPPhvFifgl2t6yW+q6hBdqzKwXNt0kAlVLQGNC1TatKiYCpROoZjH9zTffuL333ts9+uijGVADBgxwe+yxRx1wxx57rLv11lvdjz/+6L9r2bKlO/nkkyP36B6lQ27kHPQj0MgNoMeLQBMjkGtMeOmll1zPnj3dqFGjUpV4q6228oK2MVKXLl3cvffe6w4++GB34403ui+++MJ1797dDR061BeHcZ7xvj5JY2Z9qOkeEaheAhoTqrdtVTMRKJlANYtpg8PkarvttsuwevXVV12bNm3qsJsyZYpbeOGF3Yorruhee+01N/vss5fMtylkoB+BptAKKoMINB0ChcaEo446yl1zzTW+wE8++WR0lNZa/m+8d1hwnDhxojvmmGP8ouMzzzzTKBW76KKL3EknneRuuukmL6JJP/zwgzvssMNc//79JaYbpVX0UBGoTgKFxszqrLVqJQIikIpALYhpQPwnqOjiiy/uxfKCCy5Yh1G7du280L766qtT8WsOF+lHoDm0ksooAg1HoNCYgEA95JBDfIE+/fRTt9hii9Up3FNPPeVOPfVUN3LkyIYreOxJbM+ZeeaZsz697rrr3BFHHCEx3WitogeLQPURKDRmVl+NVSMREIHUBGpJTGNxfu+99zybLbbYwg0bNqzOnuhddtnFtWrVyp199tmpGTb1C/Uj0NRbSOUTgYYlUGhMuO2221y3btNPAPjss8/coosuWqeAv//+u7dad+rUqWELX+BpuHwfeuihEtNNqlVUGBFo3gQKjZnNu3YqvQiIQEkEaklMP/bYY+7CCy90Tz/9tGd2wgknOFwFw7T77ru71VZbzZ1xxhlZn7///vt+b+Ann3zisGxvtNFGia7ib775pg9807ZtWzdp0iS/93CppZZyG2+8cSa/r7/+2j3++ONu3nnn9Z/PPffcddrw3Xff9dbzX3/91bVu3dqts846da4ZNGiQd7vcddddsyzv8Qv1I1DSK6KbRaDqCBQaEwqJ6bfeesuPhdtss00WG4KCjR071gcFY5zDak1AM7bZWPBHxkdcw3EXZ/xLsnqzd5t7yWPllVd2HTt2dEsssUSddnj77bcdYzPPs5RLTBOY7O6773ZrrLGGW3/99fO2aSE+VdchVCEREAGNCeoDIiAC9SNQS2KaCRxWZ9y4cV0kxQOSJYnp+++/3wvWI4880ovoK6+80ovk8F4+69u3r0NMH3300Y4ot1dccUWmUdZdd11vCWcv4sCBAzOfr7766u7FF190c845p//sjz/+cMcff7wbPHiwa9++vX/OBx984KPS3nHHHW7WWWf1173yyituvfXW839zTb7JoSaG9Xs3dJcIVCuBQmNCITHdq1cvH1Pi9NNP94gI8njttdf64F/sr2asNMs237O3mkXMBx980J1yyilZWMePH+9WXXXVzGfHHXecu/zyy31+pPPPP999//33Xlyz0MkYedVVV7k777zTj7edO3d2LCxayiWmL7vsMh9cjfTbb7+5WWaZJWfzFuJTrf1C9RIBEUgmoDFBPUMERCAngVoT05tuuqmfgGGdsBQGJIuLaQLaYInGioJlgwkk1hesKUwascKQmCiec845/kgWElZvhDNWGETxV1995T8nYM7hhx/uJ4QdOnTwoh6RvM8++/jvuYe8sMzMM8887ttvv3UIbq5jfyLPIOF6SblIiO1llllGE0O95yIgAqkIFJoYhmK6T58+br755vP5YmVmqwzByc4666yMmH7nnXfc9ddf70UuiW00l156qVtkkUXcnnvu6Z544gn/OS7hjGF46+y///7u4Ycf9qKbkxRILAxusMEG3rPH9mLfd999jnGZsfOCCy7wY+e4ceO8lxHfpRXTDz30kNtxxx29cH/jjTfyHntYiE8qyLpIBESgaghoTKiaplRFRKD8BGpRTEPRJmj8HQYki4tpxDBCFcsxrtczzTST4yzWGWec0TcGEzsLgIM1BasKVmSObLGEJea8887zghnhbAnrDhNCE8kTJkzwE70zzzzT7/mzhKX6rrvu8tYdIo5b+umnn7yb91xzzZW3Y+hHoPzvjXIUgeZMoNCYEIppBLCdbMB4xziFoA7FNCzGjBnj8MBhPJo2bVpmXGRL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8cUXE/Ncdtll3XrrrecOOeQQt+mmm6Z+7ldffeVOOukkN2zYMMffYVp88cV9Xg8++KB74IEHHOUoNSGg+/Tpk6nHd9995+aZZ55Ss028v1JtW5HCKlMRqEECacU0QnrUqFczhNq2XSu1oJaYrsGOpSo3TwK1IqYnTJjg9t57b/fqq6+6VVdd1d1www3RsTJru9lnn919+OGHrm/fvu6cc87xjXjssce6yy67zP990UUX+QnbTTfd5Lp3757VyIjz33//PWMFqWQP0OSqknSVtwg0PwKVGhP22Wcfd9ddd3nhuM0227gllljCW5ctvfHGG65Dhw7+n23btnXPP/+8P2Xg33//jY7u2zCaOI7y33388cf+XkssSN58883+n0888YT/7p133nEDBw70/8XH3nwt8sgjj7g999zTL4TuvvvuXrCvssoq/hby7N27t3v44Yf9v4cMGeJ23HHHkhuYsX7kyJGZuv/888/+96MSqVJtW4myKk8RqEUCacR0KKRbtlwwWvSb+v/jZjpBLTFdiz1LdW6WBGpBTH/xxRdupZVW8hMvJof33HNPogDm8z322MMdeuih7vrrr8+0559//ulmnnnmOu2LtWWTTTbx7n6VTppcVZqw8heB5kWgUmNCu3bt3AEHHOAOPPDAOkDYHrPuuuu6t99+23+Ha7VtieHfhx9+uB878fT54Ycfsu6//fbbfb6kTz/91C222GL+b0T4ySef7C688EL/b6zJO+yQ+8ivxx9/3G211Vb+2jPOOMP/hzt5mHBT79Gjh7vmmmvcgAED/LhejkT955hjDp/Vb7/95maZZZZyZFsnj0q1bUUKq0xFoAYJFBLToZBeZpkl3AYbrO3Cz9JYqCWma7BjqcrNk0AtiOm99trL9e/f3zfQRx995JZcMveelY4dO7pFF13U3XnnnXkbFEtK165do7NeB0lMN8+ur1KLQLMmUCnBhcUYsWz7jkNILCBeffXV/qN+/fq5fffdN4shXj1XXHFFophmrNxtt9389biFM85aIn7Fyiuv7P955JFHZp4RbyDELAujiHE8jN58880sq3l4PbEvqMvll1+euDBQn8b/9ddfM9ZoPJOSFlnrk2/8nkq1bTnKpjxEQARcZGXOfc70p59+7kaMGO0xmZA2ZqGgbt9+Pbf44v8bB+NcJabV00SgmRCodjH90ksvuY022qjg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aaui+xW54IILfL5KENTTp081FclhELmtWrV2K1yGvtCdOnWQsWPfl4cfbnnKM9HvGrnfKFwGgzd71Kh35Y03hpr5W880vgOH114bZNqE2T7S6DGNQ4K77rrb+ez69esaNixA5nMLeQEJkAAJkAAJkAAJkAAJkEBBIlDYxPTZ2pvU1FT5559/pGzZsqcU4fI2Rnx8vOlHXbp06VynkJycLHFxcVp4rJxbiyp/541xYDExMf7ecsp1qO4NAVy2bDkJ8XxBvDwVOeBFihQ1hdjO1FjN+0wJ8n4SIAESIAESIAESIAESIIGAEAgmMT19+jwNOW7glwAMCFwOkicCWVlZmnO+Wtt23ZOn+3gxCZAACZAACZAACZAACZAACQScQDCJ6alT52jBq5oaFl0q4Bw54JkTOHz4qGzcuEXD0x153zQSIAESIAESIAESIAESIAESOG8JBJOYXrduo6SnZ8jll1c6b3lzYjkT2LFjpym0du21tYiJBEiABEiABEiABEiABEiABM5vAsEkpkF64sTPpW7dq7VFVLnzGzxn50Zg374DsmHDFnnyyYdIhgRIgARIgARIgARIgARIgATOfwLBJqatoL7qqipahKukCfn2p4jW+b9TwTdD5EgfORInx47Fa6/uP1VIPxx8i+SKSIAESIAESIAESIAESIAEgpNAMIpp7NS6dRtkx45dEhYWJvv3/xOcm1fAV1W+fFnJzMzSvtoVpX792gV8NZw+CZAACZAACZAACZAACZBAoSIQrGK6UG0iF0sCJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACYyB1lgAAAhVJREFUJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAudETAd2iRyNBEiABEiABEiABEiABEiABEiABPKXQFaWX88PyVLz60pc5KnY/b6RF5IACZAACZAACZAACZAACZAACZBAASDgp0SmmC4Ae8kpkgAJkAAJkAAJkAAJkAAJkAAJBIgAxXSAQHMYEiABEiABEiABEiABEiABEiCB4CGQL2I6ePBwJSRAAiRAAiRAAiRAAiRAAiRAAiRw2gTyFuZ92sPwRhIgARIgARIgARIgARIgARIgARIIHgL/DxnLnTjv17E3AAAAAElFTkSuQmCC\n", "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": "2024-01-18T17:27:06.175520Z", "iopub.status.busy": "2024-01-18T17:27:06.175377Z", "iopub.status.idle": "2024-01-18T17:27:06.177220Z", "shell.execute_reply": "2024-01-18T17:27:06.176967Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from selenium.webdriver.common.by import By" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:06.178844Z", "iopub.status.busy": "2024-01-18T17:27:06.178604Z", "iopub.status.idle": "2024-01-18T17:27:06.189199Z", "shell.execute_reply": "2024-01-18T17:27:06.188898Z" }, "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": "2024-01-18T17:27:06.190915Z", "iopub.status.busy": "2024-01-18T17:27:06.190800Z", "iopub.status.idle": "2024-01-18T17:27:06.291177Z", "shell.execute_reply": "2024-01-18T17:27:06.290344Z" }, "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": "2024-01-18T17:27:06.293483Z", "iopub.status.busy": "2024-01-18T17:27:06.293302Z", "iopub.status.idle": "2024-01-18T17:27:06.317878Z", "shell.execute_reply": "2024-01-18T17:27:06.317487Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBdhUxduHx1ZsEbC7G+xCsRXFQMUOFDtQ7C7swG5sMLAVsf2DgiIoJiooNqKA3fWde/DZb/a85+yefXff2v3NdXEBu+fMmblnzuz85nnmman+jZJTEgEREAEREAEREAEREAEREAEREAERyExgKonpzKx0oQiIgAiIgAiIgAiIgAiIgAiIgAh4AhLT6ggiIAIiIAIiIAIiIAIiIAIiIAIiUCIBiekSgelyERABERABERABERABERABERABEZCYVh8QAREQAREQAREQAREQAREQAREQgRIJSEyXCEyXi4AIiIAIiIAIiIAIiIAIiIAIiIDEtPqACIiACIiACIiACIiACIiACIiACJRIQGK6RGC6XAREQAREQAREQAREQAREQAREQAQkptUHREAEREAEREAEREAEREAEREAERKBEAhLTJQLT5SIgAiIgAiIgAiIgAiIgAiIgAiIgMa0+IAIiIAIiIAIiIAIiIAIiIAIiIAIlEihNTE81VYnZ63IREAEREAEREAEREAEREAEREAERaEEE/v03U2ElpjNh0kUiIAIiIAIiIAIiIAIiIAIiIAI1QUBiuiaaWZUUAREQAREQAREQAREQAREQARGoJAGJ6UrSVF4iIAIiIAIiIAIiIAIiIAIiIAI1QaBRxHTGh9QEcFVSBERABERABERABERABERABESg5RGIxwbLqHPL2zOd8SEtj6ZKLAIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEJKZroplVSREQAREQAREQAREQAREQAREQgUoSkJiuJE3lJQIiIAIiIAIiIAIiIAIiIAIiUBMEqk1M//333+7ff/+tSNtNM800bqo4oIrk3DSZfPvtt+6+++5z7dq1c507d3bTTjtt0xSkyFP/+ecfx5+k1FzLXKhKhfpkY9Tnq6++cqNHj/Z/PvnkEzfffPO5pZZayi255JJukUUW8f1g0qRJ7vjjj3f777+/W2uttZplv2jOhRo7dqx788033cSJE90vv/zix6A2bdq4hRZayK2xxhpuxhlnbNLiFxsXG6MflgugWB1Kyb/axvZS6q5rRUAEREAEREAEKkigmsT0+PHjvVCoVHrttddc+/btK5Vdk+bz0ksvufXWWy9XhgUWWMC9//77rlWrVk1arqSH9+rVy1166aWJ5Ro1apRbeeWVm12ZCxVo3333dbfeemviJX/99ZdjYt8Q6ffff3enn366u+CCC3LZzzrrrO7HH3/M+/+2227rRfaQIUNcv3793K677toQxam6PL///nt3xRVX+Lb96KOPCtava9eufrFi9dVXbxIOXbp0cY8++mjisxdbbDH34YcfNkm5sj5UY3tWUrpOBERABERABESgUQlUk5j+7bff3IsvvuhGjhzpTjjhhFSOe++9t1t00UUdk2EmaV988YUXEvFUTWJ655139lbpMN1+++1uzz33bNT+luVh7777rhfTN998c53LX375ZbfmmmtmyabZXPP666+7k08+2T3xxBN1ytRQYhpL82abbebowyT6/HnnnefmnXdebznFinrcccfV6fcS09m6zZ133ukOOeSQvIWJPfbYwx155JF+bGGh6plnnvGLGWHiPbz++uvdHHPMke1BFboKy/l7773nLrzwwjpt3hLEtMb2CnUEZSMCIiACIiACIlBZAtUkpkMyN9xwgzvwwAPrwFp33XW94I6nzz//3F199dXu/PPPz31VTWIaay4CKkzHHnusn1w3x8TkeaaZZqpTtGHDhrVIN+R33nnHrbDCCo0mphF61157rX/epptu6gYNGuSmnnrqvOcj5BF75557bu5zienCbwPbD1gYCccJ7mC86dGjR52bBw8e7DbYYIO8z3Gxf+yxx7ybfWOn5557zm288cZ5j20JYlpje2P3FD1PBERABERABEQgE4FqFdNYAzt06FCHweGHH+5dM9PSWWedlbMmVZOYZvJ/4okn5lW7ubtML7/88g4rdZhaqphOWxxoCMt0vO/fcsstbp999knt8zvuuKO7//77/fcS04WHzTPPPNOdccYZeRd179490YvCLnrwwQfdDjvskHcP2ywYX9hX3ZgpaVxsaWJaY3tj9hg9SwREQAREQAREoCCBahXTuDQuu+yyJYtpxM2qq67qrbjVJKYJPoab73XXXecn8FilDzrooGb9diRZ01uimzeQG1NMxxdOsFAXamtcwnFNZi91//793S677NKs+0VTFe7xxx93W2+9dZ3HM9YsvfTSBYvF9x988EHeNeuvv7574YUX6ngMNGT93njjDbfKKqvkPaKliWmN7Q3ZQ5S3CIiACIiACIhASQQkpp2755573Nxzz51zf8T1mWBB1SSmrVP8+eefPuBV3OW3pE7TSBdLTNcPdLdu3dy9996bu3mllVZyr7zySsGI0rh745Uhy3Qyc96bZZZZpk6gsY022sg9++yzRRvKxpT4hbTTTjvtVPT+Sl1Qa2K6lsb2SvUR5SMCIiACIiACIlACgVoX0+yBJBjQwQcfnIt6jGsxLsbsc11uueVKoFn9l2Lh/vrrr/2RP0l7mtMIYPFnXzoRptu2bevmnHPOorCKienJkyc7yoNVtdTFAcqBpZC2X3DBBYuWJekCAtgRxXnhhRd2c801V8E8GtMy3bFjxzpBpjjuiqjTaRZUojkvscQSzUJM06Yc50X/4hi3UvqZNQJ5EFxwttlm83lMN9109Wpju+mOO+5we+21V508cPs+7bTTiuY9btw4hwU4nviM4GBZj+DjyC3qRf+l3xdLX375pb/ETjmor5jmuZ999pn7448//Ls//fTTF3t06ve//vqrjx5PPvU5TSCrZbq+YztHcNFejFm8E+UeG0Y+n376qSOSfn3c+mlvxpr555/f55GUfvjhBz++EmAwy9ha78bTjSIgAiIgAiIgAvkEal1M2/47IhuHRwgxgWFigrWOYEHxxGQSF00mWkyymeAlJfarIsxJRPgtNXo2xxQdddRR9b6XYEdM+JMSIgC3VYQHxyMh+OKJ8rLQQHC2hx56yNfZ0oYbbuguv/xyh+UzKeE2zH033nhjHYsek0KeueKKK+bdusUWW+TySxLTBFDimK9HHnnEvfrqq/5e8kJA4t6cFOTLHoAQoI2ph0W5Du/H9T0eLCperwkTJrhTTz3VWyPD45DYA9upUyd39tlne3EdT8XENO7rRxxxROrwNGDAAC8+sqT99tvP9e3bN/FS+hJeFwjMpDLSn008YOFGVCQlFg8Iakb/LHSs0jnnnOOY6McD3dEnt9xyy1zWWM5xR7/tttvqPI7FF/Yls++7kDs1DHlfCTAYHv9FhvTR7bffPk+8zTLLLD4id5a01VZbJUZjpx9us802WbLwzFmIiie2lPAe7L777m7MmDGJ9WcMon60rcURICbExRdf7PtdmKj7SSed5Ps5AovEoiD5E+E9fjxXITdv2oW2ijPdbbfd/CJC2B7/+9///PaRpMS1PPuUU05xF110Ue4SxpY+ffqUJM6ziuliY3u8nHfffbePtB6OcVxD0ErGeALMhYse3333na9TUmJcpc4sYPFeW3/s3Lmzu+aaa/yYVWjM5VlsySGPsC/TdsT8sLPgOYWCWBiMiZZoa8blTTbZJFO/1EUiIAIiIAIiIAJlEKh1Mc0EE9fWuJg2pAQP4pit+H5Hvv/555/95BxXQo6dsiBOYXMwGV1jjTX8R0OHDvUTszDxf6yjWIxs4ht+j0BE/NT3XiZvHNeDCI0nC0yF2DnmmGO86I2nnj17egEAo6TEpBBRiZt8mJj4M9EMJ4JMorGaIOjiYsfuRUyZBTBJTBfr6pylm7SvFesfAsAEOIsMcGG/cGhZRDggRJKsUU899ZRfDDFBRJRs8mTybSIQHlgxmSiHqZiYRpAimDkSLBRc7KtFrLHnOc0qFWdy1VVXOQLtFUosCDDJj7dbeM/RRx/tLrvsssRs+Jy+gVhgASHpnGXeG8TfxIkTveiz9wMRyLFstsh000035SJh890BBxzgZp99dn8ucrzfIdhYOAkTlkSeEwpxFnr4jOOpkgQ69yPSWRwplrCkpllQs+yXtvyJxRAu4tjntDnvBAtP/DvOknI+/PDDbu21165TVPoEVksTeR9//LHjnY8H7rMb4+eM83mSmMaaythDP7FEv2KLCALY+CHisN6S6MMIu/gRfHzH2PL000/nbT+wfBGwtHnWlFVMFxvb7XmMRbwLdhY8jFgUaN26tV9IsPeRxRiO6zPLL+80vxvcFx/POIputdVWS3wPiUlAnRnXEczxdNhhh/lFLPboJyXKBwPeBcaftMSCH9sQlERABERABERABBqQQK2KaVwAsYQxcSGliWm+SzvWyMQ01zD5xFoXn1SFYhoxtvnmm/vnMZnC0oaFG4splqm4YGcSjaUKV9Vy7uV5SVaxeJRnGIRWo7DbIXIQMViR4okJNxZBS7g0YiEOWYTXIAy22267vGzYNzrDDDN4UWViKU1MM8FlYotV5tBDD61TnrjAQTBxDFFYnjCSOeKZ4GyWEAtYj8KEKEM8W6JtmPAishBz6623nrccWsLKhWXXUjExbdcR9ZkFHBIT93333TezC7DlQT0ROElW0Dgs6o4AwkqblPbff/86kaoRqs8//3zucgQV9Q9TXKhytvXMM8/sFwQQXebuGuca5xbvA9zPwgj5W0K0h14lfM4WAEQP73n79u3zjoXjXhZ6+L5QZH/L/6233kr1vsCNGg+WLIlFniSBRJ/naC0SfTq+WMDnSSLYnkn/pk6MIwRdjIvx3r17+3Fn4MCBiS7pSWKaxRIWUyzxfsCZRH5YmEl4ZNDvcUG2xNFbSYt3aYxYlElbtEm6p5iYLmVs51p4h5ZdFg1sXMH7IvSgwOrL2BFuGwh5ZOkH5MFvColj1sKj6cL7WZBj7GdxLp5YDOT3gn7BWIoXQvy3p6UFlsvCTteIgAiIgAiIQLMjUGtimokMFrGRI0fmTToLiWkmXFhk4ikU03yHi/KTTz6Zd1kopu2InLj4xCWPCWU8IaZwbyWVcy/3M+FCxIYpLqaJ5Jxk6UBgY7kmsQARd41l0sdkzlJ4vJh9hvXWXKjhFhdviCHaIExJYjp+Xa9evbw1L0xYfqiLJSzd4YQUYcEk2VKSWArbDcskiwOhSImXI84lXAjhOVnENNZbLGLci9WJgFf1TWmRp5PyY9INn3XWWafO12lCkj3N5irOftp55pmnjnhnIcislna+MeId8WGJhYvQOhcXAHgNYPkOE6LQBA5eFVixwxQX+/E84Isgy7q3lL4bd6W25/H8rB4Dae73eB7gLk7CdTipXDwDD5g777wzz1qPqGL7CAlBfuCBB+axYLHwyiuvzH3Ge3zJJZfkXRNnzgJBKI652FzR+Td9E8aWWBRkLLGUtLjBd4xlLBbFPUdKDcKWJqbrM7ZTbhtjrfy87zPOOKP/L32b/hUKVfiFCw1p7xoLkCzWkH+4UBq2yQMPPOC6du1a570Lx2Ys/TvvvHOda+CO8GeRim1Jti8+vNAWlercrA9EQAREQAREQAQqQ6DWxHQatUJimnuSAgTFxXSS5SkUZRbECFdM21eL9RDBkbTHE8Fv7sbl3Ev5w7OEjUFcTDNZjx+LhBs6+yUtYYWKu5uGlhauw63d3KntPiaTWIctYXEJ68yeVlzdw1QsABnX8hxzow/vNSFH2XGVDhPulbiwWsKih1U8TEyER4wY4dsdyxEWpDCxhxV3WkvFnlNMTLMgwMIAook+k3SsW6lvPFZfxEuaS308Pyb+Se7hWJ1Dyx334aGAmzwJwcF+7vg2BUSyiTsm/rhbx70Gkizf7OFn6wMJ13D6bphoDzsz/YknnnDsZw4Trvi4kVvCCyR+NFgpe53TBA/5E+U7a4Aq+l187zh5hO/YTz/9lCjOrc/SV+EOW947hB2LeAjARRZZpM6CBt4TfG4pyznTLJaxOBSmsJ6MX2HwM/osiwAWBDDN2mrCjjEEF2wWp3DvxipdSiCyNDGd9n6kje30M8bh8P3gvWfcDVOSpT30SAi9hpLGCISubQdhEYjFUxsL6YfxLSFcw4KRJTwxwrHTPicIXRgIjkCK8XewGk+kKHUc1PUiIAIiIAIi0KAEak1MYx3C+oelBeuCTT4aQ0zzLCa3obiLW+assbHkhdawcu4lz/qK6fjEzqI+h50SV08i/VrC8h/fsxlaKbkuye0coRC6T2YR0998802ey6+VAUs+1vgkyyZ7U+PW9aSJKHWibiwehC7cPAPhHwZeIzpxKFq4JrT4FRLTiFizdA0bNiwXXKgSLz58EOlJrqJJ+SdNvrGGxgPnhQsoaa7JZnFlTy/imH4/ePDgvMfGXcTjR02ZR0Z4U+gWnLRlIC6mEdbsYQ1TKMiLcU6rH/chfrEMZkmI4CS38tBTIk1Mx/e/sq0kFPFJIhmRi+U8TFmieSe51of5sAc+HpU6fB+SxHR8UY4yxeuQhSHXpInpUsf2+BYD8ma7SXisHJ8h+OPxJMLz2NPENCI99MBhQSIeVT5JTLOFhQUcS2l79lnEClOS6A8Xc7Py1XUiIAIiIAIiIAIlEKg1MY3lzSa0TFyZOGIhaQwxHW+WpAkw18TdppOas9R7KyWmYbX44ovnFSnuJopLYjwIUdwyHbf043qL63D4eRYxTUGSvAbMNT2Lezt5JC0AEDAJcZfk4h9fHEgT9ea9kCamKWcYARlBQECuSicWA1hYoE6FUpJljv3OuHHHLdx4BRBkyazOSfkiBBAeuLoi6PfYY486l9GXCTbGggbthZszz8I6hwU2Hl05FNMsitFPwhQX0yyeWGwEuy7NCp9UB4LUpQVqC93di7UZ+98tyFV4bdjmaWK6mLsu2ywQYWEi8vPw4cPzPismptO2tIRHBCKC4/EdwrZNEtP08SSrfDFmSd8X2zPNPVnGdtzf4xH04y7r5JUUiI93yU5JSBLTSZ42SXXJIqbTxg6J6fr0Ht0jAiIgAiIgAhUmUMtiGpTm2tzYYpqJEJa6uPssZYoLz3iT1+fexhTTSZbMcJ8rAZMQZ2FKCvqVVUwnRUm2fYkI/3hAptCqZGVIck1nst2lS5fEo64IshaeT50mgszSmzYhTnqd40G4Snnl6Rvsc8bt2lylw/uJCn/GGWcUFNVJwi3JqsrCFHkR9RjrKosqcfdgrH+nn3667+fFrLiINMQF9U+KCG31CMU01j72lodtHBeRSWWnXFjysqa0Y63iiyqF8guDy4XXcXyYbSNI60eh63vSM+IBw7gmbuXns2JiGg+YpHPXOYopaVHJykI/sKOYksR0fGtFVu5J12UR01nG9iSvILYDxPtwUn1C63GSmE5alEqqi8R0OT1B94qACIiACIhAMyBQ62Laogw3tphO2p9Md8hiwanPvY0ppolujYsv+1kthdb2JEth0jEuWcU0ghfLZpgIgkagtyT37fhece5L2hfMvmrOUU46NxrxFu4btX4Uf6URkQT2KkVM456L6AnzzzpUsI+S4ElEW44H7grzQEyynznpSCv2f8ePcEsSYZQTxrw7uKWyDz5+ti3bBOgHuNXT7kkJ9/677rrLISqtPLjXI2LoS3Grcjz6M30n/lz2u7PIgoUbq2q4l5S64W5ue3yzsE2LxI2lP+t5vkneDzw7dO2vr5hmwSKMqE++RJ9H6IWpmJj+4osv/NaGeIr390LMmouYLja20/8tirrVJ8kyncQ2dM2XmM7yBukaERABERABEahSArUupmlWJt1MiOPH64RNXokAZJYfrr9Y8eJHFyFO2HtbKMpwfe9tTDFNPRFBBKmyKOB8hrBioh7uP+T/LA4kRZLOKqbZWx53BTbrbtI+QvbQxvcAJz0L11nKHA9ORl3YO04bWsKai4U2nnD/xkU4TUwTXIi6x/sClkAEX3yPZbFhyMR0lmNxEG4IS1ylw5R2VneS9Z77cNFnfzniNOl4OK4xl/B4+XGTxsoX7kmn7OxTJjqxBd4L70s6SgkLMUGtLPAdZaLPk294tjORk4mAHPeMKMY17exuOwe+2P2IehYb4olyEszKrL71FdMWCT7MP2mfcjExnRSMjzxLCdjWXMR0sbE9KbAg2xE4RSFMSRHQORfcThGQmC7W+/W9CIiACIiACFQxAYlp53DZRbQUOi+2kmI66egouhhnG+N6aIk9eRzLEh6bVd97G1tMUwcENWVHiJBYLCBwEWdqY6UjYjWRmBFgSSmrmE66ziyTSfsdEfNEkQ5Tkju4RZ5OsiiOHj067+iqJIteGACqUAAyLMHhUUNWrmLW5SRmJqb5LkskX86Lxh04TGlWyKRjhLgvPOotKRJ0of2jnPcc38cdHqOWVUxTDo6IwsXb9nYjVImCTPvhCs6iWdIZzlmGd9zJ2R8eX3jIEt+A/NOCmMXf+fqK6aQ90+GxWVbHYmKa65LeBfP0yMKqOYnpQmN7EjOibuMlEaakPk1cA/a6kySms/QKXSMCIiACIiACVUpAYjpbwyaJ6fgZs8WOxuJJ8WNl7OlMfN95551chF4sfex7DYMplXNvY4tpxCxulAg6RA1W1qWXXjob7P+uyiKmETnh8TD2AGsbLNS4aocJ92eEqqWks2QpM67BLLIk7a3krN1QmCUFwiIQG1Z3UrGjsTjqKTyuy8oWj+peDGAophF6RMNO6ruWT3wRgAUAom8n3ZNmXQ2t9Eku1yymHHrooXWKntafwyPnsohprKlYGS0gFG1LgKhSrfrF2NKnEevxFB6TlJZH0hFgvPPsbw/7b33FdFL/oyzx45OyHI2VtG0i7WxuApbhvo9njx3n1pzEdKE2TYrAHz+jnPuTxs7w3G2J6WJvjr4XAREQAREQgSomUK1iOi3adY8ePersk8vSvEnWmvA4GAQIbrDxKLdh4C2e061btzpHr/A5+0o5L9YSwZ0QIWHgnnLuTQp+FN87nCQ840djJUXzjh+NhdU2jP5b3wjVSWI67oKcJHDCM5CxjnO0VXjudTzac1LQpTA6cZLVuW/fvo7ozJaS2IXBqdKOt7HzexE99J+45RMRwyJLWjTpeN8NxTTfccYyR/ukpfjxQLiu4sKaluILC+HeUe4hiFjc1ZujlJJc4LFAh8e/2TPNq4BFDt7XuNtt3M07LlTtSLMs73Wp1yS5/BbzIEjqXyxacJ5x/PxgzmtO2uZRLGo4ohahH7q0U7f4loYkz5b4OdG8YwjqeIq/xyxisGBGhPLQUnvCCSfU2TJD1GzOV65EquTYzn5/Iupb4n0jQGKY4mN/nMPjjz/uWEgNU5JXQFLdk45+ix+NpWjeleg1ykMEREAEREAEGohAtYppjtQJXaYNHy6nTMZKCT7EvUlHLBFk66STTnKIR6yKcSHNfQS0ISo0541izUxy5w0FK5NiJqM2wTNhWM695IkLe3xfbni8C2VFuMePr4nvvcVSGo+CHD/PNil6Mvs3559/fr//GIshZ+RyH4KZPyussEKdNkkS03GrctwFExHPIkd4Bi+iBRfdMIUCD7fO8MgmyopbbmidRQiE7vbx/ahxQRe6PvPcNAEQulRjpQzPrrby0s84T7mQhdmujYtpPmfRhHOW4/czSaceJsAQY0T7DtnFh5344oWd5x1eF7ZJktusXZtm6YUB7v8c60R/iyfc0nm32WtOndhbHSYEEQsonP+M1Zf9yPzNOeBEWeZP2taCYsMsiyK80/GziJ988kmHy3o8cf0GG2yQt5hDvx80aFBinADqvOaaa9bJJ8t5wUmLE7y/LOgh7tjegPhNSvQv+pn1kbSFO/LhO2IB8N7grRBv4yQPnc6dO7vHHnusGN5M31dybKf8SyyxRN7YGAaVi3tP0HbEOaCPWbrkkkvyYkOE72KS10xYyaTFmfi2CMZtosnHE5Z1vJcsJZ1qUEqAvEzwdZEIiIAIiIAIiEA+gWoS04gD3IkRB7jNpiXcXwlWRBAixEQWYZ0kIkvpS0zKsPbELY/kgaWDSRHCCgt1KHqZtO+0005ecNbnXo7fQggmuRBjUcYSSbmwYGFhiwtuykeUZdx0sbQi9JMEDkKTa5iY7rXXXj5wVCmJyfZtt92WZ8EM68zk1cqGOGAfLBGkQysqk1B4JbmTxy3Hu+yyi492jaimP1je8OLauEDD4gqfMEjdeeed5+tKnwtdyYk+zWIIUbVJ9EeitCdxw/KK1Y5FABZMKFdSG9CfWfywPNPYJolprsWCjCWd/eqIS/aDsxD07pGgc/sAACAASURBVLvv+qxY5MHCmBS5PP4sa5fQFT68JnT1LnQEFdGWiVieVF/Lz6KBJ9WXRQJEM/uhS032XpV6H9ezOIWF19zKLQ/6E+8AlmX6CwsT9M/QWoyQv//++72wjyfEMO7qSWeBcx/vHlHnC8V2SIoRkLWO4aIelnAWzax/pOVBxHDeQxYLCcLHOJLm2QAvPBF4x0pNDTm2s9CFK7dFkmccwaMDbwra09qD/s7ikQVLpI0ZK4j2nRQVn3eZ8YHFlFatWuVVmfeU499YeIqf386FjB8sfIwbN86POf369auDjEUMjiQjsB2eAeHWFbsY1owdtK2SCIiACIiACIhAAxCoJjFNsJksYiDEGAY7KoaXCQuT1fjkh4nKFVdc4S2XuPxhvWDChXsg1liEGW7WBBMrNSHUmEBnEfzxvLkXF1MmXYUSQj9pch/eQ5AsJpiFRHLv3r29QMPqVp/JG1Y0rD5mHTPRhmhiUsr5r/FjkqyMTGh5diFLEHnj4h1Gjg7ryGSUfApZZtkfSR5JApB2xyWZxY8wJR3BE36PWydWvviEO95mWdyXTUwjvjgzl8UZBEBaosxY1ljQydrH6AfkHfdssGeYqzf9nb5V6HxiLK4s5sR5ImhYxMFaipU6PGaNMrPwAjdSWpTxYu9aOed5kzf9CVGdZeGIxRJ4IdrSeCRZFuN1KOaGz/UsioRbECwPxB3iyxYfzILPe8fCGmUMt5rQlxByvBPxZMeiMR5afZLcnZPaAPf9UlNDj+2M6SxqwS4pseDG+B9ut+Ds7yweDkmR7JP2a8efO2rUKB+UMn58V3gdYy7eAvExJ7wm7jlUKntdLwIiIAIiIAIiUIBANYnpxmhoJlBYnJh8MbFCNJsI4nPEXPv27QsKiMYoZ1M+g33KTOaziIx4OXF1xuWbNGDAAG+RD/eVYqHCjRthyXOwtDKZLCSA48/ARRUr/9tvv+2tiDyD4EnFXDItH8QAk2HKgaBiIYI8ECVZBWlDtQ9WUybfeFzAhgQzXN1hNmnSJL+ogwcBiz1EVy81ER+ABQ4CrMUt+JYXRynhZh3fEpD0LFyhsdojvLG60hYIPltUQZxjHcT6h+jj2LDQ7RWXfERqIQt30nPDAHGlMgivx8LOYhN9ijLQv2aaaSZfRhb3sEzW58zwcsoEUyyu7Penj9s4xTuDJZnFFto/SyIoGnXj3UQ8ci99Pcu2gyz5N6drCH5HPakvrGwLStKxZs2p3CqLCIiACIiACIhAExGQmG4i8FX8WAQFVmILHMXkG2EVJkQfoiO+zzwMZFTFiFS1ChLA8o5VES8MrHCrrLJKndwRSWxTCL1KZLGrYCMoKxEQAREQAREQARGoRQIS07XY6g1bZ46MwlpI6t69e51ozOHTORs43PMaj37esCVV7i2dQDzolp0NnlQvLNyIbrYLkAi4RsAvJREQAREQAREQAREQARGoFwGJ6Xph000pBHAjDvcV4lJqe1vToIV7RYsdASTwIhAS6NWrlw+iR2LPL8eIFUrhvl4CZdm9oioCIiACIiACIiACIiACJROQmC4ZmW4oQADrH9G0Lbot0X4J9JQUqIe9mBzXQxAjUng+tCCLQBYCBMgiyrUl9tl37do18Vb2jXOkFgGh2HvNnvcsAaSylEPXiIAIiIAIiIAIiIAI1CABiekabPQGrjKRlzmLNwwIxdFXBGHinOkJEya4L7/80osa9rASVZioyGln4DZwcZV9CybAggyBxMJo3wTHYqsBwdX4nr7GEUN2tByeEhw9lDUAVwvGo6KLgAiIgAiIgAiIgAg0JAGJ6YakW7t5c6wOZ/kOGzbMR81mbzQRhklEbEboEPWcyMzbbbddnQBltUtONa8PARZmHnvsMTd69GhvcR4/frzPhsjlWJ9ZyOFM6s0228z3OyUREAEREAEREAEREAERKJuAxHTZCJWBCIiACIiACIiACIiACIiACIhArRGQmK61Fld9RUAEREAEREAEREAEREAEREAEyiYgMV02QmUgAiIgAiIgAiIgAiIgAiIgAiJQawQkpmutxVVfERABERABERABERABERABERCBsglITJeNUBmIgAiIgAiIgAiIgAiIgAiIgAjUGgGJ6VprcdVXBERABERABERABERABERABESgbAIS02UjVAYiIAIiIAIiIAIiIAIiIAIiIAK1RkBiutZaXPUVAREQAREQAREQAREQAREQAREom4DEdNkIlYEIiIAIiIAIiIAIiIAIiIAIiECtEZCYrrUWV31FQAREQAREQAREQAREQAREQATKJiAxXTZCZSACIiACIiACIiACIiACIiACIlBrBCSma63FVV8REAEREAEREAEREAEREAEREIGyCUhMl41QGYiACIiACIiACIiACIiACIiACNQaAYnpWmtx1VcEREAEREAEREAEREAEREAERKBsAhLTZSNUBiIgAiIgAiIgAiIgAiIgAiIgArVGQGK61lpc9RUBERABERABERABERABERABESibgMR02QiVgQiIgAiIgAiIgAiIgAiIgAiIQK0RkJiutRZXfUVABERABERABERABERABERABMomIDFdNkJlIAIiIAIiIAIiIAIiIAIiIAIiUGsEJKZrrcVVXxEQAREQAREQAREQAREQAREQgbIJSEyXjVAZiIAIiIAIiIAIiIAIiIAIiIAI1BoBielaa3HVVwREQAREQAREQAREQAREQAREoGwCEtNlI1QGIiACIiACIiACIiACIiACIiACtUZAYrrWWlz1FQEREAEREAEREAEREAEREAERKJuAxHTZCJWBCIiACIiACIiACIiACIiACIhArRGQmK61Fld9RUAEREAEqoXA8OFvuDFjxrlpp53WjR//dbVUS/UQAREQgRyBeeZp4/755x+35JKLuNVXX1lkRKB5EZCYbl7todKIgAiIgAiIQBYCN998r1thhaXcbLPN6lq3njPLLbpGBERABFocgX///ddNnvyd++67H9zo0WNd9+47tbg6qMBVTEBiuoobV1UTAREQARGoSgJ9+97r1lijvWvbtnVV1k+VEgEREIEkAnjgvPbaW27ffSWo1UOaCQGJ6WbSECqGCIiACIiACGQg8Moro1xkqHGLLbZQhqt1iQiIgAhUF4GxYz920003jVy+q6tZW25tJKZbbtup5CIgAiIgArVH4K67HnYdOqwg1+7aa3rVWAREICIwceJkN2rUO2633bYVDxFoegLVJqb/+OOPRKgEZ5l66qlz3/3555/Ryn60tB+k6aefvqIN8tVXX7kff/wxCpiwZMF8//rrLx9YIZ6mihpnuummS733559/di+88IL75Zdf3E47yd2lUo03adIk98QTT7iuXbu6mWaaqVLZKp8qJJD2DvJO3n///W7VVVd1yy23XBXWvOVVqZra5J57HnOdOq3T8hpBJRYBERCBChBg/v7CC8Nct25bVyA3ZSECZRKoJjH97bffumWWWcZ9/XV+RNPNN9/cXXjhhW6llVbK0Tr++OPdrbfemru2bdu27vnnn6/YxJeJ2zzzzOPF9FtvvRUFiVkhtaVOP/10d91119Upt92w/vrrO+pwyCGHuDnnnDOK2Dre9ejRwz3++OP+kl122cX179+/zJ6g2xHQvXv3di+99JKH8d1337nZZ59dYESgDoFi7+D111/vDjroILfAAgu4zz77TASbAYFqapM+ffpGFpntmgHV6i8CC938YUFeqToIYHSptPGkOsi0rFr06/eQ69mze8sqtEpbnQSqSUzTQgySZ599tjvnnHN8g80666xRBMDJiT+EV111lTv88MPdEUcc4S699FI3zTTTVKyRX3/99cgNr4PP79577y1qOf7kk0/cIoss4q/fcsst3Y033uj47M0333THHXecF+XU5bXXXnNLLLGE++GHH9zBBx/s+vXrJzFdoVb7/fff3bBhwyKLTyefI1bHVq1aVSj35pENVvfWrRWwqBKtUegdxGOEfrTnnnu622+/vRKPS8yDBR/GhUqOXQ1W2CbOuLHapDGqWaqYnuJtMzD6TfnY/frrL27++Rdw6667XrTA3LRHzLz11psOD660xG/doosu1hhIE5+BB9vGG2/gJk2aHC2yvuzmmGOOBivLF1984e65p79/xoIL/v9eeP4Nh8YS8z16dHcjRrzqXn/9rZLqijGD+7KkjTbaOPOY9eWXX7qRI0dERok3vXchfXb11Vd3bdq0zXtU1nKPGfOB22KLTd3aa6/j7rxTRogs7dVcr5GYbq4tU4PlqjYxTROyirzDDju4hx9+2Ldonz593JFHHpnXugglrNgrrriie+yxx/JcwCvRDd5//32fP+mhhx5y225bfF9Hu3btvHUakXzNNdfkivHxxx97qzqCmr/feOMN/x3XHHrooRLTlWiw//LAo2DmmWf2//vtt9/cDDPMUMHcmzYr3I7/97//uSuuuKJpC1JFTy/0DjIRL7RNo1wM9M91113Xe6jgBaNUnEBDt0nxElTmilLE9P333xd5NR2U+OCtt97GXX/9TY0m1OKFOOigHu7BBx9IhXLGGWdFv4eHVgZaPXL5+eefoiBvC/s7R4wYFYncBeuRS7Zb7rjjNnfMMUenXnz11de6HXfc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CR06dPD/xnuHBccxY8a4I4880i86Pv/8801C+8ILL3THH3+8u+GGG7yIJv3www/u4IMPdv369ZOYbpJW0UNFoDoJSExXZ7uqViJQEQK1IKYBNVVQ0QUWWMCL5bnnjqLuxNJ6663nRdmVV15ZEb5NkUk5Yrpdu3bu119/9ZPS5pqYPB944IGJxVt99dXd9ttv7yfZuKAqiYAI5BPIIqbDd+zzzz93888/fx2Mzz77rDvllFPcsGHDmgwx23Omm266vOdfc8017tBDD5WYbrJW0YNFoPoISExXX5uqRiJQMQK1JKaxOH/wwQee3aabbuoGDhxYZ0/0Djvs4FZYYQV31llnVYxxY2dUK2L6oIMOchtvvLG3lo0bN87vkzSXftz2L7300sZGr+eJQLMnkEVM33LLLa579ynRrL/44gs333zR2Vmx9Pvvv3urdefOnZtVnXH5ZmyQm3ezahYVRgRaNAGJ6RbdfCq8CDQsgVoS008++aS74IIL3HPPRWdFRenYY491uAqGaeedd3bLL7+8O/300/M+//DDD/3eQFyMsWyvu+66ia7iuB8T+GattdZyY8eO9XsPF154Ybf++lGkn//SN99845566ik3xxxz+M9nm222Oo38/vvve+s5VuIVV1zRrbbaanWuGTBggBeSO+64Y57lvaHENFYg6o8rfJILPO7heADwh39/8sknDkt3MXf5Tz/91E/Wp5122kyd3axmffv2dfvuu2+ddlpnnXXc119/7c4991y/7z0pYW1r3bq1m2mm6PywIqnU8hXLT9+LQFMSqISYfvvtt/1YsOWWW+ZVhaBgI0eO9EHBGOewWhPQjG02FvyR8RHXcNzFGf+SrN7s3eZe8lhmmWX8otmCCy5YB9u7777rGJt5nqU0MU1gsrvuusutvPLKbs011yzYBJo4N2UP1bNFoPkR0JjQ/NpEJRKBZkOglsQ0EziszrhxI6ZI8YBkSWL6/vvv94L1sMMO8yL68ssv9yI5vJfPEHeI6SOOOMK7GPfp0yfXzrgfYwlnL+Ldd9+d+3yllVZyL730kptllln8Z3/88Yc75phj3IMPPug6duzon/PRRx/5qLS33367m3HGGf11r776qltjjTX8v7kmnBxWWkwzacZt8tFHH82Vmz2UlIeFBxI8mezuvffebskll/SLFhbMDabXXXedm3POKFzwf4lFghNOOME98MAD/t5ZZ53V79O+6KKL3KKLLlrw/SgkprmRRQjKx6IHZbfEJB7374ceeijX/htttJH/LL5HvJzyNZuXWwURgQQClRDTvLsskp122mn+CXiEXH311T74F+8eY6VZtvmevdUsYj788MPu5JNPzivVO++845ZbbrncZ0cffbS77LLLfH6k8847z33//fdeXDPeMEZeccUV7o477vDjbdeuXR0Li5bSxDSeKgRXI/32229uhhlmSO0fmjjr1REBEQgJaExQfxABEUglUGtiesMNN/QTMKwTlsKAZHExzd5hRBnCEMsGE0isL1hTmDRihSExUTz77LO9qzEJqzfCGQGHKMZSSkK4HXLIIX5C2KlTJy/qEKV77rmn/557yAvLDEG1vv32W4fg5jr2J/IMEq6XlIuE2A4FaCXFNFalpZde2j9j2223dauuuqp75ZVX/KQZAYzVFgs7f2OB5zMSopp7sQTBDrfLa6+91n+H1Xr33Xf3iwpY8BGyb731ll9AwBWfxYFQeMc7bzExzfUsNLDg8NVXX3nrOGWhbXkG7bbVVlt5yzkTchITdcpSifLFy6v/i0BzIlCqmO7du3fufeQ9YqsMwcnOPPPMnJh+7733/PuNyCWxjeaSSy5x8847r9ttt93c008/7T/HJZwxjLFin3328Qt0iG5OUiDx7q+99tr+XbS92Pfdd59/dxk7zz//fD92Ml6wYMd3WcX0I4884scwhPsbb7xR0BNGE+fm1GNVFhFoegIaE5q+DVQCEWi2BGpRTNMYNkHj32FAsriYRgwjVLEc43qNKzJicJpppvFtysTOAuBgTcGqghWZI1ssYYnB5RjBjHC2hHWHCaGJ5NGjR/uJ3hlnnOHFpyUs1Xfeeae37hBx3NJPP/3k3bxNwNrnlRTTTJIpIxZ9s+rwHNyrb731Vm9tx9XTxDTfjRgxwotuEq7uWKopowU1M/YECuPfxhIL1EknnZS3aJD04mQR0xaN2MqHFwGTeizRuPubSzl7Ppn4L7bYYt5dNOwb9S1fs33ZVTARiAiUKqYRwLZVg/GOcQpBHYppe+/xwOFdnzRpUm5cZEsLR2gxzhLbwN49O2UhFM7mccO7h9cKyQR2/BiuG2+80R+LlVVMkxeLmnPNNVfRLSWaOOtVEQERCAloTFB/EAERSCVQq2IaICZy+bcFJENwxfdM4xKIgGZCyWTvpptu8sexkCZOnOj33pIsimxoaeFz3BVxe+RPGCXcrsctHDdx3MIJnMVkFItOPOHizfNt72Fao1ZSTKc9A6vyrrvu6i1UuICbmGYyPXz48LzbFl98cW/Z/u6777y1HVGOy2X8iDIWLjjairZgAp6WsohpFgBYrGDCvf/++/tFDhY7sKqbe7zlj5UaN1Vry3LLp+FGBJozgVLFdDwAGQt4BPdinDQ3b+prHj/xRT/7HK8TFiQtpX2OS7cdcWdxLoYMGeI9dLAoW7IgaaWI6aztoolzVlK6TgRqg4DGhNpoZ9VSBOpFoJbF9N9//+3d/rCQkHDN/vjjjxMDkCG2CEqGSzOWYqwkpCxiGhdGBF1cTJsotM85H5W9xTxriy22qFd7clOlxTTWZVw4mdCOHz8+t9+YZ8XFdNz6zjVESMe9GmsVViEm4QQOIjHxDpO5wzNhT0tMEGX1AAAgAElEQVRZxDTlwJpv7tu4jmLhwjoet+SbhwBWagIdlVu+ejecbhSBRiBQrpimiCx2sUAWetCkiWkENEHE4mKaMYB3Lf45UcIZM/FUweuFxS/OkZaYboTOoUeIgAgkEpCYVscQARFIJVDLYhoo7EkmUjYTQ0u4WYfRvLEmYz1mvx779kh2bnUWMU1gsv3226+omMZlEUsqFtSePXvWu9dWUkxbMC8Kw2SW/d9Y4tnriGU5LqbZK437d5jiYpr96ky8sRZbQDW7nr2QRC9nn2Y5Ytqs4bbPnfPDCfRWSExzbi5u4OWWr94NpxtFoBEIVEJMh8XE9RtvmUqIaRY4u3Xr5gj6yD7rTTbZJBdsUWK6ETqHHiECIiAxrT4gAiJQGoFaEtM2OYsTsr3KSWIaaywCMj6RawgxTSTr4447zu/fZa+y7cW2ciHKcZPGrbFQyiKmqRfCEgu77WFEeLI3PHTTNKstruoETrOEpZr/10dM48qOS/uoUaPyAsFl7bnFLNNWtjBAnLl5xyOf80y8AHAntYWRcsuXtR66TgSagkAlxTRbOtjuQbyBSohpi5vA+0oAM5Lto5aYboreomeKgAhAQJZp9QMREIFUArUgpnEbxALKPl+sHkkJS2uXLl38V6Fl2iZ3CEyOWcICE1priext+5vT9kzjuo0LdxjRmufYES7m5s0RMQT6IhFAi8mkCWpc0RHaRA83ay7HwRBdl4BnFsSLe7OIaQKtEfwLEWnHQlm02zCAGu7puFxyLceDkdjTiAW3vpZpCwaGiz11MDGPiz0CfYkllshFBU5qqzQxTbkoJy6hJBYMsEiTbI830dxZVLFnWnCkMABZueXTcCMCzZlAFjFt7xj14CSBpLOgbRwggBiLbWlimjOp8TYJ3zHytfEudPNmLOL9ZHy65557PEaLORF3Byd2Be864wjH3Vmy8TbMg+9YLGTrB67lNi6ktZMmzs25B6tsItD4BDQmND5zPVEEWgyBWhDTFjU2aT9v2FAc2UJAnVBMc0wV+2hJWIRxH2biRjRbEse7MDljH7VFuF5//fXd4MGDc1mbdTe0lPKlWUDDgFuWB98z+eRca9yTcUMPrarhOdPxPdZZxLSdnc3+4SOPPNJPmM09Ozw/O7wOF26uZ5JrbvH1sUzHj6nCMsy5zkyOOUYrFO5JL5JN9LFUsReThCWfybylOBPcR7GgkTf3sReTxZF+/fr5W8LAZOWWr8W8/CpoTRLIIqYJKsjiIOnCCy902223nV/YIxgjgQRZ1OMYLMZBom4TfZuTChgjSLa9gn/zLhLkj8S2GuJOkIijwBaQ8HoihDP+kggEiPcM9zM+kRhL2UPN8+za+LhqC4Bx8R2eMz158uSCx+9p4lyTr4YqLQKpBDQmqHOIgAikEqhmMc3EbZtttvFi1BJHT2FptTOFQzBE7Mb6yp5Z2zPNZ1iU2ctMwmrLMVdYOk899VQveMkPF2w7s5jreC6WZ/ZKMxm0xMQPCzBujOHxWbhbYzXBjRtxa2cycx9HyvD8MCiZnXXN97ipm6jk/1nENNexL5ljucKENZyyhYlJKBNchK4xoH577bWXLyd8EKYLLbRQ3pmxlodZwS0AGZ8TuZv95yxM2ESZyS+eADbBTuu0diRO+D0iH2s5Lvnss0QwxxOCncn4Y489llsMgDsLIdwTpnLKl1ZufS4CzYFAITHN+fZ40YQLU8XKzPaI2267zR+hZwEEierPVg6C+oXxJ/Dw4ex58g/HFN5XxpJFFlnEL1BineZazqPnOsZlPmOhEhHPsxiDw3GVsYsFURZALbEYyaIA+ZvnDWO2HXOYVjdNnIu1ur4XgdoioDGhttpbtRWBkghUs5guCcR/F2NR+eabb/ykLkxYY3DxtvNW+Q6xPuecc9bnMUXvQcxhbSX/hRde2E099dR17uGcaRL7nMOUVUxbHdjviNUJC7u5P8cfRnRtBPxss81WJxp20coUuYAI4biuNxTLpMd/9dVX3kIWD4CWdG1TlK9cprpfBNIIZLFMNzU93s82bdrkbV+pxHjL2M44kzbOWb01cW7qHqDni0DzIqAxoXm1h0ojAs2KgMR0s2qOihSmFDFdkQcqExEQgRZDoCWI6aaGqYlzU7eAni8CzYuAxoTm1R4qjQg0KwIS082qOSpSGInpimBUJiJQlQQkpos3qybOxRnpChGoJQIaE2qptVVXESiRgMR0icBawOUffRdF4I08wBeb3bkro+3iFw5x7obtnOuxegsovIooAiLQoARCMX34us599H0UlyHaKbLYlLhgShEBTZzVDURABEICGhPUH0RABFIJSExXX+eY8Itz7092rl2r6EioUdFRX886d9U2zh26VvXVVTUSAREojcAVQ5078nHnzooOKdhpFee+jsaLZeZyrm00XihNIaCJs3qCCIiAxLT6gAiIQCYCEtOZMLWoi37+07mRE6LAZNM798lE53a4y7lNl3DuqX1bVDVUWBEQgQYgsM3tzj32fnQ01e7OLdg6OsYqGi9Wm8e5VtM2wMNaaJb9+j0UndywdRSYUVBaaBOq2CJQMQJ//vlXdKzm42633batWJ7KSAREoIoISExXUWMGVRn1tXM//OHcIrM6t8bVzk342bku0ZHM7eerzvqqViIgAoUJ/Pm3cx9Ei2sD3nFuoWgLyIsHOzcucvGeNVp0a99W9EICr732TnTG9Y9u3XVXk6BW1xCBGiaAkH7ppRHRsaWzufbtl6thEqq6CIhAKgGJ6ersHD9FQvq1SFBPO5Vzv0f/7nybc79GFiglERCB2ibQajrnHt/buelncO6vf5zr0C7yYok+U8onMHLk2+6DDz5yEyZEKxBKIiACNUmgXbvWbplllpSQrsnWV6VFICMBiemMoFrgZRbVe5pIUM8Y/XntC+d++8u5v6MJtJIIiEBtEZgmOqp+xshruf380QLbv9E4EP2ZNwo8tqQCj9VWR1BtRUAEREAEREAEKkdAYrpyLJtbTn9Gonnst8598+uUks0eWaKYTE8fTaqnjsS1kgiIQG0Q+CcSzr9Hbt78+f73KXVuM1MkpKPAY3ivKImACIiACIiACIiACNSDgMR0PaC1sFsm/xZF945ENXsmlURABGqbwPTTOLfUnM7NNWNtc1DtRUAEREAEREAERKBsAhLTZSNsMRn8Grl4/8KfaO80liolERCB2iCAJwp7pYnYPZMCVNdGo6uWIiACIiACIiACDU9AYrrhGesJIiACIiACIiACIiACIiACIiACVUZAYrrlNOiIEW+6MWPGRdFlJ7WcQqukIiACFSXQpk1rt+yyS7gOHZavaL7KrHkR0HjfvNpDpRGBpiKgMb+pyOu5IpCRgMR0RlBNfNmIEW+5X3751a2zTgc37bTy02zi5tDjRaDJCHDu6dChI90ss7Ryq666YpOVQw9uOAIa7xuOrXIWgZZGQGN+S2sxlbfmCEhMt4wm79//YbfTTp0lpFtGc6mUItCgBJhcDRgw0O26a5cGfY4ybxoCGu+bhrueKgJZCXz99eSsl9b7urZto+MW/ksa8+uNUTeKQMMTkJhueMaVeEKfPn1dz57dK5GV8hABEagCAhoTqqARU6qgtq3etlXNqoNAY4tpqGlcqI6+o1pUIQGJ6ZbRqBpEW0Y7qZQi0FgENCY0FunGf47atvGZ64kiUAoBielSaOlaEahyAhLTLaOBNblqGe2kUopAYxHQmNBYpBv/OWrbxmeuJ4pAKQQkpkuhpWtFoMoJ1KqY/uWXX9z777/v/v77b7fwwgu7Nm3a+JaeOHGi+/77793iiy/u///ll1+6QYMGuW222SZ3TVN0CU2umoK6nikCzZdAQ40JjIn8yZoIiPjPP//4P/E0VfQDM80007i//ooOuE9I3Dv11FNnfVTqdZMnT3Zjx451M844o1t00UXdrLPO6q8dM2aMm3vuud2cc85Z9jMsg0mTJrknnnjCde3a1c0000wVyzfMqKHatkEKq0xFoAYJlCKmP/roUzdu3KfR2LSQW2yxhTLTCvdMc5PGhczodKEINC6BWhLTf/zxhzv//PPdXXfd5T744AMPmknXjz/+6P/ebLPN3FtvveW6devmzjrrLP89/7733nvdAQcc4K6//vrGbZzgaRpEmwy9HiwCzZJAQ40JJ598sjv33HMz1/mmm25yX3zxRd64amPrJpts4k455RR3xBFHuJdeeikxz8UWW8ytscYa7sADD3Qbbrhh5ud+/fXX7vjjj3cDBw50/DtMCyywgM/r4Ycfdg888ICjHOUmBHTv3r1z9fjuu+/c7LPPXm62ifc3VNs2SGGVqQjUIIGsYhoh/fLLr+UIrbVWh8yCWmK6BjuWqtwyCdSKmB49erTbY4893GuvveaWW245d91110XHyqzqWrVq5T7++GPXt29fd/bZZ/tGPOqoo9yll17q/33hhRf6CdsNN9zgevTokdfIiPPff/89ZwVpyB6gyVVD0lXeItDyCDTUmLDnnnu6O++80wvHLbfc0i244ILeumzpjTfecJ06dfL/XWuttdyQIUP8KQP//vtvdHTfOtHE8WX/3aeffurvtcSC5I033uj/+/TTT/vv3nvvPXf33Xf7P/Gxt1CLPPbYY2633XbzC6E777yzF+zLLrusv4U8TzrpJPfoo4/6/z/00ENu2223LbuBGeuHDRuWq/vPP//sfz8aIjVU2zZEWZWnCNQigSxiOhTSbdvOHS36Tfxv3MwmqCWma7Fnqc4tkkAtiOnx48e7pZde2k+8mBzec889iQKYz3fZZRd30EEHuWuvvTbXnn/++aebbrrp6rQv1pYNNtjAu/s1dNLkqqEJK38RaFkEGmpMWG+99dy+++7r9ttvvzpA2B6z+uqru3fffdd/h2u1bYnh/4cccogfO/H0+eGHH/Luv/XWW32+pM8//9zNP//8/t+I8BNPPNFdcMEF/v9Yk7t0ST/y66mnnnKbb765v/b000/3f3AnDxNu6j179nRXXXWV69+/vx/XK5Go/8wzz+yz+u2339wMM8xQiWzr5NFQbdsghVWmIlCDBIqJ6VBIL7rogm7ttVd14WdZLNQS0zXYsVTllkmgFsT07rvv7vr16+cb6JNPPnELLZS+Z2XjjTd28803n7vjjjsKNiiWlF133TU663WAxHTL7PoqtQi0aAINJbiwGCOWbd9xCIkFxCuvvNJ/dNttt7m99torjyFePX369EkU04yVO+20k78et3DGWUvEr1hmmWX8fw877LDcM+INhJhlYRQxjofRm2++mWc1D68n9gV1ueyyyxIXBurT+L/++mvOGo1nUtIia33yjd/TUG1bibIpDxEQARdZmdPPmf788y/d4MHDPSYT0sYsFNQdO67hFljg/8fBOFeJafU0EWghBKpdTA8dOtStu+66RSdp1lwvvPCCd/m+/fbbcy3IxPLDDz/0QchI4aQQd8L111/fB73B8o3rX5j4jgA7H330kfvss8/8V0wil1xySf/v4cOHu1GjRnmXxVlmmSW112hy1UJeKBVTBBqJQEONCVhcCeQVT48/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zLw8Y+ecazd88t391U+s/f13gRk+fKO9X4E59NDypmpVY1kVn+hr9eoC8957m8z8+XmmSpUyNilWeRs5UN4+a5t7KCgIJQ9buDDfrl0F99+PP95kKlcuY04/vYKbR6xpvpMm5Vre+ebII8vb6IJN5sEHkxPTs2bl2ec8z3528u3nq4KdVzlTdjP6qDWYMSPXLFtWYD9j5VyodWZm9JhKcg46N611zcgo49ZH/77zznU2L4N1TVvTWWoxEts6dULjWrKkwHz44SYb/r7lGWs9U9t7PhrT5Mm5dgMr1z7DZe1noKzZe+9y5h//2HLtEvoioREEIAABCEAAAhAozQQQ08WvXkmJaYlCCbxHH300ahASqk2bNg2/duutt5qnn37avPjii+61hx9+2KxevdqJ64MOOsj8/vvvzusqYSrT/fTvKlWqmBUrVtgf5HeaAQMGmMcff9zcdtttTkxLSEqMHnrooVZYlHXXVreHed99911z8sknFwpFY3j99dfd9cqiLWGqe8vuuecel1wtkXtr40Ah2hr7Cy+84LJya15HHHGEkddZY/H2xRdfWLF1uttoOOWUU6x4+DA81+LE9C233OLm9Mcff9hETXu6+Sq8XmfcvZhOdB1ee+0107VrVzcGbVJMmTLF3UuRCQ0bNozLTCK3ffssew52k0suJYFWr15Zc+mlFe3RgIp2E8GY22/PcQK2VasK9p65NllevmVbwZ6DzbBC09h132CZb7DjzXOv16hRxjK3F1q77rqQeH7lldC/x4zJcIm6/vjDKtf/2ZAh1ZwovPLKbLupsPn1gQOr2TwCm0XYCy9ssOu3zrKpYipVKmOflRxTu3YZu9mRWeSHRIK3WbPVdu3K2+eusnnnnY1W+G00N91UyeYHsGrc2tNPrzdPPbXejatt2/JOGCtc21uTJmXt/DKdePemed90U4659dbKVrCVNf37b7Di0O4IWOvTp4p93or2TGtjQnMYPXqjXbfKRueOH3povd040vNfw9SvH1LUWpebb852DHX+WOJ+6FB7uN3agAHVLPMQo5Kaw59/FtiIifXmtdc2uPV54YWq5sYbK7n1vvfeHLvhYLOvWdPmRMWKZVzitdmz88yrr260620X31pBweZNsJKaz5o1Bfb7ZrXdwKpgLr64ohkxYqN7DocPz3AbPBgEIAABCEAAAhBIOwKI6eKXvKTEtHpu27at/cF8r0uMde211xoJx86dO9uwzv+4gUmwHX300VGJtt555x1z0UUX2YzGd9kf1o+4dkquJY/2WvtL+o033rCi4LLwxJ566in7w3dE+GyxBOzee+9tf4y/agXWla7dM888YyQ8JWLlqa5Xr15cMBqfxLnGJZM3WoJeAltjUXbtRO4tYa/7eAGue914443m3//+txPL8lDLFDYvsXv++eebt99+2wl/2TXXXONEvAS2xHdRpkRlEuraSFAmcG9eTCeyDhLk2jzwGx0qiXbBBRc4Id2yZUvH1o8t3lhatFjjxNGoURl2A2Wz8OjSJceMHbvJfPllDSd4V64ssAJ9tROdEosSjV98kWtZ5VjmISEpb/RBB5VzAvvOO6s4L2vHjtnuPWV2fu21DOfZlEezT5+QYG3cuKwVttXsc1TOirUNpmfPdU5ULlkSygItAbbHHitNt26hPmUS9h06ZNuSckWLaSXOkqj7+OPqdiMm5MVu1Gi12xRYtaqmm9eiRQX2jHNOeBPgoosqujDtxYsLbB9ZTkRK9GuDQfbaaxtdsjGJcYlymc4OH3roapvFPd96p6vYORQtphVWL7YzZmSa3XYLeU79WDt3rmQ/YyHlfsYZWfY88ibr9a5uNzRC4xfzVq0sFGsffphhn8cKJTYHefV//jnfcdDcvJj261Kjxko3juXLa4ajDH74Ic98+ukmc8cddsfAWqSYLqn5PPbYevuds84+K7Ws91x9GrvJleW84n7DwQ0GgwAEIAABCEAAAulCADFd/EqXlJiWcFVosa9JLc/nVVdd5cSZD832gk/1qN977z03WC+wJcQVHu7twQcfdMI8NsO1xO4DDzwQrsd8+eWXmzfffNOFKitcWqa/mzdv7v6OFNnx6CiT9s033+yE95IlS5wH3Fui95Y3Wt5z/VciWvbYY4+FNwi0USA766yznBdac4+sya2EYhKzyYjpO+64w/XhzbMtbh3kRd93333NgQce6Lh505gUNi77+eefXZvCzIvp0aMzrHgLiWmFWzdpstquTRW7gRISjDJ5qgcO3Bgldp99doNlnuMygS9ZUssy39yTQm/LlQsJrhkzaoTDt+UVr1499PrcuZlmv/1CGxHy0Naqtcr9nZVVy1SziaAVQn7IIWuc5/zTT6uHRds552TZjZgtw+4j53neeVl2U2GTDUHPdGG/slNO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3UzHjtdEtZs4cYIT8hMmjHevawwdOlxmrrmmU0KPxP/930tmyJDB4THpem0WXHtt5/D1w4e/Zzp37mT69HnIfPzxR2bSpNAcfQj7tGnfm0cffdjOfax7vXbtOnZOz5nHHntkizDvdevWmb59e5sPPnjfLFq0yGRkZJgTTmht7ruvl2nQoEG4zxYtmhttOvTu3ccxy8rKMg899Ki5+uro+fsLENMJLTeNIAABCEAAAhCAAAQgAIEdTQAxvXkFvJg+5JBDzaefhgRlbJj3b7/NN0ceGTpTfdllV5i6deuasWM/cyHixx7bygwbNjx8wwED+pu7777LidJzzz3XbNy4yYlPebN79OhpS0CFzm7/8MN0c/LJJzlBes455zlBPnz4MCdSn3zyGXPppZcV+ZhISN97b89wP2o8fPhw14+E87XXXueuf++9Yeb66691/VSuXMW0adPGivs9zF139TB//fWX/Xdrd81JJ7Uxhx3WzHz11Zdm8uRJrr1EsBfd8jDfcMN1to/33PlyiejZs380H374gWnUaF/7349dgjfZYYcd7OYha9nyWCO2p556mmV4VNw5IaZ39DcC/UMAAhCAAAQgAAEIQAACCRFATG/G1Lv3A+bFF5+3gvNG88ADvd0bsWL6o48+NGPGfGjOOOMsG/58smuTl5dnDj/8n040/vzzfBfCrNDn5s0PdUJ04sQvbSj4Hq7t4sV/WVEZEpIzZ842VatWNcccc6T55Zd5ToT65GdLliw2J554ghO38+b9ZqpXrx53PRcuXOj6lmD//PNxNty6Xrifk04KiePvv5/h+vdiukGDvc37739oNwJ2C9+za9cbrQd9qE3Odqe54467wq8rWZuStsm8mB41aqRRlnN545WwrVy5cu79Z5992nqdHzS33HKb6d79bveaF9MKm1f4fHGGmC6OEO9DAAIQgAAEIAABCEAAAjsFgXQV0/Ii+1Dj33//zQlNhWJL/I4e/aELs5YlmoDs1lu7mUGDBrrwcF0rL+1VV11uw54fMDfe2CVqrSW016xZbRo2bORCoJs0aWxOOeU08/rrb0a1e/zxR80TTzzmxtOixZFxn5cxYz4wV155uRP/2gSING0MaIPgjTcGmrZtTw2LaXmib7319qi2XtD/+eeSqLPPq1atMvvv38i19WL6/vvvNS+99O+oRG16X2e999lnLxsqf4J5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\n", "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": "2024-01-18T17:27:06.319823Z", "iopub.status.busy": "2024-01-18T17:27:06.319526Z", "iopub.status.idle": "2024-01-18T17:27:06.334003Z", "shell.execute_reply": "2024-01-18T17:27:06.333675Z" }, "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": "2024-01-18T17:27:06.336086Z", "iopub.status.busy": "2024-01-18T17:27:06.335946Z", "iopub.status.idle": "2024-01-18T17:27:06.345917Z", "shell.execute_reply": "2024-01-18T17:27:06.345610Z" }, "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": "2024-01-18T17:27:06.347723Z", "iopub.status.busy": "2024-01-18T17:27:06.347614Z", "iopub.status.idle": "2024-01-18T17:27:06.356978Z", "shell.execute_reply": "2024-01-18T17:27:06.356563Z" }, "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": "2024-01-18T17:27:06.358918Z", "iopub.status.busy": "2024-01-18T17:27:06.358796Z", "iopub.status.idle": "2024-01-18T17:27:06.382278Z", "shell.execute_reply": "2024-01-18T17:27:06.381822Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBbgcNduG8+HOh7S4F3eHosWLFCnuFHd3l+LuWrzFXYpLoYXS4lCgheJQaHHXf+70e8+fk5PdnT27x3af97q4OJ3NZJInmUye1/KffzNxEiEgBISAEBACQkAICAEhIASEgBAQAkIgNwL/EZnOjZUKCgEhIASEgBAQAkJACAgBISAEhIAQ8AiITGsiCAEhIASEgBAQAkJACAgBISAEhIAQKBMBkekyAVNxISAEhIAQEAJCQAgIASEgBISAEBACItOaA0JACAgBISAEhIAQEAJCQAgIASEgBMpEQGS6TMBUXAgIASEgBISAEBACQkAICAEhIASEgMi05oAQEAJCQAgIASEgBISAEBACQkAICIEyERCZLhMwFRcCQkAICAEhIASEgBAQAkJACAgBISAyrTkgBISAEBACQkAICAEhIASEgBAQAkKgTAREpssETMWFgBAQAkJACAgBISAEhIAQEAJCQAiITGsOCAEhIASEgBAQAkJACAgBISAEhIAQKBOB8sj0f/5TZvUqLgSEgBAQAkJACAgBISAEhIAQEAJCoAMh8O+/uRorMp0LJhUSAkJACAgBISAEhIAQEAJCQAgIgbpAQGS6LoZZnRQCQkAICAEhIASEgBAQAkJACAiBaiIgMl1NNFWXEBACQkAICAEhIASEgBAQAkJACNQFAq1CpnM+pC4AVyeFgBAQAkJACAgBISAEhIAQEAJCoOMhEOcGy8lzK4uZzvmQjoemWiwEhIAQEAJCQAgIASEgBISAEBACdYGAyHRdDLM6KQSEgBAQAkJACAgBISAEhIAQEALVREBkuppoqi4hIASEgBAQAkJACAgBISAEhIAQqAsERKbrYpjVSSEgBISAEBACQkAICAEhIASEgBCoJgIi09VEU3UJASEgBISAEBACQkAICAEhIASEQF0gIDJdF8OsTgoBISAEhIAQEAJCQAgIASEgBIRANREQma4mmqpLCAgBISAEhIAQEAJCQAgIASEgBOoCAZHpuhhmdVIICAEhIASEgBAQAkJACAgBISAEqomAyHQ10VRdQkAICAEhIASEgBAQAkJACAgBIVAXCIhM18Uwq5NCQAgIASEgBISAEBACQkAICAEhUE0ERKariabqEgJCQAgIASEgBISAEBACQkAICIG6QEBkui6GWZ0UAkJACAgBISAEhIAQEAJCQAgIgWoiIDJdTTRVlxAQAkJACAgBISAEhIAQEAJCQAjUBQIi03UxzOqkEBACQkAICAEhIASEgBAQAkJACFQTAZHpaqKpuoSAEBACQkAICAEhIASEgBAQAkKgLhAQma6LYVYnhYAQEAJCQAgIASEgBISAEBACQqCaCIhMVxNN1SUEhIAQEAJCQAgIASEgBISAEBACdYGAyHRdDLM6KQSEgBAQAkJACAgBISAEhIAQEALVREBkuppoqi4hIASEgBAQAkJACAgBISAEhIAQqAsERKbrYpjVSSEgBISAEBACQkAICAEhIASEgBCoJgIi09VEU3UJASEgBISAEBACQkAICAEhIASEQF0gIDJdF8OsTgoBISAEhIAQEAJCQAgIASEgBIRANREQma4mmqpLCAgBISAEhIAQEAJCQAgIASEgBOoCgVoj03///bf7999/qzJ24447rvtPDFBVam6bSr799lt3++23u+mmm86tt956brzxxmubhpR46j///OP4LyXttc3FulRsTrZGf7788ks3bNgw/99HH33kZpxxRjfPPPO4ueee280+++x+HowZM8YdfvjhbpdddnHLLbdcu5wX7blRI0aMcK+//robPXq0++WXX/wa1KlTJzfrrLO6ZZZZxk000URt2vxS62JrzMNKASjVh3Lqr7W1vZy+q6wQEAJCQAgIASFQRQRqiUx/8cUXnihUS15++WW3+OKLV6u6Nq3n+eefdyuuuGJDG2aeeWb37rvvukkmmaRN25V6+MEHH+zOPffcZLteffVVt+iii7a7Nhdr0E477eSuu+66ZJG//vrLsbFvCfn999/d8ccf784444yG6ieffHL3448/Nvr3hhtu6En2gAEDXN++fd1WW23VEs2puTq///57d+GFF/qx/eCDD4r2r2fPnl5ZsfTSS7cJDj169HD3339/8tlzzjmne//999ukXXkfqrU9L1IqJwSEgBAQAkJACLQqArVEpn/77Tf33HPPuaFDh7ojjjiiII477LCDm2OOORybYTZpn332mScSsdQSmd588829VTqUG264wW233XatOt/yPOztt9/2ZPqaa65pUvyFF15wyy67bJ5q2k2ZV155xR199NHu4YcfbtKmliLTWJrXWmstxxxGmPOnnXaam2GGGbzlFCvq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8MMPu549e7qJJ564WtWqnhpEoNA7yDt55513uiWXXNItsMACNdjzjtelWhqTW299wHXr1rXjDYJaLASEgBCoAgLs359+epDbYov1q1CbqhACFSJQS2T622+/dfPNN5/76qvGGU3XXnttd+aZZ7pFFlmkAa3DDz/cXXfddQ1lO3fu7J566qmqbXzZuE0//fSeTL/xxhtZkpiFCo7U8ccf7y6//PIm7bYbVlppJUcf9tprLzfVVFNlGVu/cLvuuqt78MEHfZEtt9zS9evXr8KZoNsh0L1793bPP/+8B+O7775zU045pYARAk0QKPUOXnHFFW6PPfZwM888s/vkk0+EYDtAoJbG5Pzz+2QWmY3aAaq13wQU3fyHQl5SGwhgdKm28aQ2kOlYvejb9x53wAG9Olaj1draRKCWyDQjxCJ58sknu1NOOcUP2OSTT55lAPwm+SG8+OKL3b777uv2228/d+6557pxxx23aoP8yiuvZG54S/j6brvttpKW448++sjNPvvsvnz37t3dVVdd5bj2+uuvu8MOO8yTcvry8ssvuy5durgffvjB7bnnnq5v374i01Uatd9//90NGjQos/h08zVidZxkkkmqVHv7qAar+zTTKGFRNUaj2DuIxwjzaLvttnM33HBDNR6XrAOFD+tCNdeuFmtsG1fcWmPSGt0sl0yP9bZ5KPumfOh+/fUXN9NMM7sVVlgxUzC37REzb7zxusODq5DwrZtjjjlbA9LkM/BgW331VdyYMd9kStYX3H//+98Wa8tnn33mbr21n3/GLLP8fyw8f4NDa5H5XXft5YYMecm98sobZfUVYwb35ZHVVls995r1+eefu6FDh2RGide9dyFzdumll3adOnVu9Ki87R4+/D23zjpruuWX7+puuklGiDzj1V7LiEy315Gpw3bVGplmCNEib7LJJu7ee+/1I3r++ee7/fffv9HoQpSwYi+88MLugQceaOQCXo1p8O677/r6kXvuucdtuGHpuI7pppvOW6chyZdeemlDMz788ENvVYdQ8//XXnvN/0aZvffeW2S6GgP2vzrwKJh00kn9v3777Tc34YQTVrH2tq0Kt+NnnnnGXXjhhW3bkBp6erF3kI14sTCNSmFgfq6wwgreQwUvGElpBFp6TEq3oDolyiHTd955e+bVtEfyweuvv4G74oqrW42oxY3YY49d3d1331UQ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h9xWW/WovLIarUFrZo0OrLolBJqBgNbMZoCmW4RAPSEgMl37o33++X3cAQf0qv2OqodCQAjkQkBrQnGYhE+uaaRCQqBuENCaUDdDrY4KgfIREJkuH7OOdoc+Ah1txNReIdCyCGhNEJlu2Rmm2oVAbSGgNbO2xlO9EQJVRaCWyfS///6bxbv82QivCSaYIIkf5SgfyjjjjFMTrtH6CFT1lVFlQqDDI1BoTfjnn3/cX3/9lbt/bblGfv75565///5ugw02cJ06dWpo888//+yefvrpLE/EL1l4y2a5+xIW1JrZLNh0kxCoWQS0JtTs0KpjQqByBGqZTH/zzTdu2223dQ8//HADUP369XNbbrllE+AOPPBAd80117gff/zR/9a5c2d35JFHZu7RB1QOchvXoI9AGw+AHi8E2hkChdaEgQMHuoMPPti98MILuVq89tpre0LbFrLFFlu42267ze22227uiiuucF988YXbdddd3YMPPuibwzrPet8cKYTPH3/84QopZJvzHN0jBIRAx0BA+6iOMU5qpRBoEwRqmUwboGyu1l9//QZ8X375Zbf44os3wXvUqFFu+umnd/PMM4975ZVX3CSTTNImY1Lth5bzEXj88ccd1qm11lqr2s2oWn2ffPKJe/311xvVN+WUU/oxnXTSSav2HFUkBGoVgVJrwr777usuvvhi333WhCWWWML/jfcOCsfhw4e7/fff3ysdn3rqqTaB6cwzz3SHH364u/LKKz2JRn744Qe35557ur59+1adTL/11ltu+eWXd6uttpq75557yu4zbVtwwQX92oritrWFsfvss8/cl19+6S35M8wwQ10rBn777Tc399xzu1VXXdXdeOONrT0cel4HQ6DUmtnBuqPmCgEhUE0E6oFMg9d/go7OPPPMnixPO+20TaBcccUVPSm76KKLqglzm9ZVzkdguummc7/++qvflLZXYfO8++67J5u39NJLu4033thvsnFBlQgBIdAUgVJrQviOffrpp26mmWZqUskTTzzhjjnmGDdo0KA2g5jwnPHHH7/R8y+99FK39957V51MozSASKNsfffdd8vu83fffeemmmoq75Z+3333lX1/c2948sknXe/evd1LL73U4Hllde24445+rZxvvvmaW32HvY8wAJSvbeld0WHBq8OGl1oz6xASdVkICAFDoJ7INJug9957z3d9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RCBzCGyxovmnlcYs3RDqc1XrhWIiXdZOqEtacS0TARHIHALbrHDeZMO8+W/1plC/a1WwQtoWHiOCRSYCIlBECEhMF5GBUDNEQAREQAREwBJYsdFW97aimnxJmQiIgAiUtXUTGlQ3pkZ5sRABEShyBCSmi9yQqEEiIAIiIAIiYDbYEO9s/rO503ipZCIgAplDgGgUcqWp2F1BVbszZ+DV0+JHQGK6+I2ZWiwCIiACIiACIiACIiACIiACIrCbCUhM7+YB0O1FQAREQAREQAREQAREQAREQASKHwGJ6eI3ZmqxCIiACIiACIiACIiACIiACIjAbiYgMb2bB0C3FwEREAEREAEREAEREAEREAERKH4EMkFML126wnz55TTz888LCjRA9evva/75zxamVi27H0HAcnJyzLZt0TcALVu2bNx7zZ8/33z77bfmjDPOKFCbdJLdQuann8z06dPNOeecU2AcGocCo9stJ/Ln9vXXW82GDbnm6KOLZ0WWWH2YPn2rmTt3qznrrLImwevDsc/ONuaNNzabli1LmUaNbKlXmQiIgAiIgAiIgAiIQGoJZIKYHj36EzN/fsGEtB+NevX2NaeddnyewRk1apR59NFHzeTJk/P8/l//+pd55JFHzCGHHLLDYA4bNsz069fPzJs3z32OoJbljwBsn332WcewRYsW5ptvvsnfBezRGod8I9utJ9h1K9Oly3onHteuNebmm8ubBx6wG24WI4vXBwR2tWorXd9efrmS6dQp/mIc3f7vfzeZrl2zzd//XsIsXFitGJFQU0VABERABERABEQgTQhkgpgeOPA5N1rnn99xB+9yomHEqz18+FvusOuuuyzq4X369DH333+/++yVV14x//73v2Nedt26dWbQoEHmtttuk5hOBD/G59nWJff44487hv/85z/NF198kdSVli9fbmrWrOmO3R3jsHmzMZs2GVO5clLN1UERBJYvzzWXXrrejBmzxdxxR3nTt2/xEtN0J14f2rdfZyZN2mLGj69iF4nyeppXrcq1z00JUyrw6/Hjc0y7dmvNhReWNUOHVtLzIgIiIAIiIAIiIAIikGoCmSSmY4nhRMy9GI91/siRI8MCeubMmaZp06ZxLzllyhQnAuWZTkQ+9ueffPKJIQLgqKOOMhMnTkx4oTfeeMNMmDDBPPHEE+FjUz0O116bbUOTy9gwXrtxpKxABO66a4MV0RvNPfdUMHfeWb5A19jdJ8Xrwxa7n3CZiMdj40Zj2rRZY959t7LZay+78WjAoh2/u/un+4uACIiACIiACIhAxhCQmE481InENOHeZ555prvQnDlzTMOGDeNe9KuvvjKtW7eWmE6MPuYRn376qTn++OPNMcccY8aNGxf3Sj/88IMbkx49euQR06kchxEjNtvQ3fXm9dezJKZ3YtzvvnuDFdIbnVca73RxtPz24eqrs81//rPJ/PlntR3EdHHsv9osAiIgAiIgAiIgAmlDQGI68VAWtphetmyZ+eCDD2wI8CZz7LHHmv3333+HRn3++ecunHnp0qVOGB533HFmn332ccd9//33O+Ret2/f3lStWtXmUi60oaOTwtcjBL3E/wadUGfyjRGbtWvXtl7To0316tUTA7FHzJo1yxUA69ixo/MMf/fdd6Zz587h85O5NgXcxowZY2bPnm022xhoPPonn3yyycrK2qENMPL3adSokQ13LeUWMBKJadi0a9fO/PXXX+bUU081V199talSpYo54ogjTKSYTmYcFi9ebAtgfW3++OMPU79+fcesTKQrMaL1r7++xRZJW+d+e9tt5a03vbQd41LmoINKho/84Ydttphaji2sZSyHUqZVqx0LSs2atdUy32aZl7EscizzrZZ5Wcu8hA1bN+b99zfbz8oavJVTp+aYX3/dZvP8y5gaNULezK1bje1zjl3w2eauz30i7a+/cs2oUZvt9XJNs2alTcWKxrJKXOhr9epc8+abW8wvv2w1FSqUsEWxStvIgdL2Wdt+h9zcUPGwhQu32bEr4/7/4YdbTPnyJUyHDmVcPyKN/k6alGN5bzOHHVbaRhdsMffemz8xPXv2Vvucb7V/O9vs31cZ269SpuR29HnGYObMHLNsWa79GyvlQq2rVs3bpsLsA3nTjGtWVgk3Pvy7d+8Nti6DdU1bI5caRrCtVSvUriVLcs17722x4e875ljzTO3q/tCmyZNz7AJWjn2GS9q/gZKmbt1S5m9/23HsknqR6CAREAEREAEREAERKM4EJKYTj15hiWlEIQLvwQcfzNMIhGqTJk3Cv7vhhhvMgAEDzFNPPeV+179/f7N69Wonrhs3bmx+++0353VFmGJcj39XqFDBrFixwk7Ie5shQ4aYhx9+2Nx4441OTCMkEaPNmjWzwqKkO7eyTeZ9/fXXzQknnBATCm148cUX3flU0UaYcm3s9ttvd8XVkrk2CweEaNP2J5980lXlpl+HHnqowetMW7x99tlnVmx1cAsNJ510khUP74X7mkhMX3/99a5Pv//+uy3U9HfXX8LryXH3YjrZcXjhhRfMtdde69rAIsWXX37prkVkQr169aIyQ+R27rzO5sFuccWlEGh16pQ0F1xQ1qYGlLWLCMbcdFO2E7Bt25ax18yxxfK2WbZlbB5slhWaxo77Jst8k23vVvf7KlVKWOb2RGtXXRUSz889F/r3++9nuUJdv/9ulev/7JVXKjlReMkl6+2iwvbfDxtWydYR2C7Cnnxykx2/DZZNBVOuXAn7rGSbPfYoYRc7qsb9I0Hwtmix2o5dafvclTevvbbZCr/N5pprytn6AFaNWxswYKN57LGNrl0nnljaCWPCtb01alTS9q+qE+/e6Pc112SbG24obwVbSTN48CYrDu2KgLV+/SrY5y2+Z5qFCfowZsxmO27lDXnH99+/0S4c8fxXMfvuG1LUjMt11613DMk/RtyPGGGT260NGVLJMg8xKqw+/PFHro2Y2GheeGGTG58nn6xouncv58b7jjuy7YKDrb5mjcWJsmVLuMJrc+ZsNc8/v9mOtx18a7m52xfBCqs/a9bk2vfNaruAVcacd15Z89Zbm91zOGpUllvgkYmACIiACIiACIhAxhGQmE485IUlprnziSeeaCfMd7jCWFdeeaVBOHbt2tWGdf7HNQzBdvjhh+cptPXaa6+Zc88911Y0vtlOrB9wx1FcC4/2WjuTHjp0qBUFF4Y79thjj9mJ71vh3GIEbN26de1k/HkrsC5xxw0cONAgPBGxeKrr1KkTFQztQ5zTLgxvNIIegU1bqK6dzLUR9lzHC3Cu1b17d/P00087sYyHGiNsHrF71llnmVdffdUJf+yKK65wIh6BjfiOZxQqQ6izkEAlcG9eTCczDghyFg/8Qgdbop199tlOSLdp08ax9W2L1pbWrdc4cTR6dJZdQNkuPHr0yDZjx24xn39exQnelStzrUBf7UQnYhHR+NlnOZZVtmUeEpJ4oxs3LuUEdu/eFZyX9bLL1rvPqOz8wgtZzrOJR7Nfv5BgbdCgpBW2lexzVMqKtU2mT58NTlQuWRKqAo0A23vvlaZnz9A9MYT9+eevt1vKxRfTFM5C1H34YWW7EBPyYtevv9otCqxaVc31a9GiXJvjnB1eBDj33LIuTHvx4lx7j3VORCL6WWDAXnhhsys2hhhHlGPkDjdrttpWcd9mvdMVbB/ii2nC6mE7c2ZVs+eeIc+pb2vXruXs31hIuZ9yyjqbj7zFer0r2wWNUPth3rathWLtvfey7PNYptD6gFf/xx+3OQ70zYtpPy5Vqqx07Vi+vFo4yuDbb7eajz/eYnr1sisG1oJiurD689BDG+07Z4N9Vqpb7zn3NHaRa53zivsFB9cYmQiIgAiIgAiIgAhkCgGJ6cQjXVhiGuFKaLHfkxrP56WXXurEmQ/N9oKP/ajffPNN11gvsBHihId7u/fee50wj6xwjdi9++67w/sxX3TRReall15yocqES2P83LJlS/dzUGRHo0Ml7euuu84J7yVLljgPuLdkr403Gu85/0dEYw899FB4gYCFAuy0005zXmj6HtyTm4JiiNn8iOlevXq5e3jzbBONA170Aw44wBx88MGOmzfaRNg49uOPP7pjYpkX02PGZFnxFhLThFs3arTajk0Fu4ASEowYnuphwzbnEbuPP77JMs92lcCXLKlumW+/E6G3pUqFBNfMmVXC4dt4xStXDv1+3ryq5sADQwsReGirV1/lfl63rrqpZAtBE0J+yCFrnOf8448rh0Vbx47r7ELMjmH3wX6eeeY6u6iwxYagV3Vhv9hJJ611HtXJkyuHw8TfemuLHcN11otf0vKqGg61RjQjnikoRmEx2l2//ionsBH7iH5vFHEbNGhTQjE9dmyOTYVYm0eYcg1EMpECt9xSwXl/qQx+2mnr7HNU2i7K5C2zzkIHCw8sUPzySzVT2urswuwDCxd49GOJ6RUrquUJhffPD/3yYrqw+sM9zj13nY062GLfD5XsIlxo0QMemzblOk+1TAREQAREQAREQAQyjoDEdOIhLywxTdgx4cLevEiO/D0h3ZVQPNY+/PBDF8aNhziyGviiRYusd3Fvdxz7V/M51yRsm1zrcuXK2TzMbWEB3aBBg6idJ6z8qquuiglmxIgRtphWJ3P66ac7j7e3/F7bb1W1Zs0a53W+5557XDg292f/7pUrV1pRV8NdnpznWrVqhe/lC5DlR0zjCQ+G1HsxnWgcyCtv1aqVu3csZsOHDw8fEw2cF9PvvJPl8oOxgQM32WiAkEAm9DvSCDcmHLms1Sm+gNnpp5eJKm7xXuJdxouMWPVWokRITP/xR7U8ea3++MWLqzmvLV7GAw4IeZMRrwi6s84qGzW3OLKdiHm8q+Tz/vbbNusx32yoWI29/XaWy9vG3nlni/XKr7MLCCXzhI4Teo2n/Npry9ktzyrGPI5r+OJd991XweWfx7Lu3bNtlMMmmztexYaf75gb7s/z4rxHj3I21DoQY24P+PzzHLuwFfJO+8WIwuzDRRett4s1yYtpvNkNGqx27fNiurD6wz1GjtxsIwdCERCXX17W/r1WtO8b5UrHfAj1gQiIgAiIgAiIQPoTkJhOPMapEtNTp061uaSHudzeoMjGM0pIM6HKhD9TCbxLly5Rq4EjchG75PbiQUYUI0g5F+O6++67r8tN5n4FMb8VWKSYzu+1EfiEe7M3NyHuq1atsnm1j4XFtOdBcTQ84EHzYprtsT766KO43fBh3sGweE6IJaYjx8EvHtx6663h/cTzyy2amO7WLds888wml+d80knxc069kMmvmPaiOZaYXrSomhXyIUE0YUKOFbtrnSjH2rQpbT3GlazIjlKtKwIARb7uuWeDXcTZ6ry+Q4dusnniOUmJ6f79N1phvF1ME55+000bbOh6WZezHDQvpsnrvvXW2GL6yCPXukJZQU99tDE74YS11hOf46ID7ror7/XWW92YlRVajPCLILHE9K7oQyIxvXJlNVOt2nbxGk1MF1Z/YECYfdeu691iibcBAyra1IByeQrN5fdvQ8eLgAiIgAiIgAiIQLElIDGdeOh2p5jeakswn3feeYaw5o8//thtBxVvSyc81m3btnUh2HPnznWe6nnz5tkQ3wNdR32+ND9TTduHeSemsP2IWGI6P9cmvJ2Fg9I2dhZvO3nWCGnymr1n+v3337c5ru3djeEQzElOpZjG63zBBRe4YnGjR4/OD6rwsV5M+/xbPrjyymzz7LObbGGrijaEe3uYd7QbFFRM77lnKFw6GTHNfclhvuKK9S6HGMNLPX161bjVmqdM2WpTC9bYEO4yNjw9yxUR83m7yXimI4XoLbdssBEEG50HHxEbtGTFdMuWa8y0aVttxMP2AmLRuBLG/vbbW5yndfDgvMIdb33JkiExPX58ZVu5vXRMr/mu6EMiMe3zz30/oonpwupPkB0pCFdfvT686FKctykr0B+zThIBERABERABERABT0BiOvGzsDvFNB5lPKteYNLa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IiACIiACIiACIiACxZCAxHQxHLQ0brLEdBoPrromAiIgAiIgAiIgAiIgAulEINPE9B9//GFGjnzFVKtWzeyzT6hQWcmSJU2DBgfZf++zw9B26XKZ+frrr8z06bPSadjz1ZcLLuhk5s2bZ6ZO/SZf5xXkYInpglDTOSIgAiIgAiIgAiIgAiIgAiknkGli+qWXXjQ33XRDVM5/+9vfzODBz5uWLVuFPz/11PZWRE4xS5YsT/nYFJUb/utfx5qZM79NCQOJ6aIy6mqHCIiACIiACIiACIiACIhAXAKZKqaPPvoYu6dxKDf3t99+M2+99ab1Pk93//7kk3GmadND3M8S08ZITOslIgIiIAIiIAIiIAIiIAIiIAIRBDJVTA8cOMh06tQ5D41+/e4xTz75hLnqqm6mb997E4rp9evXm2XLlpq99/67KV26dNxna8WKFWbbtm1mjz32iHvc+vXrTHZ2tqlVq3aBntWVK1e686pXrx71fNpAWDu2evVqs3LlClO37v55jl23bq1Zs2atqVOnjilhH5BEYvr33383e+21V1QGVOjmP+7JvRcuXGDbVsNUqVIlavvkmS7QsOskERABERABERABERABERCBVBOQmN5OfO7cueboo9uYRo0am3HjJsYU0199NdX07n2T+f772eGT27fvYBDoVatWzTOEgwc/63K0CZPGCCXv0aOnueyyK/IcN3HiBCfkJ0wY735PG84//0JzxRVdknok/u//njGvvPJyuE2cz2LBlVd2DZ8/atSbpmvXLqZfv/vNhx9+YCZNCvXRh7BPnz7NPPhgf9v3se73e+xRy/bpCfPQQw/sEOa9YcMGc999fc27775jFi1aZLKysswxx7Qzd955j9lvv/3C92zduqVh0aFv336O2bp168z99z9oLr88b//9CRLTSQ23DhIBERABERABERABERABEdjdBCSmt4+AF9OHHNLMfPxxSFBGhnn/+usv5rDDQjnVF154saldu7YZO/YTFyJ+5JFtzRtvjApfcMiQwea22252ovSMM84wmzdvceITb/att/axW0CFcre//XaGOeGE45wg7djxTCfIR416w4nURx8daC644MK4jwlC+o47+oTvw8GjRo1y90E4X3nlVe78N998w3TrdqW7T/nyFczxxx9vxf3e5uabbzV//vmn/Xc7d85xxx1vmjdvYb744nMzefIkdzwi2ItuPMxXX32VvcebLr8cET1nzvfmvffeNfXrH2D//6Er8IY1b97U9QNr0+ZIA9uTT25vGf4zap8kpnf3G0H3FwEREAEREAEREAEREAERSIqAxPR2TH373m2eemqQFZzdzd1393UfRIrpDz54z7z//nvmlFNOs+HPJ7hjtm7dalq1+ocTjT/++IsLYSb0uWXLZk6ITpz4uQ0F39sdu3jxn1ZUhoTkrFlzTMWKFc0RRxxmfv75JydCffGzJUsWm2OPPcaJ259++tVUrlw56nguXLjQ3RvB/umn42y4dZ3wfY47LiSOp02b6e7vxfR++9U177zznl0I2DN8zWuv7W496CNscbbeplevm8O/p1gbRdswL6ZHj37bUOUcbzwF20qVKuU+f/zxAdbrfK+5/vobzS233OZ+58U0YfOEzycyielEhPS5CIiACIiACIiACIiACIhAkSCQqWIaL7IPNf7tt1+d0CQUG/E7Zsx7LswaS7YA2Q039DTDhw9z4eGci5f20ksvsmHPd5vu3XvkGWuE9po1q029evVdCHSjRg3MSSe1Ny+++FKe4x5++EHzyCMPufa0bn1Y1Ofl/fffNZdccpET/ywCBI2FARYIhg4dZk488eSwmMYTfcMNN+U51gv6P/5Ykif3edWqVeagg+q7Y72YvuuuO8wzzzydp1Abn5Prvf/++9hQ+WPMq6++kUdM//LLQrdwkMgkphMR0uciIAIiIAIiIAIiIAIiIAJFgkCmiulo8PHYPvPMs6ZFixbhj6OJ6UmTPrOe3THmm2++dt5ovL/evJh+4IH7zYABj9o85leth/m4mGP92WcTzNlnn+k+x7scNH/d/v0f3CHH2h9HjvNjjz0S9T6ffvqJ6dz5vLC32XumH3/8SfPvf3cK34qiZ/Xq7We9yM3NBx98skNbvXfZi+m2bY8wP/zwQ9w2+2M5l/D22bPnJvW8S0wnhUkHiYAIiIAIiIAIiIAIiIAI7G4CmSqmCdG++OJLHX7ClA86qGE4FDs4JpFiGu8zXmgM73bjxo1dfjCiFvNi2nuVhw17JRwOHm2sx48fZ84772z3Uc+e1+c5ZMGC31wo9gknnGjvdVTUR4XiYI8++nBcMU3YNuHbu0pMt2vX1hU669r1alOuXLk87ZozZ445+OCDba747e73EtO7+y9c9xcBERABERABERABERABESgUApkqpqNtjRUNcKSY9ttEedHszyGHmFxi/3uqZV900fm20NjtttBYXpFMPvTatWtdmPfy5ctNkyYNXf7x888PzfcY+zDvu+66xxYFuybP+VQHZ7uvyDDvSM80J+UnzJtiZxQ9Gzt2gl1MaBK3zRLT+R5SnSACIiACIiACIiACIiACIlAcCEhMxx+lSDHtQ55nzPjO7cOMzZs3zxx11OHuZy+mqY79j380cTnYY8dODG8XRVi4P9YXIPPXHD363TxVrinoRUVtcpyprh3NgoXOJk36Mtwmfx+qcE+fPsttyRXLM811e/a8xowY8YrLpeZ+3nwuOP/2odv+OuR5DxnyfDjHesGCBbbwWC+bN72/3TbrAXcJieni8BZQG0VABERABERABERABERABPJNQGI6f2K6T59bbAXrZ21Y+EGuaNi6dWtdFWxEa1BM8/OwYUPNjTde73KhTz31NFOyZAnz9ttvuxzrPn3uMNdee507h32rTznlZPfz2Wefa7eXqm+3pJrs9oGmmNlHH31qypQpE7OhwS24uA82Zsxod59gvnU8MU2VcV/9u127Y+0WVoeYKVOmmC+//GKHrbFycnJcNW+KrLHVFcdv3LjRFmB7yXGgwrdvh8R0vv8kdYIIiIAIiIAIiIAIiIAIiEBxIJBpYtoL3IKGeVOx+tZbezsvrjfykanK/Z//PGXGj5/kcoa9vfji8zafebjbhxpDWOP99ZXE/XFjx37qKmRPmDA+fO75519gRfedpmbNmgkfJQT1iBEvu4rkGCK3U6fOeQqXsS90165dzJNPPm3OOee8Ha7JftfkflO4DMObPWDAE+aBB+5z7feeaT6Dw7333uO2CfP7SLPHNIsEHTqcEr5269YtHRsVIEs4hDpABERABERABERABERABESgOBHINDG9q8Zm8+bN5q+//jK1atXaoQhXtHusXr3a7Uddo0aNuE3YsGGDWblypS08VjvPFlXJtpv7YFWrVk32lB2Oo7o3ArhWrdqmROQDEuWq5ICXK1feFWLbWVM1750lqPNFQAREQAREQAREQAREQARSQiCdxPSIEWNsyPERSQnAlMDVTfJFIDc31+acf2637To1X+fpYBEQAREQAREQAREQAREQARFIOYF0EtMvv/y2LXjVxIZFV085R91w5wksW7bCfPvt9zY8PZT3LRMBERABERABERABERABERCBIksgncT01KnfmpycreaAA+oWWd5qWGwCP/30iyu0duihhwiTCIiACIiACIiACIiACIiACBRtAukkpiH93HOvmZYtm9otomoXbfBqXR4CixYtNjNmfG8uueRskREBERABERABERABERABERCBok8g3cS0F9QHH1zfFuGq4kK+kymiVfRHKv1aSI708uUrzapVq+1e3fOtkD4n/TqpHomACIiACIiACIiACIiACKQngXQU04zU1KkzzE8//WZKlSpl/vzzr/QcvGLeqzp1aplt23Ltvtr7mdatmxXz3qj5IiACIiACIiACIiACIiACGUUgXcV0Rg2iOisCIiACIiACIiACIiACIiACIpBaAhLTqeWtu4mACIiACIiACIiACIiACIiACKQBAYnpNBhEdUEEREAEREAEREAEREAEREAERCC1BCSmU8tbdxMBERABERABERABERABERABEUgDAhLTaTCI6oIIiIAIiIAIiIAIiIAIiIAIiEBqCUhMp5a37iYCIiACIiACIiACIiACIiACIpAGBCSm02AQ1QUREAEREAEREAEREAEREAEREIHUEpCYTi1v3U0EREAEREAEREAEREAEREAERCANCEhMp8EgqgsiIAIiIAIiIAIiIAIiIAIiIAKpJSAxnVreupsIiIAIiIAIiIAIiIAIiIAIiEAaEJCYToNBVBdEQAREQAREQAREQAREQAREQARSS0BiOrW8dTcREAEREAEREAEREAEREAEREIE0ICAxnQaDqC6IgAiIgAiIgAiIgAiIgAiIgAikloDEdGp5624iIAIiIAIiIAIiIAIiIAIiIAJpQEBiOg0GUV0QAREQAREQAREQAREQAREQARFILQGJ6dTy1t1EQAREQAREQAREQAREQAREQATSgIDEdBoMorogAiIgAiIgAiIgAiIgAiIgAiKQWgIS06nlrbuJgAiIgAiIgAiIgAiIgAiIgAikAQGJ6TQYRHVBBERABERABERABERABERABEQgtQQkplPLW3cTAREQAREQAREQAREQAREQARFIAwIS02kwiOqCCIiACIiACIiACIiACIiACIhAaglITKeWt+4mAiIgAiIgAiIgAiIgAiIgAiKQBgQkptNgENUFERABERABERABERABERABERCB1BKQmE4tb91NBERABERABERABERABERABEQgDQhITKfBIKoLIiACIiACIiACIiACIiACIiACqSUgMZ1a3rqbCIiACIiACIiACIiACIiACIhAGhCQmE6DQVQXREAEREAEREAEREAEREAEREAEUktAYjq1vHU3ERABERABERABERABERABERCBNCAgMZ0Gg6guiIAIiIAIiIAIiIAIiIAIiIAIpJaAxHRqeetuIiACIiACIiACIiACIiACIiACaUBAYjoNBlFdEAEREAEREAEREAEREAEREAERSC0BienU8tbdREAEREAEREAEREAEREAEREAE0oCAxHQaDKK6IAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a27iYAIiIAIiIAIiIAIiIAIiIAIpAEBiek0GER1QQREQAREQAREQAREQAREQAREILUEJKZTy1t3EwEREAEREAEREAEREAEREAERSAMCEtNpMIjqggiIgAiIgAiIgAiIgAiIgAiIQGoJSEynlrfuJgIiIAIiIAIiIAIiIAIiIAIikAYEJKbTYBDVBREQAREQAREQAREQAREQAREQgdQSkJhOLW/dTQREQAREQAREQAREQAREQAREIA0ISEynwSCqCyIgAiIgAiIgAiIgAiIgAiIgAqklIDGdWt66mwiIgAiIgAiIgAiIgAiIgAiIQBoQkJhOg0FUF0RABERABERABERABERABERABFJLQGI6tbx1NxEQAREQAREQAREQAREQAREQgTQgIDGdBoOoLoiACIiACIiACIiACIiACIiACKSWwG4R06ntou4mAiIgAiIgAiIgAiIgAiIgAiIgAoVLIDc3qeuXyLWW1JEcFKnYkz5RB4qACIiACIiACIiACIiACIiACIhAMSCQpESWmC4GY6kmioAIiIAIiIAIiIAIiIAIiIAIpIiAxHSKQOs2IiACIiACIiACIiACIiACIiAC6UOgUMR0+uBRT0RABERABERABERABERABERABESgwATyF+Zd4NvoRBEQAREQAREQAREQAREQAREQARFIHwL/D5NAVmS/kcejAAAAAElFTkSuQmCC\n", "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": "2024-01-18T17:27:06.384510Z", "iopub.status.busy": "2024-01-18T17:27:06.384349Z", "iopub.status.idle": "2024-01-18T17:27:06.607645Z", "shell.execute_reply": "2024-01-18T17:27:06.607328Z" }, "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": "2024-01-18T17:27:06.609864Z", "iopub.status.busy": "2024-01-18T17:27:06.609726Z", "iopub.status.idle": "2024-01-18T17:27:06.632330Z", "shell.execute_reply": "2024-01-18T17:27:06.632009Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBbgcNduG8+HOhxV3d7cCheJuxd3d3b24uxZvkeJWHIoUSoHiUqA4FHeXf+70e8+fk5PZnT27x3af97q4OJ3NZJInmUye1/KffzNxEiEgBISAEBACQkAICAEhIASEgBAQAkKgMAL/EZkujJUKCgEhIASEgBAQAkJACAgBISAEhIAQ8AiITGsiCAEhIASEgBAQAkJACAgBISAEhIAQqBABkekKAVNxISAEhIAQEAJCQAgIASEgBISAEBACItOaA0JACAgBISAEhIAQEAJCQAgIASEgBCpEQGS6QsBUXAgIASEgBISAEBACQkAICAEhIASEgMi05oAQEAJCQAgIASEgBISAEBACQkAICIEKERCZrhAwFRcCQkAICAEhIASEgBAQAkJACAgBISAyrTkgBISAEBACQkAICAEhIASEgBAQAkKgQgREpisETMWFgBAQAkJACAgBISAEhIAQEAJCQAiITGsOCAEhIASEgBAQAkJACAgBISAEhIAQqBCBysj0f/5TYfUqLgSEgBAQAkJACAgBISAEhIAQEAJCoAsh8O+/hRorMl0IJhUSAkJACAgBISAEhIAQEAJCQAgIgYZAQGS6IYZZnRQCQkAICAEhIASEgBAQAkJACAiBWiIgMl1LNFWXEBACQkAICAEhIASEgBAQAkJACDQEAu1Cpgs+pCEAVyeFgBAQAkJACAgBISAEhIAQEAJCoOshEOcGK8hzq4uZLviQroemWiwEhIAQEAJCQAgIASEgBISAEBACDYGAyHRDDLM6KQSEgBAQAkJACAgBISAEhIAQEAK1REBkupZoqi4hIASEgBAQAkJACAgBISAEhIAQaAgERKYbYpjVSSEgBISAEBACQkAICAEhIASEgBCoJQIi07VEU3UJASEgBISAEBACQkAICAEhIASEQEMgIDLdEMOsTgoBISAEhIAQEAJCQAgIASEgBIRALREQma4lmqpLCAgBISAEhIAQEAJCQAgIASEgBBoCAZHphhhmdVIICAEhIASEgBAQAkJACAgBISAEaomAyHQt0VRdQkAICAEhIASEgBAQAkJACAgBIdAQCIhMN8Qwq5NCQAgIASEgBISAEBACQkAICAEhUEsERKZriabqEgJCQAgIASEgBISAEBACQkAICIGGQEBkuiGGWZ0UAkJACAgBISAEhIAQEAJCQAgIgVoiIDJdSzRVlxAQAkJACAgBISAEhIAQEAJCQAg0BAIi0w0xzOqkEBACQkAICAEhIASEgBAQAkJACNQSAZHpWqKpuoSAEBACQkAICAEhIASEgBAQAkKgIRAQmW6IYVYnhYAQEAJCQAgIASEgBISAEBACQqCWCIhM1xJN1SUEhIAQEAJCQAgIASEgBISAEBACDYGAyHRDDLM6KQSEgBAQAkJACAgBISAEhIAQEAK1REBkupZoqi4hIASEgBAQAkJACAgBISAEhIAQaAgERKYbYpjVSSEgBISAEBACQkAICAEhIASEgBCoJQIi07VEU3UJASEgBISAEBACQkAICAEhIASEQEMgIDLdEMOsTgoBISAEhIAQEAJCQAgIASEgBIRALREQma4lmqpLCAgBISAEhIAQEAJCQAgIASEgBBoCgXoj03///bf7999/azJ2o446qvtPDFBNau6YSr799lt38803u8knn9ytscYabrTRRuuYhpR56j///OP4LyWdtc2lulRqTrZHfz7//HP3xhtv+P8++OADN9VUU7nZZpvNzTrrrG6GGWbw8+Drr792Bx98sNthhx3cEkss0SnnRWdu1DvvvONefvll99VXX7lffvnFr0GTTTaZm2666dxiiy3mxhprrA5tfrl1sT3mYbUAlOtDJfXX29peSd9VVggIASEgBISAEKghAvVEpj/77DNPFGolL7zwgltwwQVrVV2H1vPUU0+5pZdeuqkN00wzjXvrrbfcOOOM06HtSj18//33d2eeeWayXUOHDnXzzz9/p2tzqQZtu+227qqrrkoW+euvvxwb+7aQ33//3R199NHulFNOaap+/PHHdz/++GOzf6+zzjqeZD/xxBOub9++btNNN22L5tRdnd9//70799xz/di+9957JfvXq1cvr6xYdNFFOwSHtdde2911113JZ88000zu3Xff7ZB2FX2o1vaiSKmcEBACQkAICAEh0K4I1BOZ/u2339yTTz7pnn/+eXfIIYfk4rj11lu7GWec0bEZZpP2ySefeCIRSz2R6Y022shbpUO55ppr3JZbbtmu863Iw15//XVPpq+44ooWxZ955hm3+OKLF6mm05R58cUX3eGHH+7uu+++Fm1qKzKNpXnllVd2zGGEOX/SSSe5Kaec0ltOsaIedNBBLea9yHSxaXPddde53XbbrZliYosttnB77723X1tQVD300ENemREK7+Ell1zi/vvf/xZ7UI1KYTl/88033amnntpizLsCmdbaXqOJoGqEgBAQAkJACAiB2iJQT2Q6RObSSy91O++8cwuwllpqKU+4Y/n444/dBRdc4E4++eSmn+qJTGPNhUCFcuCBB/rNdWcUNs9jjz12i6YNGjSoS7ohv/baa26eeeZpNzIN0bvooov881ZaaSU3YMAAN8ooozR7PkQesnfiiSc2XReZLv02EH6AYiRcJ7iD9WbHHXdscfPAgQPdsssu2+w6LvZ33323d7Nvb3nkkUfcCius0OyxXYFMa21v75mi5wkBISAEhIAQEAKFEKhXMo01cKGFFmqBwZ577uldM/PkuOOOa7Im1ROZZvN/6KGHNut2Z3eZnnvuuR1W6lC6KpnOUw60hWU6nvtXXnml22abbXLn/AYbbOBuueUW/7vIdOll89hjj3XHHHNMs0Lbbbdd0ovCCt12221u/fXXb3YPYRasL8RVt6ek1sWuRqa1trfnjNGzhIAQEAJCQAgIgZII1CuZxqVxzjnnrJhMQ24WXnhhb8WtJzJN8jHcfC+++GK/gccqvcsuu3TqtyNlTe+Kbt6A3J5kOlacYKEuNda4hOOaTCx1v3793CabbNKp50VHNe6ee+5xa665ZovHs9bMPvvsJZvF72+//XazMssss4x77LHHWngMtGX/XnrpJbfAAgs0e0RXI9Na29tyhqhuISAEhIAQEAJCoCIERKadu/HGG92kk07a5P6I6zPJguqJTNuk+PPPP33Cq9jlt6JJ006FRaZbB/TGG2/sbrrppqab55tvPvfss8+WzCiNuzdeGbJMpzHnvZljjjlaJBpbfvnl3cMPP1x2oGxNiQsyThtuuGHZ+2tVoNHIdCOt7bWaI6pHCAgBISAEhIAQqACBRifTxECSDGjXXXdtynqMazEuxsS5zjXXXBWgWf9FsXB/8cUX/sifVExzHgJY/IlLJ8N0t27d3EQTTVQWrHJk+ptvvnG0B6tqpcoB2oGlkLGfdtppy7YlVYAEdmRxnn766d3EE09cso72tEz36NGjRZIpjrsi63SeBZVszrPMMkunINOMKcd5Mb84xq2SeWaDQB0kF5xgggl8HaOPPnqrxthuuvbaa91WW23Vog7cvo866qiydQ8fPtxhAY6FayQHK3oEH0du0S/mL/O+nHz66ae+iJ1y0FoyzXM/+ugj98cff/h3f4wxxij36Nzff/31V589nnpac5pAUct0a9d2juBivFizeCeqPTaMej788ENHJv3WuPUz3qw1U089ta8jJT/88INfX0kwWGRtbfXg6UYhIASEgBAQAkKgOQKNTqYt/o7MxuERQmxg2JhgrSNZUCxsJnHRZKPFJpsNXkqIV4WYI2T4rTR7NscU7bvvvq2+l2RHbPhTAgnAbRXiwfFIEL5YaC+KBpKz3X777b7PJsstt5w755xzHJbPlOA2zH2XXXZZC4sem0KeOe+88za7ddVVV22qL0WmSaDEMV933nmne+655/y91AWBxL05leTLHgARYIzph2W5Du/H9T1OFhX3a8SIEe7II4/01sjwOCRiYHv27OmOP/54T65jKUemcV/fa6+9cpen/v37e/JRRLbffnvXp0+fZFHmEl4XEMxUG5nPRh6wcEMqUoLygKRmzM9SxyqdcMIJjo1+nOiOObnaaqs1VY3lHHf0q6++usXjUL4Ql0zcdyl3ajDkfSXBYHj8FxUyR9dbb71m5G288cbzGbmLyOqrr57Mxs48XGuttYpU4TFHERULISW8B5tvvrkbNmxYsv+sQfSPsbU8AuSEOP300/28C4W+H3bYYX6eQ7AQlILUT4b3+HiuUm7ejAtjFWO62WabeSVCOB6PP/64Dx9JCWV59hFHHOFOO+20piKsLWeffXZF5LwomS63tsftvOGGG3ym9XCNowxJK1njSTAXKj2+++4736eUsK7SZxRYvNc2H9dYYw134YUX+jWr1JrLswjJoY5wLjN25Pyws+A5hYJcGKyJJow16/KKK65YaF6qkBAQAkJACAgBIVAFAo1Optlg4toak2mDlORBHLMVxzvy+88//+w357gScuyUJXEKh4PN6GKLLeYvPf30035jFgr/xjqKxcg2vuHvEETIT2vvZfPGcT2Q0FgsMRVk54ADDvCkN5Z99tnHEwAwSgmbQkglbvKhsPFnoxluBNlEYzWB0MVkx+6FTJkFMEWmy011ztJNxbVi/YMAGAFHyQAuxAuHlkWIA0QkZY164IEHvDLECBFZsqmTzbeRQPDAislGOZRyZBpCCmHmSLCQcBFXC1kj5jnPKhVjcv755zsS7ZUSFAJs8uNxC+/Zb7/93FlnnZWs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CAEhIASqRkBkumoIVYEQEAJCQAgIASEgBISAEBACQkAINBoCItONNuLqrxAQAkJACAgBISAEhIAQEAJCQAhUjYDIdNUQqgIhIASEgBAQAkJACAgBISAEhIAQaDQERKYbbcTVXyEgBISAEBACQkAICAEhIASEgBCoGgGR6aohVAVCQAgIASEgBISAEBACQkAICAEh0GgIiEw32oirv0JACAgBISAEhIAQEAJCQAgIASFQNQIi01VDqAqEgBAQAkJACAgBISAEhIAQEAJCoNEQEJlutBFXf4WAEBACQkAICAEhIASEgBAQAkKgagREpquGUBUIASEgBISAEBACQkAICAEhIASEQKMhIDLdaCOu/goBISAEhIAQEAJCQAgIASEgBIRA1QiITFcNoSoQAkJACAgBISAEhIAQEAJCQAgIgUZDQGS60UZc/RUCQkAICAEhIASEgBAQAkJACAiBqhEQma4aQlUgBISAEBACQkAICAEhIASEgBAQAo2GgMh0o424+isEhIAQEAJCQAgIASEgBISAEBACVSMgMl01hKpACAgBISAEhIAQEAJCQAgIASEgBBoNAZHpRhtx9VcICAEhIASEgBAQAkJACAgBISAEqkZAZLpqCFWBEBACQkAICAEhIASEgBAQAkJACDQaAiLTjTbi6q8QEAJCQAjUCwKDB7/khg0b7kYbbTT32Wdf1Eu31A8hIASEQBMCU0wxmfvnn3/crLPO4BZddH4hIwQ6FwIi051rPNQaISAEhIAQEAJFELjiipvcPPPM5iaYYHw3ySQTFblFZYSAEBACXQ6Bf//9133zzXfuu+9+cG+88Y7bbrsNu1wf1OA6RkBkuo4HV10TAkJACAiBukSgT5+b3GKLLei6dZukLvunTgkBISAEUgjggfPCC6+4bbcVodYM6SQIiEx3koFQM4SAEBACQkAIFEDg2WeHusxQ42aaaboCpVVECAgBIVBfCLzzzvtu9NFHlct3fQ1r1+2NyHTXHTu1XAgIASEgBBoPgeuvv8MttNA8cu1uvKFXj4WAEMgQ+Oqrb9zQoa+5zTZbR3gIgY5HoN7I9B9//JEEleQso4wyStNvf/75Z6bZz1T7gYwxxhg1HZDPP//c/fjjj1nChFlL1vvXX3/5xAqx/CcbnNFHHz333p9//tk99thj7pdffnEbbih3l1oN3tdff+3uu+8+16tXLzf22GPXqlrVU4cI5L2DvJO33HKLW3jhhd1cc81Vhz3vel2qpzG58ca7Xc+e3bveIKjFQkAICIEaIMD+/bHHBrmNN16zBrWpCiFQJQL1RKa//fZbN8ccc7gvvmie0XSVVVZxp556qptvvvma0Dr44IPdVVdd1VS2W7du7tFHH63ZxpeN2xRTTOHJ9CuvvJIliZknd6SOPvpod/HFF7dot92wzDLLOPqw2267uYkmmijL2PqZ23HHHd0999zji2yyySauX79+Vc4E3Q6B7t27t3vqqac8GN99952bcMIJBYwQaIFAuXfwkksucbvssoubZppp3EcffSQEOwEC9TQmZ5/dJ7PIrNsJUK3/JqDo5j8U8pL6QACjS62NJ/WBTNfqRd++t7t99tmuazVara1PBOqJTDNCLJLHH3+8O+GEE/yAjT/++FkGwG+SH8Lzzz/f7bnnnm6vvfZyZ555pht11FFrNsgvvvhi5oa3kK/vpptuKms5/uCDD9wMM8zgy6+22mrusssuc1x7+eWX3UEHHeRJOX154YUX3CyzzOJ++OEHt+uuu7q+ffuKTNdo1H7//Xc3aNCgzOLT09eI1XGcccapUe2doxqs7pNMooRFtRiNUu8gHiPMoy233NJdc801tXhcsg4UPqwLtVy72qyxHVxxe41Je3SzUjI90tvm3uyb8r779ddf3NRTT+OWWmrpTMHcsUfMvPLKyw4PrjzhWzfjjDO1B6TJZ+DBtsIKy7qvv/4mU7I+4/773/+2WVs++eQTd+ON/fwzpp32/2Ph+Rsc2ovM77jjdm7IkOfciy++UlFfMWZwXxFZfvkVCq9Zn376qXv++SGZUeJl713InF100UXdZJN1a/aoou0eNuxtt+qqK7kll+zurrtORogi49VZy4hMd9aRacB21RuZZgjRIq+//vrujjvu8CN69tlnu7333rvZ6EKUsGLPO++87u67727mAl6LafDWW2/5+pHbb7/drbNO+biOySef3FunIckXXnhhUzPef/99b1WHUPP/l156yf9Gmd13311kuhYD9r868CgYd9xx/b9+++03N+aYY9aw9o6tCrfjxx9/3J177rkd25A6enqpd5CNeKkwjWphYH4utdRS3kMFLxhJeQTaekzKt6A2JSoh07fccnPm1bRL8sFrrrmWu+SSy9uNqMWN2GWXHd1tt92aC8oxxxyXfQ93rw1orajl559/ypK8Te/vHDJkaEZyp21FLcVuufbaq90BB+yXW/iCCy5yG2ywUbHKqii11lqru8GDn3UjRnxdUS3PPTfYrbnmaoXuGT78o0KK6jvvvCPzwmtpeRxvvPHcpZdekSk6Vmx6XtF2P/PMoGw/tqabfvoZsn4+X7a97CdPP/3UjLxPlmWP3r5seRVoPwREptsPaz2pDAL1SKbpcuzy/fbbbzeLXcbai2v1O++8kx0t0lzDWYtJ89NPP3mL0ciP8BAfO1lOZp99dkc7cee+4IILmhXfaqut3LXXXuuvoamdcsops03QSFdSuXmXQ7b477/++mvTRx4vh7YkQ8VbVX1JU+7giSEyXT2eVkNHvoOsExdddJEP+xCZrt2YdoWaipLpJ54YmBGw9XyXdt55V7fsssu5SSed1D355BPu+uuvc++++47beuttszCo0zuk20ame/c+2aFMjgWF9KyzztYhbbOHfvzxx5li9dfMOlw690m1jTQy3bPn8k2kDY+Chx9+MFP43+Wrv/POe9ziiy9R7aNK3l+UlMaV4Knz+OOPNV1GcbXrrju5qaaayh13XO9mxVdbbfWyCpznn3/erb76yv6+U045LbMkL5UZSv7O8Hgo8z481l8fNGhwpuyY2f9dSbuxck855VT+XSgn5LSZeurJsxDAubNQwIHliuv3dkRAZLodwdajSiNQr2SaXj/00ENupZVW8gBgwcEqhzski/Qiiyzibrjhhix5wcbNAMLlDPKLy9XMM8+cbT6WbUGo0FQSV0uM9YwzzujL4aLNRyOUCSaYwFuTi252S5FpLOtGgt58801H2VIbeT4AWLCJ18Y9rHv37tlHp6W73NNPP+1dm7/88ktvSV9hhRWS2neeiaWfGGKs42iGwxh0+l0Eu7zZiEX+tttucygh5p9/fk9oaXMoRep/77333AMPPOCVDLjAPvzww75dq6++uh+rWCDPjOVzzz3nN3PME/MoKEKmaS+x1uuuu65j8zB48GCHJ8Haa6/tJp54Yv+4v//+29f/xhtv+HmHN0Qs1MO8hPSi3GHeER9fRL7//nt36623uuHDh/uEaShumPcksENef/1173IMxmuttZZX1jA3Y3wpy7yxmHF7NmUXXHBB/0/CDJjTCIm10Nab0HbCEr766iuPIWEOYcw5OIE3wvyde+65/Xv27LPPNtWxwAILNJunjN2dd97pdtppJ48Ndayxxhplk/oVmSvlcLNG8Q6hdGOMBw4c6F599dUsXnUzPz6l3sERI0a4e++9N9sYb9tiGOkLoSDgwXxgXsSS906w/qAMPOOMM/wthHrQFsY9HI/U3GHDyxzl2axZK664YnKeMcaUee211/w8po2pRGpF3jcIAe9kKPSXxIyEVjB3TZZffvkmUlVkDUNpimWe+9gYM3eZoz169PCuoLFUMya09ZFHHvF4Lb744n5t5d/MZdbNVAwm8xu8GW/6TP6LlLdLkfkQ9qUImYYELrvsUn5NveyyPtma1Nw76ssvv3DLLdcje1+/9GQaUm3CHLOEnXhAjBjxuXcNL+VqzHjx3pEnoKgYmQ5JUepekg3xX5hE1MpZIlFb76xsXhusjlTST7uHuuL67L64LXxneI9RaNk9qWeD9yijjNoUZsPzw+cYmT777PPcpptu1qyKI444NBvDS92+++7vDjnksBbV841hrk099dRl3afLlc0jpaXGINVfvp/TTjuld8t+8MFHik6JpnInnni8O+ecs93551+Yhck136f16XO5O/TQg7N18BC3//4H+nvidn/xxYjsXRsrmfckxj7u2+eff+bHplu3yf13nX5Aph9++DH/rNQ8rLiDuqFqBESmq4ZQFdQKgXom02CEJY7YaAQyigs1m06IFe7XoZCQjPjpVVdd1ScNeuaZZzxhhOQZEWUzCglYbrnlPBGnjiuuuMKXYbMdytJLL+03d3y8iiy+pcj0kksu6duDsKlj45a3kWfDSHZvNkH0EwLC5viUU07xm3CT/fbbz5111llNVvCTTjrJQTAg1/TRZKONNvIEkaRt7777rv//vvvu6+PMTYpglzdnGR/i3E888US/0dx///39xpiNfNH62awfeuihfiONMC7xeEBmjShThs0m7vdsAiFrkCS8FUz4iOZtHmkb/e/Tp48vDsYkhaNOE5LCQSa32WabZsnlrrvuOrf55ps3lYNoE5aAEoF5ctddd3mvhv79+7uVVx6pmc8TSB6kFeLAXL/55ps9udpjjz3ceeed529jrKiLtrHR5TnMa/COBSxIiGe/QaCoB7KCoKCirZA2MIZkMbf22WcfjwUxwmONNZZXVCG8G5ZpnjHid0giY3z66af7zTdlaSNCroAddtjBky/mhWGBpwbeGcgSSyzh52ieFJmL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yuq0Bq2ZdTqw6pYQaAUCWjNbAZpuEQKNhIDIdP2P9tln93H77LNd/XdUPRQCQqAQAloTSsMkfApNIxUSAg2DgNaEhhlqdVQIVI6AyHTlmHW1O/QR6GojpvYKgbZFQGuCyHTbzjDVLgTqCwGtmfU1nuqNEKgpAvVMpv/9998s3uXPZniNMcYYSfwoR/lQRhlllLpwjdZHoKavjCoTAl0egbw14Z9//nF//fVX4f515Br56aefugEDBri11lrLTTbZZE1t/vnnn91jjz2W5Yn4JQtv2bBwX8KCWjNbBZtuEgJ1i4DWhLodWnVMCFSPQD2T6W+++cZtscUW7r777msCql+/fm6TTTZpAdy+++7rrrjiCvfjjz/637p16+YOPfTQzD16n+pB7uAa9BHo4AHQ44VAJ0Mgb014+umn3f777++eeeaZQi1eZZVVPKHtCNl4443dTTfd5HbaaSd3ySWXuM8++8ztuOOO7p577vHNYZ1nvW+N5OHzxx9/uDyFbGueo3uEgBDoGghoH9U1xkmtFAIdgkA9k2kDlM3Vmmuu2YTvCy+84BZccMEWeI8YMcJNMcUUbrbZZnMvvviiG2eccTpkTGr90Eo+Ag899JDDOrXyyivXuhk1q++jjz5yL7/8crP6JpxwQj+m4447bs2eo4qEQL0iUG5N2HPPPd3555/vu8+asNBCC/m/8d5B4Ths2DC39957e6Xjo48+2iEwnXrqqe7ggw92l156qSfRyA8//OB23XVX17dv35qT6ddee80tueSSbvnll3e33357xX2mbXPPPbdfW1Hctrcwdp988on7/PPPvSV/yimnbGjFwG+//eZmnXVWt9xyy7lrr722vYdDz+tiCJRbM7tYd9RcISAEaolAI5Bp8PpP0NFpppnGk+VJJ520BZRLL720J2XnnXdeLWHu0Loq+QhMPvnk7tdff/Wb0s4qbJ533nnnZPMWXXRRt9566/lNNi6oEiEgBFoiUG5NCN+xjz/+2E099dQtKnn44YfdEUcc4QYNGtRhEBOeM/roozd7/oUXXuh23333mpNplAYQaZStb731VsV9/u6779xEE03k3dLvvPPOiu9v7Q2PPPKI6927t3vuueeaPK+srm222cavlXPMMUdrq++y9xEGgPK1I70ruix4DdjwcmtmA0KiLgsBIWAINBKZZhP09ttv+66vtNJK7t57720RE73++uu7eeaZxx133HF1M0kq+Qh0JTK9yy67uBVWWMFby4YPH+7jJM2lH7f9M888s27GUB0RArVEoNyacOWVV7rttht5AgDWzKmmmqrF43///XdvtV5jjTVq2bSq68Llm7WhLdy8UcJOO+20SUVsuYa3N5nGg+Cggw5yF198sUPJuPXWW7v555/fjT/++O755593zz77rLewozx94IEH3BJLLFGuC3X1u8h0XQ1nm3em3JrZ5g3QA4SAEOi8CDQSmb7//vvdKaec4tDUIwceeKDDVTCUjTbayLviHX300c2uv/vuuz42EBdjLNtLLbVU0lUc92M+0mxM3nnnHR97OP3007tlllmmqb4vv/zSb17++9//+usTTDBBiwmC5YONGxudeeed1y2yyCItyvTv398TyQ022KCZ5T0uWMlHoBSZxgpE/3GFT7nA4x6OBwD/8fcHH3zgqK+cu/yHH37oN+ujjTZaoRfFrGZ9+vRx2267bYtx6t69u/viiy/ciSee6OPeU4K1bZJJJnFjjz122WdW2r6yFaqAEOhgBMqtCeXI9KuvvurXgtVWW61ZT0gKBlHD+so6h9WahGaE2VisMesjVl7IHutfyupN7Db3UgdWU5RmkNhYXn/9dcfazPNM8sg0icmuv/56TygXX3zxkiNQKkGbrXFFhhCXaiznrDVFyHTRdQlMwXq66abLbcb222/vWCOPP/54d8ghhyTXV+pgDPluoYhcddVVk/URAoUVd7zxxmv2O98f/kt5AYXfg/AmxoH6aHtqzec+qw8PKeZJOEd4Hu1m7Z544olbtDe8n+8nYzDDDDO0+EaWI9NFMC41B77++mv/HQyT46XK//333/5dYn6POuqoLYqEGPM331XCK8LvKn2hn+w1UnUUmasqUxqBcmum8BMCQqCBEWgkMs0GDqszbtxsWpA4IVmKTN9yyy2esO6xxx6eRJ9zzjmeJIf3co2NC5uSvfbay28Gzj777KaZhWUASzixiDfccEPT9fnmm8899dRTTZsUEtwccMAB7rbbbnM9evTwz3nvvfd8VtprrrnGjTXWWP5eXPYWW2wx/zdlSm0OK/kIpMg0H3rcJu+6666mdhNDSXtQPCDgyWYA6wdxaCgtLJkbmGIdwcXRhE0OG7xbb73V34u1hFjC0047zc0444wl38hSZJobUULQPpQetN2EDQcu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JtTBIOZ0QWNbv2OrntUHAu1NpkFN60J9zB31og4REJnuGoOqRbRrjJNaKQTaCwGtCe2FdPs/R2Pb/pjriUKgEgREpitBS2WFQJ0jIDLdNQZYm6uuMU5qpRBoLwS0JrQX0u3/HI1t+2OuJwqBShAQma4ELZUVAnWOQKOS6V9++cW99dZb7u+//3bTTz+9m2yyyfxIf/XVV+777793M888s//3p59+6gYMGODWWmutpjIdMSW0ueoI1PVMIdB5EWirNYE1kf+KCgkR//nnH/9fLP/JPjCjjjqq++uvv5LVce8oo4xS9FG55b755hv3zjvvuLHGGsvNOOOMbvzxx/dlhw0b5iaddFI30UQTVf0Mq+Drr7929913n+vVq5cbe+yxa1ZvWFFbjW2bNFaVCoEGRKASMv3eex+64cM/zNam6dxMM01XGK0wZpqbtC4Uhk4FhUD7ItBIZPqPP/5wJ598srv++uvd22+/7YFm0/Xjjz/6/6+88srulVdecRtvvLE77rjj/O/8fdNNN7mddtrJXXLJJe07OMHTtIh2GPR6sBDolAi01Zpw+OGHuxNPPLFwny+//HL3ySefNFtXbW1dccUV3RFHHOH22msv99RTTyXrnGmmmdxiiy3mdt55Z7fccssVfu4XX3zhDj74YHfvvfc6/g5lmmmm8XXdcccd7tZbb3W0o1qBQPfu3bupH999952bcMIJq602eX9bjW2bNFaVCoEGRKAomYZIP/PMC00ILbHEQoUJtch0A04sdblrItAoZPqNN95wW2yxhXvhhRfcXHPN5S6++OLsWJmF3TjjjOPef/9916dPH3f88cf7Qdx3333dmWee6f8+9dRT/Ybt0ksvdTvuuGOzQYac//77701WkLacAeU2VygBnn/+effyyy+7ySef3Pete/fuvn+dTZ5++mmvpDj00EPdbrvt1tmap/YIgS6BQLk1obWd2HLLLd11113nieNqq63mpp12Wm9dNnnppZdcz549/T+XWGIJ98QTT/hTBv7991+/5jzzzDP+tw8//NDfa4JC8rLLLvP/fPDBB/1vb775prvhhhv8f/HaW6r9d999t9tss828InSjjTbyhH3OOef0t1DnYYcd5u666y7/79tvv92ts846rYWj6T7W+kGDBjX1/eeff26z9bXc2PJscEZBgdV/vvnmc2uvvbYbY4wxkv386aef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R/OGtvL886/ZAjdH2bzu6ht6KZ0vAiJQyQmsXVtot7F7yxYLO7aSj0TdDyOg573uCxGo2AQyLab1zK/Y94N6l+MEJKYrxw3w9ddTbRGcZXYbmA4S1JVjytRLESgXArxUjRv3pa0i3cDsvnvrcmlDF920BPS837T81boIVCQCeuZXpNlQX0QghIDEdOW5Lb766lu7p+jP0e0VKk/P1VMREIGNRWCLLRqbnXbaQUJ6YwGtoNfR876CToy6JQIZJqBnfoaBqzkRSJeAxHS6xHS8CIiACIiACIiACIiACIiACIhAzhOQmM75W0AAREAEREAEREAEREAEREAEREAE0iUgMZ0uMR0vAiIgAiIgAiIgAiIgAiIgAiKQ8wQkpnP+FhAAERABERABERABERABERABERCBdAlITKdLTMeLgAiIgAiIgAiIgAiIgAiIgAjkPAGJ6Zy/BQRABERABERABERABERABERABEQgXQIS0+kS0/EiIAIiIAIiIAIiIAIiIAIiIAI5T0BiOudvAQEQAREQAREQAREQAREQAREQARFIl0AuiOnFBUXm8hcXmNcmFZjFK4vSQpRfp6rpultdM+jkxia/btWYcwsLC01RUfj1atasmbSdn3/+2XzzzTfmuOOOS6s/OriEwI8//mgmTpxoTjrppDJj0TyUGd0mOZE/ty+/XGdWriw2Bx5YfZP0YUMbTTSGiRPXmenT15kTTqhpSnl8uC4UFBjzyitrTPv21Uzr1tU2tFs6XwREQAREQAREQAREIF0CuSCmuw+ZZ57+fHm6aGKOP2vvPDOke5OY340YMcIMHDjQjBs3Lub3//znP80999xjdt111/XaHDp0qOnfv7+ZMWOG+xxBLUuPAGwff/xxx3CPPfYwX331VXoXsEdrHtJGtklPsOtWpkePFU48LltmzNVX1zZ33FFnk/Yp3caTjQGBnZ+/yI3t+efrmVNPTb4YR9v/+c9q07Nngfn736uYWbPy0+2OjhcBERABERABERABEdhQArkgpvMv+9UssZ6sDTE81Ivuax56ib59+5rbb7/dffbCCy+Yf/3rXwmbWr58uXnwwQfNddddJzFdxgkpsC65+++/3zH8xz/+YT7//POUrrRgwQLTuHFjd+ymmIc1a4xZvdqY+vVT6q4OiiOwYEGxOfvsFWbkyLXmhhtqm379KpeYZjjJxtC583IzduxaM3p0A7tIFOtpXry42N43VUy1wK9Hjy40nTotM2ecUdM880w93S8iIAIiIAIiIAIiIAKZJpALYrrKBb+kjbVF4+qm+WbVzZgfVkXPLf7PtqHXGT58eFRAT5482bRt2zZpe+PHj3ciUJ7ptKclesKHH35oiADYf//9zSeffFLqhV555RUzZswY88ADD0SPzfQ8XHppgQ1NrmHDeGuU2l8dEE7gpptWWhG9ytxySx1z4421KyWmZGNYu9aYGnG3xyr7CNp336Xmrbfqmy23rBIz5rDjKyUUdVoEREAEREAEREAEKiMBien1Zw0v9C+3b+1ypDsN/NOMnhER1InENOHexx9/vDtm2rRpZqeddkp6K/z3v/81HTt2lJjegD+Yjz76yBx66KHmoIMOMqNGjUp6pe+//97NySWXXBIjpjM5D8OGrbGhuyvMyy/nSUxvwLzffPNKK6RXOa803unKaOmO4aKLCsyjj642f/6Zv56YrozjV59FQAREQAREQAREIGsISEyvP5WTbtjKtPt7JGfxuEfnusJl5Smm58+fb959910bArzaHHzwwWbbbdf3gH/22WcunHnevHlOGB5yyCFm6623dv367rvv1su97ty5s2nYsKHNpZxlQ0fHRgdJCHqV/006oc7kGyM2mzZtar2mB5pGjRqldG9PmTLFUACsa9euzjP87bffmm7dukXPT+XaFHAbOXKkmTp1qlljY6Dx6B955JEmLy9vvT7AyLfTunVrG+5azS1glCamYdOpUyfz119/maOPPtpcdNFFpkGDBmafffYx8WI6lXmYM2eOLYD1pfnjjz9My5YtHbMa8a7EuN6//PJaWyQtkrN/3XW1rTe9up3jambHHUsK2n3/fZEtplZoC2sZy6Ga6dBh/YJSU6ass8yLLPMalkWhZb7OMq9pmVexYevGvPPOGvtZTYO3csKEQvPrr0XmmGNqmM02i3gz160zdsyFdsGnyF2fduLtr7+KzYgRa+z1ik27dtVN3brGsiq90NeSJcXm1VfXml9+WWfq1Klii2JVt5ED1e29VtJCsc20oHjYrFlFdu5quP+/995aU7t2FdOlSw03jnhjvGPHFlreRWavvWykyJi15tZb0xPTU6eus/f5Ovu3U2T/vmrYcVUzVWNrCbpmmYPJkwvN/PnF9m+smgu1btgwtk/lOQbyppnXvLwqbn74d58+K21dhshiHrnUMIJtkyaRfs2dW2zefnutDX9fP8e6PMZDn8aNK7QLWIX2Hq5q/waqmhYtqpm//W39uUvpQaKDREAEREAEREAERKAyE5CYjp09ioxRbAz75vc15qB7/oxWAN/YnmlEIQLvzjvvjOkEQrVNmzbR311xxRVm0KBB5uGHH3a/GzBggFmyZIkT17vssov57bffnNcVYYpxPf5dp04ds3DhQvtC3sc88cQT5u677zb//ve/nZhGSCJG27VrZ4VFVXdufZvM+/LLL5vDDjss4S1NH55++ml3PlW0EaZcG7v++utdcbVUrs3CASHa9P2hhx5yVbkZ15577mnwOtMXb59++qkVW13cQsMRRxxhxcPb0bGWJqYvv/xyN6bff//dFmr6uxsv4fXkuHsxneo8DBkyxFx66aWuDyxSfPHFF+5aRCZst912ocwQud26Lbd5sGtdcSkEWrNmVc3pp9e0qQE17SKCMVdeWeAE7AEH1LDXLDQ//1xk2dawebB5VmgaO++rLfPVtr/r3O8bNKhimdsTrV1wQUQ8P/lk5N/vvJPnCnX9/ntJjYAXXqjnRGH37ivsokLJ74cOrWdOO61EhD300Go7fystmzqmVq0q9l4pMJtvXsUudjRM+ohD8O6xxxI7d9XtfVfbvPTSGiv81piLL65l6wNYNW5t0KBV5t57V7l+HX54dSeMCdf21rp1VTu+hk68e2PcF19cYK64orYVbFXN4MGrrdi1KwLW+vevY++35J5pFiYYw8iRa+y81TbkHd9++yq7cMT938Bss01EUTMvl122wjEk/xhxP2yYTW639sQT9SzzCKPyGsMffxTbiIlVZsiQ1W5+HnqorunVq5ab7xtuKLALDrb6mjUWJ2rWrOIKr02bts489dQaO9928q0VF5csgpXXeJYuLbbPmyV2AauGOeWUmua119a4+3DEiDy3wCMTAREQAREQAREQgZwjkItimjDusC2yulsR/dT/Knb/tqDQ7Nb/j5jjNraY5mY7/PDD7QvzDa4w1vnnn28Qjj179rRhnY+6exHBtvfee8cU2nrppZfMySefbCsaX21frO9wx1FcC4/2Mvsm/cwzz1hRcEb0Xr733nvti+9r0dxiBGyLFi3sy/hTVmB1d8fdd999BuGJiMVT3axZs9C/BfqHOKdfGN5oBD0Cm75QXTuVayPsuY4X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ERABERABERABERABERABEUifQLaK6QkTvrF73f5iq/5WN3/+GdlSSVaxCGy5ZRNXkXuHHVqYPfdsV7E6p96IgAiIgAiIgAiIgAiIgAiIQDIC2Simn3jiRbuHbyu7bVJ9u3WLiuJU1L8AtpdauHCx3Wpnqd2S6Edzzjkle1VX1D6rXyIgAiIgAiIgAiIgAiIgAiLgCGSbmH7yyRdNx467m6ZNG2uGKxEBoge+/nqKOftsCepKNG3qqgiIgAiIgAiIgAiIgAjkLoFsEtPjx08y1tlptttum9yd0Eo88h9//NXUqFFNId+VeA7VdREQAREQAREQAREQARHIGQLZJKafe+51s8cebRTaXUnv3vnzF5pJk6aabt2OraQjULdFQAREQAREQAREQAREQARyhkA2ienhw980nTrtkzNzl20DJYd69OjPzSmnHJVtQ9N4REAEREAEREAEREAEREAEso1ANonp++570no1u2bbFOXUeJ5//jVz2WXn5NSYNVgREAEREAEREAEREAEREIFKSEBiuhJOWhZ3WWI6iydXQxMBERABERABERABERCBbCKQa2L6jz/+MMOHv2Dy8/PN1ltHCpVVrVrVtGq1o/331utNbY8e55gvv/yvmThxSjZNe1pjOf30U82MGTPMhAlfpXVeWQ6WmC4LNZ0jAiIgAiIgAiIgAiIgAiKQcQK5JqafffZpc+WVV4Ry/tvf/mYGD37KtG/fIfr50Ud3tiJyvJk7d0HG56aiNPjPfx5sJk/+JiMMJKYryqyrHyIgAiIgAiIgAiIgAiIgAkkJ5KqYPvDAg+yexpHc3N9++8289tqr1vs80f37ww9HmbZtd3U/S0wbIzGth4gIiIAIiIAIiIAIiIAIiIAIxBHIVTF9330PmlNP7RZDo3//W8xDDz1gLrjgQtOv362liukVK1aY+fPnma22+rupXr160ntr4cKFpqioyGy++eZJj1uxYrkpKCgwTZo0LdO9umjRIndeo0aNQs+nD4S1Y0uWLDGLFi00LVpsG3Ps8uXLzNKly0yzZs1MFXuDlCamf//9d7PllluGMqBCN//RJm3PmjXT9m0z06BBg9D+yTNdpmnXSSIgAiIgAiIgAiIgAiIgApkmIDFdQnz69OnmwAP3Na1b72JGjfokoZj+738nmD59rjTffTc1enLnzl0MAr1hw4YxUzh48OMuR5swaYxQ8ksu6W3OOee8mOM++WSME/Jjxox2v6cPp512hjnvvB4p3RL/93+PmRdeeD7aJ85nseD883tGzx8x4lXTs2cP07//7ea99941Y8dGxuhD2CdO/NrceecAO/aP3e8337yJHdMD5q677lgvzHvlypXmttv6mbfeetPMnj3b5OXlmYMO6mRuvPEW07x582ibHTu2Nyw69OvX3zFbvny5uf32O82558aO358gMZ3SdOsgERABERABERABERABERCBTU1AYrpkBryY3nXXduaDDyKCMj7M+9dffzF77RXJqT7jjLNM06ZNzccff+hCxPfb7wDzyisjohd84onB5rrrrnai9LjjjjNr1qx14hNv9rXX9rVbQEVyt7/5ZpI57LBDnCDt2vV4J8hHjHjFidSBA+8zp59+RtLbBCF9ww19o+1w8IgRI1w7COfzz7/Anf/qq6+YCy8837VTu3Ydc+ihh1pxv5W5+uprzZ9//mn/3cmdc8ghh5rdd9/DfP75Z2bcuLHueESwF914mC+66ALbxqsuvxwRPW3ad+btt98yLVtub///nivwhu2+e1s3DmzfffczsD3yyM6W4T9CxyQxvamfCGpfBERABERABERABERABEQgJQIS0yWY+vW72Tz88INWcPYyN9/cz30QL6bfffdt8847b5ujjjrGhj8f5o5Zt26d6dBhNycaf/jhFxfCTOhz+/btnBD95JPPbCj4Vu7YOXP+tKIyIiSnTJlm6tata/bZZy/z008/OhHqi5/NnTvHHHzwQU7c/vjjr6Z+/fqh8zlr1izXNoL9o49G2XDrZtF2DjkkIo6//nqya9+L6ebNW5g333zbLgRsEb3mpZf2sh70YbY4Wx9z1VVXR39PsTaKtmFeTL/xxuuGKud44ynYVq1aNff5/fcPsl7nW83ll//bXHPNde53XkwTNk/4fGkmMV0aIX0uAiIgAiIgAiIgAiIgAiJQIQjkqpjGi+xDjX/77VcnNAnFRvyOHPm2C7PGUi1AdsUVvc1zzw114eGci5f27LPPtGHPN5tevS6JmWuE9tKlS8x227V0IdCtW7cyRxzR2Tz99LMxx919953mnnvucv3p2HGv0PvlnXfeMt27n+nEP4sAQWNhgAWCZ54Zag4//MiomMYTfcUVV8Yc6wX9H3/Mjcl9Xrx4sdlxx5buWC+mb7rpBvPYY4/EFGrjc3K9t912axsqf5B58cVXYsT0L7/McgsHpZnEdGmE9LkIiIAIiIAIiIAIiIAIiECFIJCrYjoMPh7bxx573Oyxxx7Rj8PE9Nixn1rP7kjz1VdfOm803l9vXkzfccftZtCggTaP+UXrYT4k4Vx/+ukYc+KJx7vP8S4HzV93wIA718ux9seR43zvvfeEtvPRRx+abt1OiXqbvWf6/vsfMv/616nRpih6tt12za0XeXfz7rsfrtdX7132YvqAA/Yx33//fdI++2M5l/D2qVOnp3S/S0ynhEkHiYAIiIAIiIAIiIAIiIAIbGoCuSqmCdE+66yzHX7ClHfccadoKHZwTuLFNN5nvNAY3u1ddtnF5QcjajEvpr1XeejQF6Lh4GFzPXr0KHPKKSe6j3r3vjzmkJkzf3Oh2Icddrhta//QW4XiYAMH3p1UTBO2Tfj2xhLTnTod4Aqd9ex5kalVq1ZMv6ZNm2Z23nlnmyt+vfu9xPSm/gtX+yIgAiIgAiIgAiIgAiIgAuVCIFfFdNjWWGGA48W03ybKi2Z/DjnE5BL731Mt+8wzT7OFxq63hcZiRTL50MuWLXNh3gsWLDBt2uzk8o+feuqZtOfYh3nfdNMttijYxTHnUx2c7b7iw7zjPdOclE6YN8XOKHr28cdj7GJCm6R9lphOe0p1ggiIgAiIgAiIgAiIgAiIQGUgIDGdfJbixbQPeZ406Vu3DzM2Y8YMs//+e7ufvZimOvZuu7VxOdgff/xJdLsowsL9sb4Amb/mG2+8FVPlmoJeVNQmx5nq2mEWLHQ2duwX0T75dqjCPXHiFLclVyLPNNft3ftiM2zYCy6Xmva8+Vxw/u1Dt/11yPN+4omnojnWM2fOtIXHrrJ509vabbPucJeQmK4MTwH1UQREQAREQAREQAREQAREIG0CEtPpiem+fa+xFawft2HhO7qiYcuXL3NVsBGtQTHNz0OHPmP+/e/LXS700UcfY6pWrWJef/11l2Pdt+8N5tJLL3PnsG/1UUcd6X4+8cST7fZSLe2WVOPcPtAUM3v//Y9MjRo1EnY0uAUX7WAjR77h2gnmWycT01QZ99W/O3U62G5htasZP368+eKLz9fbGquwsNBV86bIGltdcfyqVatsAbZnHQcqfPt+SEyn/SepE0RABERABERABERABERABCoDgVwT017gljXMm4rV117bx3lxvZGPTFXuRx992IwePdblDHt7+umnbD7zc24fagxhjffXVxL3x3388UeuQvaYMaOj55522ulWdN9oGjduXOqthKAeNux5V5EcQ+Seemq3mMJl7Avds2cP89BDj5iTTjplvWuy3zW53xQuw/BmDxr0gLnjjttc/71nms/gcOutt7htwvw+0uwxzSJBly5HRa/dsWN7x0YFyEqdQh0gAiIgAiIgAiIgAiIgAiJQmQjkmpjeWHOzZs0a89dff5kmTZqsV4QrrI0lS5a4/ag322yzpF1YuXKlWbRokS081jRmi6pU+007WMOGDVM9Zb3jqO6NAG7SpKmpEn+DhFyVHPBatWq7QmwbaqrmvaEEdb4IiIAIiIAIiIAIiIAIiEBGCGSTmB42bKQNOd4nJQGYEbhqJC0CxcXFNuf8M7tt19FpnaeDRUAEREAEREAEREAEREAERCDjBLJJTD///Ou24FUbGxbdKOMc1eCGE5g/f6H55pvvbHh6JO9bJgIiIAIiIAIiIAIiIAIiIAIVlkA2iekJE74xhYXrzPbbt6iwvNWxxAR+/PEXV2htzz13FSYREAEREAEREAEREAEREAERqNgEsklMQ/rJJ18y7du3tVtENa3Y4NW7GAKzZ88xkyZ9Z7p3P1FkREAEREAEREAEREAEREAERKDiE8g2Me0F9c47t7RFuBq4kO9UimhV/JnKvh6SI71gwSKzePESu1f3z1ZIn5R9g9SIREAEREAEREAEREAEREAEspNANoppZmrChEnmxx9/M9WqVTN//vlXdk5eJR9Vs2ZNTFFRsd1Xu7np2LFdJR+Nui8CIiACIiACIiACIiACIpBTBLJVTOfUJGqwIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSUgMZ1Z3mpNBERABERABERABERABERABEQgCwhITGfBJGoIIiACIiACIiACIiACIiACIiACmSWwScR0Zoeo1kRABERABERABERABERABERABESgfAkUF6d0/SrF1lI6koPiFXvKJ+pAERABERABERABERABERABERABEagEBFKUyBLTlWAu1UUREAEREAEREAEREAEREAEREIEMEZCYzhBoNSMCIiACIiACIiACIiACIiACIpA9BMpFTGcPHo1EBERABERABERABERABERABERABMpMIL0w7zI3oxNFQAREQAREQAREQAREQAREQAREIHsI/D+V1HlV2Kd6RAAAAABJRU5ErkJggg==\n", "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": "2024-01-18T17:27:06.633977Z", "iopub.status.busy": "2024-01-18T17:27:06.633851Z", "iopub.status.idle": "2024-01-18T17:27:06.672849Z", "shell.execute_reply": "2024-01-18T17:27:06.672516Z" }, "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": "2024-01-18T17:27:06.674637Z", "iopub.status.busy": "2024-01-18T17:27:06.674503Z", "iopub.status.idle": "2024-01-18T17:27:06.677959Z", "shell.execute_reply": "2024-01-18T17:27:06.677619Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
127.0.0.1 - - [18/Jan/2024 18:27:06] 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 - - [18/Jan/2024 18:27:06] \"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": "2024-01-18T17:27:06.679700Z", "iopub.status.busy": "2024-01-18T17:27:06.679584Z", "iopub.status.idle": "2024-01-18T17:27:06.692316Z", "shell.execute_reply": "2024-01-18T17:27:06.691750Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZRsxfX1C3fn4U5wgjsBgru7u7u7SyC4JUhwdydYcH04PCAEdw0SCC4fv8p35n+mpm73vT3dIz37rMUCpq9U7ZJ79rEa6tffJEiEgBAQAkJACAgBISAEhIAQEAJCQAgIgdIIDCUyXRorXSgEhIAQEAJCQAgIASEgBISAEBACQiAiIDKtiSAEhIAQEAJCQAgIASEgBISAEBACQqAiAiLTFQHT5UJACAgBISAEhIAQEAJCQAgIASEgBESmNQeEgBAQAkJACAgBISAEhIAQEAJCQAhUREBkuiJgulwICAEhIASEgBAQAkJACAgBISAEhIDItOaAEBACQkAICAEhIASEgBAQAkJACAiBigiITFcETJcLASEgBISAEBACQkAICAEhIASEgBAQmdYcEAJCQAgIASEgBISAEBACQkAICAEhUBEBkemKgOlyISAEhIAQEAJCQAgIASEgBISAEBACItOaA0JACAgBISAEhIAQEAJCQAgIASEgBCoiUI1MDzVUxcfrciEgBISAEBACQkAICAEhIASEgBAQAv0IgV9/LdVYkelSMOkiISAEhIAQEAJCQAgIASEgBISAEBgQCIhMD4hhVieFgBAQAkJACAgBISAEhIAQEAJCoJkIiEw3E009SwgIASEgBISAEBACQkAICAEhIAQGBAI9QqZLvmRAAK5OCgEhIASEgBAQAkJACAgBISAEhED/QyCtDVaS53YvZ7rkS/ofmmqxEBACQkAICAEhIASEgBAQAkJACAwIBESmB8Qwq5NCQAgIASEgBISAEBACQkAICAEh0EwERKabiaaeJQSEgBAQAkJACAgBISAEhIAQEAIDAgGR6QExzOqkEBACQkAICAEhIASEgBAQAkJACDQTAZHpZqKpZwkBISAEhIAQEAJCQAgIASEgBITAgEBAZHpADLM6KQSEgBAQAkJACAgBISAEhIAQEALNREBkuplo6llCQAgIASEgBISAEBACQkAICAEhMCAQEJkeEMOsTgoBISAEhIAQEAJCQAgIASEgBIRAMxEQmW4mmnqWEBACQkAICAEhIASEgBAQAkJACAwIBESmB8Qwq5NCQAgIASEgBISAEBACQkAICAEh0EwERKabiaaeJQSEgBAQAkJACAgBISAEhIAQEAIDAgGR6QExzOqkEBACQkAICAEhIASEgBAQAkJACDQTAZHpZqKpZwkBISAEhIAQEAJCQAgIASEgBITAgEBAZHpADLM6KQSEgBAQAkJACAgBISAEhIAQEALNREBkuplo6llCQAgIASEgBISAEBACQkAICAEhMCAQEJkeEMOsTgoBISAEhIAQEAJCQAgIASEgBIRAMxEQmW4mmnqWEBACQkAICAEhIASEgBAQAkJACAwIBESmB8Qwq5NCQAgIASEgBISAEBACQkAICAEh0EwERKabiaaeJQSEgBAQAkJACAgBISAEhIAQEAIDAgGR6QExzOqkEBACQkAICAEhIASEgBAQAkJACDQTAZHpZqKpZwkBISAEhIAQEAJCQAgIASEgBITAgEBAZHpADLM6KQSEgBAQAkJACAgBISAEhIAQEALNREBkuplo6llCQAgIASEgBISAEBACQkAICAEhMCAQaDcy/dNPPzV13Ib6DaBhhhkm/PLLL/GfnAw77LBNfWdPPqyoX9bvnmzLQHnX559/Hp588snw8ssvh3HGGSdMO+20YY455hgo3R8Q/ay1X1QFYOihhw780y7y448/hptuuil89tlnYc011wxjjDFGn+1a0feEbwJ7ZH+Tn3/+Ofz6669dmt0bc4y2PP300+G1114Ln376afj+++/DCCOMEMYdd9y4J84666y9Ou/BiTYWSV+bA8zVu+66K7z66qthtdVWCxNNNFF/m55qrxAQAkKgfyLQbmR6nnnmCY8//njTBmPZZZcNt956a/ywP/fcc9nn5pSTpjWgxQ8q6tdiiy0W/vGPf7T47QPr8ZDntdZaKzuPINPnnXdemGWWWQYWKG3a21r7RdUun3LKKWHHHXeselufvP7LL7+MROnjjz/uaN8TTzwR5pxzzj7X3htvvDGsvPLK2XaddtppYfvtt+9zba7VoA8++KCQYB155JFhv/3265H+vP766+GYY44Jl112Wfjqq68K3znaaKOFTTfdNOy5555hkkkm6ZG2+ZcwL+eee+7C91555ZXRGNQX5O23345t9evqsMMOCwceeGBfaJ7aIASEgBBobwTajUyjlD311FOdBm2++eaLnj9Ido5o80HEGv7YY491uXfppZcOt912W7jlllvCn/70p/DQQw91mRD9mUzfcMMNYa+99gr/+te/OvVLZLq56/6tt94KGHpM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xPnLL7+MeAwaNCiml1C3gVQFjjjCgy0RAkJACAgBISAEhEBpBESmS0OlC4WAEBACQkAICAEhIASEgBAQAkJACPwPAZFpzQQhIASEgBAQAkJACAgBISAEhIAQEAIVERCZrgiYLhcCQkAICAEhIASEgBAQAkJACAgBISAyrTkgBISAEBACQkAICAEhIASEgBAQAkKgIgIi0xUB0+VCQAgIASEgBISAEBACQkAICAEhIAREpjUHhIAQEAJCQAgIASEgBISAEBACQkAIVERAZLoiYLpcCAgBISAEhIAQEAJCQAgIASEgBISAyLTmgBAQAkJACAgBISAEhIAQEAJCQAgIgYoIiExXBEyXCwEhIASEgBAQAkJACAgBISAEhIAQEJnWHBACQkAICAEhIASEgBAQAkJACAgBIVARAZHpioDpciEgBISAEBACQkAICAEhIASEgBAQAiLTmgNCQAgIASEgBISAEBACQkAICAEhIAQqIiAyXREwXS4EhIAQEAJCQAgIASEgBISAEBACQkBkWnNACAgBISAEhIAQEAJCQAgIASEgBIRARQREpisCpsuFgBAQAkJACAgBISAEhIAQEAJCQAiITGsOCAEhIASEgBAQAkJACAgBISAEhIAQqIiAyHRFwHS5EBACQkAICAEhIASEgBAQAkJACAgBkWnNASEgBISAEBACQkAICAEhIASEgBAQAhUREJmuCJguFwJCQAgIASEgBISAEBACQkAICAEhIDKtOSAEhIAQEAJCQAgIASEgBISAEBACQqAiAiLTFQHT5UJACAgBISAEhIAQEAJCQAgIASEgBESmNQeEgBAQAkJACAgBISAEhIAQEAJCQAhUREBkuiJgulwICAEhIASEgBAQAkJACAgBISAEhIDItOaAEBACQkAICAEhIASEgBAQAkJACAiBigiITFcETJcLASEgBISAEBACQkAICAEhIASEgBAQmdYcEAJCQAgIASEgBISAEBACQkAICAEhUBGBdiLTP//8c+CfVIYbbrj4919++aXLb0MPPXQYdthh49/5/aeffup0DfcOlYJUEePuXP7++++H2267Lay44oph0KBBHY/673//G+69997wzTffhDXXXLPj77T/iSeeCI8++mjYZZdduvPqXrn31VdfDU8//XSnPpVpyHvvvReeeeaZMGTIkPDPf/4zTDTRROH3v/99mHHGGcMss8xS5hEtvearr74K//jHPyq9Y9JJJw1zzjlnpXtacTFr57LLLguPPfZY2GyzzcLss8/eitd0eubjjz8eGNOcsGZHGWWUMP3004eJJ5645W2xF7zxxhvh2Wef7Xgfe8Pyyy9f+f0ff/xxePjhhyvfN9tss4Upppii5n3sF9dcc01cB1988UXEaIYZZgh/+MMfwrnnnhv/vdhii4UU3zHHHDP88Y9/rPns3pgHlUGqeMOPP/4Yfv311y53seczvn1Nfvjhh2yThhlmmMA/fU2Kvl/NbOe///3v8NJLL4Xvv/8+zDrrrGHccccNX375ZXj99dd7ZK+q0peXX3453HHHHWHttdcO4403XpVbG772gw8+CG+99VaYaqqp6r7z888/j7ixLqaeeupOOkdRA8D9008/rbsXv/3224H5+7vf/a50X1ibTz75ZNz3GFeJEBACQqBPItBOZPr8888Pm266aSecURz5+w033BCOOeaY8O6773b8Psccc4Q99tgjrLvuuvFvfOg22WSTSEQRPnZXXnllWGSRRXpt7Pjo0oatttoqnHnmmYEP45ZbbhluueWW2KZ11lknEh1k8803D1dddVWAuI022mjhP//5T6+1u+qLjzvuuHD22WeHf/3rX4Fx4QNaRviQH3nkkeHwww+Ply+00EKRiEN8/va3v0UsIDx//etfA+S0twRl5uijjw5nnHFGlyZAYhgvyONTTz3V8TvjSR96WzDmLLvssh1r4p133gnDDz98S5tFv88555yOtWgvm3vuuaNixTy3Ncr4b7HFFi1tDw+/6667wvrrrx8gw0ija4znLLnkkh3t5TkTTjhhnPsmKL787aGHHur423nnnRf3pyLhuauttlr8ebvttovE+fnnnw/77bdfxy3gyrw67bTTwo477tjxd3AdPHhwTQybOQ9Y3zPNNFMYccQRWz5utV5w6KGHhgsvvDASCBP2fXBkz+hLgjFj9dVXj9+ynNDuCSaYIMw777xh1VVXDYsuumiv45t+v5qJJ3iw9g8++OCOvYC1ifF05JFHjuTxkksuaeYrG34W+/6xxx7bMc9eeOGFaOhtpWCYBn+MahhlWb/sKeydqYEZEr3PPvuEs846Kyy44IKRfKMrYTw95ZRTovEyFYjxRRddFPeXbbfdNhxyyCHZ7rCOTjrppE6Oin333bfUns1+hb7DezbYYINWwqVnCwEhIAQaR6CdyDQo4NWEjCF8TF977bUOcD788MOA0miEGuv16KOP3gk8PtB8aCAML774YphkkkkaB7cJd/75z38Oe++9d/zI8VFBIMl8vC699NJOZPrrr78OF1xwQdhhhx0aVvSb0OSGHoGH/eSTT44f5vnmmy888sgjdZ8DYV5llVXCc889F6/F8+aNKRBT79lFCV1ppZXqPreVFxx00EEdxJ/3QI4gSSYogwcccEA0LPQVMo0RZ5tttulo4yeffNIjXgKwGH/88TsNBx6QccYZJxJbT0hZIxgrWi1/+tOfOshpd8k05Id+EEFx7bXXRqJkgvK58847Bzx7kCKINsYFlNucfPbZZ9HIgPEIcrjhhht2XMYeSDQBvxmZ5kfWCoZGpAyZbtY8wFg5//zzR4OZ7dX1xg1CAN6t8L4SzTPllFN2fBcwahHZ0lfF8KN9jDNGYvB58803w3333Rf/H2F+Mb5mCOuN/uS+X81qhxmEIH8YlDGWQgL32muvaIDGsHr//fc363XZ50AoMegyN1PBY85ehXAdBNrme6vJNPsGUSnMawxyo446ajQCsu7Yv++5555O38bFF1883H333VHnIZKFKD10DvQMM+T7/mGkOOywwzoMgBg0cmT6iiuuiDrK7rvvHvdnIj4OPPDAwD7KnofRp0hwbtAHRGS6pdNYDxcCQqC7CLQbmQYPvM3HH398hIaP62STTdYBE1ZSvDYIHw8UVS+EFWHd54PMB6AvCCFXacjhX/7yl7D99tt3ItO0FWJJqFujin5v9tcIUhkliI89CgCh7ghkACWTEGAvp556athpp53in8Cktw0kzDnabZIjgYw3BgUIUF/wTOO1wMNx5513hqOOOirgVegpmWeeeWJIsgnYkJbBv713nLGFUFrKRqva5wllo2uMMM+ll166Q3GlrUVkmt9QjAln90Q47Z+f5zmSar/7Z7DH4S2z9VPPM92MeYBCj/GAf5cl09999130lhGNw97cCsHIdtNNN3UxwLbiXd19JuMw9thjx8eY0cU/k/mC8Yv+IMxZCFFvSe771Yy2YGhjHt14440xDcoE48haa60V9w2M4q0Uvi1ErnlDGO8j1QLDBl5dLxjvMWq1mkxjiMW4fPHFF8doGhPatcYaa8SUDgg1QuoKKSRE8flUJNbdSCONFK+xfdeew7d2rrnmis/CSJ0j03jGp5lmmnjLRx991BFizj5tRgbGJ+ewwPgA8bdILZHpVs5iPVsICIFuI9COZNpbNAkD82GOXhHBqo8Xx4tZ/cnv6c2w4HoDa0q9D/PmHj7SM888c78k03zIl1hiiU4f+iIcLPzLfv/73/8elllmmS6XGxGxH/DSoJT3Vh58LTLN3EO5IEwdow9koy+QacOOqI1WeAZrzfUiMs09RB34sHiUN/L8WinNINOEW2KoY62a1CLTXMPcRnEtCmc35Zlr+W8iG/wcRzFGscV7xO9IVTLd3XlAJBD9sDSasmQa4yfrgRSXVpFpsIVoVEkxaeU8q/VsIpDME5oj09wLYYMgWfh6Wax7q09V38tcIs8fwUONYdnLK6+8EqaddtpYKyU1sFZ9V9H1l19+eUwRu/rqqzuRadM/SKPoDTKNodn2aYzrGK9MiACzkG3WISkB9t1lTrHG7Hd/bUqm7Xl4rglhz5FpUq+IxMrpWexjRNpgzMP5kQo6G7Vf2M95vsh0s2atniMEhEBLEGhHMg1QCy+8cHjggQei1RPvtP+geiUcK+lYY43VgS0fQIr3mNWWH7B0Y70l/xDP1wILLBA9GLUExd571PhALbfcch25nnYv4YRYtlGQzJNAvtfKK6/c8Xi8qYRqeut7M8k0BbuwLo8xxhgxxJ2QsDSnihB5Pm6EQPKBo82ptxzFDa8bXhHCDvlIcx/9JtwsFUJ2CcMDb/LHUADIVfRW8yKMzSthv1v4b+56LNymwPM7Y4nikBpSGHvSBK6//vqYc423inFIQ40p/kYIHM/kv/Ey0u4yxbBqkenddtstYk/4HP2hqA6hmz6fE0MJXhCUaBRKk8knn7wjn5b2+0JZKSb0nXedeOKJNfPqmQOsDTwsJniDya2jXY3ih7KJ14R/s/4wWuF5tAgSvG6sMaQWmfZzIOeZRpEmHJE5xhyHTPIeQutTD3bZa3NkGlKMQu2F8ES8+TkhzJL2EIFhUo9MYzRgX7Cwx/S5ptTa3/Eyoaj6MGoUa+aX7V0pmWbtMi7MUdYrhjrGAVJOBEhuHmCsSg0+pKOQSkPKCcr5rrvuGg18rBO/J5IDyV6Csp0zgkAKaKNFGZHWwnxk//bFGJlH9I01Az70mb2sitQi0+z/7M2MMx4zyAlGObA0IaKJ/RFjGHsB/7799ttjzjI1G/w3xu4ps6fm+lCGTHOfT3lK00n4vQpuXMvzvv3229h/vJJlJff9IjSaeQYuEDq+rfz/dNNNFyN36tVkYL3aGmbtMz5pbRMIGSkzrBuTst9yvrcYvcxzyr7hCy+y3q3wJ+9hLbNmaBfRbnjM+V5jCMIbbftZLc90o/MhHQfabHuphW37a1hrfFPMCOENzvTliCOOiGvevNi10o1qkWnGkvQUDAq+PgNtOf3002M6Gt+Y9FvFPgN27JG0BUOayHTZ1abrhIAQ6BUE2pVMs/lutNFGEVMfzg1J8kQYq+fWW28dr0NRQEFn87dCP4Qn8dHEs8PHEg8oVn/y0lD0ioQPGqFmRuJoAx97CIjl9fKBJk8Y5RAljWdiySW3CAWUdtAPFEUIlFfYm0WmaSPEiHBjFAj+zbtPOOGEjq6Rd0c4G14l+kWf+Ahed911EUuUcEJ/zUsImSOX2QvE0BMBDB0omSj9PPfWW2/tMCbUI9PkovnKnvXCbemjFayiTSjlKPb7779/p4JgkAe8DV7IO0TxMGs9Ho8VVlghKglgRTv23HPPGMJGmCyktpYUkWmUL6qcUoEdMm2CFx3vB3MOYS6SD4jxA0JsRNt71Ajro48oeCimKGm+8Bl9R1E0xQ588GIRZk/7TJiHjBF5up4EMVdpTyP4WXoC70Bhoi3MHesff/fhhkVk2nLxrK1pqCfEar311ouh6awzPLIYIMCT/2c+UIwHqXJtjkxzP+uU8UCYD4xZlarn9ch0zUn1249+v/PXMl8YJ1I/UvFkmjWEUQPl2wsebrxIGLxy8wDvlWFr97F/YKgxYY9gr+B9EEwTxplwT7z0EKpUmHPkV9o95MhDspiXkHPmDOsFAwCEHOJq6xevlz/loB5+RWQa0sc6wiAL+YBQku9JWgnGQnCjr+yXGBCYz/TFr2EMhfTFk7p6e2qt9pYl0zzDG5wwTkCSquDGWsdzyPhhoGbvZ88BW75lRQXkuC/3/aINfFv5RtAOyBtkygpq0maMMRgr64kZBO06UlCYS0VEvOy33EgkZM++0fSbvGy+EeDP3oKBiT6w97KXYBzixAO+08wFDPmsO76VtA0pItPdmQ8pTj4yz9rsr6EwIXnUfNPRPxA8++zNCH3DEEh/uJY1ldaWsecVkWmMFmZsz9UqufnmmzucAz56gMhB9AS+V+RTW1SKyHS91aDfhYAQ6FUE2pVM85GzD4APM8LSaQWfUAo8CTGF1rzVfBD4GKLQo7ChiBAuZ1Z5lLylllqqcPzwiJm1nPaYJwMrLYpZavHlI87Hgw8xng6s9RBsFP9WkGkLaff9wJsFucZyjJgFnragwKIMoXiiXKFo0Ef6BnmzXHSUBxQpFGW81Hy4+bdVx4VYo2DSJ4ihRQ1Y6Feau5UCzPP4yJukhebS6w1v+zueVRTiNAQcQgzJxAPlCzhBMiGljAnjiSEAQdFGccNwgMJAn3zobm5ipGQa5RslFaUGQg158Io4z/DGACPT/B0SakW3/DzGow72NmetfdYejB4QPeazFW1DQcRjYZWqvREBYuLDi1GUUZSq4kfqhDc2WKEnjBIUKkIYF5Rpy6lLyTSKOB4LM1Ixr7jHQj6tj4wf+YIICi7P4T6K6yBEHKDQI1WuLQrzRrHHQ4thiXz3qtJdMs1eBenzERi+DSi9YOy9qZ5Mcy2GPBRp9iWrIs4af/DBB+OjiuaBT52xdzJOVtwMwokBDI+8j94oE3rs93GeYbnCvAejFiQMTxZrCGFt2n9joCtbfKuITLMfghMeTjsxwIiHPZ91AHbgg7BeWccYsaz6uyc1ZfbUWqHJVci05YLTLtY2Hv0quLF3smdxlBvefsaa/Z1vlMckne/sEUXfL/ZIDN1mfAVXiBtrxwzbZdKsMOQwz7yhlNBuxsF/H2hb2W85xT0hwcw7oo4wgNg+l6YA2N6UGvIwELAnQew5pcJLjkx3dz6k2PNdMiMH+5JFdth11m5vNGe8WPvoICYYqjAS1UqJKiLTGC4sJQOjE990L0T+2d98PjUknv3Col1Epqt+SXS9EBACvYJAu5JpwORDS6ghAkFGGUCZx+JMSDEeJITziSHNkA7IEQQPgWigWPIx4BgXE8g0ykQudM4PIuQLAoq3xytTKPemcKMYmdeT9+PV8AWe8AxRPKYVZNqKsUFesEoTNofiAEGDDPNRxlsKAcEybILib8QZTy3XoCjbuZm+6JsdV+aVclPw0mqe5hGoR6bBkg+/ST0Si2KLEcXE8sxTEmDtYdy8MsscQvnzRNiHp6E0mScfj7UVXckt6JRMo7hBEKwieY5M+6rLnkyjJFm+mVf0UEjxOjBn06rX5vXBKALpQKmBGKdVxn3hmhRvI9NV8SPk2h9vYh4JC/kDL/OaG3YpmcYQBglnbZpXnntQXs0TTLgtnkMTokpGGGGEGILpw7vxLLH2yl6LISVHpjHOsH4gdVW80X5+dJdM8ywIAHtFGl1h74FoED1hIdCeTPs1hAcfRRthTaPsIkXzwBcq4jozXkKmwAUPE0bH1PhSlUz7lBzCetlHcnuFGc9YW0QilSlKV0SmrWK0z8u1CtXskxiCEAwz9BPDHnui7R+2dllfHMNVZU/N7R/8rQqZ9t5bjEnsT2Vxox/MCyIPfDV/9hz2Bz83itpa9P2ydqWVos2TTkQJ9TPqCXs1c4xvuhcILXjb2Jf9lkPQiUDD6ISHl/t9DrLtfbzL9ibmIgYKEyPT6BdmJLTfKEHXJQAAIABJREFUUjLdjPmQw8jmHWNENIVVp2cO0G72ivSovXR98ty0b+m7isi0945jmLMwd7sf4ww6AWI6BJEOjBn6mNUEEJmutwL0uxAQAn0CgXYm055IoASTw0MIMQoWyrV9YFAcUYqwpPqQJCN9KKE54QPhjzXKXWOElRBFLO+ID8m08CXLc0qPZeH5hFe2gkz73Co+bCjRPhfOe+GLMIAgcY8nVuYBoa94tfCYcT8f2KLruNYKodQj0/5DzH0ozbWqtqbhgFYsJSWDhJ4R1oyY0sN/25FE/mxelBQr5IRn37wsRryLFndRmDceNhSyZpBpezdFYzDm+POLUZgsvNmug5T6nNW0MnpZMl0Pv5TkWtgpRQLxciHpsWhFYd54KVl/1jeULyOzPpQ8TQHwYa+QIX634kX1rmWPSMk09/Ic5jdKqw/lrbLB1yPTrCkjbv657FHp8TJEV3CtGWj89ZAOKnsjnkx7Y4wRIK5phEynR9TZ+5tJpjEW0Y9ckSe/P9QzblnbauVM2xFHeC0xtKLwY0z1Xj8LW00Ne4T3EmZvIbVV9tSi+VOFTHvPNGlMjHlZ3NiT+DbaOehpe/B+Er5eK7+56Ptlcy9NKbIjmjCs2pnpZdYR303Woj+D20d+VfmWYxxib2It0z+8pBZ27mtz2N7k9z3aamSaPtoxZdaHlEw3Yz7k8PFH6rGGSalhD7G6LNzDfmxHR0KyMRbyLYXA+kikWkdKFpFp/231kSPWVv8dxKDA9xtDJEYUn/IhMl1m9usaISAEeh2BdibThHYRVshHBGURbyIhzFZcjI814cooCyjzeC/xsEK0ESvUgRKVO0eyzOD5jwoWWDwXeHpRRFB2LT+Y0F7yEs0rbs9uJZnmHf5IHf4fzyUeT/pr1UrxlFvOV1Gfi0iyhWQbmcYzxscy59UwMu0ND7n35cJK8VAUiffscg1jThRAVTKN4ofBAQGfXBVSvCmpFd63q1YBMvJs8WqnYd5VPdP2Pu/x5W94b/GipmLrwP6eehKaRaYZIwrj2DnvZjjC62+RD3jBMHaY1CpAllZ0N4+ojxRI55kVxeH5RJYQFWBRBfWuZS2mZy17LFH8LD2izN7gr6lHplODh90LscPrCX7MadunwBrFmbXr86B9H1tFpnN5mrS3u2Sa9Wrh/Hi6UbzT+cJ7CM+1cPaU6BSNSy0yzTeBcG/6hSeV4orMmTJk2s4lNzJdZU8tamsVMm3kzYxUVXADO3JXi05KKDPHq5Jpa19VMm1twWPuU3TYa9ABqn7L6TP7EPONfZ7oF6QKmc4de5iS6WbMh6JxwPuMYQzCji5EJBIRE+xT7BOkIWAwMKMrxQIxeGNspYAqhmWMUVxLtFmuiF6tAmQWHp5LtyA0nlQb0wsYdyJg0kJlGLJJXcGhQCFR9Kc0ZLzMPNQ1QkAICIGWItDOZBrgzEpsIPrQJvMG2m/ea8PfKMjDx9hbcBsZDBQwPmq0BaUGqy95Y3wY7MxJKoDi5U1D21pNpukP/SO3z7x8kFk+gBR5IiwXqzYfv1pSlkyjpFDdG0mPLSlLprnXkyL+Pz1P3LeVEH7vpcOgQrh/VTINcUF5N8HTU1SApwirWmSasSZqohlkGqXP5hdtweOAopR6TtP2pEetcW+zyDTPYhwwGkDwUNYYRyOz/D+efcuX5vpaZDrNnbcIBT9OqbfZlGqejXGEkGcb03rX0s6UTKOYWuEenmmGmqr7RHfJNDhiDEyLbqFE47HzBZ0sF7S/kWlIrIWoWx2AXKVhn6ZBKH9a5Tk3NkVkmnWE8Y9wXyJQpphiijhfMdg0QqYt1aHMnlo0h8qSaW+AsZDjKrjRVr5bFFgjf7YRaRWZxrgBAcsV1rNoANrL2oTwVfmWm4HZh/EbMcyR6ZQsms5Rhkw3Yz6UHRe87RjvqSvg0xbsG5DOSW/8wsifK+hXi0yTZsQ+z96Dkd6LzQv73vh9uVZ/csdsle2/rhMCQkAItAyBdifT/ngQQPTeDe+55jc+Mr5wCaQP8leksKFI88FEwaolhIpBClDW8TxCJrB2W/ixVRf3uXb2vFaSaTwPvJvQRKzThKQRZmxYoEBiDUYsr8n3E2z5yOJ9KUumfRGoNPyrCplOc4GLqn36Qii03YeFViXTqdcj9eBa2HKtgi21yDThhfyTFtNqxDPtq7PSb1OGOE4L0kr4vRXl8Z5LyDzzmVBZvCbkzjeTTGNAwduF4QpDDakWeCeo4MpcSwsv1SLTaUVvi/KgIBFFoEx81IIP38ezzf+XvZZ9IA3zJo+X91rBLtY4hrKqZ9TXI9PghrErjcCgmjzeZsg0ES9WVM2vUwyC1p7+7Jn2ZNpy/Nm/8KL5NefzNcueTW1kmrXBvmhinlIf6todMm1FH8vsqUXflDJkmmvw4PHtwcjEXs1cqYIbeyoGFzBm306PQiScH+MGKUhF0ioyTcQFHldLnfLv9yTQ0mbKfssJN8aDmx7Z1Coy3Yz5UFY5tGJ6fO+poG755DZGG2+8cUfRQHumGV+KzjOvRabtfVzjDY72HYbQ26ko4IBxOhUMGxgoiahiLbJ/+fo1Zfuu64SAEBACLUWg3ck04JkXM+d1s+JUbNJ8hClMZoJF1aqL+oJMkBAqkKKolTnCg+f5s61NKYTE2IeB0Go7WscPuIWy+urD/A4h4SMFEYBUmBAqzjmg9Y6L4no+kIR6WUVo/kZ/6ROEhBxePLiEyZNTjcJvRcY4RouPG/mZGAj8cVU+Z9qqdlo4F9gxHnhNUPYwVljOnRWJSaumFi0AX2CuyPMKAeK5CEohnlEr+AYR8l5QX2wlJV08hz5TbM2E3GJIJ0oJhWsYC3LziEQokjQaIpfzmd5r+aH83R8bhoJhOXmGL9egKHHUlQljh6EIhZDqslQOR2n0ucVca9V5IWx4KaghwPxLC4dZEZ6q+DH24MOYp4WHivAy74b9bhXU+f/0bGU75o71xRyzyuRWBdpXhmZ9YDhgvZe9lrli64732xpLQ7CpEYDRpEzhK+tXaqjBu+YLERZOqP//g+1xufxG9imrD+HzODHoWaVfTx78vuf3kaJ5wNy3NUVzigxbaZg3xjP2KvaftOKwH2+L/gBnO6/e9jmu40QBf2a3YZnumR5D5ggYEylEmoORBl+B2R/vQ+0LK8JlaRE+ksnCVtOcaaJMCBe2MG+MZWX31KIx90bAHMmBlEBwWWe2HzC+SBXcMApRcwFhn2KMjFCzjzGXILS1onOKvl+WipHmTENk2avqhXlbZXm+UxhCvPhK0XZSRdlvuYXl851jj+Tb5A3yvuaEtTWd7zbmOSO8fVcYB/a2qvOB66n+zXMwEJTdY6yOAOs5PXHA/8Ze6Y0mVNfGEGsnWqRz0vQFq0Pif/fzlFQJO84SozPrHv0H/YM6FkViqVU6GqveF0C/CwEh0KsIDAQyTfgjpDmXP2fKhT9z0StyKEdWNRjFC0IG6RpppJFi2GzqRSwaTCOKVtXVrrMPsieg/hkWspoSTDtGypMo7vNKeT2vDIoY7XnkkUc6SD1KJQoSnmiUJKvGzbP5EHPUDMeWYEmGmKEUIT7klrxoq5Dsc7JRusHNKvFyH7lohG7hQbZn8XeqdeP1NyUwhyvhqih0ZvUmFJFiVoQy88FGwbXiTOAHNnY0Es/zShf/b+GMKUn0VVltLll7ULoII8WoQFshUUUFefAuouT6IjlgitJm4au5fqZHEoEXz+I4Mi/MMcL1wZTwVhPGl1xllCKUE8g1bYCY2PnO9IMjy1B6qEDLs2yupgXc8FJB3qri570wtI05whxDeQMHxgjFmDWH+GOOrC94yTmXHJwxplj7Ca1k7E3suBn+nzxmokisWjx/8+keVa5NCbxVmE7z0y2XOTee6d8gbUQf2FFe/I7RBDJUNo3AyDQ4QvyYBwjPZl0RYcDehaGFfGLWB8WebJ5wHyGszN30yCzLbS+aBxTfs0JGvJPr8EqlUQaenHIdc479E8OKX/spPhaii/ENgxXkGWJveyP9Ys/B2EGEDd5l5hokyBfW88+16tv8jb0O4o1yn0bg2Jm8tJWxp692vjAGPNoDyWYOMQfB0dfdMJLu60CU3VOL5o4VdeR3Qm8hgBiZIHqsCzx+rAtwIUw7zTGtgpuPiuF57B3s9XwTwTh3Prhvd9H3yzz+PhLAV9uvZ0zyew9zDVIH9uxhrHXGiGezz2EwA58y33IfOcRezfxhrlgKFHsOJBhDlH2DmQcY14laoV3MBcvb5ptCW9A/mJ9mDOIa8+hXmQ/eKFBkgPf423nffMOYK+wDdmSVXceaYTxoJ8YPK6yJ4ZkwesbcTn1I56TtO3xnMbanYt8uDE98V/j+m0ES3SCtwp7eLzJd5guia4SAEOh1BAYCmbbjIExZTEHn44gCaueT+t8heXyE7GxhfsMLgpLCh6SsoNxQCAVlzVtiCaUl54pjIdL3Qg79MTeQDT6gfLj56JvwsYNQokTRLhOUHwgGHvmcQKZRxPBkQFDIJcYyTd6qD3dPyRzPQknAW4GigqUb5cE8gbwXoo3nzyvJtB8ijZcMJQcl2u7hNzw+eEcJN4NMk0eehhbm+gGRJazZjB54VVGkrdAV3lsUfG/FTwmAPZeiRnY2rH+XeYAgBBCnNIcQJQuPr51tnraz6H1+rFDYfGSEV3ZQcPzxZCiKKHooRxhUmIvMLxT+XB6hbw/zGQ+xL9STw5U5BenKKTx4M3KF1mrhB1FG8awneCyZc6mxwN8HuSEiAmWeeZRbi3hTbCxZs6xhFG6e64+y4bllrk2L9XGfKfDMX5vL1s5659BzHYol5NWMAik2ueN1cvjRf/6ByEFywAfyAEGkXRAMCIoZbSys2T+LfYR5RrGfVJjbO++8c5e/s85yx4EVHZtkx0rZgxg79q1a69xX0YeUYhQyI6YZKRkHiKud8060jo8iSRtOGDRzx1IcaC/Psmr+dj3EnXxP1ibrjD0P4s3cZ3/hNwgSRNoEHCEl7GX+3F5/rF29PTU3xqxFvJHMq5ww3niSMRjyTaOdRYa9srhBtBh3vo8mrGG+M3wzioTvZu77xXsh2ITumkDE+J6wJ/naFrXIIt8WvjPMV/BgLBhDW4NE7VBF3Z+rXuZbDsYYR+w7ypixbvgOQ4h5J4Y4dAUrpkk/wATjF/jjkeWEC/seMV8xumGctPYxX1mTFhVWdj7wrbViaOxpzM+cYOiH3ELUicJgL68Vjk+b8S6zxzF/+X/WBuuT/vsILt7H9xCDgKW38DfaxXebgpJeWIusD/Ymzjnn3+gHtSK47H4j00VFDQsnoH4QAkJACPQkAgOBTIMnFmvvlfQYk3NHnmitkCk+hnadhTpXHSc8BxZuafeirFAtPP1YVX12I9djrUeJ5d94m1E8qOSZepR4NiTScjYhMbWOQ6nSFgqH4UnmI4uCizJTREjrPdcUAPrCM1AuCanM9afes+r9jpcdhQVvCu9p9Eikeu/xv5PvbF5hyATzib6lnoYqz+zpay0EstZ7yaX2hoPutJH5hFLL2oX0QLByBgveUeXa7rSpFfeiVEMOOYkAZRWjHUYy5j//lDFKtaJduWdCathLGI8yxhWeQZ/wsmEwSoU9lP2dkFFIZO6aor6BE3sbe1rR/k/aA8/2R8pxDyG3nqxVxa9Ve2rZdlTBjf2OvYeKzq3aU8u2m+vYdyF7hAsjGMrZj9n3MTLW2o/LfMshoHzj/HP4vqQVrcGFfZh3+rx9xpa0IPQKOx2kXv/KzgcM3hiYWN8+Rcs/HwMzawYjH9+nWnU8/H08E6M6c571iSe5WQJOrGEiTYr24Ga9S88RAkJACPQoAgOFTPcoqHqZEBACXRCwMG+8Mih75iVFccOogscf7w6pBERrSISAEBACQqAzApBdvMBEd1G4USIEhIAQEAK9jIDIdC8PgF4vBAYIAoRdEjJIqCRepNQTSCgpoY+ErqfnjQ4QiNRNISAEhEAhAtQJ4YQDwrbLHPkmKIWAEBACQqAHEBCZ7gGQ9QohIARiYTvy4MkPpsAW/9h535x1Ti4zJJr8SYUBasIIASEgBLoikAs3F05CQAgIASHQiwiITPci+Hq1EBhgCECkKaJD/iU5dOQT4qkmt5Bq6FQdlwgBISAEhIAQEAJCQAgIgX6BgMh0vxgmNVIICAEhIASEgBAQAkJACAgBISAE+hICItN9aTTUFiEgBISAEBACQkAICAEhIASEgBDoFwgMJDL92GOPxeNj2kE4uoNQWc7b5PxTzhaudbRXX+0zR4twFuucc84Zj/AYKML5vIwfZ3/6Y8Y4Noizmu0M5VbjUdQOCt3ce++9gfHhrFUTjm8hv5nK3OlZ27m2cowLFbrXXXdd5UG3ejB/ez5HgD344IOBc6QbPbbJxoy52cyjcap0nwrvpAGwRjj+jSPNOPKqFcfcVWlXX7q26lrsS21XW4SAEBACQkAItA0CA4VMQxo4c5HzTSEq/VU4C5eqx5wvudFGG8UzISncxHFDjz/+eJhuuun6VdfOPPPMsM0228TzZt95551+1fZGG8sYck40+cOMHUTzgQceCLvvvnscQwRcttpqq0ZfUeq+XDs++OCDsOWWW4ZbbrklPmOdddYJl112WfzvzTffPFx11VWx3cw3zkcvEgj0kUceGR566KF4CWeZN+ts8lKdG6AXYZR66qmnwp/+9Kewzz77VEIhHTMMdnZ8WaUHdeNi1sEhhxwS1wHzjH2Bs37Zt5F999037Lnnnl3O++3GK/vlrVXWYr/soBotBISAEBACQqC/IDBQyDTE5Oyzzw477bRTOPnkk/vL8HRpJ32gL88++2ws2ITstdde4dhjjw0nnHBC2HXXXfts31DOIWG+UjPeTyo8b7jhhuHCCy/ss21vdsOWW2656EGk/xh58DJ98sknscI1xKEnyDR9StvB3yDJ2267bST6nkx//fXX4YILLgg77LBDXTL95ZdfdnikBwKZxps7zjjjlJomP/zwQzQusBaaLdtvv308Nodzujmvu4rQpkceeSSuR4ToBIhsTwgRGZD/888/P8w333zxCDXWhZF51sfDDz8cDj300Ei06d8f/vCHnmhan3xHlbXYJzugRgkBISAEhIAQaBcEBgKZ/vTTT8OgQYM6huyzzz7rl56N7777Low33nhhpplmikqvCSGRL7zwQvS4Ux25LwptX3DBBaPHc4IJJujUxB9//DEMN9xwfbHZLW1Trt9rrbVW9P72FJmmg7l2QMggZp5Mc+1zzz0XUwrqeaa5FoI57rjjRgzb2TNNmsJ9990Xz8cuIxj0OCOWMOpWSHfWE2H9o4wySmwWa7Yn9hPCuWefffbw8ccfR4PnpptuWjMlgLkJ8X7++efj0WoDVaqsxYGKkfotBISAEBACQqDlCAwEMn3cccdFzy3KGnL88ceH3XbbreXYNvsFQ4YMCb///e/DeuutFy655JJmP76lz9tuu+1ieDphxCmZbumL+9nD11577XDllVf2KJnOQWTh9ymZxmgz88wzlyLTnIc69thjtzWZfvnll8P0008fz8cuQ6Yvv/zyGNZ/9dVXt4xMd2fKf/vttx3eaDzorTZyYWRZfPHFYzqAxwQDIREaEEaINqQZ7zU50xNNNFHYe++9owHx5ptv7k53+/W9VdZiv+6oGi8EhIAQEAJCoC8j0O5kmvDAKaecMhx44IExrPaiiy6K3t333nuvoYJdhMAOHjw4kIPN2bhLLLFE1ssNaXzmmWfC66+/Hq+bbbbZYgGdVPidc3fJGyYM+h//+Ef48MMPY/gt7TahEM9tt90Ww7iXX375GO5ogkKKoWCo3wZz5ZVX7vg7ObF33313DJWEhN9www3RCwlBolgZoYLkSa6yyirx7/SLHOyVVlqpgwT9/PPPMazypZdeCnPNNVd8TiqvvfZabBs5z+Q44oFGAUZoA2HoGDAQQofHGmusWHDMogVQkgnbxCOVSrNxrLUW8ZA9+eSTYcUVV4wh13j/mT8rrLBCR74vnrt77rkn5nMutNBCXcaU62+66aao6ENGwItw27QYFLjcf//98e/galKWTFNoyvKruRdvInMGr7YXiAdeUMaadiGE7to8KWpHK8g0babPCCG6kPJUwI8UBryOzNEFFlggnkNdRugLpIzxYe1MPfXUce2BgUmZ57OeWDfMUwoW0hb+n3oEED/L/X7xxRdjSDRrjzmDwWj00UePbc4JZNGKue23335x/tBOX+eg7HwvwgMSSqFF2kiYdD2BPIMZc2n88cePaxfjAJKSaY8d7yFChnWeI9xlcOYdhx12WDj44IMjOaYOBMLaI+3j9ttvj3s1bQRT/n+xxRaLeyR7DkXJ2LfSwovsnxTJY49nDjD/rY08m3Hzwhiw92L8MWFsrNhZ2TXdjP2UqKkbb7wxrk/eT19pL3vEUkst1akAWz0yjaGH7xT4sQ/5fabevLDiZuTfk5az9NJLx7WUCvsg76AtGM54T66QJM8jpYUxm3TSSeMa5/u48MILx7+Z0GbmI0U1Cffvj0U162Gr34WAEBACQqDNEGh3Mm2KCTmcKCXzzz9/HEFIBxVvqwg5e6uuumpULHjO3/72t1js56CDDuogtyj0eKggvZAoFFPe9e6778ZrCE9E0YVAU0yH+5Hrr78+klovEFhTbDfZZJPYfpReQmxRrHgXCiBKCmKKJn8jf5r8Q95L/iEeMbw8CEQJhfvcc8+N/w+hpugU15pQdAoSznvNo89vF198cVh//fU7riPEFRzJo0URJx+dSs/cD2mnvRgyUISRJZdcMvYfxZn+nXfeefH9CAq6SatwzI037z/99NNjCDoEhL5sttlmHZei0EOmMEbsv//+nR6BEmnKIyQMJfytt94Kp512WlQyKQQ199xzR6WYcUPBZ34wNuDKdYRTm5Ql0xguCAkHa4T2QRrIOzejhI0HhguI0THHHBPnKthvsMEGNdvRbDLNeyFOXpiXrAETjCqQTcKLITiMC8o67cYgU0swckHuyDkHQ9bTOeecE6677rqOdVXv+cw55jv38l4IL0q/FWPj/ayTs846KzaFNQ5BZt1gRCL8nToG9CsViBYRJaxVns08m3DCCeM4sE7KzvciDCCQRH6wPjHQnXTSSWHnnXeuiRnthrRBdKjDQOTLGWec0XGPJ6oYQmg/c5v2Mv/Alv4y5+h7I+OIIQEDAiQS4oSxCoKOV5r30B/eCSlGCPEmn5+9gv2J+e/JG+uKMPplllkmtpHfaSNtxSiDwYx5wXxE+I29kbmBYYS1zj4NHpDZMmuaPYD9tjv7KXsF+6TNNf778MMP7zR+rA3wMGNOEZlmre+xxx6xz5BVMGBOcD9jNeKII9adF2CPEEVBCgPfML4v7ONGcO+66674LSDSCLwxYrHf8x72NbDkW0RUGJiz37GvXHHFFXG/MmG8iOxg3dr3MF1rNRusH4WAEBACQkAI9CYC7U6m8SShZFsIplW7xert847rjQHeKRQvKhSjZCMoKUbOOaIKyz0eWBQZFKEDDjggXoeihlcA5RUyDcGC3OOlxZtlSh1tpIgRXmqs8/wbBdkEgopCC9FDOTGBwHJMER5rwh7xsqCsQAxQ3BHaA5HDMwgZQFk1wggRQAmljbTflDi8A6eeemr0EKAcQSRRkOgPAoHhXt5hxYpQVvHAQxbw8iL8jscOIY/WQn8hKhwDRXVexJPpVuKYjjVef3C2OQLh5/2QHfCmjQj4gg0hp2CLp9ePBUojpI9xNwzTglCM+yuvvBKVUMagUTJNexhLCLRhbN5vFFOeS8VfDD4mGD6Yb8xDSEutdjSbTENk8EASjWCGC9qFQs4ahdBByOaZZ55ISoiyYP6YNw0lHgNSkfz5z3+O3k3mGjgwlxgvDAso92WfD0GhSr4p9YwjhBfj19Zbbx1f//bbb0fvGsJewHqmEjvpJPWE/kE4MPLhzTYpO9+Lns+aZA9izDG61SPTGCzYFyFe7G1Ul0cga3iFESPT7CeQXjycRK7Y+jXMMRKxhogAKIszzzfvMkZHIlMQ9keMJ+wzEEAiLiDFk002WfwdYm3/jSedNWCeffP80x+iHjBQYOiDVGJY4lrzNjMXMe7QdsaTNQ52aR52mTXNnsf87M5+ahEvRMEgrBfWMHUwyCMHa4S1Y9+MIjLN+mf/x/iLwQFCy7eLde/3ptxcoh3gyVoENzz6/A3CzNoyIynGWL4LEGzWMOuVsccgjEGA34gEY35hQIIo27eIbxdGaX4nCgphvFlH3E9UAQZrmyNlI1PqrT39LgSEgBAQAkKgJQi0M5k2ZcOUKwCENJrnDjJc9txpLPyEoKHMmWUfhR0LPookVnkUVAvlRgHxZ7Ri2ceTiJjHmZBDlIhUSbQ2ogCicJgUkWl7Nso5SroJigneVLxPeNu8oGhaVW081ha+jQfNqgz7Y8RQqAl7RbgGJZc+4kGEvIANHgv/XAsT9WQ6Lf4GFuZZMjJthJx3tQLH3EJCgcODTN8h/BYWColCscNoAFkxrwwKI4qvN8qg/BqRNW+zEQ68wZA9E8g0xpTukGnwgjRAnkzJ5fmm6Pqx4r+ZD8x37w0uakezyTQhnea9hJSR9sD8smgKCDRkBg8+JM/EjFAYL4hiKBIr3MY1XIsw5/EsoshXeT71FE488cTonQQHE8gb3jWIF+kdiJFpDEJGeAob+dsPRqYxxBhxqjrfaz1/iy22iIa2emSa3/GsY4SjryZ4uDEiIUamMQ5C9o844ohOkRnMPyJnGEerxl8F52uvvTbmjUNq8cQihrE/2ov6EBg0vIHO8vGtjYwz4cIzzDBDTOUx4R1GPjEeWUgx1/M81g7GFtJUMDKaR9buL7umm7Gf8k5IKQIZtqrq/D/4YuiAWGKEQHJk2vZTjhfDGGvCGHK/N4bm5hFeee7165XrMNhiLMKrTMg9a5nvBgYKonFMMNiyVyLMBfvWQpqZ894YwDW2HvzEHUdNAAAgAElEQVS1/N2M3vWMaLk+6G9CQAgIASEgBHoUgXYm0xAbQhchuibeyl62kJcpu+b5LRogC3nGowu59OKr5Jri4As0oaRbDjEEGgUlfU5VMk04JGGbeFzBIhW8xRBdlDNv/TeFDsXI55va9SjcKL0IBgQUSfJw8bjhCbUwWKqo42mvRaZRcOknYmS61Tjmxs8q46bKpv09HYuiv9sRSXjtKSSGcopHCIJmeeO8H+8nSn93yDTPwaMOWcCbDvFHeC7Pt/+GiJh3Lx3TonY0m0z7qAPaZR5IqwpuyrbNhXSMUOBrkWmUfCNCkHJw9zUKqjzfjpqDbBK+a4IHHZLD/FxttdXin41Mcw8e1Xpi5IEIEvYTpOp8r/UOK/RXj0wbGfJh8DzXFyDD04jBDU8lhDlXNI0+M5a2bqrgjOEEo4RF8fj90B/9Z89kTC08m/cSPcC4Iz6KoWgOQcp93rC/B08pxDsnZdd0M/ZTe4Y3ANMmvMwYVxEzUubItBlJWFdmFPF9whDMPl105jvh9EQEUCvDvPgpJt7gkisoScg3JNgfd2jGLsLMLfKB5xI5wPxnr7R6Avzdrvdrrd7a0u9CQAgIASEgBHoFgXYl014xqwWsD9ksug4FGkWajz0f/SLB+4jXL/Uo2/WEhOMNN8W7iEwT4k2Bpu6SaVOsq5JpU+iKyDTGBa+okdtK2CShonhALEQvR6bps4WUgkuOTLcax9z4FZFpq9acjgUeLTyo6d+JNiA0FMMHnk08+hCyVpFpP4fAEqMI3jmUZvpEDjHGJLx/GJbS+dtbZBqvMQQGwdCEhx0lHiNEI+cvY9TBE8c52CZ4XMkbxjhkJKHM84vINGHmeKVzZNoX0Kq13+TIdNX5Xuv5Zcg0RMkiLFJDmifTXIehzKI0IL9EEnixyA3+RtQJZLXsONrctcgZyLu9y9rlU2ksJYC1R0QIZNo8zVYlnf03l7NehJkZHFnHEPhcPnHZNV1Epqvsp0Vk2kcv0B6OnMuRaesPezKktoqYwbfesXee2DNfUsyIMiCKwUcSFJFp87inZJpcbca0kdomVfqsa4WAEBACQkAIdBuBdiXT5PryQad4inlaDSyUPSofI3iWyIOuJSgmXJ/zOPv7eCfFVAhzwxOYCmGdhAdbWGNfJdMWalmGTFuffRiz4Z0j05BL8vhMcmS61TjmxroZZJr+EkYNUcEzQw49RJp82laRafoCaSevkrkMySDUF0UbYk1UAP9NyCieOQtPNgx6i0yneJODjAefcHtCPBsVQlkhlJafaWutyvN7gkyTI0yuMFJ1vtfCpgyZJm/fDFpU8Ce9wSQl0/zd0kGIeCDKwQv3W6oM95LjW2UcMUixV7LXQOIsTWLjjTeO9QDYV9hPrQYEEQrk/WIgJHzfxELB01SXWlhZLrgVWMzlE1dZ00Vkusp+WkSmMframdoYONhjc2Ta9gIMSYTwVxE/L9K93z+HYmlWKd5qhfjfLf/fDHn8VkSmbf8Rma4yUrpWCAgBISAE+hQC7Uim7Tgswj3J/8oJ5ILCKChwhKqRA1wknvDlcrjwnlCYB28B4baIL5RjzzWlysIl+zuZfuCBB2K1WIrb4NUx6S6ZxgPVShxz49wMMm2eS/LUrbBOT5BpwjbxeDKXITN4dYgQsNxfC+FnHqehm71FpsnrhfQb+cFYhdEqLZrGWBEiDknE+5s7nodrUOAhYoSvEpZL1W1CmBE8buTmln1+T5PpqvO91gekDJnmfiNtvlAif/dk2kibRdSkBRG53nKkzdBYdRzNs20pN+Qyk5vLGiLFhHcSpUMdCUKE2WvIiedvXrwH2+dG2zUQQAgbudgm5PPi5WXOWdg+od/+SLEqa7qVZNr2WqsxQB9yZNoKprHmqeWRHlvGeGHMZD3kxL5ROSMzhgWqqWMctGKHvlaDPc/2FH/2ush0rVWr34SAEBACQqBfI9COZNoKcuWUKhssXxDMjlspGkjIOXmDeLTJDSTUE6WOMEg834TWUYgFMkMhL65Li/VAtinWxf0cM2OFriDgiM+ZJiwXpSn1hJv3Ba8NyqWJ5YumOd0W8gehI/8zlXphiWkIvF1vYd4opihd9AnvEkTGey3sOhRkCwUEm/T8bMKSEcurhfy0EsfcOBeRaUKjaYsv/OMVWRsjH6JKHrMV/0FJh9Rx3BYeSBMr/JWG4NvRWOS6W/XoMhuMFezhWvP+Wyg6f4NsQq5TKWoH72f+oARbXir3Gh71QkG51huL0pxp66cVASTP3vrrj18DVwgfBi/Lxc/hgfGC9pq3l7XJ2DDfmIcUPyr7fMiCrRmfM43hCFLjw7ztnOScESDXTnuG9/JWne+15kMRmQYH9ihCqikkaIXKWLusWauNYGkNfh5RBwHjBJKGyacFzxoZR8u7JkIIQ0ats4WZD6QIQKapMG1CmD+eW/ZR0mzIf7bijoSMQ4opMoaxCbE0A/Zl7rN1QDFE8GAvq7qmu7uf0i57RkrqDWdvzM2tRSPYPAsyy7o3Qk1UFPjybL8f+3lhnm3up0AihjmE57K+yFknusXw8uTexsKiQDDyWY56EZm2fSAl5fb3NMybvc3G359PXWtN6DchIASEgBAQAi1FoN3INEfEEAqI8mjHNeUA9FVHUbqw4lu16tz1ljdtv+G9IJwR5c0rxt7LRFVlPIaIKd1eObDcaH734ZYW9snffTVr8zoQ9ojn27yMdj2KIEqPiXmUctW87VgaroW8E5KHeALkQ1HppxUdo0AaCqvHBE8HeakoOhQrQvAgEcaJl9QULJQvFCsUOIwD/hm+0ncrccyNL14vjBSInzcW4m/YWHgsBNm8WXY9Cj5jynxC8SSn084VZszoNyQbhd6uTQtXGU7eq1NmAzAPoT/znPuMvHljjX9eUTtMeU8NOv7opFzxIf9sHzZK/qOF5Rp2PqwWgwvzl3WLEK6OAQMSTFV8SJ7PtU8xgUxTGAlDF543yBXjwNxnfVZ5vnkjvXHK5xn787E9HoTWMt7kjBaFqhuuzAeMBBR6Y/2xpiwao96+UWs+FJFpKyJmFcrZu+x4L3Am15j9hKrNdh49ewI552BLzQj6Rt0IxpJrGX+qskNqCc+HtFXB2fqBoYXCWRh7MFKyzzFvfS4uJwiQD0/YN0dzUYzOe5B5lj+pAWMPhhUMghhs8HZjJEGYY7Qb8m6FGf33wBu+yq5p8DBy1+h+StuMTDMXWCdETJkRNTVsFa1FPO5mbGVs2avZl+h3eoJFOi/w1LOPW5oE9+OFZk54gxFrjb2B6/j+gBnCHCHqy+9fRDhgsGDO+SJyXG9GwLTmAN8NjIHpWfSWBpAaN8vskbpGCAgBISAEhEBLEGgnMk2oMUqSCR97vCr+6A5+QwlBkTXSx99QviCPafigBx0CiKJiCj/KOs/358VyPQoLSifKA0WWqL7KvYR321m5hDdSfMXy9VAOUPjIQTOlj2ehMEIoUPzwoJvQJ/oBefJFl7gehZMKu3ZWLveQFwnhotAT78ZTjbKCoNhTQIz+4IGyNvEbbaLyL14932/aw7mqkEPydRH6jPKDsg2hoE8ovSjGdsQM16EoEnKJgQFF0d5HOzheyLwhrcDRVyc3LPE+4h2zdoAVyj2EHlxMwIf2oliSPmAKJwQAbzSeLPBjXjH3UPwgcxh3mAv8Rt/w6NvZ1Tybgm2QasbEiAx/Z16BJZXS6wltoXo10Rhm9OAe7mdeYyzwgnKNYpu2A88icxwjhwnKOHOPMbSx5jfGl3mQHifk38P7wRcvlXkKIcXMUStAZtdjCGMO4f01YZ7zTjtLuAgHDBv0CcFzxnpjDOi3VfUu83yLJLD30EZIMoTSj415+jE+WdEt7klzP9P2+hxj5jvGGtYkUma+15sHRWTa0lpYl6w7hGOUGDvrF+0h0oRnMCfJj2YOYpwg/JvfWBfgypxmXoE1UQy+aFwZnHP94D7WFV5l1iLzizOlIcTsPcwFSBeh5GkdDHuepQ/45zN+rEVyv/HOsm/xfAyA7MlIeh97FKHmzNt6a5o1zvrt7n6KocXINIYA5gZrhrayN7A3mtfee5DTtchxYRhB2JNMGFvWUVqULDcvMNTSZ7838L3E4GL58zwXAwR7BdcxNhhn+FYxx/iGYWDge4ZhEY86wjzBaEn7wN+vKdY+Y4XRzdYy93C/fftoB988fyRhvTWh34WAEBACQkAItBSBdiLTLQXKPRyPDATZCsLk3ou3BQUQckNYM14Lr4j0VFt74j2E3hEW6UkfJCP19OP1ADd/ZFG99vU3HGmvPzqG/kGy8ZRanmG9Pjf6O+HMqbEAxZrQXI4o603BY4lizdjXq9ZNhAKpEORHGwGv13bIHh5s5iI4YFAo6nMjz6/1fsaXSA/aO8III9Rraow2oY14AFNS2N35bmQao4iFZtMg1h1t5Fzo9J3kmDNH2Kd4P/tbzujEczDacGwTfSb9oVY0T3dwZv9gDhARQFuYN2X3T9qGQYu+EAVSdAxU3YH6/xf05Jr2Bcg4KpE8ZQxJtULfi/rBPLOIK75VuaOuas0L5gRzgXla6/0YQQg5x0iGRzlXEb0s1mWuwwiEoaXMWivzPF0jBISAEBACQqBbCIhMdws+3SwEhIAQ6DMIWBg53t3U899nGqmGFCJQVM1bkAkBISAEhIAQEAJ9FAGR6T46MGqWEBACQqAOAoRAc+4vIbPkLBOOTqhtraONBGrfRcCiBkhZIn1EIgSEgBAQAkJACPRxBESm+/gAqXlCQAgIgQIEyKUljxniRW4p//gz3wVc/0HA1/zwFe37Tw/UUiEgBISAEBACAxABkekBOOjqshAQAm2BADUZKNpFNW2KD1LgkKJQkv6FAIXQ9t9//06N5shACjjWykvvX71Ua4WAEBACQkAItCECItNtOKjqkhAQAkJACAgBISAEhIAQEAJCQAi0FgGR6dbiq6cLASEgBISAEBACQkAICAEhIASEQBsiIDLdhoOqLgkBISAEhIAQEAJCQAgIASEgBIRAaxEQmW4tvnq6EBACQkAICAEhIASEgBAQAkJACLQhAiLTbTio6pIQEAJCQAgIASEgBISAEBACQkAItBYBkenW4qunCwEhIASEgBAQAkJACAgBISAEhEAbIiAy3YaDqi4JASEgBISAEBACQkAICAEhIASEQGsREJluLb56uhAQAkJACAgBISAEhIAQEAJCQAi0IQIi0204qOqSEBACQkAICAEhIASEgBAQAkJACLQWAZHp1uKrpwsBISAEhIAQEAJCQAgIASEgBIRAGyIgMt2Gg6ouCQEhIASEgBAQAkJACAgBISAEhEBrERCZbi2+eroQEAJCQAgIASEgBISAEBACQkAItCECItNtOKjqkhAQAkJACAgBISAEhIAQEAJCQAi0FgGR6dbiq6cLASEgBISAEBACQkAICAEhIASEQBsiIDLdhoOqLgkBISAEhIAQEAJCQAgIASEgBIRAaxEQmW4tvnq6EBACQkAICAEhIASEgBAQAkJACLQhAiLTbTio6pIQEAJCQAgIASEgBISAEBACQkAItBYBkenW4qunCwEhIASEgBAQAkJACAgBISAEhEAbIiAy3YaDqi4JASEgBISAEBACQkAICAEhIASEQGsREJluLb56uhAQAkJACAgBISAEhIAQEAJCQAi0IQIi0204qOqSEBACQkAICAEhIASEgBAQAkJACLQWAZHp1uKrpwsBISAEhIAQEAJCQAgIASEgBIRAGyIgMt2Gg6ouCQEhIASEgBAQAkJACAgBISAEhEBrERCZbi2+eroQEAJCQAgIASEgBISAEBACQkAItCEC7USmf/7558A/qQw33HDx77/88kuX34Yeeugw7LDDxr/z+08//dTpGu4dKgWpDeeBulQOga+++iq8/PLL4YsvvggTTzxxmHbaacMwwwxTePOvv/4afvzxx+zv6dz64Ycfulw3/PDDl2uYrqqEwA/f/RSGPPh2mGjqscMEU45Z6d7uXvzhG1+EIQ+/HUYadfgw7ZwThUGTjN7dR7bk/u+++y48//zzYe65527J8/VQISAEhIAQEAJCQAj0ewTaiUyff/75YdNNN+00Josttljg7zfccEM45phjwrvvvtvx+xxzzBH22GOPsO6668a/QZI22WST8Oijj8b/H2+88cKVV14ZFllkkX4/zupA9xG48MILw5577hnmn3/+8NFHH8V5whzi7zPNNFP2Bc8991zYYYcdwgMPPNDp9yWXXDKcfvrpYZpppol//+abbyJpefHFFzuum3HGGcNFF10U3yFpDgIQ2QsOvSc8eedr8YH7XrR6mH2xKZvz8BJPOWuvO8K7r/w7TD3rBOGWs5+Mdxx/9yZh0unGLXF3z16yzDLLhNtvvz2cd955cV+UCAEhIASEgBAQAkJACCQItBOZpmtPP/10B/mYaqqpwmuv/U9pRj788MNIWIxQf/nll2H00Tt7hfBgzzLLLOGdd96JxGaSSSZpyZzBC/n999+H0UYbrSXP10ObiwDEGRLNvLA5se2224YzzjgjMM/w4I088siFLz366KPDvvvuG38/99xzuxh97Marr746rLnmmmG77baLZFvSXAR++eXX8NkHX4V9lr04/Off34QDLl8zzLLQ5M19ScHTHrnp5XDiNjeFk+7fLHrELzzs3nDzmU+EQ69dJ8wwb2v2me50zCJyMAadeuqp3XmU7hUCQkAICAEhIASEQHsi0G5kmlHC23z88cfHAXvrrbfCZJNN1jF4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7vPsc5b1NJx9ff+Jnufee+55nfM4+z6fz/f73b350qfuab539wPl/Sd94rUl4E6OHP9H//njZs2KdeVX+byttvqlUQD+tebQ419Wfjaf883CZZ+55B9Gx7y7+cnD65u3nX9Ac+l7V5b/znjnR1/drL7mW82dq+5rXvDi7Zv9j3pJ85ETbhp/nW22fXqz9JrXN3eMwv9VH7xtg6953uePetyDiqVLlzannXZa+btKldogQIAAAQIECBCYEBhqmE44qJXZdjt32nVTYcxIdTahK223Galkpu26VqsfeuihUtnOZz388MNlgalajWy/76677iqBs1a7ExIS9hI8alBvt43X9slUfg866KA578k8CMjnJYBnZDXpBMRUd1N9T6jJSLjKXPCEyswDT0hOC3vOPSNzyDPvN5+VIJORULxw4cLy2oTpM888syzglhBUQ08CaVZIj1lWRo9fKrc5hwSvVHrjl8/JSODdb7/9Zj2nVDJzXRLKM2KbyniqrrWym++f803APfnkk8vr8h1r230eiKSqXkcqpAnxxxxzTPnRAQccUAJ++7ukSpvrnS2taqU13z/vycOJJUuWlPfmwUkeoOS8EybSgTBbxXm33XYrDzkS3rPy+1zjiYTpOvWgfT55yJBwXRcpqx0PqQLnIUUeFORcEqTzECgV4XZ3xuR3zQOJPABavXp1ua8y0tlR/zsPbPIQJiNWeTBTw3T9rHjkwUgN03l/rktdHT8PHXL9E7CzINvBBx88lezeO/+1Oemgvylzmd+//PWje6wpFeVzjr6uBMUE5dOvO7z57ijE3jwK05+76pvlc1JB3uuwFzefX/6t8t4/OWmP5sLjbxwFzLuaD968qATMjKzo/Y7dLi3/3V7867K/XFW2yzrj+sObp2+zdfPfP/xJc+I+V5TgfMiSlzYHvXXXUpG+8PgbxgH2sHf/YakE373m/uY9lx886zZbCbyLXvjhcsyPr1tSwn8d8z3fB+5/aFR1v6/J96zjzWfu29x5yz82P3lkfXnIcMuyrzc3XjbTdZOF1RYt3bN51qgCfv6friiBPSNV+8Pes1vz7B22aS58543lYcReb3hxs/hD+29wPfI3f/TRR5fOg7m6LqZeRD8kQIAAAQIECGwJAkMN07l2qRjnH+4ZCcgJUWmNToUyewMnmGak7TkBMW2oqc5mO6yMBNZUXlPdTftr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gY4CwnRHMC8nQIAAAQIECBAgQIAAAQLCtHuAAAECBAgQIECAAAECBAh0FBCmO4J5OQECBAgQIECAAAECBAgQEKbdAwQIECBAgAABAgQIECBAoKOAMN0RzMsJECBAgAABAgQIECBAgIAw7R4gQIAAAQIECBAgQIAAAQIdBYTpjmBeToAAAQIECBAgQIAAAQIEhGn3AAECBAgQIECAAAECBAgQ6CggTHcE83ICBAgQIECAAAECBAgQICBMuwcIECBAgAABAgQIECBAgEBHAWG6I5iXEyBAgAABAgQIECBAgAABYdo9QIAAAQIECBAgQIAAAQIEOgoI0x3BvJwAAQIECBAgQIAAAQIECAjT7gECBAgQIECAAAECBAgQINBRQJjuCOblBAgQIECAAAECBAgQIEBAmHYPECBAgAABAgQIECBAgACBjgLCdEcwLydAgAABAgQIECBAgAABAsK0e4AAAQIECBAgQIAAAQIECHQUEKY7gnk5AQIECBAgQIAAAQIECBAQpt0DBAgQIECAAAECBAgQIECgo4Aw3RHMywkQIECAAAECBAgQIECAgDDtHiBAgAABAgQIECBAgAABAh0FhOmOYF5OgAABAgQIECBAgAABAgSEafcAAQIECBAgQIAAAQIECBDoKCBMdwTzcgIECBAgQIAAAQIECBAgIEy7BwgQIECAAAECBAgQIECAQEcBYbojmJcTIECAAAECBAgQIECAAAFh2j1AgAABAgQIECBAgAABAgQ6CgjTHcG8nAABAgQIECBAgAABAgQICNPuAQIECBAgQIAAAQIECBAg0FFAmO4I5uUECBAgQIAAAQIECBAgQECYdg8QIECAAAECBAgQIECAAIGOAsJ0RzAvJ0CAAAECBAgQIECAAAECwrR7gAABAgQIECBAgAABAgQIdBQQpjuCeTkBAgQIECBAgAABAgQIEBCm3QMECBAgQIAAAQIECBAgQKCjgDDdEczLCRAgQIAAAQIECBAgQIDA/0uYxk6AAAECBAgQIECAAAECBIYk8Nhj8zqbpzw2GvN6ZV40mdjn/UYvJECAAAECBAgQIECAAAECTwKBeUZkYfpJcC19RQIECBAgQIAAAQIECBDoSUCY7gnaYQgQIECAAAECBAgQIEBgOAK/kDA9HB5nQoAAAQIECBAgQIAAAQIENlmgW5v3Jh/GGwkQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAEhOnhXEtnQoAAAQIECBAgQIAAAQI9CQjTPUE7DAECBAgQIECAAAECBAgMR0CYHs61dCYECBAgQIAAAQIECBAg0JOAMN0TtMMQIECAAAECBAgQIECAwHAE/g+r/JOSpuPnAgAAAABJRU5ErkJggg==\n", "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": "2024-01-18T17:27:06.694511Z", "iopub.status.busy": "2024-01-18T17:27:06.694335Z", "iopub.status.idle": "2024-01-18T17:27:06.713769Z", "shell.execute_reply": "2024-01-18T17:27:06.713362Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.back()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:06.715640Z", "iopub.status.busy": "2024-01-18T17:27:06.715508Z", "iopub.status.idle": "2024-01-18T17:27:06.738697Z", "shell.execute_reply": "2024-01-18T17:27:06.738380Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBbgcNduG8+HOhxV3d7cCheJuxd3d3b24uxZvkeJWHIoUSoHiUqA4FHeXf+70e8+fk5PZnT27x3af97q4OJ3NZJInmUye1/KffzNxEiEgBISAEBACQkAICAEhIASEgBAQAkKgMAL/EZkujJUKCgEhIASEgBAQAkJACAgBISAEhIAQ8AiITGsiCAEhIASEgBAQAkJACAgBISAEhIAQqBABkekKAVNxISAEhIAQEAJCQAgIASEgBISAEBACItOaA0JACAgBISAEhIAQEAJCQAgIASEgBCpEQGS6QsBUXAgIASEgBISAEBACQkAICAEhIASEgMi05oAQEAJCQAgIASEgBISAEBACQkAICIEKERCZrhAwFRcCQkAICAEhIASEgBAQAkJACAgBISAyrTkgBISAEBACQkAICAEhIASEgBAQAkKgQgREpisETMWFgBAQAkJACAgBISAEhIAQEAJCQAiITGsOCAEhIASEgBAQAkJACAgBISAEhIAQqBCBysj0f/5TYfUqLgSEgBAQAkJACAgBISAEhIAQEAJCoAsh8O+/hRorMl0IJhUSAkJACAgBISAEhIAQEAJCQAgIgYZAQGS6IYZZnRQCQkAICAEhIASEgBAQAkJACAiBWiIgMl1LNFWXEBACQkAICAEhIASEgBAQAkJACDQEAu1Cpgs+pCEAVyeFgBAQAkJACAgBISAEhIAQEAJCoOshEOcGK8hzq4uZLviQroemWiwEhIAQEAJCQAgIASEgBISAEBACDYGAyHRDDLM6KQSEgBAQAkJACAgBISAEhIAQEAK1REBkupZoqi4hIASEgBAQAkJACAgBISAEhIAQaAgERKYbYpjVSSEgBISAEBACQkAICAEhIASEgBCoJQIi07VEU3UJASEgBISAEBACQkAICAEhIASEQEMgIDLdEMOsTgoBISAEhIAQEAJCQAgIASEgBIRALREQma4lmqpLCAgBISAEhIAQEAJCQAgIASEgBBoCAZHphhhmdVIICAEhIASEgBAQAkJACAgBISAEaomAyHQt0VRdQkAICAEhIASEgBAQAkJACAgBIdAQCIhMN8Qwq5NCQAgIASEgBISAEBACQkAICAEhUEsERKZriabqEgJCQAgIASEgBISAEBACQkAICIGGQEBkuiGGWZ0UAkJACAgBISAEhIAQEAJCQAgIgVoiIDJdSzRVlxAQAkJACAgBISAEhIAQEAJCQAg0BAIi0w0xzOqkEBACQkAICAEhIASEgBAQAkJACNQSAZHpWqKpuoSAEBACQkAICAEhIASEgBAQAkKgIRAQmW6IYVYnhYAQEAJCQAgIASEgBISAEBACQqCWCIhM1xJN1SUEhIAQEAJCQAgIASEgBISAEBACDYGAyHRDDLM6KQSEgBAQAkJACAgBISAEhIAQEAK1REBkupZoqi4hIASEgBAQAkJACAgBISAEhIAQaAgERKYbYpjVSSEgBISAEBACQkAICAEhIASEgBCoJQIi07VEU3UJASEgBISAEBACQkAICAEhIASEQEMgIDLdEMOsTgoBISAEhIAQEAJCQAgIASEgBIRALREQma4lmqpLCAgBISAEhIAQEAJCQAgIASEgBBoCgXoj03///bf7999/azJ2o446qvtPDFBNau6YSr799lt38803u8knn9ytscYabrTRRuuYhpR56j///OP4LyWdtc2lulRqTrZHfz7//HP3xhtv+P8++OADN9VUU7nZZpvNzTrrrG6GGWbw8+Drr792Bx98sNthhx3cEkss0SnnRWdu1DvvvONefvll99VXX7lffvnFr0GTTTaZm2666dxiiy3mxhprrA5tfrl1sT3mYbUAlOtDJfXX29peSd9VVggIASEgBISAEKghAvVEpj/77DNPFGolL7zwgltwwQVrVV2H1vPUU0+5pZdeuqkN00wzjXvrrbfcOOOM06HtSj18//33d2eeeWayXUOHDnXzzz9/p2tzqQZtu+227qqrrkoW+euvvxwb+7aQ33//3R199NHulFNOaap+/PHHdz/++GOzf6+zzjqeZD/xxBOub9++btNNN22L5tRdnd9//70799xz/di+9957JfvXq1cvr6xYdNFFOwSHtdde2911113JZ88000zu3Xff7ZB2FX2o1vaiSKmcEBACQkAICAEh0K4I1BOZ/u2339yTTz7pnn/+eXfIIYfk4rj11lu7GWec0bEZZpP2ySefeCIRSz2R6Y022shbpUO55ppr3JZbbtmu863Iw15//XVPpq+44ooWxZ955hm3+OKLF6mm05R58cUX3eGHH+7uu+++Fm1qKzKNpXnllVd2zGGEOX/SSSe5Kaec0ltOsaIedNBBLea9yHSxaXPddde53XbbrZliYosttnB77723X1tQVD300ENemREK7+Ell1zi/vvf/xZ7UI1KYTl/88033amnntpizLsCmdbaXqOJoGqEgBAQAkJACAiB2iJQT2Q6RObSSy91O++8cwuwllpqKU+4Y/n444/dBRdc4E4++eSmn+qJTGPNhUCFcuCBB/rNdWcUNs9jjz12i6YNGjSoS7ohv/baa26eeeZpNzIN0bvooov881ZaaSU3YMAAN8ooozR7PkQesnfiiSc2XReZLv02EH6AYiRcJ7iD9WbHHXdscfPAgQPdsssu2+w6LvZ33323d7Nvb3nkkUfcCius0OyxXYFMa21v75mi5wkBISAEhIAQEAKFEKhXMo01cKGFFmqBwZ577uldM/PkuOOOa7Im1ROZZvN/6KGHNut2Z3eZnnvuuR1W6lC6KpnOUw60hWU6nvtXXnml22abbXLn/AYbbOBuueUW/7vIdOll89hjj3XHHHNMs0Lbbbdd0ovCCt12221u/fXXb3YPYRasL8RVt6ek1sWuRqa1trfnjNGzhIAQEAJCQAgIgZII1CuZxqVxzjnnrJhMQ24WXnhhb8WtJzJN8jHcfC+++GK/gccqvcsuu3TqtyNlTe+Kbt6A3J5kOlacYKEuNda4hOOaTCx1v3793CabbNKp50VHNe6ee+5xa665ZovHs9bMPvvsJZvF72+//XazMssss4x77LHHWngMtGX/XnrpJbfAAgs0e0RXI9Na29tyhqhuISAEhIAQEAJCoCIERKadu/HGG92kk07a5P6I6zPJguqJTNuk+PPPP33Cq9jlt6JJ006FRaZbB/TGG2/sbrrppqab55tvPvfss8+WzCiNuzdeGbJMpzHnvZljjjlaJBpbfvnl3cMPP1x2oGxNiQsyThtuuGHZ+2tVoNHIdCOt7bWaI6pHCAgBISAEhIAQqACBRifTxECSDGjXXXdtynqMazEuxsS5zjXXXBWgWf9FsXB/8cUX/sifVExzHgJY/IlLJ8N0t27d3EQTTVQWrHJk+ptvvnG0B6tqpcoB2oGlkLGfdtppy7YlVYAEdmRxnn766d3EE09cso72tEz36NGjRZIpjrsi63SeBZVszrPMMkunINOMKcd5Mb84xq2SeWaDQB0kF5xgggl8HaOPPnqrxthuuvbaa91WW23Vog7cvo866qiydQ8fPtxhAY6FayQHK3oEH0du0S/mL/O+nHz66ae+iJ1y0FoyzXM/+ugj98cff/h3f4wxxij36Nzff/31V589nnpac5pAUct0a9d2juBivFizeCeqPTaMej788ENHJv3WuPUz3qw1U089ta8jJT/88INfX0kwWGRtbfXg6UYhIASEgBAQAkKgOQKNTqYt/o7MxuERQmxg2JhgrSNZUCxsJnHRZKPFJpsNXkqIV4WYI2T4rTR7NscU7bvvvq2+l2RHbPhTAgnAbRXiwfFIEL5YaC+KBpKz3X777b7PJsstt5w755xzHJbPlOA2zH2XXXZZC4sem0KeOe+88za7ddVVV22qL0WmSaDEMV933nmne+655/y91AWBxL05leTLHgARYIzph2W5Du/H9T1OFhX3a8SIEe7II4/01sjwOCRiYHv27OmOP/54T65jKUemcV/fa6+9cpen/v37e/JRRLbffnvXp0+fZFHmEl4XEMxUG5nPRh6wcEMqUoLygKRmzM9SxyqdcMIJjo1+nOiOObnaaqs1VY3lHHf0q6++usXjUL4Ql0zcdyl3ajDkfSXBYHj8FxUyR9dbb71m5G288cbzGbmLyOqrr57Mxs48XGuttYpU4TFHERULISW8B5tvvrkbNmxYsv+sQfSPsbU8AuSEOP300/28C4W+H3bYYX6eQ7AQlILUT4b3+HiuUm7ejAtjFWO62WabeSVCOB6PP/64Dx9JCWV59hFHHOFOO+20piKsLWeffXZF5LwomS63tsftvOGGG3ym9XCNowxJK1njSTAXKj2+++4736eUsK7SZxRYvNc2H9dYYw134YUX+jWr1JrLswjJoY5wLjN25Pyws+A5hYJcGKyJJow16/KKK65YaF6qkBAQAkJACAgBIVAFAo1Optlg4toak2mDlORBHLMVxzvy+88//+w357gScuyUJXEKh4PN6GKLLeYvPf30035jFgr/xjqKxcg2vuHvEETIT2vvZfPGcT2Q0FgsMRVk54ADDvCkN5Z99tnHEwAwSgmbQkglbvKhsPFnoxluBNlEYzWB0MVkx+6FTJkFMEWmy011ztJNxbVi/YMAGAFHyQAuxAuHlkWIA0QkZY164IEHvDLECBFZsqmTzbeRQPDAislGOZRyZBpCCmHmSLCQcBFXC1kj5jnPKhVjcv755zsS7ZUSFAJs8uNxC+/Zb7/93FlnnZWs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CAEhIASqRkBkumoIVYEQEAJCQAgIASEgBISAEBACQkAINBoCItONNuLqrxAQAkJACAgBISAEhIAQEAJCQAhUjYDIdNUQqgIhIASEgBAQAkJACAgBISAEhIAQaDQERKYbbcTVXyEgBISAEBACQkAICAEhIASEgBCoGgGR6aohVAVCQAgIASEgBISAEBACQkAICAEh0GgIiEw32oirv0JACAgBISAEhIAQEAJCQAgIASFQNQIi01VDqAqEgBAQAkJACAgBISAEhIAQEAJCoNEQEJlutBFXf4WAEBACQkAICAEhIASEgBAQAkKgagREpquGUBUIASEgBISAEBACQkAICAEhIASEQKMhIDLdaCOu/goBISAEhIAQEAJCQAgIASEgBIRA1QiITFcNoSoQAkJACAgBISAEhIAQEAJCQAgIgUZDQGS60UZc/RUCQkAICAEhIASEgBAQAkJACAiBqhEQma4aQlUgBISAEBACQkAICAEhIASEgBAQAo2GgMh0o424+isEhIAQEAJCQAgIASEgBISAEBACVSMgMl01hKpACAgBISAEhIAQEAJCQAgIASEgBBoNAZHpRhtx9VcICAEhIASEgBAQAkJACAgBISAEqkZAZLpqCFWBEBACQkAICAEhIASEgBAQAkJACDQaAiLTjTbi6q8QEAJCQAjUCwKDB7/khg0b7kYbbTT32Wdf1Eu31A8hIASEQBMCU0wxmfvnn3/crLPO4BZddH4hIwQ6FwIi051rPNQaISAEhIAQEAJFELjiipvcPPPM5iaYYHw3ySQTFblFZYSAEBACXQ6Bf//9133zzXfuu+9+cG+88Y7bbrsNu1wf1OA6RkBkuo4HV10TAkJACAiBukSgT5+b3GKLLei6dZukLvunTgkBISAEUgjggfPCC6+4bbcVodYM6SQIiEx3koFQM4SAEBACQkAIFEDg2WeHusxQ42aaaboCpVVECAgBIVBfCLzzzvtu9NFHlct3fQ1r1+2NyHTXHTu1XAgIASEgBBoPgeuvv8MttNA8cu1uvKFXj4WAEMgQ+Oqrb9zQoa+5zTZbR3gIgY5HoN7I9B9//JEEleQso4wyStNvf/75Z6bZz1T7gYwxxhg1HZDPP//c/fjjj1nChFlL1vvXX3/5xAqx/CcbnNFHHz333p9//tk99thj7pdffnEbbih3l1oN3tdff+3uu+8+16tXLzf22GPXqlrVU4cI5L2DvJO33HKLW3jhhd1cc81Vhz3vel2qpzG58ca7Xc+e3bveIKjFQkAICIEaIMD+/bHHBrmNN16zBrWpCiFQJQL1RKa//fZbN8ccc7gvvmie0XSVVVZxp556qptvvvma0Dr44IPdVVdd1VS2W7du7tFHH63ZxpeN2xRTTOHJ9CuvvJIliZknd6SOPvpod/HFF7dot92wzDLLOPqw2267uYkmmijL2PqZ23HHHd0999zji2yyySauX79+Vc4E3Q6B7t27t3vqqac8GN99952bcMIJBYwQaIFAuXfwkksucbvssoubZppp3EcffSQEOwEC9TQmZ5/dJ7PIrNsJUK3/JqDo5j8U8pL6QACjS62NJ/WBTNfqRd++t7t99tmuazVara1PBOqJTDNCLJLHH3+8O+GEE/yAjT/++FkGwG+SH8Lzzz/f7bnnnm6vvfZyZ555pht11FFrNsgvvvhi5oa3kK/vpptuKms5/uCDD9wMM8zgy6+22mrusssuc1x7+eWX3UEHHeRJOX154YUX3CyzzOJ++OEHt+uuu7q+ffuKTNdo1H7//Xc3aNCgzOLT09eI1XGcccapUe2doxqs7pNMooRFtRiNUu8gHiPMoy233NJdc801tXhcsg4UPqwLtVy72qyxHVxxe41Je3SzUjI90tvm3uyb8r779ddf3NRTT+OWWmrpTMHcsUfMvPLKyw4PrjzhWzfjjDO1B6TJZ+DBtsIKy7qvv/4mU7I+4/773/+2WVs++eQTd+ON/fwzpp32/2Ph+Rsc2ovM77jjdm7IkOfciy++UlFfMWZwXxFZfvkVCq9Zn376qXv++SGZUeJl713InF100UXdZJN1a/aoou0eNuxtt+qqK7kll+zurrtORogi49VZy4hMd9aRacB21RuZZgjRIq+//vrujjvu8CN69tlnu7333rvZ6EKUsGLPO++87u67727mAl6LafDWW2/5+pHbb7/drbNO+biOySef3FunIckXXnhhUzPef/99b1WHUPP/l156yf9Gmd13311kuhYD9r868CgYd9xx/b9+++03N+aYY9aw9o6tCrfjxx9/3J177rkd25A6enqpd5CNeKkwjWphYH4utdRS3kMFLxhJeQTaekzKt6A2JSoh07fccnPm1bRL8sFrrrmWu+SSy9uNqMWN2GWXHd1tt92aC8oxxxyXfQ93rw1orajl559/ypK8Te/vHDJkaEZyp21FLcVuufbaq90BB+yXW/iCCy5yG2ywUbHKqii11lqru8GDn3UjRnxdUS3PPTfYrbnmaoXuGT78o0KK6jvvvCPzwmtpeRxvvPHcpZdekSk6Vmx6XtF2P/PMoGw/tqabfvoZsn4+X7a97CdPP/3UjLxPlmWP3r5seRVoPwREptsPaz2pDAL1SKbpcuzy/fbbbzeLXcbai2v1O++8kx0t0lzDWYtJ89NPP3mL0ciP8BAfO1lOZp99dkc7cee+4IILmhXfaqut3LXXXuuvoamdcsops03QSFdSuXmXQ7b477/++mvTRx4vh7YkQ8VbVX1JU+7giSEyXT2eVkNHvoOsExdddJEP+xCZrt2YdoWaipLpJ54YmBGw9XyXdt55V7fsssu5SSed1D355BPu+uuvc++++47beuttszCo0zuk20ame/c+2aFMjgWF9KyzztYhbbOHfvzxx5li9dfMOlw690m1jTQy3bPn8k2kDY+Chx9+MFP43+Wrv/POe9ziiy9R7aNK3l+UlMaV4Knz+OOPNV1GcbXrrju5qaaayh13XO9mxVdbbfWyCpznn3/erb76yv6+U045LbMkL5UZSv7O8Hgo8z481l8fNGhwpuyY2f9dSbuxck855VT+XSgn5LSZeurJsxDAubNQwIHliuv3dkRAZLodwdajSiNQr2SaXj/00ENupZVW8gBgwcEqhzski/Qiiyzibrjhhix5wcbNAMLlDPKLy9XMM8+cbT6WbUGo0FQSV0uM9YwzzujL4aLNRyOUCSaYwFuTi252S5FpLOtGgt58801H2VIbeT4AWLCJ18Y9rHv37tlHp6W73NNPP+1dm7/88ktvSV9hhRWS2neeiaWfGGKs42iGwxh0+l0Eu7zZiEX+tttucygh5p9/fk9oaXMoRep/77333AMPPOCVDLjAPvzww75dq6++uh+rWCDPjOVzzz3nN3PME/MoKEKmaS+x1uuuu65j8zB48GCHJ8Haa6/tJp54Yv+4v//+29f/xhtv+HmHN0Qs1MO8hPSi3GHeER9fRL7//nt36623uuHDh/uEaShumPcksENef/1173IMxmuttZZX1jA3Y3wpy7yxmHF7NmUXXHBB/0/CDJjTCIm10Nab0HbCEr766iuPIWEOYcw5OIE3wvyde+65/Xv27LPPNtWxwAILNJunjN2dd97pdtppJ48Ndayxxhplk/oVmSvlcLNG8Q6hdGOMBw4c6F599dUsXnUzPz6l3sERI0a4e++9N9sYb9tiGOkLoSDgwXxgXsSS906w/qAMPOOMM/wthHrQFsY9HI/U3GHDyxzl2axZK664YnKeMcaUee211/w8po2pRGpF3jcIAe9kKPSXxIyEVjB3TZZffvkmUlVkDUNpimWe+9gYM3eZoz169PCuoLFUMya09ZFHHvF4Lb744n5t5d/MZdbNVAwm8xu8GW/6TP6LlLdLkfkQ9qUImYYELrvsUn5NveyyPtma1Nw76ssvv3DLLdcje1+/9GQaUm3CHLOEnXhAjBjxuXcNL+VqzHjx3pEnoKgYmQ5JUepekg3xX5hE1MpZIlFb76xsXhusjlTST7uHuuL67L64LXxneI9RaNk9qWeD9yijjNoUZsPzw+cYmT777PPcpptu1qyKI444NBvDS92+++7vDjnksBbV841hrk099dRl3afLlc0jpaXGINVfvp/TTjuld8t+8MFHik6JpnInnni8O+ecs93551+Yhck136f16XO5O/TQg7N18BC3//4H+nvidn/xxYjsXRsrmfckxj7u2+eff+bHplu3yf13nX5Aph9++DH/rNQ8rLiDuqFqBESmq4ZQFdQKgXom02CEJY7YaAQyigs1m06IFe7XoZCQjPjpVVdd1ScNeuaZZzxhhOQZEWUzCglYbrnlPBGnjiuuuMKXYbMdytJLL+03d3y8iiy+pcj0kksu6duDsKlj45a3kWfDSHZvNkH0EwLC5viUU07xm3CT/fbbz5111llNVvCTTjrJQTAg1/TRZKONNvIEkaRt7777rv//vvvu6+PMTYpglzdnGR/i3E888US/0dx///39xpiNfNH62awfeuihfiONMC7xeEBmjShThs0m7vdsAiFrkCS8FUz4iOZtHmkb/e/Tp48vDsYkhaNOE5LCQSa32WabZsnlrrvuOrf55ps3lYNoE5aAEoF5ctddd3mvhv79+7uVVx6pmc8TSB6kFeLAXL/55ps9udpjjz3ceeed529jrKiLtrHR5TnMa/COBSxIiGe/QaCoB7KCoKCirZA2MIZkMbf22WcfjwUxwmONNZZXVCG8G5ZpnjHid0giY3z66af7zTdlaSNCroAddtjBky/mhWGBpwbeGcgSSyzh52ieFJmL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yuq0Bq2ZdTqw6pYQaAUCWjNbAZpuEQKNhIDIdP2P9tln93H77LNd/XdUPRQCQqAQAloTSsMkfApNIxUSAg2DgNaEhhlqdVQIVI6AyHTlmHW1O/QR6GojpvYKgbZFQGuCyHTbzjDVLgTqCwGtmfU1nuqNEKgpAvVMpv/9998s3uXPZniNMcYYSfwoR/lQRhlllLpwjdZHoKavjCoTAl0egbw14Z9//nF//fVX4f515Br56aefugEDBri11lrLTTbZZE1t/vnnn91jjz2W5Yn4JQtv2bBwX8KCWjNbBZtuEgJ1i4DWhLodWnVMCFSPQD2T6W+++cZtscUW7r777msCql+/fm6TTTZpAdy+++7rrrjiCvfjjz/637p16+YOPfTQzD16n+pB7uAa9BHo4AHQ44VAJ0Mgb014+umn3f777++eeeaZQi1eZZVVPKHtCNl4443dTTfd5HbaaSd3ySWXuM8++8ztuOOO7p577vHNYZ1nvW+N5OHzxx9/uDyFbGueo3uEgBDoGghoH9U1xkmtFAIdgkA9k2kDlM3Vmmuu2YTvCy+84BZccMEWeI8YMcJNMcUUbrbZZnMvvviiG2eccTpkTGr90Eo+Ag899JDDOrXyyivXuhk1q++jjz5yL7/8crP6JpxwQj+m4447bs2eo4qEQL0iUG5N2HPPPd3555/vu8+asNBCC/m/8d5B4Ths2DC39957e6Xjo48+2iEwnXrqqe7ggw92l156qSfRyA8//OB23XVX17dv35qT6ddee80tueSSbvnll3e33357xX2mbXPPPbdfW1Hctrcwdp988on7/PPPvSV/yimnbGjFwG+//eZmnXVWt9xyy7lrr722vYdDz+tiCJRbM7tYd9RcISAEaolAI5Bp8PpP0NFpppnGk+VJJ520BZRLL720J2XnnXdeLWHu0Loq+QhMPvnk7tdff/Wb0s4qbJ533nnnZPMWXXRRt9566/lNNi6oEiEgBFoiUG5NCN+xjz/+2E099dQtKnn44YfdEUcc4QYNGtRhEBOeM/roozd7/oUXXuh23333mpNplAYQaZStb731VsV9/u6779xEE03k3dLvvPPOiu9v7Q2PPPKI6927t3vuueeaPK+srm222cavlXPMMUdrq++y9xEGgPK1I70ruix4DdjwcmtmA0KiLgsBIWAINBKZZhP09ttv+66vtNJK7t57720RE73++uu7eeaZxx133HF1M0kq+Qh0JTK9yy67uBVWWMFby4YPH+7jJM2lH7f9M888s27GUB0RArVEoNyacOWVV7rttht5AgDWzKmmmqrF43///XdvtV5jjTVq2bSq68Llm7WhLdy8UcJOO+20SUVsuYa3N5nGg+Cggw5yF198sUPJuPXWW7v555/fjT/++O755593zz77rLewozx94IEH3BJLLFGuC3X1u8h0XQ1nm3em3JrZ5g3QA4SAEOi8CDQSmb7//vvdKaec4tDUIwceeKDDVTCUjTbayLviHX300c2uv/vuuz42EBdjLNtLLbVU0lUc92M+0mxM3nnnHR97OP3007tlllmmqb4vv/zSb17++9//+usTTDBBiwmC5YONGxudeeed1y2yyCItyvTv398TyQ022KCZ5T0uWMlHoBSZxgpE/3GFT7nA4x6OBwD/8fcHH3zgqK+cu/yHH37oN+ujjTZaoRfFrGZ9+vRx2267bYtx6t69u/viiy/ciSee6OPeU4K1bZJJJnFjjz122WdW2r6yFaqAEOhgBMqtCeXI9KuvvurXgtVWW61ZT0gKBlHD+so6h9WahGaE2VisMesjVl7IHutfyupN7Db3UgdWU5RmkNhYXn/9dcfazPNM8sg0icmuv/56TygXX3zxkiNQKkGbrXFFhhCXaiznrDVFyHTRdQlMwXq66abLbcb222/vWCOPP/54d8ghhyTXV+pgDPluoYhcddVVk/URAoUVd7zxxmv2O98f/kt5AYXfg/AmxoH6aHtqzec+qw8PKeZJOEd4Hu1m7Z544olbtDe8n+8nYzDDDDO0+EaWI9NFMC41B77++mv/HQyT46XK//333/5dYn6POuqoLYqEGPM331XCK8LvKn2hn+w1UnUUmasqUxqBcmum8BMCQqCBEWgkMs0GDqszbtxsWpA4IVmKTN9yyy2esO6xxx6eRJ9zzjmeJIf3co2NC5uSvfbay28Gzj777KaZhWUASzixiDfccEPT9fnmm8899dRTTZsUEtwccMAB7rbbbnM9evTwz3nvvfd8VtprrrnGjTXWWP5eXPYWW2wx/zdlSm0OK/kIpMg0H3rcJu+6666mdhNDSXtQPCDgyWYA6wdxaCgtLJkbmGIdwcXRhE0OG7xbb73V34u1hFjC0047zc0444wl38hSZJobUULQPpQetN2EDQcu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JtTBIOZ0QWNbv2OrntUHAu1NpkFN60J9zB31og4REJnuGoOqRbRrjJNaKQTaCwGtCe2FdPs/R2Pb/pjriUKgEgREpitBS2WFQJ0jIDLdNQZYm6uuMU5qpRBoLwS0JrQX0u3/HI1t+2OuJwqBShAQma4ELZUVAnWOQKOS6V9++cW99dZb7u+//3bTTz+9m2yyyfxIf/XVV+777793M888s//3p59+6gYMGODWWmutpjIdMSW0ueoI1PVMIdB5EWirNYE1kf+KCgkR//nnH/9fLP/JPjCjjjqq++uvv5LVce8oo4xS9FG55b755hv3zjvvuLHGGsvNOOOMbvzxx/dlhw0b5iaddFI30UQTVf0Mq+Drr7929913n+vVq5cbe+yxa1ZvWFFbjW2bNFaVCoEGRKASMv3eex+64cM/zNam6dxMM01XGK0wZpqbtC4Uhk4FhUD7ItBIZPqPP/5wJ598srv++uvd22+/7YFm0/Xjjz/6/6+88srulVdecRtvvLE77rjj/O/8fdNNN7mddtrJXXLJJe07OMHTtIh2GPR6sBDolAi01Zpw+OGHuxNPPLFwny+//HL3ySefNFtXbW1dccUV3RFHHOH22msv99RTTyXrnGmmmdxiiy3mdt55Z7fccssVfu4XX3zhDj74YHfvvfc6/g5lmmmm8XXdcccd7tZbb3W0o1qBQPfu3bupH999952bcMIJq602eX9bjW2bNFaVCoEGRKAomYZIP/PMC00ILbHEQoUJtch0A04sdblrItAoZPqNN95wW2yxhXvhhRfcXHPN5S6++OLsWJmF3TjjjOPef/9916dPH3f88cf7Qdx3333dmWee6f8+9dRT/Ybt0ksvdTvuuGOzQYac//77701WkLacAeU2VygBnn/+effyyy+7ySef3Pete/fuvn+dTZ5++mmvpDj00EPdbrvt1tmap/YIgS6BQLk1obWd2HLLLd11113nieNqq63mpp12Wm9dNnnppZdcz549/T+XWGIJ98QTT/hTBv7991+/5jzzzDP+tw8//NDfa4JC8rLLLvP/fPDBB/1vb775prvhhhv8f/HaW6r9d999t9tss828InSjjTbyhH3OOef0t1DnYYcd5u666y7/79tvv92ts846rYWj6T7W+kGDBjX1/eeff26z9bXc2PJscEZBgdV/vvnmc2uvvbYbY4wxkv386aef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W3n++VdsgZtjbF531U29lM4XARGo4ATWri2029i9bouFHV/BR6LuhxHQ8173hQiUbwKZFtN65pfv+0G9y3ECEtMV4wb44ovptgjOMrsNTFsJ6ooxZeqlCJQJAV6qJkz4zFaRrmdat25eJm3oopuXgJ73m5e/WheB8kRAz/zyNBvqiwiEEJCYrji3xeeff2X3FP0hur1Cxem5eioCIlBaBLbeekuz2267SEiXFtByeh0978vpxKhbIpBhAnrmZxi4mhOBdAlITKdLTMeLgAiIgAiIgAiIgAiIgAiIgAjkPAGJ6Zy/BQRABERABERABERABERABERABEQgXQIS0+kS0/EiIAIiIAIiIAIiIAIiIAIiIAI5T0BiOudvAQEQAREQAREQAREQAREQAREQARFIl4DEdLrEdLwIiIAIiIAIiIAIiIAIiIAIiEDOE5CYzvlbQABEQAREQAREQAREQAREQAREQATSJSAxnS4xHS8CIiACIiACIiACIiACIiACIpDzBCSmc/4WEAAREAEREAEREAEREAEREAEREIF0CeSCmF68ypgrXzfmla+N4ed0LL+mMZ2aGzOwozH8HLTCwkKzfv360MtVr149aTM//PCD+fLLL80JJ5yQTnd0bIDAd999ZyZPnmxOPvnkEnPRPJQY3WY5kT+3zz5bZ1auLDIHH1x1s/RhUxtNNIbJk9eZmTPXmZNOqm6KeXy4LhQUGDNs2BrTpk0V07x5lU3tls4XAREQAREQAREQARFIl0AuiOlzXjbm6cnpkok9/uzWxjzVOfZ3I0aMMPfcc4+ZMGFCzAf/+te/zN1332323HPPjRodPHiw6devn5k1a5b7HEEtS48AbB977DHHcK+99jKff/55ehewR2se0ka2WU+w61ama9cVTjwuW2bMNdfUNLffXmuz9indxpONAYGdn7/Ije355+uY005LvhhH2//732rTrVuB+fvfK5lffslPtzs6XgREQAREQAREQAREYFMJ5IKYzu9rzJLVm0YKr/SiG8Ov0bt3b3Pbbbe5D1944QXz73//O2Fjy5cvNw8++KC5/vrrJaZLOCUF1iV3//33O4b//Oc/zccff5zSlRYsWGC23HJLd+zmmIc1a4xZbe/DunVT6q4OiiOwYEGROffcFWbUqLXmxhtrmr59K5aYZjjJxtChw3IzfvxaM3ZsPbtIFOtpXry4yN43lUyVwK/Hji007dsvM2eeWd0880wd3S8iIAIiIAIiIAIiIAKZJpALYrpS7/SpNrGOnh3sf+N+2nBuUf/w6wwdOjQqoKdOnWpatmyZtMGJEyc6ESjPdPrz4s949913DREABx54oPnggw+KvdCwYcPMuHHjzAMPPBA9NtPzcPnlBTY0uZoN461WbH91QDiBm25aaUX0KnPLLbVMnz5xeRcVBFqyMaxda0y1uNtjlU1N2X//peb11+uabbapFDPKsOMrCAZ1UwREQAREQAREQAQqPgGJ6Y3nEC/0jz0jOdLtBxkz9sfIMYnENOHeJ554ojtmxowZZrfddkt6Y3z66aemXbt2EtOb8Ofz3nvvmcMPP9wccsghZsyYMUmv9M0337g5ueyyy2LEdCbnYciQNTZ0d4V5+eU8ielNmPebb15phfQq55XGO10RLd0xXHJJgfnvf1eb33/P30hMV8Txq88iIAIiIAIiIAIikDUEJKY3nsoplxrTqnHk9ycMtoXLZpStmJ4/f7558803bQjwanPooYeaHXfccaNOffTRRy6c+c8//3TC8LDDDjPbbbedO+7rr7/eKPe6Q4cOpn79+jaX8hcbOjo+ej1C0Cv9NemEOpNvjNhs1KiR9ZoebBo0aJDSvT1t2jRDAbBOnTo5z/BXX31lunTpEj0/lWtTwG3UqFFm+vTpZo2Ngcajf/TRR5u8vLyN+gAj307z5s1tuGsVt4BRnJiGTfv27c0ff/xhjj32WHPJJZeYevXqmf3228/Ei+lU5mHu3Lm2ANZn5rfffjNNmzZ1zKrFuxLjev/yy2ttkbTl7rfXX1/TetOr2jmuYnbdtXL0yG++WW+LqRXawlrGcqhi2rbduKDUtGnrLPP1lnk1y6LQMl9nmVe3zCvZsHVjRo9eYz+rbvBWTppUaH76ab057rhqZostIt7MdeuMHXOhXfBZ765PO/H2xx9FZsSINfZ6RaZVq6qmdm1jWRVf6GvJkiIzfPha8+OP60ytWpVsUayqNnKgqr3XNrRQVBQpHvbLL+vt3FVz/3/rrbWmZs1KpmPHam4c8cZ4x48vtLzXm332qWqjC9aaW29NT0xPn77O3ufr7N/Oevv3Vc2Oq4qpvAF9zBxMnVpo5s8vsn9jVVyodf36sX0qyzGQN8285uVVcvPDv3v1WmnrMkSqJpJLDSPYNmwY6de8eUXmjTfW2vD3jXOsuadKezz0acKEQruAVWjv4cr2b6CyadKkivnb3zaeu5QeJDpIBERABERABERABCoyAYnp2Nl76iRjzt4r8rsvfzfmEOuZ9hXAS9szjShE4N1xxx0xnUCotmjRIvq7q666ygwcONA8/PDD7ncDBgwwS5YsceJ6jz32MD///LPzuiJMMa7Hv2vVqmUWLlxoX8h7mccff9zcdddd5j//+Y8T0whJxGirVq2ssKjszq1rk3lffvllc8QRRyS8penD008/7c6nijbClGtjN9xwgyuulsq1WTggRJu+P/TQQ64qN+Pae++9DV5n+uLtww8/tGKro1toOOqoo6x4eCM61uLE9JVXXunG9Ouvv9pCTX934yW8nhx3L6ZTnYennnrKXH755a4PLFJ88skn7lpEJuy0006hzBC5Xbost3mwa11xKQRa48aVzRlnVLepAdXtIoIxV19d4ATsQQdVs9csND/8sN6yrWbzYPOs0DR23ldb5qttf9e539erV8kytydau+iiiHh+4onIv0ePznOFun791SrXv+yFF+o4UXjOOSvsosKG3w8eXMecfvoGEfbQQ6vt/K20bGqZGjUq2XulwGy1VSW72FE/6SMOwbvXXkvs3FW1911N89JLa6zwW2MuvbSGrQ9g1bi1gQNXmXvvXeX6deSRVZ0wJlzbW/Pmle346jvx7o1xX3ppgbnqqppWsFU2gwattuLQrghY69evlr3fknumWZhgDKNGrbHzVtOQd3zbbavswhH3fz2z/fYRRc28XHHFCseQ/GPE/ZAhkSILjz9exzKPMCqrMfz2W5GNmFhlnnpqtZufhx6qbbp3r+Hm+8YbC+yCg62+Zo3FierVK7nCazNmrDNPPrnGzredfGtFRRsWwcpqPEuXFtnnzRK7gFXNnHpqdfPKK2vcfThiRJ5b4JGJgAiIgAiIgAiIQM4RyEUxTfh22BZZ51gR/aQV09jPi435x4Oxx5W2mKadI4880r4w3+gKY1144YUG4ditWzcb1vlf1w8E27777htTaOull14yp5xyiq1ofI19sb7dHUdxLTzay+yb9DPPPGNFwZnRe/nee++1L76vRHOLEbBNmjSxL+NPWoF1jjvuvvvuMwhPRCye6saN/3LNx/1F0D/EOf3C8EYj6BHY9IXq2qlcG2HPdbwA51rdu3c3jzzyiBPLeKgxwuYRuyeddJJ58cUXnfDHLrjgAifiEdiI72RGoTKEOgsJVAL35sV0KvOAIGfxwC90sCVa586dnZDef//9HVvft7C+tGu31ImjV1/NswsoG4THZZcVmPffX2s++qieE7yLFhVZgb7EiU7EIqLxww8LLasCyzwiJPFG77FHFSewe/Wq5bys5523wn1GZeennspznk08mv36RQRrs2aVrbCtY++jKlasrTa9e690onLevEgVaATYttsuMj16RNrEEPann77CfP99cjFN4SxE3Vtv1bULMREvdtOmS9yiwOLF+W5cc+YU2RzngugiwCmnVHdh2nPnFtk2ljsRiehngQF76qk1rtgYYhxRjpE73KrVElvFfb31TteyY0gupgmrh+3UqfXN1ltHPKe+r9261bB/YxHlfswxy20+8lrr9a5rFzQi/Yf5QQdZKNbeeCPP3o/VymwMePW//Xa948DYvJj281Kv3iLXjwUL8qNRBl9+uc68885a07OnXTGwFhTTZTWeO+9cZZ85K+290sB6z2nT2EWu5c4r7hccXGdkIiACIiACIiACIpArBHJNTCOkJ9sw7hOeM2aK9Tx7+4fVjvweW2Jf2vFIBz93L6wJCpCVNGca4Uposd+TGs/nueee68SZD832go/9qIcPH+765wU2QpzwcG+33nqrE+bxFa4RuzfffHN0P+azzjrLPPvssy5UmXBpjJ/btGnjfg6K7LC/AyppX3HFFU54z5s3z3nAvaV6bbzReM/5PyIau/POO6MLBCwUYMcdd5zzQjP24J7cFBRDzKYjpnv27Ona8ObZFjcPeNF33nlns/vuuztu3ugTYePYt99+645JZF5MjxqVZ8VbREwTbt28+RI7N7XsAkpEMGJ4qgcPXhMjdu+/f7VlXuAqgc+b18Ay39ASobdVqkQE19Sp9aLh23jF69aN/H7WrPpml10iCxF4aBs0sKtF1pYvb2Dq2ELQhJDvuedS5zl/5526UdHWqdNyuxCzcdh9cJwnnrjcLiqstSHo9V3YL3bUUcucR3XChLrRMPFXXllr53C59eJXtrzqR0OtEc2IZwqKUViMfjdtutgJbMQ+ot8bRdwefHB1sWL6/fcLbSrEshhhyjUQyUQKXHttLef9pTL4ccctt/dRVbsoE1tmnYUOFh5YoPjxx3xT1ersshwDCxd49BOJ6YUL82NC4f39w7i8mC6r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Xrc/2qq/Vc3vv0e2VJKVLwLbbNPQVeTeZZcmZu+9W5Wvzqk3IiACIiACIiACIiACIiACIpCMQDaK6ccff9Hu4dvMbptU127doqI45fUvgBp2CxcutlvtLLVbEn1nzjtvw17V5bXP6pcIiIAIiIAIiIAIiIAIiIAIOALZJqafeOJF065da9Oo0Zaa4QpEgOiBL76YZs49V4K6Ak2buioCIiACIiACIiACIiACuUsgm8T0xIlTDBt27bTT9rk7oRV45N9995OpVq2KQr4r8Byq6yIgAiIgAiIgAiIgAiKQMwSySUw/99xIs9deLRTaXUHv3vnzF5opU6abLl2Or6AjULdFQAREQAREQAREQAREQARyhkA2iemhQ18z7dvvlzNzl20DJYd67NiPzamnHpNtQ9N4REAEREAEREAEREAEREAEso1ANonp++57wno1O2XbFOXUeJ5//hVzxRXn5dSYNVgREAEREAEREAEREAEREIEKSEBiugJOWhZ3WWI6iydXQxMBERABERABERABERCBbCKQa2L6t99+M0OHvmDy8/PNdttFCpVVrlzZNGu2q/33dhtNbdeu55nPPvvUTJ48LZumPa2xnHHGaWbWrFlm0qTP0zqvJAdLTJeEms4RAREQAREQAREQAREQARHIOIFcE9PPPvu0ufrqq0I5/+1vfzODBj1p2rRpG/382GM7WBE50cybtyDjc1NeGvzXvw41U6d+mREGEtPlZdbVDxEQAREQAREQAREQAREQgaQEclVMH3zwIXZP40hu7s8//2xeeWW49T5Pdv9+990xpmXLPd3PEtPGSEzrISICIiACIiACIiACIiACIiACcQRyVUzfd9+D5rTTusTQ6NfvFvPQQw+Yiy662PTte2uxYnrFihVm/vw/zbbb/t1UrVo16b21cOFCs379erPVVlslPW7FiuWmoKDANGzYqET36qJFi9x5DRo0CD2fPhDWji1ZssQsWrTQNGmyY8yxy5cvM0uXLjONGzc2lewNUpyY/vXXX80222wTyoAK3fxHm7T9yy+zbd+2MPXq1QvtnzzTJZp2nSQCIiACIiACIiACIiACIpBpAhLTG4jPnDnTHHzw/qZ58z3MmDEfJBTTn346yfTqdbX5+uvp0ZM7dOhoEOj169ePmcJBgx5zOdqESWOEkl92WQ9z3nkXxBz3wQfjnJAfN26s+z19OP30M80FF3RN6Zb4v/971LzwwvPRPnE+iwUXXtgtev6IEcNNt25dTb9+t5m33nrTjB8fGaMPYZ88+Qtzxx0D7Njfd7/faquGdkwPmDvvvH2jMO+VK1ea/v37mtdff83MmTPH5OXlmUMOaW/69LnF7LDDDtE227VrY1h06Nu3n2O2fPlyc9ttd5jzz48dvz9BYjql6dZBIiACIiACIiACIiACIiACm5uAxPSGGfBies89W5l33okIyvgw759++tHss08kp/rMM882jRo1Mu+//64LET/ggIPMsGEjohd8/PFB5vrrr3Gi9IQTTjBr1qx14hNv9nXX9bZbQEVyt7/8coo54ojDnCDt1OlEJ8hHjBjmROo999xnzjjjzKS3CUL6xht7R9vh4BEjRrh2EM4XXniRO3/48GHm4osvdO3UrFnLHH744Vbcb2uuueY68/vvv9t/t3fnHHbY4aZ1673Mxx9/ZCZMGO+ORwR70Y2H+ZJLLrJtDHf55YjoGTO+Nm+88bpp2nRn+/+3XIE3rHXrlm4c2P77H2Bge/TRHSzDf4aOSWJ6cz8R1L4IiIAIiIAIiIAIiIAIiEBKBCSmN2Dq2/dm8/DDD1rB2d3cfHNf90G8mH7zzTfM6NFvmGOOOc6GPx/hjlm3bp1p2/YfTjR+++2PLoSZ0Oc2bVo5IfrBBx/ZUPBt3bFz5/5uRWVESE6bNsPUrl3b7LffPub7779zItQXP5s3b6459NBDnLj97rufTN26dUPn85dffnFtI9jfe2+MDbduHG3nsMMi4viLL6a69r2Y3mGHJua1196wCwFbR695+eXdrQd9iC3O1sv07HlN9PcUa6NoG+bF9KuvjjRUOccbT8G2KlWquM/vv3+g9Trfaq688j/m2muvd7/zYpqwecLnizOJ6eII6XMREAEREAEREAEREAEREIFyQSBXxTReZB9q/PPPPzmhSSg24nfUqDdcmDWWagGyq67qYZ57brALD+dcvLTnnnuWDXu+2XTvflnMXCO0ly5dYnbaqakLgW7evJk56qgO5umnn4057q677jB3332n60+7dvuE3i+jR79uzjnnLCf+WQQIGgsDLBA888xgc+SRR0fFNJ7oq666OuZYL+h/+21eTO7z4sWLza67NnXHejF90003mkcffSSmUBufk+u9447b2VD5Q8yLLw6LEdM//viLWzgoziSmiyOkz0VABERABERABERABERABMoFgVwV02Hw8dg++uhjZq+99op+HCamx4//0Hp2R5nPP//MeaPx/nrzYvr2228zAwfeY/OYX7Qe5sMSzvWHH44znTuf6D7Huxw0f90BA+7YKMfaH0eO87333h3aznvvvWu6dDk16m32nun773/I/Pvfp0WboujZTjvtYL3Irc2bb767UV+9d9mL6YMO2s988803Sfvsj+VcwtunT5+Z0v0uMZ0SJh0kAiIgAiIgAiIgAiIgAiKwuQnkqpgmRPvss891+AlT3nXX3aKh2ME5iRfTeJ/xQmN4t/fYYw+XH4yoxbyY9l7lwYNfiIaDh8312LFjzKmndnYf9ehxZcwhs2f/7EKxjzjiSNvWgaG3CsXB7rnnrqRimrBtwrdLS0y3b3+QK3TWrdslpkaNGjH9mjFjhtl9991trvgN7vcS05v7L1zti4AIiIAIiIAIiIAIiIAIlAmBXBXTYVtjhQGOF9N+mygvmv055BCTS+x/T7Xss8463RYau8EWGosVyeRDL1u2zIV5L1iwwLRosZvLP37yyWfSnmMf5n3TTbfYomCXxpxPdXC2+4oP8473THNSOmHeFDuj6Nn774+ziwktkvZZYjrtKdUJIiACIiACIiACIiACIiACFYGAxHTyWYoX0z7kecqUr9w+zNisWbPMgQfu6372Yprq2P/4RwuXg/3++x9Et4siLNwf6wuQ+Wu++urrMVWuKehFRW1ynKmuHWbBQmfjx38S7ZNvhyrckydPc1tyJfJMc90ePS41Q4a84HKpac+bzwXn3z5021+HPO/HH38ymmM9e/ZsW3isp82b3tFum3W7u4TEdEV4CqiPIiACIiACIiACIiACIiACaROQmE5PTPfufa2tYP2YDQvf1RUNW758mauCjWgNiml+Hjz4GfOf/1zpcqGPPfY4U7lyJTNy5EiXY927943m8suvcOewb/Uxxxztfu7c+RS7vVRTuyXVBLcPNMXM3n77PVOtWrWEHQ1uwUU72KhRr7p2gvnWycQ0VcZ99e/27Q+1W1jtaSZOnGg++eTjjbbGKiwsdNW8KbLGVlccv2rVKluA7VnHgQrfvh8S02n/SeoEERABERABERABERABERCBikAg18S0F7glDfOmYvV11/VyXlxv5CNTlfu//33YjB073uUMe3v66SdtPvNzbh9qDGGN99dXEvfHvf/+e65C9rhxY6Pnnn76GVZ09zFbbrllsbcSgnrIkOddRXIMkXvaaV1iCpexL3S3bl3NQw89Yk4++dSNrsl+1+R+U7gMw5s9cOAD5vbb+7v+e880n8Hh1ltvcduE+X2k2WOaRYKOHY+JXrtduzaOjQqQFTuFOkAEREAEREAEREAEREAERKAiEcg1MV1ac7NmzRrzxx9/mIYNG25UhCusjSVLlrj9qLfYYoukXVi5cqVZtGiRLTzWKGaLqlT7TTtY/fr1Uz1lo+Oo7o0AbtiwkakUf4OEXJUc8Bo1arpCbJtqqua9qQR1vgiIgAiIgAiIgAiIgAiIQEYIZJOYHjJklA053i8lAZgRuGokLQJFRUU25/wju23XsWmdp4NFQAREQAREQAREQAREQAREIOMEsklMP//8SFvwqoUNi26QcY5qcNMJzJ+/0Hz55dc2PD2S9y0TAREQAREQAREQAREQAREQgXJLIJvE9KRJX5rCwnVm552blFve6lhiAt9996MrtLb33nsKkwiIgAiIgAiIgAiIgAiIgAiUbwLZJKYh/cQTL5k2bVraLaIalW/w6l0MgTlz5popU74255zTWWREQAREQAREQAREQAREQAREoPwTyDYx7QX17rs3tUW46rmQ71SKaJX/mcq+HpIjvWDBIrN48RK7V/cPVkifnH2D1IhEQAREQAREQAREQAREQASyk0A2imlmatKkKea77342VapUMb///kd2Tl4FH1Xjxg3N+vVFdl/tHUy7dq0q+GjUfREQAREQAREQAREQAREQgZwikK1iOqcmUYMVAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILAGJ6czyVmsiIAIiIAIiIAIiIAIiIAIiIAJZQEBiOgsmUUMQAREQAREQAREQAREQAREQARHILIHNIqYzO0S1JgIiIAIiIAIiIAIiIAIiIAIiIAJlS6CoKKXrVyqyltKRHBSv2FM+UQeKgAiIgAiIgAiIgAiIgAiIgAiIQAUgkKJElpiuAHOpLoqACIiACIiACIiACIiACIiACGSIgMR0hkCrGREQAREQAREQAREQAREQAREQgewhUCZiOnvwaCQiIAIiIAIiIAIiIAIiIAIiIAIiUGIC6YV5l7gZnSgCIiACIiACIiACIiACIiACIiAC2UPg/wGqnTpVd92lDgAAAABJRU5ErkJggg==\n", "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": "2024-01-18T17:27:06.740494Z", "iopub.status.busy": "2024-01-18T17:27:06.740359Z", "iopub.status.idle": "2024-01-18T17:27:06.744934Z", "shell.execute_reply": "2024-01-18T17:27:06.744639Z" }, "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": "2024-01-18T17:27:06.746582Z", "iopub.status.busy": "2024-01-18T17:27:06.746448Z", "iopub.status.idle": "2024-01-18T17:27:06.765209Z", "shell.execute_reply": "2024-01-18T17:27:06.764936Z" }, "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": "2024-01-18T17:27:06.766926Z", "iopub.status.busy": "2024-01-18T17:27:06.766809Z", "iopub.status.idle": "2024-01-18T17:27:06.789797Z", "shell.execute_reply": "2024-01-18T17:27:06.789402Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "links[0].click()" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:06.792104Z", "iopub.status.busy": "2024-01-18T17:27:06.791969Z", "iopub.status.idle": "2024-01-18T17:27:06.794403Z", "shell.execute_reply": "2024-01-18T17:27:06.794152Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/html": [ "
127.0.0.1 - - [18/Jan/2024 18:27:06] \"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": "2024-01-18T17:27:06.795960Z", "iopub.status.busy": "2024-01-18T17:27:06.795743Z", "iopub.status.idle": "2024-01-18T17:27:06.807303Z", "shell.execute_reply": "2024-01-18T17:27:06.806886Z" }, "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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\n", "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": "2024-01-18T17:27:06.809248Z", "iopub.status.busy": "2024-01-18T17:27:06.809096Z", "iopub.status.idle": "2024-01-18T17:27:06.823958Z", "shell.execute_reply": "2024-01-18T17:27:06.823541Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.back()" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:06.826052Z", "iopub.status.busy": "2024-01-18T17:27:06.825915Z", "iopub.status.idle": "2024-01-18T17:27:06.827849Z", "shell.execute_reply": "2024-01-18T17:27:06.827523Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "print_httpd_messages()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:06.829333Z", "iopub.status.busy": "2024-01-18T17:27:06.829184Z", "iopub.status.idle": "2024-01-18T17:27:06.851489Z", "shell.execute_reply": "2024-01-18T17:27:06.851194Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBbgcNduG8+HOhxV3d7cCheJuxd3d3b24uxZvkeJWHIoUSoHiUqA4FHeXf+70e8+fk5PZnT27x3af97q4OJ3NZJInmUye1/KffzNxEiEgBISAEBACQkAICAEhIASEgBAQAkKgMAL/EZkujJUKCgEhIASEgBAQAkJACAgBISAEhIAQ8AiITGsiCAEhIASEgBAQAkJACAgBISAEhIAQqBABkekKAVNxISAEhIAQEAJCQAgIASEgBISAEBACItOaA0JACAgBISAEhIAQEAJCQAgIASEgBCpEQGS6QsBUXAgIASEgBISAEBACQkAICAEhIASEgMi05oAQEAJCQAgIASEgBISAEBACQkAICIEKERCZrhAwFRcCQkAICAEhIASEgBAQAkJACAgBISAyrTkgBISAEBACQkAICAEhIASEgBAQAkKgQgREpisETMWFgBAQAkJACAgBISAEhIAQEAJCQAiITGsOCAEhIASEgBAQAkJACAgBISAEhIAQqBCBysj0f/5TYfUqLgSEgBAQAkJACAgBISAEhIAQEAJCoAsh8O+/hRorMl0IJhUSAkJACAgBISAEhIAQEAJCQAgIgYZAQGS6IYZZnRQCQkAICAEhIASEgBAQAkJACAiBWiIgMl1LNFWXEBACQkAICAEhIASEgBAQAkJACDQEAu1Cpgs+pCEAVyeFgBAQAkJACAgBISAEhIAQEAJCoOshEOcGK8hzq4uZLviQroemWiwEhIAQEAJCQAgIASEgBISAEBACDYGAyHRDDLM6KQSEgBAQAkJACAgBISAEhIAQEAK1REBkupZoqi4hIASEgBAQAkJACAgBISAEhIAQaAgERKYbYpjVSSEgBISAEBACQkAICAEhIASEgBCoJQIi07VEU3UJASEgBISAEBACQkAICAEhIASEQEMgIDLdEMOsTgoBISAEhIAQEAJCQAgIASEgBIRALREQma4lmqpLCAgBISAEhIAQEAJCQAgIASEgBBoCAZHphhhmdVIICAEhIASEgBAQAkJACAgBISAEaomAyHQt0VRdQkAICAEhIASEgBAQAkJACAgBIdAQCIhMN8Qwq5NCQAgIASEgBISAEBACQkAICAEhUEsERKZriabqEgJCQAgIASEgBISAEBACQkAICIGGQEBkuiGGWZ0UAkJACAgBISAEhIAQEAJCQAgIgVoiIDJdSzRVlxAQAkJACAgBISAEhIAQEAJCQAg0BAIi0w0xzOqkEBACQkAICAEhIASEgBAQAkJACNQSAZHpWqKpuoSAEBACQkAICAEhIASEgBAQAkKgIRAQmW6IYVYnhYAQEAJCQAgIASEgBISAEBACQqCWCIhM1xJN1SUEhIAQEAJCQAgIASEgBISAEBACDYGAyHRDDLM6KQSEgBAQAkJACAgBISAEhIAQEAK1REBkupZoqi4hIASEgBAQAkJACAgBISAEhIAQaAgERKYbYpjVSSEgBISAEBACQkAICAEhIASEgBCoJQIi07VEU3UJASEgBISAEBACQkAICAEhIASEQEMgIDLdEMOsTgoBISAEhIAQEAJCQAgIASEgBIRALREQma4lmqpLCAgBISAEhIAQEAJCQAgIASEgBBoCgXoj03///bf7999/azJ2o446qvtPDFBNau6YSr799lt38803u8knn9ytscYabrTRRuuYhpR56j///OP4LyWdtc2lulRqTrZHfz7//HP3xhtv+P8++OADN9VUU7nZZpvNzTrrrG6GGWbw8+Drr792Bx98sNthhx3cEkss0SnnRWdu1DvvvONefvll99VXX7lffvnFr0GTTTaZm2666dxiiy3mxhprrA5tfrl1sT3mYbUAlOtDJfXX29peSd9VVggIASEgBISAEKghAvVEpj/77DNPFGolL7zwgltwwQVrVV2H1vPUU0+5pZdeuqkN00wzjXvrrbfcOOOM06HtSj18//33d2eeeWayXUOHDnXzzz9/p2tzqQZtu+227qqrrkoW+euvvxwb+7aQ33//3R199NHulFNOaap+/PHHdz/++GOzf6+zzjqeZD/xxBOub9++btNNN22L5tRdnd9//70799xz/di+9957JfvXq1cvr6xYdNFFOwSHtdde2911113JZ88000zu3Xff7ZB2FX2o1vaiSKmcEBACQkAICAEh0K4I1BOZ/u2339yTTz7pnn/+eXfIIYfk4rj11lu7GWec0bEZZpP2ySefeCIRSz2R6Y022shbpUO55ppr3JZbbtmu863Iw15//XVPpq+44ooWxZ955hm3+OKLF6mm05R58cUX3eGHH+7uu+++Fm1qKzKNpXnllVd2zGGEOX/SSSe5Kaec0ltOsaIedNBBLea9yHSxaXPddde53XbbrZliYosttnB77723X1tQVD300ENemREK7+Ell1zi/vvf/xZ7UI1KYTl/88033amnntpizLsCmdbaXqOJoGqEgBAQAkJACAiB2iJQT2Q6RObSSy91O++8cwuwllpqKU+4Y/n444/dBRdc4E4++eSmn+qJTGPNhUCFcuCBB/rNdWcUNs9jjz12i6YNGjSoS7ohv/baa26eeeZpNzIN0bvooov881ZaaSU3YMAAN8ooozR7PkQesnfiiSc2XReZLv02EH6AYiRcJ7iD9WbHHXdscfPAgQPdsssu2+w6LvZ33323d7Nvb3nkkUfcCius0OyxXYFMa21v75mi5wkBISAEhIAQEAKFEKhXMo01cKGFFmqBwZ577uldM/PkuOOOa7Im1ROZZvN/6KGHNut2Z3eZnnvuuR1W6lC6KpnOUw60hWU6nvtXXnml22abbXLn/AYbbOBuueUW/7vIdOll89hjj3XHHHNMs0Lbbbdd0ovCCt12221u/fXXb3YPYRasL8RVt6ek1sWuRqa1trfnjNGzhIAQEAJCQAgIgZII1CuZxqVxzjnnrJhMQ24WXnhhb8WtJzJN8jHcfC+++GK/gccqvcsuu3TqtyNlTe+Kbt6A3J5kOlacYKEuNda4hOOaTCx1v3793CabbNKp50VHNe6ee+5xa665ZovHs9bMPvvsJZvF72+//XazMssss4x77LHHWngMtGX/XnrpJbfAAgs0e0RXI9Na29tyhqhuISAEhIAQEAJCoCIERKadu/HGG92kk07a5P6I6zPJguqJTNuk+PPPP33Cq9jlt6JJ006FRaZbB/TGG2/sbrrppqab55tvPvfss8+WzCiNuzdeGbJMpzHnvZljjjlaJBpbfvnl3cMPP1x2oGxNiQsyThtuuGHZ+2tVoNHIdCOt7bWaI6pHCAgBISAEhIAQqACBRifTxECSDGjXXXdtynqMazEuxsS5zjXXXBWgWf9FsXB/8cUX/sifVExzHgJY/IlLJ8N0t27d3EQTTVQWrHJk+ptvvnG0B6tqpcoB2oGlkLGfdtppy7YlVYAEdmRxnn766d3EE09cso72tEz36NGjRZIpjrsi63SeBZVszrPMMkunINOMKcd5Mb84xq2SeWaDQB0kF5xgggl8HaOPPnqrxthuuvbaa91WW23Vog7cvo866qiydQ8fPtxhAY6FayQHK3oEH0du0S/mL/O+nHz66ae+iJ1y0FoyzXM/+ugj98cff/h3f4wxxij36Nzff/31V589nnpac5pAUct0a9d2juBivFizeCeqPTaMej788ENHJv3WuPUz3qw1U089ta8jJT/88INfX0kwWGRtbfXg6UYhIASEgBAQAkKgOQKNTqYt/o7MxuERQmxg2JhgrSNZUCxsJnHRZKPFJpsNXkqIV4WYI2T4rTR7NscU7bvvvq2+l2RHbPhTAgnAbRXiwfFIEL5YaC+KBpKz3X777b7PJsstt5w755xzHJbPlOA2zH2XXXZZC4sem0KeOe+88za7ddVVV22qL0WmSaDEMV933nmne+655/y91AWBxL05leTLHgARYIzph2W5Du/H9T1OFhX3a8SIEe7II4/01sjwOCRiYHv27OmOP/54T65jKUemcV/fa6+9cpen/v37e/JRRLbffnvXp0+fZFHmEl4XEMxUG5nPRh6wcEMqUoLygKRmzM9SxyqdcMIJjo1+nOiOObnaaqs1VY3lHHf0q6++usXjUL4Ql0zcdyl3ajDkfSXBYHj8FxUyR9dbb71m5G288cbzGbmLyOqrr57Mxs48XGuttYpU4TFHERULISW8B5tvvrkbNmxYsv+sQfSPsbU8AuSEOP300/28C4W+H3bYYX6eQ7AQlILUT4b3+HiuUm7ejAtjFWO62WabeSVCOB6PP/64Dx9JCWV59hFHHOFOO+20piKsLWeffXZF5LwomS63tsftvOGGG3ym9XCNowxJK1njSTAXKj2+++4736eUsK7SZxRYvNc2H9dYYw134YUX+jWr1JrLswjJoY5wLjN25Pyws+A5hYJcGKyJJow16/KKK65YaF6qkBAQAkJACAgBIVAFAo1Optlg4toak2mDlORBHLMVxzvy+88//+w357gScuyUJXEKh4PN6GKLLeYvPf30035jFgr/xjqKxcg2vuHvEETIT2vvZfPGcT2Q0FgsMRVk54ADDvCkN5Z99tnHEwAwSgmbQkglbvKhsPFnoxluBNlEYzWB0MVkx+6FTJkFMEWmy011ztJNxbVi/YMAGAFHyQAuxAuHlkWIA0QkZY164IEHvDLECBFZsqmTzbeRQPDAislGOZRyZBpCCmHmSLCQcBFXC1kj5jnPKhVjcv755zsS7ZUSFAJs8uNxC+/Zb7/93FlnnZWs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CAEhIASqRkBkumoIVYEQEAJCQAgIASEgBISAEBACQkAINBoCItONNuLqrxAQAkJACAgBISAEhIAQEAJCQAhUjYDIdNUQqgIhIASEgBAQAkJACAgBISAEhIAQaDQERKYbbcTVXyEgBISAEBACQkAICAEhIASEgBCoGgGR6aohVAVCQAgIASEgBISAEBACQkAICAEh0GgIiEw32oirv0JACAgBISAEhIAQEAJCQAgIASFQNQIi01VDqAqEgBAQAkJACAgBISAEhIAQEAJCoNEQEJlutBFXf4WAEBACQkAICAEhIASEgBAQAkKgagREpquGUBUIASEgBISAEBACQkAICAEhIASEQKMhIDLdaCOu/goBISAEhIAQEAJCQAgIASEgBIRA1QiITFcNoSoQAkJACAgBISAEhIAQEAJCQAgIgUZDQGS60UZc/RUCQkAICAEhIASEgBAQAkJACAiBqhEQma4aQlUgBISAEBACQkAICAEhIASEgBAQAo2GgMh0o424+isEhIAQEAJCQAgIASEgBISAEBACVSMgMl01hKpACAgBISAEhIAQEAJCQAgIASEgBBoNAZHpRhtx9VcICAEhIASEgBAQAkJACAgBISAEqkZAZLpqCFWBEBACQkAICAEhIASEgBAQAkJACDQaAiLTjTbi6q8QEAJCQAjUCwKDB7/khg0b7kYbbTT32Wdf1Eu31A8hIASEQBMCU0wxmfvnn3/crLPO4BZddH4hIwQ6FwIi051rPNQaISAEhIAQEAJFELjiipvcPPPM5iaYYHw3ySQTFblFZYSAEBACXQ6Bf//9133zzXfuu+9+cG+88Y7bbrsNu1wf1OA6RkBkuo4HV10TAkJACAiBukSgT5+b3GKLLei6dZukLvunTgkBISAEUgjggfPCC6+4bbcVodYM6SQIiEx3koFQM4SAEBACQkAIFEDg2WeHusxQ42aaaboCpVVECAgBIVBfCLzzzvtu9NFHlct3fQ1r1+2NyHTXHTu1XAgIASEgBBoPgeuvv8MttNA8cu1uvKFXj4WAEMgQ+Oqrb9zQoa+5zTZbR3gIgY5HoN7I9B9//JEEleQso4wyStNvf/75Z6bZz1T7gYwxxhg1HZDPP//c/fjjj1nChFlL1vvXX3/5xAqx/CcbnNFHHz333p9//tk99thj7pdffnEbbih3l1oN3tdff+3uu+8+16tXLzf22GPXqlrVU4cI5L2DvJO33HKLW3jhhd1cc81Vhz3vel2qpzG58ca7Xc+e3bveIKjFQkAICIEaIMD+/bHHBrmNN16zBrWpCiFQJQL1RKa//fZbN8ccc7gvvmie0XSVVVZxp556qptvvvma0Dr44IPdVVdd1VS2W7du7tFHH63ZxpeN2xRTTOHJ9CuvvJIliZknd6SOPvpod/HFF7dot92wzDLLOPqw2267uYkmmijL2PqZ23HHHd0999zji2yyySauX79+Vc4E3Q6B7t27t3vqqac8GN99952bcMIJBYwQaIFAuXfwkksucbvssoubZppp3EcffSQEOwEC9TQmZ5/dJ7PIrNsJUK3/JqDo5j8U8pL6QACjS62NJ/WBTNfqRd++t7t99tmuazVara1PBOqJTDNCLJLHH3+8O+GEE/yAjT/++FkGwG+SH8Lzzz/f7bnnnm6vvfZyZ555pht11FFrNsgvvvhi5oa3kK/vpptuKms5/uCDD9wMM8zgy6+22mrusssuc1x7+eWX3UEHHeRJOX154YUX3CyzzOJ++OEHt+uuu7q+ffuKTNdo1H7//Xc3aNCgzOLT09eI1XGcccapUe2doxqs7pNMooRFtRiNUu8gHiPMoy233NJdc801tXhcsg4UPqwLtVy72qyxHVxxe41Je3SzUjI90tvm3uyb8r779ddf3NRTT+OWWmrpTMHcsUfMvPLKyw4PrjzhWzfjjDO1B6TJZ+DBtsIKy7qvv/4mU7I+4/773/+2WVs++eQTd+ON/fwzpp32/2Ph+Rsc2ovM77jjdm7IkOfciy++UlFfMWZwXxFZfvkVCq9Zn376qXv++SGZUeJl713InF100UXdZJN1a/aoou0eNuxtt+qqK7kll+zurrtORogi49VZy4hMd9aRacB21RuZZgjRIq+//vrujjvu8CN69tlnu7333rvZ6EKUsGLPO++87u67727mAl6LafDWW2/5+pHbb7/drbNO+biOySef3FunIckXXnhhUzPef/99b1WHUPP/l156yf9Gmd13311kuhYD9r868CgYd9xx/b9+++03N+aYY9aw9o6tCrfjxx9/3J177rkd25A6enqpd5CNeKkwjWphYH4utdRS3kMFLxhJeQTaekzKt6A2JSoh07fccnPm1bRL8sFrrrmWu+SSy9uNqMWN2GWXHd1tt92aC8oxxxyXfQ93rw1orajl559/ypK8Te/vHDJkaEZyp21FLcVuufbaq90BB+yXW/iCCy5yG2ywUbHKqii11lqru8GDn3UjRnxdUS3PPTfYrbnmaoXuGT78o0KK6jvvvCPzwmtpeRxvvPHcpZdekSk6Vmx6XtF2P/PMoGw/tqabfvoZsn4+X7a97CdPP/3UjLxPlmWP3r5seRVoPwREptsPaz2pDAL1SKbpcuzy/fbbbzeLXcbai2v1O++8kx0t0lzDWYtJ89NPP3mL0ciP8BAfO1lOZp99dkc7cee+4IILmhXfaqut3LXXXuuvoamdcsops03QSFdSuXmXQ7b477/++mvTRx4vh7YkQ8VbVX1JU+7giSEyXT2eVkNHvoOsExdddJEP+xCZrt2YdoWaipLpJ54YmBGw9XyXdt55V7fsssu5SSed1D355BPu+uuvc++++47beuttszCo0zuk20ame/c+2aFMjgWF9KyzztYhbbOHfvzxx5li9dfMOlw690m1jTQy3bPn8k2kDY+Chx9+MFP43+Wrv/POe9ziiy9R7aNK3l+UlMaV4Knz+OOPNV1GcbXrrju5qaaayh13XO9mxVdbbfWyCpznn3/erb76yv6+U045LbMkL5UZSv7O8Hgo8z481l8fNGhwpuyY2f9dSbuxck855VT+XSgn5LSZeurJsxDAubNQwIHliuv3dkRAZLodwdajSiNQr2SaXj/00ENupZVW8gBgwcEqhzski/Qiiyzibrjhhix5wcbNAMLlDPKLy9XMM8+cbT6WbUGo0FQSV0uM9YwzzujL4aLNRyOUCSaYwFuTi252S5FpLOtGgt58801H2VIbeT4AWLCJ18Y9rHv37tlHp6W73NNPP+1dm7/88ktvSV9hhRWS2neeiaWfGGKs42iGwxh0+l0Eu7zZiEX+tttucygh5p9/fk9oaXMoRep/77333AMPPOCVDLjAPvzww75dq6++uh+rWCDPjOVzzz3nN3PME/MoKEKmaS+x1uuuu65j8zB48GCHJ8Haa6/tJp54Yv+4v//+29f/xhtv+HmHN0Qs1MO8hPSi3GHeER9fRL7//nt36623uuHDh/uEaShumPcksENef/1173IMxmuttZZX1jA3Y3wpy7yxmHF7NmUXXHBB/0/CDJjTCIm10Nab0HbCEr766iuPIWEOYcw5OIE3wvyde+65/Xv27LPPNtWxwAILNJunjN2dd97pdtppJ48Ndayxxhplk/oVmSvlcLNG8Q6hdGOMBw4c6F599dUsXnUzPz6l3sERI0a4e++9N9sYb9tiGOkLoSDgwXxgXsSS906w/qAMPOOMM/wthHrQFsY9HI/U3GHDyxzl2axZK664YnKeMcaUee211/w8po2pRGpF3jcIAe9kKPSXxIyEVjB3TZZffvkmUlVkDUNpimWe+9gYM3eZoz169PCuoLFUMya09ZFHHvF4Lb744n5t5d/MZdbNVAwm8xu8GW/6TP6LlLdLkfkQ9qUImYYELrvsUn5NveyyPtma1Nw76ssvv3DLLdcje1+/9GQaUm3CHLOEnXhAjBjxuXcNL+VqzHjx3pEnoKgYmQ5JUepekg3xX5hE1MpZIlFb76xsXhusjlTST7uHuuL67L64LXxneI9RaNk9qWeD9yijjNoUZsPzw+cYmT777PPcpptu1qyKI444NBvDS92+++7vDjnksBbV841hrk099dRl3afLlc0jpaXGINVfvp/TTjuld8t+8MFHik6JpnInnni8O+ecs93551+Yhck136f16XO5O/TQg7N18BC3//4H+nvidn/xxYjsXRsrmfckxj7u2+eff+bHplu3yf13nX5Aph9++DH/rNQ8rLiDuqFqBESmq4ZQFdQKgXom02CEJY7YaAQyigs1m06IFe7XoZCQjPjpVVdd1ScNeuaZZzxhhOQZEWUzCglYbrnlPBGnjiuuuMKXYbMdytJLL+03d3y8iiy+pcj0kksu6duDsKlj45a3kWfDSHZvNkH0EwLC5viUU07xm3CT/fbbz5111llNVvCTTjrJQTAg1/TRZKONNvIEkaRt7777rv//vvvu6+PMTYpglzdnGR/i3E888US/0dx///39xpiNfNH62awfeuihfiONMC7xeEBmjShThs0m7vdsAiFrkCS8FUz4iOZtHmkb/e/Tp48vDsYkhaNOE5LCQSa32WabZsnlrrvuOrf55ps3lYNoE5aAEoF5ctddd3mvhv79+7uVVx6pmc8TSB6kFeLAXL/55ps9udpjjz3ceeed529jrKiLtrHR5TnMa/COBSxIiGe/QaCoB7KCoKCirZA2MIZkMbf22WcfjwUxwmONNZZXVCG8G5ZpnjHid0giY3z66af7zTdlaSNCroAddtjBky/mhWGBpwbeGcgSSyzh52ieFJmL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yuq0Bq2ZdTqw6pYQaAUCWjNbAZpuEQKNhIDIdP2P9tln93H77LNd/XdUPRQCQqAQAloTSsMkfApNIxUSAg2DgNaEhhlqdVQIVI6AyHTlmHW1O/QR6GojpvYKgbZFQGuCyHTbzjDVLgTqCwGtmfU1nuqNEKgpAvVMpv/9998s3uXPZniNMcYYSfwoR/lQRhlllLpwjdZHoKavjCoTAl0egbw14Z9//nF//fVX4f515Br56aefugEDBri11lrLTTbZZE1t/vnnn91jjz2W5Yn4JQtv2bBwX8KCWjNbBZtuEgJ1i4DWhLodWnVMCFSPQD2T6W+++cZtscUW7r777msCql+/fm6TTTZpAdy+++7rrrjiCvfjjz/637p16+YOPfTQzD16n+pB7uAa9BHo4AHQ44VAJ0Mgb014+umn3f777++eeeaZQi1eZZVVPKHtCNl4443dTTfd5HbaaSd3ySWXuM8++8ztuOOO7p577vHNYZ1nvW+N5OHzxx9/uDyFbGueo3uEgBDoGghoH9U1xkmtFAIdgkA9k2kDlM3Vmmuu2YTvCy+84BZccMEWeI8YMcJNMcUUbrbZZnMvvviiG2eccTpkTGr90Eo+Ag899JDDOrXyyivXuhk1q++jjz5yL7/8crP6JpxwQj+m4447bs2eo4qEQL0iUG5N2HPPPd3555/vu8+asNBCC/m/8d5B4Ths2DC39957e6Xjo48+2iEwnXrqqe7ggw92l156qSfRyA8//OB23XVX17dv35qT6ddee80tueSSbvnll3e33357xX2mbXPPPbdfW1Hctrcwdp988on7/PPPvSV/yimnbGjFwG+//eZmnXVWt9xyy7lrr722vYdDz+tiCJRbM7tYd9RcISAEaolAI5Bp8PpP0NFpppnGk+VJJ520BZRLL720J2XnnXdeLWHu0Loq+QhMPvnk7tdff/Wb0s4qbJ533nnnZPMWXXRRt9566/lNNi6oEiEgBFoiUG5NCN+xjz/+2E099dQtKnn44YfdEUcc4QYNGtRhEBOeM/roozd7/oUXXuh23333mpNplAYQaZStb731VsV9/u6779xEE03k3dLvvPPOiu9v7Q2PPPKI6927t3vuueeaPK+srm222cavlXPMMUdrq++y9xEGgPK1I70ruix4DdjwcmtmA0KiLgsBIWAINBKZZhP09ttv+66vtNJK7t57720RE73++uu7eeaZxx133HF1M0kq+Qh0JTK9yy67uBVWWMFby4YPH+7jJM2lH7f9M888s27GUB0RArVEoNyacOWVV7rttht5AgDWzKmmmqrF43///XdvtV5jjTVq2bSq68Llm7WhLdy8UcJOO+20SUVsuYa3N5nGg+Cggw5yF198sUPJuPXWW7v555/fjT/++O755593zz77rLewozx94IEH3BJLLFGuC3X1u8h0XQ1nm3em3JrZ5g3QA4SAEOi8CDQSmb7//vvdKaec4tDUIwceeKDDVTCUjTbayLviHX300c2uv/vuuz42EBdjLNtLLbVU0lUc92M+0mxM3nnnHR97OP3007tlllmmqb4vv/zSb17++9//+usTTDBBiwmC5YONGxudeeed1y2yyCItyvTv398TyQ022KCZ5T0uWMlHoBSZxgpE/3GFT7nA4x6OBwD/8fcHH3zgqK+cu/yHH37oN+ujjTZaoRfFrGZ9+vRx2267bYtx6t69u/viiy/ciSee6OPeU4K1bZJJJnFjjz122WdW2r6yFaqAEOhgBMqtCeXI9KuvvurXgtVWW61ZT0gKBlHD+so6h9WahGaE2VisMesjVl7IHutfyupN7Db3UgdWU5RmkNhYXn/9dcfazPNM8sg0icmuv/56TygXX3zxkiNQKkGbrXFFhhCXaiznrDVFyHTRdQlMwXq66abLbcb222/vWCOPP/54d8ghhyTXV+pgDPluoYhcddVVk/URAoUVd7zxxmv2O98f/kt5AYXfg/AmxoH6aHtqzec+qw8PKeZJOEd4Hu1m7Z544olbtDe8n+8nYzDDDDO0+EaWI9NFMC41B77++mv/HQyT46XK//333/5dYn6POuqoLYqEGPM331XCK8LvKn2hn+w1UnUUmasqUxqBcmum8BMCQqCBEWgkMs0GDqszbtxsWpA4IVmKTN9yyy2esO6xxx6eRJ9zzjmeJIf3co2NC5uSvfbay28Gzj777KaZhWUASzixiDfccEPT9fnmm8899dRTTZsUEtwccMAB7rbbbnM9evTwz3nvvfd8VtprrrnGjTXWWP5eXPYWW2wx/zdlSm0OK/kIpMg0H3rcJu+6666mdhNDSXtQPCDgyWYA6wdxaCgtLJkbmGIdwcXRhE0OG7xbb73V34u1hFjC0047zc0444wl38hSZJobUULQPpQetN2EDQcu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JtTBIOZ0QWNbv2OrntUHAu1NpkFN60J9zB31og4REJnuGoOqRbRrjJNaKQTaCwGtCe2FdPs/R2Pb/pjriUKgEgREpitBS2WFQJ0jIDLdNQZYm6uuMU5qpRBoLwS0JrQX0u3/HI1t+2OuJwqBShAQma4ELZUVAnWOQKOS6V9++cW99dZb7u+//3bTTz+9m2yyyfxIf/XVV+777793M888s//3p59+6gYMGODWWmutpjIdMSW0ueoI1PVMIdB5EWirNYE1kf+KCgkR//nnH/9fLP/JPjCjjjqq++uvv5LVce8oo4xS9FG55b755hv3zjvvuLHGGsvNOOOMbvzxx/dlhw0b5iaddFI30UQTVf0Mq+Drr7929913n+vVq5cbe+yxa1ZvWFFbjW2bNFaVCoEGRKASMv3eex+64cM/zNam6dxMM01XGK0wZpqbtC4Uhk4FhUD7ItBIZPqPP/5wJ598srv++uvd22+/7YFm0/Xjjz/6/6+88srulVdecRtvvLE77rjj/O/8fdNNN7mddtrJXXLJJe07OMHTtIh2GPR6sBDolAi01Zpw+OGHuxNPPLFwny+//HL3ySefNFtXbW1dccUV3RFHHOH22msv99RTTyXrnGmmmdxiiy3mdt55Z7fccssVfu4XX3zhDj74YHfvvfc6/g5lmmmm8XXdcccd7tZbb3W0o1qBQPfu3bupH999952bcMIJq602eX9bjW2bNFaVCoEGRKAomYZIP/PMC00ILbHEQoUJtch0A04sdblrItAoZPqNN95wW2yxhXvhhRfcXHPN5S6++OLsWJmF3TjjjOPef/9916dPH3f88cf7Qdx3333dmWee6f8+9dRT/Ybt0ksvdTvuuGOzQYac//77701WkLacAeU2VygBnn/+effyyy+7ySef3Pete/fuvn+dTZ5++mmvpDj00EPdbrvt1tmap/YIgS6BQLk1obWd2HLLLd11113nieNqq63mpp12Wm9dNnnppZdcz549/T+XWGIJ98QTT/hTBv7991+/5jzzzDP+tw8//NDfa4JC8rLLLvP/fPDBB/1vb775prvhhhv8f/HaW6r9d999t9tss828InSjjTbyhH3OOef0t1DnYYcd5u666y7/79tvv92ts846rYWj6T7W+kGDBjX1/eeff26z9bXc2PJscEZBgdV/vvnmc2uvvbYbY4wxkv386aef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vv0ezVvbyuDBbwQFbs4N8rqLbO2ldL4IiEAhJ/DPPxuCbexGBsXCLijkI1H3YxHQ8173hQgUbAKpFtN65hfs+0G9y3ACEtOF4waYNm1WUARndbANzHES1IVjytRLEcgXArxUTZgwJagiXcyqVauUL23ootuXgJ7325e/WheBgkRAz/yCNBvqiwjEICAxXXhui6lTvw72FP0hsr1C4em5eioCIrCtCOyzT0k74ohDJaS3FdACeh097wvoxKhbIpBiAnrmpxi4mhOB3BKQmM4tMR0vAiIgAiIgAiIgAiIgAiIgAiKQ8QQkpjP+FhAAERABERABERABERABERABERCB3BKQmM4tMR0vAiIgAiIgAiIgAiIgAiIgAiKQ8QQkpjP+FhAAERABERABERABERABERABERCB3BKQmM4tMR0vAiIgAiIgAiIgAiIgAiIgAiKQ8QQkpjP+FhAAERABERABERABERABERABERCB3BKQmM4tMR0vAiIgAiIgAiIgAiIgAiIgAiKQ8QQkpjP+FhAAERABERABERABERABERABERCB3BLIBDG9cp1Zu5Fmb8w24+fcWIldzRpWMuvRwIyfw7ZhwwbbtGlTzMv95z//SdjMDz/8YDNnzrQLL7wwN93RsSEC8+bNs+nTp9sll1ySZy6ahzyj2y4nbtr0r/0wc7GtX7fBKp144Hbpw9Y2Gm8MP379uy2ct8xOqH+YFfnPTjk28/faf2zSyO+swtH72AGHlczxeB0gAiIgAiIgAiIgAiKwjQlkgphu9prZgOlbB65pNbMXG2W/xuuvv27du3e3CRMmZPvijDPOsMcff9yOPvroLRodNGiQ3X///TZ37lz3PYJaljsCsH3uueccw+rVq9vUqVNzd4HgaM1DrpFt1xM2bthkz3Z4zyaOnGvr/vzHLmhVw67oVGe79im3jScaAwK72RG93Nhu6t3ATm54ZI6X/+ClmfZcxw9s77JFre+UljkerwNEQAREQAREQAREQAS2MYFMENMlupqt+nvrwOGVXtE59jU6depkDz30kPvylVdescsuuyxuY2vWrLGnnnrK7rrrLonpPE7JX3/9ZT179nQMTzjhBPv888+TutKyZcusZMksD972mIcN6zfaP8F/uxVNHLWQ1GAy8KDVK9Zan3ajbeoH39vFt5xojTucVOgoJBrDQ1cOt28m/2Jdhl9m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GDU2ERABERABERABEchGII86V2Ja95EIiIAIiIAIiIAIiIAIiIAIiEDmEpCYzty518hFQAREQAREQAREQAREQAREQATySEBiOo/gdJoIiIAIiIAIiIAIiIAIiIAIiEDmEkhXMT158kz77rsfrUiRIvbrr1lbKskKFoF99y3tKnIfemh5O/74xNsvFayeqzciIAIiIAIiIAIiIAIiIAIZTyAdxfTzzw+zypUPC7ZN2tNKloy9dVTGT3wBAEANu+XLV9rKlX/YnDnz7JprNu9VXQC6py6IgAiIgAiIgAiIgAiIgAiIQHwC6SamX3hhmNWoUc3KlCmpaS9EBIgemDbtK2veXIK6EE2buioCIiACIiACIiACIiACmUsgncT0pEkzjA27KlQ4KHMntBCPfN68n2znnXdSyHchnkN1XQREQAREQAREQAREQAQyhkA6iemXX37TqlevrNDuQnr3Ll263GbMmGVNmlxQSEegbouACIiACIiACIiACIiACGQMgXQS00OHvmN169bKmLlLt4GSQz1u3OfWuPG56TY0jUcEREAEREAEREAEREAERCDdCKSTmH7yyRcCr2bDdJuijBrP4MFv2C23XJNRY9ZgRUAEREAEREAEREAEREAECiEBielCOGlp3GWJ6TSeXA1NBERABERABERABERABNKJQKaJ6YULF9rQoa9YiRIl7MADswqV7bjjjnbYYYcH/z5wi6lt0eIamzLlC5s+/at0mvZcjeXKKy+3uXPn2uTJU3N1Xl4OlpjOCzWdIwIiIAIiIAIiIAIiIAIikHICmSamX3ppgLVvf2tMzvvtt5/169ffjj32uMj3551XPxCRk+y335alfG4KSoNnnFHPvvxyZkoYSEwXlFlXP0RABERABERABERABERABBISyFQxfcoppwZ7Gmfl5v7888/2xhsjAu/zdPfvDz8ca1WqHO1+lpg2k5jWQ0QEREAEREAEREAEREAEREAEoghkqph+8smn7PLLm2Sjcf/999nTT/eyG2640bp2fSBHMf3nn3/a0qVLbP/9D7AiRYokvLeWL19umzZtslKlSiU87s8/19hff/1lpUuXydO9umLFCnfeXnvtFfN8+kBYO7Zq1SpbsWK5lS9/cLZj16xZbX/8sdrKli1rOwQ3SE5i+pdffrF99903JgMqdPMfbdL2ggXzg77tbcWKFYvZP3mm8zTtOkkEREAEREAEREAEREAERCDVBCSmNxP/5ptv7JRTTrJKlY6ysWM/jiumv/hist1+e3ubPXtW5OT69RsYAr148eLZprBfv+dcjjZh0hih5G3b3mzXXHNdtuM+/ni8E/Ljx49zn9OHK664yq67rkVSt8R//9vXXnllcKRPnM9iwfXXt4yc//rrI6xlyxZ2//0P2XvvjbZPP80aow9hnz59mj3yyMPB2D9yn5cqVToYUy979NFuW4R5r1271h58sKuNHPmOLVq0yIoWLWqnnlrX7rnnPitXrlykzRo1jjUWHbp2vd8xW7NmjT300CN27bXZx+9PkJhOarp1kAiIgAiIgAiIgAiIgAiIwPYmIDG9eQa8mD766Kr2wQdZgjI6zPunn360mjWzcqqvuqqplSlTxj766EMXIn7yyXVs+PDXIxd8/vl+dtdddzhReuGFF9r69f848Yk3+847OwVbQGXlbs+cOcPOPPM0J0gbNrzICfLXXx/uRGr37k/alVdelfA2QUh37twp0g4Hv/76664dhPP119/gzh8xYrjdeOP1rp1dd93NTj/99EDc72933HGn/frrr8G/67pzTjvtdKtWrbp9/vlnNmHCp+54RLAX3XiYW7W6IWhjhMsvR0TPmTPbRo0aaRUrHhL8/z1X4A2rVq2KGwd20kknG2zPOad+wPCEmGOSmN7eTwS1LwIiIAIiIAIiIAIiIAIikBQBienNmLp27WK9ez8VCM7W1qVLV/dFtJgePXqUvfvuKDv33POD8Ocz3TEbN2604447xonG77770YUwE/p87LFVnRD9+OPPglDw/d2xixf/GojKLCH51VdzbPfdd7datWra99/PcyLUFz/77bfFVq/eqU7czpv3k+25554x53PBggWubQT7mDFjg3DrspF2TjstSxxPm/ala9+L6XLlyts774wKFgL2iVzzpptaBx70IUFxttutQ4c7Ip9TrI2ibZgX02+99aZR5RxvPAXbdtppJ/d9z549Aq/zA9au3W3WseNd7jMvpgmbJ3w+J5OYzomQvhcBERABERABERABERABESgQBDJVTONF9qHGP//8kxOahGIjft9+e5QLs8aSLUB2660328svD3Lh4ZyLl7Z586uDsOcu1rp122xzjdD+449VVqFCRRcCXanSYXb22fVtwICXsh332GOP2OOPP+r6U6NGzZj3y7vvjrRmza524p9FgLCxMMACwcCBg+yss86JiGk80bfe2j7bsV7QL1z4W7bc55UrV9rhh1d0x3oxfe+9na1v3z7ZCrXxPbneBx98YBAqf6oNGzY8m5j+8ccFbuEgJ5OYzomQvhcBERABERABERABERABESgQBDJVTMeCj8e2b9/nrHr16pGvY4npTz/9JPDsvm1Tp05x3mi8v968mO7W7SHr0aN7kMc8LPAwnxZ3rj/5ZLw1anSR+x7vctj8dR9++JEtcqz9ceQ4P/HE4zHbGTPmQ2vSpHHE2+w90z17Pm2XXXZ5pCmKnlWoUC7wIlez0aM/3KKv3rvsxXSdOrXs22+/TdhnfyznEt4+a9Y3Sd3vEtNJYdJBIiACIiACIiACIiACIiAC25tApoppQrSbNm3u8BOmfPjhR0RCscNzEi2m8T7jhcbwbh911FEuPxhRi3kx7b3Kgwa9EgkHjzXX48aNtcaNG7mvbr65XbZD5s//2YVin3nmWUFbtWPeKhQH6979sYRimrBtwre3lZiuW7eOK3TWsmUr22WXXbL1a86cOXbkkUcGueJ3u88lprf3b7jaFwEREAEREAEREAEREAERyBcCmSqmY22NFQtwtJj220R50ezPIYeYXGL/OdWyr776iqDQ2N1BobHsIpl86NWrV7sw72XLllnlyke4/OP+/Qfmeo59mPe9994XFAVrk+18qoOz3Vd0mHe0Z5qTchPmTbEzip599NH4YDGhcsI+S0znekp1ggiIgAiIgAiIgAiIgAiIQGEgIDGdeJaixbQPeZ4x42u3DzM2d+5cq137RPezF9NUxz7mmMouB/ujjz6ObBdFWLg/1hcg89d8662R2apcU9CLitrkOFNdO5aFC519+unESJ98O1Thnj79K7clVzzPNNe9+eY2NmTIKy6Xmva8+Vxw/u1Dt/11yPN+/vn+kRzr+fPnB4XHOgR50wcH22Z1c5eQmC4MTwH1UQREQAREQAREQAREQAREINcEJKZzJ6Y7deoYVLB+LggLP9wVDVuzZrWrgo1oDYtpfh40aKDddls7lwt93nnn24477mBvvvmmy7Hu1Kmz3XTTLe4c9q0+99xz3M+NGl0abC9VMdiSaoLbB5piZu+/P8Z23nnnuB0Nb8FFO9jbb7/l2gnnWycS01QZ99W/69atF2xhdbRNmjTJJk78fIutsTZs2OCqeVNkja2uOH7dunVBAbaXHAcqfPt+SEzn+ldSJ4iACIiACIiACIiACIiACBQGApkmpr3AzWuYNxWr77zzdufF9UY+MlW5n3mmt40b96nLGfY2YED/IJ/5ZbcPNYawxvvrK4n74z76aIyrkD1+/LjIuVdccWUguu+xkiVL5ngrIaiHDBnsKpJjiNzLL2+SrXAZ+0K3bNnCnn66j11ySeMtrsl+1+R+U7gMw5vdo0cv69btQdd/75nmOzg88MB9bpswv480e0yzSNCgwbmRa9eocaxjowJkOU6hDhABERABERABERABERABEShMBDJNTG+ruVm/fr39/vvvVrp06S2KcMVqY9WqVW4/6r333jthF9auXWsrVqwICo+VybZFVbL9ph2sePHiyZ6yxXFU90YAly5dxnaIvkFiXJUc8F122dUVYttaUzXvrSWo80VABERABERABERABERABFJCIJ3E9JAhbwchx7WSEoApgatGckXg33//DXLOPwu27TovV+fpYBEQAREQAREQAREQAREQARFIOYF0EtODB78ZFLyqHIRF75Vyjmpw6wksXbrcZs6cHYSnZ+V9y0RABERABERABERABERABESgwBJIJzE9efJM27Bhox1ySPkCy1sdi09g3rwfXaG1448/WphEQAREQAREQAREQAREQAREoGATSCcxDekXXnjVjj22SrBFVJmCDV69y0Zg0aLFNmPGbGvWrJHIiIAIiIAIiIAIiIAIiIAIiEDBJ5BuYtoL6iOPrBgU4SrmQr6TKaJV8Gcq/XpIjvSyZSts5cpVwV7dPwRC+pL0G6RGJAIiIAIiIAIiIAIiIAIikJ4E0lFMM1OTJ8+wefN+tp122sl+/fX39Jy8Qj6qsmVL26ZN/wb7apezGjWqFvLRqPsiIAIiIAIiIAIiIAIiIAIZRSBdxXRGTaIGKwIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoCEtOp5a3WREAEREAEREAEREAEREAEREAE0oCAxHQaTKKGIAIiIAIiIAIiIAIiIAIiIAIikFoC20VMp3aIak0EREAEREAEREAEREAEREAEREAE8pfAv/8mdf0d/g0sqSM5KFqxJ32iDhQBERABERABERABERABERABERCBQkAgSYksMV0I5lJdFAEREAEREAEREAEREAEREAERSBEBiekUgVYzIiACIiACIiACIiACIiACIiAC6UMgX8R0+uDRSERABERABERABERABERABERABEQgzwRyF+ad52Z0ogiIgAiIgAiIgAiIgAiIgAiIgAikD4H/AeO6k1VgqqT+AAAAAElFTkSuQmCC\n", "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": "2024-01-18T17:27:06.853704Z", "iopub.status.busy": "2024-01-18T17:27:06.853567Z", "iopub.status.idle": "2024-01-18T17:27:06.857666Z", "shell.execute_reply": "2024-01-18T17:27:06.857214Z" }, "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": "2024-01-18T17:27:06.859245Z", "iopub.status.busy": "2024-01-18T17:27:06.859143Z", "iopub.status.idle": "2024-01-18T17:27:07.200837Z", "shell.execute_reply": "2024-01-18T17:27:07.200561Z" }, "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": "2024-01-18T17:27:07.202598Z", "iopub.status.busy": "2024-01-18T17:27:07.202464Z", "iopub.status.idle": "2024-01-18T17:27:07.219384Z", "shell.execute_reply": "2024-01-18T17:27:07.219039Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:07.221171Z", "iopub.status.busy": "2024-01-18T17:27:07.221043Z", "iopub.status.idle": "2024-01-18T17:27:07.244025Z", "shell.execute_reply": "2024-01-18T17:27:07.243686Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydB7gUNduG81k+exfsvSuoWFERRezYURG7KPaCYkHsBXvvFcUCqChYQOyKBUSwIaKCYlcU7L3+c4f/3S87Z3Z39uzuKbtPrsvLw+5MJrmTyebJ++bNf/6NklMSAREQAREQAREQAREQAREQAREQARFITeA/EtOpWelCERABERABERABERABERABERABEfAEJKbVEURABERABERABERABERABERABESgSAIS00UC0+UiIAIiIAIiIAIiIAIiIAIiIAIiIDGtPiACIiACIiACIiACIiACIiACIiACRRKQmC4SmC4XAREQAREQAREQAREQAREQAREQAYlp9QEREAEREAEREAEREAEREAEREAERKJKAxHSRwHS5CIiACIiACIiACIiACIiACIiACEhMqw+IgAiIgAiIgAiIgAiIgAiIgAiIQJEEJKaLBKbLRUAEREAEREAEREAEREAEREAEREBiWn1ABERABERABERABERABERABERABIokUJyY/s9/isxel4uACIiACIiACIiACIiACIiACIhAMyLw77+pCisxnQqTLhIBERABERABERABERABERABEagJAhLTNdHMqqQIiIAIiIAIiIAIiIAIiIAIiEA5CUhMl5Om8hIBERABERABERABERABERABEagJAg0iplM+pCaAq5IiIAIiIAIiIAIiIAIiIAIiIALNj0A8NlhKnVvanumUD2l+NFViERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiBQbWL677//dv/++29Z2m7GGWd0/4kDKkvOjZPJt99+6+677z630EILuU6dOrmZZpqpcQpS4Kn//POP47+k1FTLnK9K+fpkQ9Tnyy+/dBMmTPD/ffTRR27RRRd1K664olthhRXc0ksv7fvBtGnT3EknneQOOugg17Zt2ybZL5pyoSZNmuTefPNNN3XqVPfLL7/4MahFixZuySWXdOutt56bddZZG7X4hcbFhuiHpQIoVIdi8q+2sb2YuutaERABERABERCBMhKoJjH9xRdfeKFQrvTqq6+6Nm3alCu7Rs3nxRdfdO3atcuUYfHFF3fvvvuum3322Ru1XEkP79mzp7vssssSy/X666+7NdZYo8mVOV+BDjjgAHf77bcnXvLXX385JvaVSL///rs744wz3IUXXpjJfq655nI//vhj1r933HFHL7Kff/55179/f9e1a9dKFKfq8vz+++/dVVdd5dv2gw8+yFu/zp07+8WKddddt1E47LDDDu7hhx9OfPayyy7r3n///UYpV9qHamxPS0rXiYAIiIAIiIAINCiBahLTv/32m3vhhRfc2LFjXa9evXJy3G+//dwyyyzjmAwzSfvss8+8kIinahLTu+++u7dKh+mOO+5w++yzT4P2tzQPe/vtt72YvvXWW+tcPmrUKLf++uunyabJXPPaa6+5U045xT366KN1ylQpMY2lecstt3T0YRJ9/vzzz3eLLLKIt5xiRT3xxBPr9HuJ6XTd5q677nKHH3541sLE3nvv7Y455hg/trBQ9eSTT/rFjDDxHt54441u3nnnTfegMl2F5fydd95xF110UZ02bw5iWmN7mTqCshEBERABERABESgvgWoS0yGZm266yR1yyCF1YG200UZecMfTp59+6q699lp3wQUXZL6qJjGNNRcBFaYTTjjBT66bYmLyPNtss9Up2siRI5ulG/L48eNdq1atGkxMI/Suv/56/7wtttjCDR8+3M0wwwxZz0fII/bOO++8zOcS0/nfBrYfsDASjhPcwXjTvXv3OjePGDHCbbLJJlmf42L/yCOPeDf7hk5PP/2069ixY9Zjm4OY1tje0D1FzxMBERABERABEUhFoFrFNNbAtdZaqw6Do446yrtm5kpnn312xppUTWKayf/JJ5+cVe2m7jK92mqrOazUYWquYjrX4kAlLNPxvn/bbbe5/fffP2ef33XXXd3999/vv5eYzj9snnXWWe7MM8/Muqhbt26JXhR20eDBg90uu+ySdQ/bLBhf2FfdkClpXGxuYlpje0P2GD1LBERABERABEQgL4FqFdO4NK6yyipFi2nEzdprr+2tuNUkpgk+hpvvDTfc4CfwWKUPPfTQJv12JFnTm6ObN5AbUkzHF06wUOdra1zCcU1mL/WAAQPcHnvs0aT7RWMVbujQoW677bar83jGmpVWWilvsfj+vffey7pm4403ds8++2wdj4FK1u+NN95wa665ZtYjmpuY1theyR6ivEVABERABERABIoiIDHt3D333OMWXHDBjPsjrs8EC6omMW2d4s8///QBr+Iuv0V1mga6WGK6fqC7dOni7r333szNq6++unv55ZfzRpTG3RuvDFmmk5nz3qy88sp1Ao1tttlm7qmnnirYUDamxC+knXbbbbeC95frgloT07U0tperjygfERABERABERCBIgjUuphmDyTBgA477LBM1GNci3ExZp/rqquuWgTN6r8UC/dXX33lj/xJ2tOciwAWf/alE2G6ZcuWbr755isIq5CY/uabbxzlwapa7OIA5cBSSNsvscQSBcuSdAEB7IjivNRSS7n5558/bx4NaZlu3759nSBTHHdF1OlcFlSiOS+//PJNQkzTphznRf/iGLdi+pk1AnkQXHDuuef2ecw888z1amO76c4773T77rtvnTxw+z799NML5j158mSHBTie+IzgYGmP4OPILepF/6XfF0qff/65v8ROOaivmOa5n3zyifvjjz/8u//f//630KNzfv/rr7/66PHk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IAIiIAIiIAIiUDIBiemSESoDERABERABERABERABERABERCBWiMgMV1rLa76ioAIiIAIiIAIiIAIiIAIiIAIlExAYrpkhMpABERABERABERABERABERABESg1ghITNdai6u+IiACIiACIiACIiACIiACIiACJROQmC4ZoTIQAREQAREQAREQAREQAREQARGoNQIS07XW4qqvCIiACIiACIiACIiACIiACIhAyQQkpktGqAxEQAREQAREQAREQAREQAREQARqjYDEdK21uOorAiIgAiIgAiIgAiIgAiIgAiJQMgGJ6ZIRKgMREAEREAEREAEREAEREAEREIFaIyAxXWstrvqKgAiIgAiIgAiIgAiIgAiIgAiUTEBiumSEykAEREAEREAEREAEREAEREAERKDWCEhM11qLq74iIAIiIAIiIAIiIAIiIAIiIAIlE5CYLhmhMhABERABERABERABERABERABEag1AhLTtdbiqq8IiIAIiIAIiIAIiIAIiIAIiEDJBCSmS0aoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACIlAyAYnpkhEqAxEQAREQAREQAREQAREQAREQgVojIDFday2u+oqACIiACFQLgdGj33ATJ052M800k/vii6+qpVqqhwiIgAhkCCy8cAv3zz//uBVWWNqtu+4aIiMCTYuAxHTTag+VRgREQAREQATSELj11ntdq1YrurnnnsstsMB8aW7RNSIgAiLQ7Aj8+++/7ptvvnPfffeDmzBhkuvWbbdmVwcVuIoJSExXceOqaiIgAiIgAlVJoG/fe91667VxLVsuUJX1U6VEQAREIIkAHjivvjrOHXCABLV6SBMhIDHdRBpCxRABERABERCBFARefvl1Fxlq3LLLLpnial0iAiIgAtVFYNKkD93MM88ol+/qatbmWxuJ6ebbdiq5CIiACIhA7RG4++4H3VprtZJrd+01vWosAiIQEZg69Rv3+uvj3Z577igeItD4BKpNTP/xxx+JUAnOMsMMM2S++/PPP6OV/WhpP0j//e9/y9ogX375pfvxxx+jgAkr5M33r7/+8oEV4uk/UePMPPPMOe/9+eef3bPPPut++eUXt9tucncpV+NNmzbNPfroo65z585uttlmK1e2yqcKCeR6B3kn77//frf22mu7VVddtQpr3vyqVE1tcs89j7gOHTZsfo2gEouACIhAGQgwf3/22ZGuS5ftypCbshCBEglUk5j+9ttv3corr+y++io7oulWW23lLrroIrf66qtnaJ100knu9ttvz1zbsmVL98wzz5Rt4svEbeGFF/Ziety4cVGQmFY5W+qMM85wN9xwQ51y2w0bb7yxow6HH364m2+++aKIrV+47t27u6FDh/pL9thjDzdgwIASe4JuR0D36dPHvfjiix7Gd9995+aZZx6BEYE6BAq9gzfeeKM79NBD3eKLL+4++eQTEWwCBKqpTa64om9kkdmpCVCt/iKw0M1/LMgrVQcBjC7lNp5UB5nmVYv+/Ye4Hj26Na9Cq7TVSaCaxDQtxCB5zjnnuHPPPdc32FxzzRVFAPwm8YfwmmuucUcddZQ7+uij3WWXXeZmnHHGsjXya6+9FrnhreXzu/feewtajj/66CO39NJL++u32WYbd/PNNzs+e/PNN92JJ57oRTl1efXVV93yyy/vfvjhB3fYYYe5/v37S0yXqdV+//13N3LkyMji08HniNVx9tlnL1PuTSMbrO4LLKCAReVojXzvIB4j9KN99tnH3XHHHeV4XGIeLPgwLpRz7KpYYRs544Zqk4aoZrFierq3zbDoN+VD9+uvv7jFFlvcbbRRu2iBuXGPmBk37k2HB1euxG/dMsss2xBIE5+BB1vHjpu4adO+iRZZR7l55523YmX57LPP3D33DPDPWGKJ/+2F5284NJSY7969mxsz5hX32mvjiqorxgzuS5M226xj6jHr888/d2PHjomMEm9670L67LrrrutatGiZ9ai05Z448T239dZbuA022NDddZeMEGnaq6leIzHdVFumBstVbWKaJmQVeZdddnEPPvigb9ErrrjCHXPMMVmti1DCit26dWv3yCOPZLmAl6MbvPvuuz5/0pAhQ9yOOxbe17HQQgt56zQi+brrrssU48MPP/RWdQQ1/3/jjTf8d1xzxBFHSEyXo8H+Pw88CuaYYw7/r99++83NMsssZcy9cbPC7fi5555zV111VeMWpIqenu8dZCKeb5tGqRjonxtttJH3UMELRqkwgUq3SeESlOeKYsT0/fffF3k1HZr44O22297deOMtDSbU4oU49NDubvDgB3JCOfPMs6PfwyPKA60eufz8809RkLel/J1jxrweidwl6pFLulvuvLOfO/74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VOK3948/fo+OFmyZavtUpcqRJt/+/e+O5hR/+nOjQya33HJzJHh7RYtT2S7aafJMuoZ+xvtKuxbyaCvm2vqWp9z3/fTTj97jirqtsMKKFe1f+crO/I/fqHKOheVmVUv5SUzXUms38bpKTDfxBlLxRKARCbC4QBRuvAdw/VcSARFofAL1EdONX+raK4HtKceSy7FMc801dxSM7PnIInqjt+JzDBTHQSmJgAgUT0BiunhmuqNCBCSmKwRW2YpAMyWAOyVu/ARHwqqGa3VSVOJmWj0VWwSaPYGBAx+OXIo3bPKW2WYPusQK4H1x3HE9om0Rw+vkFN+rXuKjdLsI1BQBFvqfeealyHU/+di/moKhyjY+AYnpxm8DlUAEmhIB9uOz/9YSUd7D47CaUllVFhGoRQL9+z8Y7UVtFbmOz1eL1W92dSbwJ3u92U604oor+a08c8wxR7OrhwosAk2FwNSp37g33ng7ipGxQ1MpkspRywQkpmu59VV3EahLAMs0ZzETOInzcg899FBhEgERaEIERo9+I9qL+3cUgGnpJlQqFUUEREAEGobApEmTfUyYddedHs1dSQQalYDEdKPi18NFQAREQAREoGgCffveF+23bR0FhGxZ9L26QQREQASaK4HPP//Svf7621Fg1OlnryuJQKMTkJhu9CZQAURABERABESgaAII6lVWWc7NM8/c3uW7XNHwiy6IbhABERCBChJgj/S0ad9GJ+l8H52480EkpHer4NOUtQgUSUBiukhgulwEREAEREAEmgiB0aNfj45A/Mgfc/XFF181kVKpGCIgAiJQPgKLLNIiOqf9X8dZ9+utt0b5MlZOIlAOAhLT5aCoPERABERABERABERABERABERABGqKgMR0TTW3KisCIiACIiACIiACIiACIiACIlAOAhLT5aCoPERABERABERABERABERABERABGqKgMR0TTW3KisCIiACIiACIiACIiACIiACIlAOAhLT5aDY9PMYM+ZNN3HiZDdlyrSmX1iVUAREoCIEWrRYIIr+vLxba63VKpJ/NWWqMbOaWlN1EYH6EdCYWT9uuksEaoqAxHT1N/eYMePcL7/86jbccC0300wzVX+FVUMREIFEAn/++Zd76aWxbs45Z/dnFCslE9CYqZ4hAiIAAY2Z6gciIAIFCUhMF0TU7C8YMOBBt9tunSSkm31LqgIiUDoBJoeDBg1zXbvuUHpmVZqDxswqbVhVSwTqQUBjZj2g6RYRqCUCEtPV39pXXNHX9ejRrforqhqKgAikIqAxIT8m8UnVjXSRCNQMAY0JNdPUqqgIFE9AYrp4Zs3tDv0INLcWU3lFoLIENCZITFe2hyl3EaguAhozq6s9VRsRKCuBahbT//77b7Tf5c8sXv/9738T+XEd14dphhlmqArXaP0IlPWVUWYi0OwJ5BoT/vnnH/fXX3+lrl9jjpGff/65Gz58uNt+++1dixYtMmX++eef3bPPPhvFifgl2t6yW+q6hBdqzKwXNt0kAlVLQGNC1TatKiYCpROoZjH9zTffuL333ts9+uijGVADBgxwe+yxRx1wxx57rLv11lvdjz/+6L9r2bKlO/nkkyP36B6lQ27kHPQj0MgNoMeLQBMjkGtMeOmll1zPnj3dqFGjUpV4q6228oK2MVKXLl3cvffe6w4++GB34403ui+++MJ1797dDR061BeHcZ7xvj5JY2Z9qOkeEaheAhoTqrdtVTMRKJlANYtpg8PkarvttsuwevXVV12bNm3qsJsyZYpbeOGF3Yorruhee+01N/vss5fMtylkoB+BptAKKoMINB0ChcaEo446yl1zzTW+wE8++WR0lNZa/m+8d1hwnDhxojvmmGP8ouMzzzzTKBW76KKL3EknneRuuukmL6JJP/zwgzvssMNc//79JaYbpVX0UBGoTgKFxszqrLVqJQIikIpALYhpQPwnqOjiiy/uxfKCCy5Yh1G7du280L766qtT8WsOF+lHoDm0ksooAg1HoNCYgEA95JBDfIE+/fRTt9hii9Up3FNPPeVOPfVUN3LkyIYreOxJbM+ZeeaZsz697rrr3BFHHCEx3WitogeLQPURKDRmVl+NVSMREIHUBGpJTGNxfu+99zybLbbYwg0bNqzOnuhddtnFtWrVyp199tmpGTb1C/Uj0NRbSOUTgYYlUGhMuO2221y3btNPAPjss8/coosuWqeAv//+u7dad+rUqWELX+BpuHwfeuihEtNNqlVUGBFo3gQKjZnNu3YqvQiIQEkEaklMP/bYY+7CCy90Tz/9tGd2wgknOFwFw7T77ru71VZbzZ1xxhlZn7///vt+b+Ann3zisGxvtNFGia7ib775pg9807ZtWzdp0iS/93CppZZyG2+8cSa/r7/+2j3++ONu3nnn9Z/PPffcddrw3Xff9dbzX3/91bVu3dqts846da4ZNGiQd7vcddddsyzv8Qv1I1DSK6KbRaDqCBQaEwqJ6bfeesuPhdtss00WG4KCjR071gcFY5zDak1AM7bZWPBHxkdcw3EXZ/xLsnqzd5t7yWPllVd2HTt2dEsssUSddnj77bcdYzPPs5RLTBOY7O6773ZrrLGGW3/99fO2aSE+VdchVCEREAGNCeoDIiAC9SNQS2KaCRxWZ9y4cV0kxQOSJYnp+++/3wvWI4880ovoK6+80ovk8F4+69u3r0NMH3300Y4ot1dccUWmUdZdd11vCWcv4sCBAzOfr7766u7FF190c845p//sjz/+cMcff7wbPHiwa9++vX/OBx984KPS3nHHHW7WWWf1173yyituvfXW839zTb7JoSaG9Xs3dJcIVCuBQmNCITHdq1cvH1Pi9NNP94gI8njttdf64F/sr2asNMs237O3mkXMBx980J1yyilZWMePH+9WXXXVzGfHHXecu/zyy31+pPPPP999//33Xlyz0MkYedVVV7k777zTj7edO3d2LCxayiWmL7vsMh9cjfTbb7+5WWaZJWfzFuJTrf1C9RIBEUgmoDFBPUMERCAngVoT05tuuqmfgGGdsBQGJIuLaQLaYInGioJlgwkk1hesKUwascKQmCiec845/kgWElZvhDNWGETxV1995T8nYM7hhx/uJ4QdOnTwoh6RvM8++/jvuYe8sMzMM8887ttvv3UIbq5jfyLPIOF6SblIiO1llllGE0O95yIgAqkIFJoYhmK6T58+br755vP5YmVmqwzByc4666yMmH7nnXfc9ddf70UuiW00l156qVtkkUXcnnvu6Z544gn/OS7hjGF46+y///7u4Ycf9qKbkxRILAxusMEG3rPH9mLfd999jnGZsfOCCy7wY+e4ceO8lxHfpRXTDz30kNtxxx29cH/jjTfyHntYiE8qyLpIBESgaghoTKiaplRFRKD8BGpRTEPRJmj8HQYki4tpxDBCFcsxrtczzTST4yzWGWec0TcGEzsLgIM1BasKVmSObLGEJea8887zghnhbAnrDhNCE8kTJkzwE70zzzzT7/mzhKX6rrvu8tYdIo5b+umnn7yb91xzzZW3Y+hHoPzvjXIUgeZMoNCYEIppBLCdbMB4xziFoA7FNCzGjBnj8MBhPJo2bVpmXGRL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8cUXE/Ncdtll3XrrrecOOeQQt+mmm6Z+7ldffeVOOukkN2zYMMffYVp88cV9Xg8++KB74IEHHOUoNSGg+/Tpk6nHd9995+aZZ55Ss028v1JtW5HCKlMRqEECacU0QnrUqFczhNq2XSu1oJaYrsGOpSo3TwK1IqYnTJjg9t57b/fqq6+6VVdd1d1www3RsTJru9lnn919+OGHrm/fvu6cc87xjXjssce6yy67zP990UUX+QnbTTfd5Lp3757VyIjz33//PWMFqWQP0OSqknSVtwg0PwKVGhP22Wcfd9ddd3nhuM0227gllljCW5ctvfHGG65Dhw7+n23btnXPP/+8P2Xg33//jY7u2zCaOI7y33388cf+XkssSN58883+n0888YT/7p133nEDBw70/8XH3nwt8sgjj7g999zTL4TuvvvuXrCvssoq/hby7N27t3v44Yf9v4cMGeJ23HHHkhuYsX7kyJGZuv/888/+96MSqVJtW4myKk8RqEUCacR0KKRbtlwwWvSb+v/jZjpBLTFdiz1LdW6WBGpBTH/xxRdupZVW8hMvJof33HNPogDm8z322MMdeuih7vrrr8+0559//ulmnnnmOu2LtWWTTTbx7n6VTppcVZqw8heB5kWgUmNCu3bt3AEHHOAOPPDAOkDYHrPuuuu6t99+23+Ha7VtieHfhx9+uB878fT54Ycfsu6//fbbfb6kTz/91C222GL+b0T4ySef7C688EL/b6zJO+yQ+8ivxx9/3G211Vb+2jPOOMP/hzt5mHBT79Gjh7vmmmvcgAED/LhejkT955hjDp/Vb7/95maZZZZyZFsnj0q1bUUKq0xFoAYJFBLToZBeZpkl3AYbrO3Cz9JYqCWma7BjqcrNk0AtiOm99trL9e/f3zfQRx995JZcMveelY4dO7pFF13U3XnnnXkbFEtK165do7NeB0lMN8+ur1KLQLMmUCnBhcUYsWz7jkNILCBeffXV/qN+/fq5fffdN4shXj1XXHFFophmrNxtt9389biFM85aIn7Fyiuv7P955JFHZp4RbyDELAujiHE8jN58880sq3l4PbEvqMvll1+euDBQn8b/9ddfM9ZoPJOSFlnrk2/8nkq1bTnKpjxEQARcZGXOfc70p59+7kaMGO0xmZA2ZqGgbt9+Pbf44v8bB+NcJabV00SgmRCodjH90ksvuY022qjg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\n", "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": "2024-01-18T17:27:07.245770Z", "iopub.status.busy": "2024-01-18T17:27:07.245622Z", "iopub.status.idle": "2024-01-18T17:27:07.250990Z", "shell.execute_reply": "2024-01-18T17:27:07.250698Z" }, "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": "2024-01-18T17:27:07.252640Z", "iopub.status.busy": "2024-01-18T17:27:07.252519Z", "iopub.status.idle": "2024-01-18T17:27:07.370181Z", "shell.execute_reply": "2024-01-18T17:27:07.369828Z" }, "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": "2024-01-18T17:27:07.371755Z", "iopub.status.busy": "2024-01-18T17:27:07.371639Z", "iopub.status.idle": "2024-01-18T17:27:07.375461Z", "shell.execute_reply": "2024-01-18T17:27:07.375065Z" }, "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": "2024-01-18T17:27:07.377049Z", "iopub.status.busy": "2024-01-18T17:27:07.376952Z", "iopub.status.idle": "2024-01-18T17:27:07.400317Z", "shell.execute_reply": "2024-01-18T17:27:07.399913Z" }, "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": "2024-01-18T17:27:07.403000Z", "iopub.status.busy": "2024-01-18T17:27:07.402727Z", "iopub.status.idle": "2024-01-18T17:27:07.405352Z", "shell.execute_reply": "2024-01-18T17:27:07.404979Z" }, "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": "2024-01-18T17:27:07.407009Z", "iopub.status.busy": "2024-01-18T17:27:07.406884Z", "iopub.status.idle": "2024-01-18T17:27:07.409642Z", "shell.execute_reply": "2024-01-18T17:27:07.409362Z" }, "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": "2024-01-18T17:27:07.411128Z", "iopub.status.busy": "2024-01-18T17:27:07.411029Z", "iopub.status.idle": "2024-01-18T17:27:07.412634Z", "shell.execute_reply": "2024-01-18T17:27:07.412386Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from selenium.common.exceptions import StaleElementReferenceException" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:07.414054Z", "iopub.status.busy": "2024-01-18T17:27:07.413939Z", "iopub.status.idle": "2024-01-18T17:27:07.417504Z", "shell.execute_reply": "2024-01-18T17:27:07.417200Z" }, "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": "2024-01-18T17:27:07.419285Z", "iopub.status.busy": "2024-01-18T17:27:07.419147Z", "iopub.status.idle": "2024-01-18T17:27:07.494680Z", "shell.execute_reply": "2024-01-18T17:27:07.494337Z" }, "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": "2024-01-18T17:27:07.496581Z", "iopub.status.busy": "2024-01-18T17:27:07.496452Z", "iopub.status.idle": "2024-01-18T17:27:07.499375Z", "shell.execute_reply": "2024-01-18T17:27:07.498951Z" }, "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": "2024-01-18T17:27:07.501100Z", "iopub.status.busy": "2024-01-18T17:27:07.500950Z", "iopub.status.idle": "2024-01-18T17:27:07.505417Z", "shell.execute_reply": "2024-01-18T17:27:07.505155Z" }, "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": "2024-01-18T17:27:07.507023Z", "iopub.status.busy": "2024-01-18T17:27:07.506925Z", "iopub.status.idle": "2024-01-18T17:27:07.508822Z", "shell.execute_reply": "2024-01-18T17:27:07.508550Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from urllib.parse import urljoin, urlsplit" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:07.510504Z", "iopub.status.busy": "2024-01-18T17:27:07.510384Z", "iopub.status.idle": "2024-01-18T17:27:07.512931Z", "shell.execute_reply": "2024-01-18T17:27:07.512616Z" }, "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": "2024-01-18T17:27:07.514703Z", "iopub.status.busy": "2024-01-18T17:27:07.514569Z", "iopub.status.idle": "2024-01-18T17:27:07.516912Z", "shell.execute_reply": "2024-01-18T17:27:07.516606Z" }, "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": "2024-01-18T17:27:07.518991Z", "iopub.status.busy": "2024-01-18T17:27:07.518854Z", "iopub.status.idle": "2024-01-18T17:27:07.520800Z", "shell.execute_reply": "2024-01-18T17:27:07.520372Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_grammar_miner = GUIGrammarMiner(gui_driver)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:07.522698Z", "iopub.status.busy": "2024-01-18T17:27:07.522569Z", "iopub.status.idle": "2024-01-18T17:27:07.526387Z", "shell.execute_reply": "2024-01-18T17:27:07.526092Z" }, "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": "2024-01-18T17:27:07.528036Z", "iopub.status.busy": "2024-01-18T17:27:07.527936Z", "iopub.status.idle": "2024-01-18T17:27:07.531125Z", "shell.execute_reply": "2024-01-18T17:27:07.530854Z" }, "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": "2024-01-18T17:27:07.532842Z", "iopub.status.busy": "2024-01-18T17:27:07.532707Z", "iopub.status.idle": "2024-01-18T17:27:07.552220Z", "shell.execute_reply": "2024-01-18T17:27:07.551914Z" }, "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": "2024-01-18T17:27:07.554864Z", "iopub.status.busy": "2024-01-18T17:27:07.554667Z", "iopub.status.idle": "2024-01-18T17:27:07.650330Z", "shell.execute_reply": "2024-01-18T17:27:07.649928Z" }, "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": "2024-01-18T17:27:07.652266Z", "iopub.status.busy": "2024-01-18T17:27:07.652145Z", "iopub.status.idle": "2024-01-18T17:27:07.653798Z", "shell.execute_reply": "2024-01-18T17:27:07.653520Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "# ignore\n", "from graphviz import Digraph" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:07.655311Z", "iopub.status.busy": "2024-01-18T17:27:07.655205Z", "iopub.status.idle": "2024-01-18T17:27:07.656748Z", "shell.execute_reply": "2024-01-18T17:27:07.656500Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "# ignore\n", "from GrammarFuzzer import dot_escape" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:07.658723Z", "iopub.status.busy": "2024-01-18T17:27:07.658573Z", "iopub.status.idle": "2024-01-18T17:27:08.103424Z", "shell.execute_reply": "2024-01-18T17:27:08.102954Z" }, "slideshow": { "slide_type": "subslide" } }, "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": "2024-01-18T17:27:08.106001Z", "iopub.status.busy": "2024-01-18T17:27:08.105817Z", "iopub.status.idle": "2024-01-18T17:27:08.108108Z", "shell.execute_reply": "2024-01-18T17:27:08.107747Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from Grammars import new_symbol" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.109980Z", "iopub.status.busy": "2024-01-18T17:27:08.109857Z", "iopub.status.idle": "2024-01-18T17:27:08.111828Z", "shell.execute_reply": "2024-01-18T17:27:08.111477Z" }, "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": "2024-01-18T17:27:08.113602Z", "iopub.status.busy": "2024-01-18T17:27:08.113469Z", "iopub.status.idle": "2024-01-18T17:27:08.116514Z", "shell.execute_reply": "2024-01-18T17:27:08.116187Z" }, "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": "2024-01-18T17:27:08.118118Z", "iopub.status.busy": "2024-01-18T17:27:08.118002Z", "iopub.status.idle": "2024-01-18T17:27:08.150575Z", "shell.execute_reply": "2024-01-18T17:27:08.150236Z" }, "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": "2024-01-18T17:27:08.152289Z", "iopub.status.busy": "2024-01-18T17:27:08.152198Z", "iopub.status.idle": "2024-01-18T17:27:08.156613Z", "shell.execute_reply": "2024-01-18T17:27:08.156352Z" }, "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": "2024-01-18T17:27:08.158261Z", "iopub.status.busy": "2024-01-18T17:27:08.158163Z", "iopub.status.idle": "2024-01-18T17:27:08.159888Z", "shell.execute_reply": "2024-01-18T17:27:08.159652Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from collections import deque" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.161890Z", "iopub.status.busy": "2024-01-18T17:27:08.161634Z", "iopub.status.idle": "2024-01-18T17:27:08.163482Z", "shell.execute_reply": "2024-01-18T17:27:08.163223Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from bookutils import unicode_escape" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.165102Z", "iopub.status.busy": "2024-01-18T17:27:08.164936Z", "iopub.status.idle": "2024-01-18T17:27:08.168588Z", "shell.execute_reply": "2024-01-18T17:27:08.168130Z" }, "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": "2024-01-18T17:27:08.170244Z", "iopub.status.busy": "2024-01-18T17:27:08.170137Z", "iopub.status.idle": "2024-01-18T17:27:08.254227Z", "shell.execute_reply": "2024-01-18T17:27:08.253929Z" }, "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": "2024-01-18T17:27:08.256195Z", "iopub.status.busy": "2024-01-18T17:27:08.256063Z", "iopub.status.idle": "2024-01-18T17:27:08.258924Z", "shell.execute_reply": "2024-01-18T17:27:08.258663Z" }, "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", " \"check('terms', )\\nfill('email', '')\\nfill('name', '')\\nfill('zip', '')\\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": "2024-01-18T17:27:08.260676Z", "iopub.status.busy": "2024-01-18T17:27:08.260559Z", "iopub.status.idle": "2024-01-18T17:27:08.641903Z", "shell.execute_reply": "2024-01-18T17:27:08.641502Z" }, "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", "check('terms', <boolean>)\n", "fill('email', '<email>')\n", "fill('name', '<text>')\n", "fill('zip', '<number>')\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": "2024-01-18T17:27:08.643883Z", "iopub.status.busy": "2024-01-18T17:27:08.643766Z", "iopub.status.idle": "2024-01-18T17:27:08.646203Z", "shell.execute_reply": "2024-01-18T17:27:08.645915Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "[\"click('terms and conditions')\\n\",\n", " \"check('terms', )\\nfill('email', '')\\nfill('name', '')\\nfill('zip', '')\\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": "2024-01-18T17:27:08.647741Z", "iopub.status.busy": "2024-01-18T17:27:08.647631Z", "iopub.status.idle": "2024-01-18T17:27:08.649715Z", "shell.execute_reply": "2024-01-18T17:27:08.649459Z" }, "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": "2024-01-18T17:27:08.651165Z", "iopub.status.busy": "2024-01-18T17:27:08.651047Z", "iopub.status.idle": "2024-01-18T17:27:08.653235Z", "shell.execute_reply": "2024-01-18T17:27:08.652980Z" }, "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": "2024-01-18T17:27:08.654949Z", "iopub.status.busy": "2024-01-18T17:27:08.654823Z", "iopub.status.idle": "2024-01-18T17:27:08.657051Z", "shell.execute_reply": "2024-01-18T17:27:08.656760Z" }, "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": "2024-01-18T17:27:08.658553Z", "iopub.status.busy": "2024-01-18T17:27:08.658442Z", "iopub.status.idle": "2024-01-18T17:27:08.660024Z", "shell.execute_reply": "2024-01-18T17:27:08.659783Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from GrammarFuzzer import GrammarFuzzer" ] }, { "cell_type": "code", "execution_count": 89, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.661370Z", "iopub.status.busy": "2024-01-18T17:27:08.661278Z", "iopub.status.idle": "2024-01-18T17:27:08.664646Z", "shell.execute_reply": "2024-01-18T17:27:08.664392Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "check('terms', False)\n", "fill('email', 'W@BZ')\n", "fill('name', ' U')\n", "fill('zip', '5')\n", "fill('city', '!')\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": "2024-01-18T17:27:08.666191Z", "iopub.status.busy": "2024-01-18T17:27:08.666089Z", "iopub.status.idle": "2024-01-18T17:27:08.667725Z", "shell.execute_reply": "2024-01-18T17:27:08.667491Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from Fuzzer import Runner" ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.669185Z", "iopub.status.busy": "2024-01-18T17:27:08.669096Z", "iopub.status.idle": "2024-01-18T17:27:08.671027Z", "shell.execute_reply": "2024-01-18T17:27:08.670764Z" }, "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": "2024-01-18T17:27:08.672489Z", "iopub.status.busy": "2024-01-18T17:27:08.672405Z", "iopub.status.idle": "2024-01-18T17:27:08.675289Z", "shell.execute_reply": "2024-01-18T17:27:08.675017Z" }, "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": "2024-01-18T17:27:08.676819Z", "iopub.status.busy": "2024-01-18T17:27:08.676677Z", "iopub.status.idle": "2024-01-18T17:27:08.678748Z", "shell.execute_reply": "2024-01-18T17:27:08.678493Z" }, "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": "2024-01-18T17:27:08.680108Z", "iopub.status.busy": "2024-01-18T17:27:08.680019Z", "iopub.status.idle": "2024-01-18T17:27:08.682122Z", "shell.execute_reply": "2024-01-18T17:27:08.681882Z" }, "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": "2024-01-18T17:27:08.683539Z", "iopub.status.busy": "2024-01-18T17:27:08.683455Z", "iopub.status.idle": "2024-01-18T17:27:08.686339Z", "shell.execute_reply": "2024-01-18T17:27:08.686091Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from selenium.webdriver.support.ui import WebDriverWait" ] }, { "cell_type": "code", "execution_count": 96, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.687756Z", "iopub.status.busy": "2024-01-18T17:27:08.687633Z", "iopub.status.idle": "2024-01-18T17:27:08.689533Z", "shell.execute_reply": "2024-01-18T17:27:08.689290Z" }, "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": "2024-01-18T17:27:08.690868Z", "iopub.status.busy": "2024-01-18T17:27:08.690775Z", "iopub.status.idle": "2024-01-18T17:27:08.692818Z", "shell.execute_reply": "2024-01-18T17:27:08.692596Z" }, "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": "2024-01-18T17:27:08.694195Z", "iopub.status.busy": "2024-01-18T17:27:08.694107Z", "iopub.status.idle": "2024-01-18T17:27:08.696314Z", "shell.execute_reply": "2024-01-18T17:27:08.696063Z" }, "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": "2024-01-18T17:27:08.697797Z", "iopub.status.busy": "2024-01-18T17:27:08.697664Z", "iopub.status.idle": "2024-01-18T17:27:08.699823Z", "shell.execute_reply": "2024-01-18T17:27:08.699541Z" }, "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": "2024-01-18T17:27:08.701231Z", "iopub.status.busy": "2024-01-18T17:27:08.701133Z", "iopub.status.idle": "2024-01-18T17:27:08.703171Z", "shell.execute_reply": "2024-01-18T17:27:08.702934Z" }, "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": "2024-01-18T17:27:08.704511Z", "iopub.status.busy": "2024-01-18T17:27:08.704426Z", "iopub.status.idle": "2024-01-18T17:27:08.718604Z", "shell.execute_reply": "2024-01-18T17:27:08.718275Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.720300Z", "iopub.status.busy": "2024-01-18T17:27:08.720185Z", "iopub.status.idle": "2024-01-18T17:27:08.721984Z", "shell.execute_reply": "2024-01-18T17:27:08.721723Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_runner = GUIRunner(gui_driver)" ] }, { "cell_type": "code", "execution_count": 103, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.723338Z", "iopub.status.busy": "2024-01-18T17:27:08.723245Z", "iopub.status.idle": "2024-01-18T17:27:08.742143Z", "shell.execute_reply": "2024-01-18T17:27:08.741798Z" }, "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": "2024-01-18T17:27:08.743761Z", "iopub.status.busy": "2024-01-18T17:27:08.743639Z", "iopub.status.idle": "2024-01-18T17:27:08.765224Z", "shell.execute_reply": "2024-01-18T17:27:08.764704Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydB7gUNduG89nF9lnA3lFRsWCvKGJDFBVULNhQxC6KvTfsBXtHsYAoigUV7IKCIipWVFDsioJdsfvPnfO9+2fnzO7Ont3Tdp9cFxewO5NJ7mSyefK+efOff6PklERABERABERABERABERABERABERABFIT+I/EdGpWulAEREAEREAEREAEREAEREAEREAEPAGJaXUEERABERABERABERABERABERABESiSgMR0kcB0uQiIgAiIgAiIgAiIgAiIgAiIgAhITKsPiIAIiIAIiIAIiIAIiIAIiIAIiECRBCSmiwSmy0VABERABERABERABERABERABERAYlp9QAREQAREQAREQAREQAREQAREQASKJCAxXSQwXS4CIiACIiACIiACIiACIiACIiACEtPqAyIgAiIgAiIgAiIgAiIgAiIgAiJQJAGJ6SKB6XIREAEREAEREAEREAEREAEREAERkJhWHxABERABERABERABERABERABERCBIgkUJ6b/858is9flIiACIiACIiACIiACIiACIiACItCMCPz7b6rCSkynwqSLREAEREAEREAEREAEREAEREAEqoKAxHRVNLMqKQIiIAIiIAIiIAIiIAIiIAIiUE4CEtPlpKm8REAEREAEREAEREAEREAEREAEqoJAg4jplA+pCuCqpAiIgAiIgAiIgAiIgAiIgAiIQPMjEI8NllLnlrZnOuVDmh9NlVgEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCEhMV0Uzq5IiIAIiIAIiIAIiIAIiIAIiIALlJCAxXU6ayksEREAEREAEREAEREAEREAERKAqCFSamP7777/dv//+W5a2m3nmmd1/4oDKknPjZPLdd9+5e++91y288MKuc+fObpZZZmmcghR46j///OP4k5SaapnzVSlfn2yI+nz11Vdu4sSJ/s/HH3/sFltsMbfiiiu6FVZYwS2zzDK+H0yfPt2dcMIJ7sADD3QbbLBBk+wXTblQkydPdm+88YabNm2a+/XXX/0Y1LJlS7fUUku59dZbz80xxxyNWvxC42JD9MNSARSqQzH5V9rYXkzdda0IiIAIiIAIiEAZCVSSmP7yyy+9UChXevXVV127du3KlV2j5vPCCy+4TTbZJFOGJZZYwr333nuuRYsWjVqupIf37dvXXXbZZYnlmjBhgltjjTWaXJnzFWj//fd3t912W+Ilf/31l2NiXx/p999/d2eccYa78MILM9nPM8887qeffsr6/4477uhF9ujRo92gQYPcHnvsUR/Fqbg8f/jhB3fllVf6tv3www/z1q9bt25+sWLddddtFA5dunRxDz/8cOKzl1tuOffBBx80SrnSPlRje1pSuk4EREAEREAERKBBCVSSmP7tt9/c888/71555RV34okn5uS47777umWXXdYxGWaS9vnnn3shEU+VJKZ32203b5UO0+233+723nvvBu1vaR72zjvveDF9yy231Lr8xRdfdOuvv36abJrMNa+99po75ZRT3GOPPVarTPUlprE0b7311o4+TKLPn3/++W7RRRf1llOsqMcff3ytfi8xna7b3Hnnne7QQw/NWpjo0aOHO+qoo/zYwkLVk08+6RczwsR7eMMNN7j//ve/6R5UpquwnL/77rvuoosuqtXmzUFMa2wvU0dQNiIgAiIgAiIgAuUlUEliOiRz4403ut69e9eCtfHGG3vBHU+fffaZu+aaa9wFF1yQ+aqSxDTWXARUmI477jg/uW6KicnznHPOWatoY8eObZZuyG+//bZr27Ztg4lphN51113nn7fVVlu5ESNGuJlmminr+Qh5xN55552X+VxiOv/bwPYDFkbCcYI7GG969epV6+ZRo0a5zTbbLOtzXOyHDx/u3ewbOj399NOuY8eOWY9tDmJaY3tD9xQ9TwREQAREQAREIBWBShXTWAPXWmutWgyOOOII75qZK5199tkZa1IliWkm/yeddFJWtZu6y/Sqq67qsFKHqbmK6VyLA/VhmY73/VtvvdXtt99+Ofv8Lrvs4u677z7/vcR0/mHzrLPOcmeeeWbWRT179kz0orCLhg0b5rp27Zp1D9ssGF/YV92QKWlcbG5iWmN7Q/YYPUsEREAEREAERCAvgUoV07g0rrzyykWLacTN2muv7a24lSSmCT6Gm+/111/vJ/BYpQ8++OAm/XYkWdObo5s3kBtSTMcXTrBQ52trXMJxTWYv9eDBg93uu+/epPtFYxXukUcecdtvv32txzPWrLTSSnmLxffvv/9+1jWbbrqpe/bZZ2t5DNRn/V5//XW35pprZj2iuYlpje312UOUtwiIgAiIgAiIQFEEJKadGzJkiFtooYUy7o+4PhMsqJLEtHWKP//80we8irv8FtVpGuhiiem6ge7evbu75557Mjevvvrq7qWXXsobURp3b7wyZJlOZs5706ZNm1qBxrbYYgv31FNPFWwoG1PiF9JOu+66a8H7y3VBtYnpahrby9VHlI8IiIAIiIAIiEARBKpdTLMHkmBAhxxySCbqMa7FuBizz3WVVVYpgmblX4qF++uvv/ZH/iTtac5FAIs/+9KJMN2qVSs3//zzF4RVSEx/++23jvJgVS12cYByYCmk7ZdccsmCZUm6gAB2RHFeeuml3QILLJA3j4a0TLdv375WkCmOuyLqdC4LKtGcW7du3STENG3KcV70L45xK6afWSOQB8EF5513Xp/HrLPOWqc2tpvuuOMOt88++9TKA7fv008/vWDeU6ZMcViA44nPCA6W9gg+jtyiXvRf+n2h9MUXX/hL7JSDuoppnvvpp5+6P/74w7/7s802W6FH5/x+xowZPno8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gAiIgAiIgAiIgAiUTEBiumSEykAEREAEREAEREAEREAEREAERKDaCEhMV1uLq74iIAIiIAIiIAIiIAIiIAIiIAIlE5CYLhmhMhABERABERABERABERABERABEag2AhLT1dbiqq8IiIAIiIAIiIAIiIAIiIAIiEDJBCSmS0aoDERABERABERABERABERABERABKqNgMR0tbW46isCIiACIiACIiACIiACIiACIlAyAYnpkhEqAxEQAREQAREQAREQAREQAREQgWojIDFdbS2u+oqACIiACIiACIiACIiACIiACJRMQGK6ZITKQAREQAREQAREQAREQAREQAREoNoISExXW4urviIgAiIgAiIgAiIgAiIgAiIgAiUTkJguGaEyEAEREAEREAEREAEREAEREAERqDYCEtPV1uKqrwiIgAiIgAiIgAiIgAiIgAiIQMkEJKZLRqgMREAEREAEREAEREAEREAEREAEqo2AxHS1tbjqKwIiIAIiIAIiIAIiIAIiIAIiUDIBiemSESoDERABERABERABERABERABERCBaiMgMV1tLa76ioAIiIAIiIAIiIAIiIAIiIAIlExAYrpkhMpABERABERABERABERABERABESg2ghITFdbi6u+IiACIiAClUJg3LjX3aRJU9wss8zivvzy60qpluohAiIgAhkCiyzS0v3zzz9uhRWWceuuu4bIiEDTIiAx3bTaQ6URAREQAREQgTQEbrnlHte27Ypu3nnncQsuOH+aW3SNCIiACDQ7Av/++6/79tvv3fff/+gmTpzsevbctdnVQQWuYAIS0xXcuKqaCIiACIhARRIYMOAet9567VyrVgtWZP1UKREQARFIIoAHzquvvun231+CWj2kiRCQmG4iDaFiiIAIiIAIiEAKAi+9NMFFhhq33HJLpbhal4iACIhAZRGYPPkjN+usM8vlu7KatfnWRmK6+badSi4CIiACIlB9BO6660G31lpt5dpdfU2vGouACEQEpk371k2Y8Lbbc88dxUMEGp9ApYnpP/74IxEqwVlmmmmmzHd//vlntLIfLe0HabbZZitrg3z11Vfup59+igImrJA337/++ssHVoin/0SNM+uss+a895dffnHPPvus+/XXX92uu8rdpVyNN336dPfYY4+5bt26uTnnnLNc2SqfCiSQ6x3knbzvvvvc2muv7VZZZZUKrHnzq1IltcmQIcNdhw4bNb9GUIlFQAREoAwEmL8/++xY17379mXITVmIQIkEKklMf/fdd65Nmzbu66+zI5pus8027qKLLnKrr756htYJJ5zgbrvttsy1rVq1cs8880zZJr5M3BZZZBEvpt98880oSEzbnC11xhlnuOuvv75Wue2GTTfd1FGHQw891M0///xRxNYvXa9evdwjjzziL9l9993d4MGDS+wJuh0B3a9fP/fCCy94GN9//72bb775BEYEahEo9A7ecMMN7uCDD3ZLLLGE+/TTT0WwCRCopDbp339AZJHZqQlQrfwisNDNHxbklSqDAEaXchtPKoNM86rFoEEPuD59ejavQqu0lUmgksQ0LcQgec4557hzzz3XN9g888wTRQD8NvGH8Oqrr3ZHHHGEO/LII91ll13mZp555rI18muvvRa54a3l87vnnnsKWo4//vhjt8wyy/jrO3Xq5G666SbHZ2+88YY7/vjjvSinLq+++qpr3bq1+/HHH90hhxziBg0aJDFdplb7/fff3dixYyOLTwefI1bHFi1alCn3ppENVvcFF1TAonK0Rr53EI8R+tHee+/tbr/99nI8LjEPFnwYF8o5dtVbYRs544Zqk4aoZrFiusbb5tHoN+UjN2PGr27xxZdwG2+8SbTA3LhHzLz55hsOD65cid+6ZZddriGQJj4DD7aOHTdz06d/Gy2yvuj++9//1ltZPv/8czdkyGD/jCWX/P+98PwbDg0l5nv16unGj3/Zvfbam0XVFWMG96VJW2zRMfWY9cUXX7hXXhkfGSXe8N6F9Nl1113XtWzZKutRacs9adL7btttt3IbbriRu/NOGSHStFdTvUZiuqm2TBWWq9LENE3IKnLXrl3dgw8+6Fu0f//+7qijjspqXYQSVuzVVlvNDR8+PMsFvBzd4L333vP5kx544AG3446F93UsvPDC3jqNSL722mszxfjoo4+8VR1Bzd+vv/66/45rDjvsMInpcjTY//LAo2Cuueby//vtt9/c7LPPXsbcGzcr3I6fe+45d+WVVzZuQSro6fneQSbi+bZplIqB/rnxxht7DxW8YJQKE6jvNilcgvJcUYyYvu++eyOvpoMTH7z99ju4G264ucGEWrwQBx/cyw0bdn9OKGeeeXb0e3hYeaDVIZdffvk5CvK2tL9z/PgJkchdsg65pLvljjsGumOP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sQhozG8s8nquCKQkIDGdElQjXzZ+/Jvu119nuI02WsvNMov8NBu5OfR4EWg0Apx7OmbMK27uuVu4tdderdHKoQfXHwGN9/XHVjmLQHMjoDG/ubWYylt1BCSmm0eTDx78oNt1184S0s2juVRKEahXAkyuhg591O2xR5d6fY4ybxwCGu8bh7ueKgJpCXz99bdpL63zda1aRcct/C9pzK8zRt0oAvVPQGK6/hmX4wn9+w9wffr0LEdWykMERKACCGhMqIBGzFEFtW3ltq1qVhkEGlpMQ03jQmX0HdWiAglITDePRtUg2jzaSaUUgYYioDGhoUg3/HPUtg3PXE8UgWIISEwXQ0vXikCFE5CYbh4NrMlV82gnlVIEGoqAxoSGIt3wz1HbNjxzPVEEiiEgMV0MLV0rAhVOoFrF9K+//uree+899/fff7ull17atWzZ0rf0tGnT3A8//OCWX355//8vvvjCjRgxwu2www6ZaxqjS2hy1RjU9UwRaLoE6mtMYEzkT9pEQMR//vnH/4mn/0Q/MDPPPLP766/ogPuExL0zzTRT2kflvO7bb791kydPdnPMMYdbdtll3TzzzOOvnTRpkltooYXc/PPPX/IzLIPp06e7xx57zHXr1s3NOeecZcs3zKi+2rZeCqtMRaAKCRQjpj/88BM3Zcon0di0lFtuuaVS0wr3THOTxoXU6HShCDQsgWoS03/88Ye74IIL3F133eXef/99D5pJ108//eT/3nrrrd2bb77punfv7s4++2z/Pf++55573EEHHeRuuOGGhm2c4GkaRBsNvR4sAk2SQH2NCaeccoo777zzUtf55ptvdp9//nnWuGpj65ZbbulOPfVUd+SRR7oXXnghMc/lllvOrbfeeq53795u8803T/3cr7/+2p1wwgnu0Ucfdfw7TEsssYTP68EHH3T333+/oxylJgR0v379MvX4/vvv3XzzzVdqton311fb1kthlakIVCGBtGIaIf3ii69mCG2wwVqpBbXEdBV2LFW5eRKoFjE9ceJE16NHD/fqq6+6VVZZxV1//fXRsTJruxYtWriPPvrIDRgwwJ1zzjm+EY8++mh32WWX+X9fdNFFfsJ24403ul69emU1MuL8999/z1hB6rMHaHJVn3SVtwg0PwL1NSbsvffe7s477/TCsVOnTm7JJZf01mVLr7/+uuvQoYP/7wYbbOBG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yAYkQAIkQAIkQAIkQAIkQAJRiUCwiekXtTYPHz6US5cuSZIkScIl4XLWx82bN1U96oQJE7odwv379+X69etG4rGkdiWqvB03+oHFixfP20vCtUN2bwjgJEmSyiuOD4iTu+IMeKxYsVUituc1ZvN+XoK8ngRIgARIgARIgARIgARIICAEzCSmZ81abIQcF/ZKAAYELjvxicDTp0+NM+ebjLJdH/l0HRuTAAmQAAmQAAmQAAmQAAmQQMAJmElMz5ix0Eh4lcMIi04QcI7s8PkJXLlyTfbuPWSEp1vOfdNIgARIgARIgARIgARIgARIINISMJOY3rZtrzx69FgyZUoXaXlzYK4JhIWdUInW8uXLRUwkQAIkQAIkQAIkQAIkQAIkELkJmElMg/TEib9J3rw5jRJRSSM3eI7OjsC5cxdkz55D0rhxDZIhARIgARIgARIgARIgARIggchPwGxiWgvqrFkzGkm44qqQb2+SaEX+lTLfCHFG+urV63Ljxk2jVvdxQ0h/Yr5JckYkQAIkQAIkQAIkQAIkQALmJGBGMY2V2rZtj4SFnZTo0aPL+fOXzLl4UXxWKVIkkSdPnhp1tdNK/vzvRvHZcPgkQAIkQAIkQAIkQAIkQAJBRcCsYjqoFpGTJQESIAESIAESIAESIAESIAESCCwBiunA8mZvJEACJEACJEACJEACJEACJEACJiBAMW2CReQUSIAESIAESIAESIAESIAESIAEAkuAYjqwvNkbCZAACZAACZAACZAACZAACZCACQhQTJtgETkFEiABEiABEiABEiABEiABEiCBwBKgmA4sb/ZGAiRAAiRAAiRAAiRAAiRAAiRgAgIU0yZYRE6BBEiABEiABEiABEiABEiABEggsAQopgPLm72RAAmQAAmQAAmQAAmQAAmQAAmYgADFtAkWkVMgARIgARIgARIgARIgARIgARIILAGK6cDyZm8kQAIkQAIkQAIkQAIkQAIkQAImIEAxbYJF5BRIgARIgARIgARIgARIgARIgAQCS4BiOrC82RsJkAAJkAAJkAAJkAAJkAAJkIAJCFBMm2AROQUSIAESIAESIAESIAESIAESIIHAEqCYDixv9kYCJEACJEACJEACJEACJEACJGACAhTTJlhEToEESIAESIAESIAESIAESIAESCCwBCimA8ubvZEACZAACZAACZAACZAACZAACZiAAMW0CRaRUyABEiABEiABEiABEiABEiABEggsAYrpwPJmbyRAAiRAAiRAAiRAAiRAAiRAAiYgQDFtgkXkFEiABEiABEiABEiABEiABEiABAJLgGI6sLzZGwmQAAmQAAmQAAmQAAmQAAmQgAkIUEybYBE5BRIgARIgARIgARIgARIgARIggcASoJgOLG/2RgIkQAIkQAIkQAIkQAIkQAIkYAICFNMmWEROgQRIgARIgARIgARIgARIgARIILAEKKYDy5u9kQAJkAAJkAAJkAAJkAAJkAAJmIAAxbQJFpFTIAESIAESIAESIAESIAESIAESCCwBiunA8mZvJEACJEACJEACJEACJEACJEACJiBAMW2CReQUSIAESIAESIAESIAESIAESIAEAkuAYjqwvNkbCZAACZAACZAACZAACZAACZCACQhQTJtgETkFEiABEiABEiABEiABEiABEiCBwBKgmA4sb/ZGAiRAAiRAAiRAAiRAAiRAAiRgAgIU0yZYRE6BBEiABEiABEiABEiABEiABEggsAQopgPLm72RAAmQAAmQAAmQAAmQAAmQAAmYgADFtAkWkVMgARIgARIgARIgARIgARIgARIILAGK6cDyZm8kQAIkQAIkQAIkQAIkQAIkQAImIEAxbYJF5BRIgARIgARIgARIgARIgARIgAQCS4BiOrC82RsJkAAJkAAJkAAJkAAJkAAJkIAJCFBMm2AROQUSIAESIAESIAESIAESIAESIIHAEqCYDixv9kYCJEACJEACJEACJEACJEACJGACAhTTJlhEToEESIAESIAESIAESIAESIAESCCwBCimA8ubvZEACZAACZAACZAACZAACZAACZiAAMW0CRaRUyABEiABEiABEiABEiABEiABEggsAYrpwPJmbyRAAiRAAiRAAiRAAiRAAiRAAiYgQDFtgkXkFEiABEiABEiABEiABEiABEiABAJLgGI6sLzZGwmQAAmQAAmQAAmQAAmQAAmQgAkIUEybYBE5BRIgARIgARIgARIgARIgARIggcASeCliOrBTZG8kQAIkQAIkQAIkQAIkQAIkQAIk4F8CT596df9XnhrmVUs0clTsXl/IhiRAAiRAAiRAAiRAAiRAAiRAAiQQBQh4KZEppqPAWnKIJEACJEACJEACJEACJEACJEACASJAMR0g0OyGBEiABEiABEiABEiABEiABEjAPAT8IqbNg4czIQESIAESIAESIAESIAESIAESIIEIE/AtzDvC3fBCEiABEiABEiABEiABEiABEiABEjAPgf8DuxLZoUtCNFQAAAAASUVORK5CYII=\n", "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": "2024-01-18T17:27:08.766956Z", "iopub.status.busy": "2024-01-18T17:27:08.766829Z", "iopub.status.idle": "2024-01-18T17:27:08.790170Z", "shell.execute_reply": "2024-01-18T17:27:08.789876Z" }, "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": "2024-01-18T17:27:08.791957Z", "iopub.status.busy": "2024-01-18T17:27:08.791824Z", "iopub.status.idle": "2024-01-18T17:27:08.803173Z", "shell.execute_reply": "2024-01-18T17:27:08.802838Z" }, "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++8yxXywwmklMn3/++W6XXXZpgWObbbZxl156abv3UaUTfv311/66DjrooFabnnzyyW7fffetdIiG+p1xdvHFFycNM+0hpvGcHnLIIV5Ihw3Rt/766/tv8KBBg/w78YILLmi1DWIfb3B7td9++817zpkX7LPPPq1O20hi+oADDnAnnXRSq2sk+mOiiSZqL2Q6jwiIgAh0TgLNLKbxgCCCZ5ppJt+5V111ldtyyy1bdTQhh2ussYb/OxNgvNGffPKJ/38T0/z3gAEDHBPguHVkMc29XHjhhW6nnXZqcVsS07V9H8SeSrwtTH7iSIrrr7/e9e7du7Yn19FGGoHXX3/dzTnnnMnz46Udf/zxW/z2yy+/uKuvvtoxOTZR3UxiGgF66qmntrhnojEGDx480vqo0olXXnll9+CDD7bYjGeXZ7gjNt4vCMGw1VtM//DDD26jjTZy999/f4vzYvief/75W2GEL89A2NZcc0137bXXuvHGG6/dsWP0ig3pjfSuZv7CXCdujRr10e4dqBOKgAiIQD0JNJuYNtEyxxxzuEceecRNNtlkJXx5xDQb4x1cYoklvBdxpZVWcg888IA/xqeffpoMN+voYhpOK6ywQothJjFdu6fu1VdfbRW+fcIJJ/jJImIq9ETedtttbp111qndyXWkkUqAd0Mq3xlDH2H/WS18JptJTD/11FP+3Rq2Rg+Z3nvvvd3pp5/e4po7spg+8sgj3RFHHNFuYhqPNEZpxnTYrrzySrfFFltkPgN77bWXO+OMM1r8Ttj9Lbfc0q4eai6AHGTezWFrJDGNZx8uccsyVozUl6JOLgIiIALNRqBZxTThkosuumiL7sorptmJD+XGG28sMd1sA34k3M8VV1zhc//CZpPx0AODAYjJD0V41JqHQGww4c4qiWm22WOPPdzZZ5/tmklMc19nnnmmvyfCqMk7JnyXFIdGbYT4nnbaaS0uryOGedsNtLeYPvDAA1uFdpPm8v7777tyxTuzcrxJi4mNAfUeOykx3Uhh3qRqMSbjhqF2ZHjy690fOr4IiIAINBSBZhTTfKTJFYo/1EXENPtTaTn00Moz3VBDt8NcTCpkMfRskVLw7bff+iJ3as1HIK+YxgBIWDg5xDT+f7HFFms6Mc29Ue2cSsljjDFGw3e4xHT1XUSU18wzz9zqAHnDylddddVWoeEcjBoU00wzTfUXVnDPRhfTN998c6tiaI2ePlGwC7S5CIiACDQugWYT0+QnzjfffO6aa65pBb2ImGbn5ZZbzo077ri+IAotj5j+66+//FIfU0wxhZtwwglzdzzLxWCJJ2eSAlQI+VosvYJQI8wOT0CWF6AZwrwprkMRNZhPPfXUubm3x4Z9+/Z1xx13XItTFQkTrfW9/f7776XJaJcuXdoDQcVzkD9Moa5pp53WTTzxxBW3b68NeHaolIvntFu3blWdNq+YJhKGMcyyaTTEJsvbHH300W6HHXao6tzNuhNi/J133vHLapHKk/ddyX5ffvmlN7bSnxS9qrTsWCUxbc/TDDPM4MYcc8zCyCk8x9JQ1Pao5nlknGBAZqxyjEpLNbanZ3rbbbd1l112WSsmfHP4vlZq/fr1c5tvvnmrzXbeeWd33nnnVdq99HuR55j3LTxnnHHGkrGnWjHNeZkPMI9gTlBtATXSRZgfcG3TTz99q/vGGMtYDhtpRKQTqYmACIiACNSZQLOJaSZK44wzTqvCPmAsKqYpmoLnhA8hrZyYZn1HQhcpZmaNsF1CGldcccVkLyIgEP3nnnuu90jFjXxtJiPk0IahvxQaYUKUahT3mW222XyOH9Wiw+NyLERdXC26kphm0kKocqrxAWfpsDyNUOfXXnstc1MmCTfccIO79dZbk5OAp59+usVkBMMFlWFvv/32FlXYET5LL720LxC0zDLLtDhfOXaXXHKJz20mh5OxkmqE3m622WZ5btcXrLvvvvvco48+2qqKPGG+tuwO1eTjJViqubeBAwdmFkU67LDDHIWUqKYbhgMyKSUvsZIIYG1srvePP/7IvHeW/aLAFMaDuGAT98c4DxvPKku3sARbWPEaww8TbUQk4jpsVP4141b4d64fzggJ8jDffPPN5HWy/BgGN55teKQaxXzgxZinvy2nffXVV/cT+KIesTximkk3RgS8eCamuTZEFgYiCjdlPfPVjFtCb+Mc1kqDmmugMjB98+uvv1bavPQ798QzlTV+jDc7ZPUvv/GOReRQ6Zl3hFXG53lnHNFXqRQJxOZNN93kx3280gPHpbDV4osv3kJUM0bob1pKTGMMm3zyyf37OyyqRT44OdaIr3KN6+BeeaeFyxnx/qEAJuOvkrAmFYnikYz7sHENPAPbb7990shQSUzznaDOQ6r17Nkzd4g177CslBXEXx6jGULUCoiG10Of807i2azVc8y7mn4Nefbq1cu/z3gXxTnT5cK8KSJI34RFy7hmKtnz7IWG9k033dQbhuLGd5p3HREq9Il9y1mZ5JRTTmlljIiLpPEOzpp75H54taEIiIAIiEBlAs0mpsvdcVExHR8rS0wzmd1uu+0yT53K32YiwMfPPpBYkVnWCy8FgjecYDHZY/JoHgcEKcu1hMLdTn7RRRd5cZQS52yz1FJLOURX6MmpJKafeOIJLwpj7+omm2zic8q32mqrygNt+BYI/azlZJhAcjyEKvfH5DcUD/BhmSG7bsIH2d6WOkOc9unTx4dLMxG1xjHIyTR2VGtnu5SQsMkHRZIIm4uLDnFMJjGpZVJSAMrdb7h9XIin2ntj4sm4gF3cWBKH+4ur+LIdk75Kns+ffvrJF0yLl6yx8zBJpFov44ul5OBnyx0hjgnrDIsNUdQPj5ONc8YR/clEFh40Jp9MSsO1fpnQMhmNl3JjewQeAgSDDAxSBXlY5oYK6hgFyDNEMMdLUVHxf6GFFkouIcQ9sj5ukZZHTPMOQfwwUQ7FtJ2n1uM2Dp/Fq4onjvzKWDTYNcB37LHHbuVdQwB2797dMUZSSwdSfIo+4bmzvg35wduMdaztzDObEr0IC7z3WWsTk0dry8zZ8cnLRlC88sorpVOycgGCE+MO7+ZU452G4YWWEtOV+p97wHAVe73xjGNgRXBbw6DFmGQMGD8MsTyrqUrw3D+GA2PGc4LhkGgmzmvP1LrrruufwXhppEpimvHN+55nzxrngAnHzONRZj/uhW9c3BCJGNLyNAzOWRFevPvnmmuumjzHed/V4TWnxDTfdcaXvWd5rhiXPL+2dJW9I81YwjgkJz9eQg9OGMRJ9Ygb/QGb8DuO4A+/ffY+zMNZ24iACIiACLSBgMS086LUlsYqhzJLTLMPE0qs9nxE448iH8/HHnusxaFDKzJCEPFrIWBcz1prrdVieyZmfCzDFi+3FP6GAGdylfIoxxbrSmKa47LmJp5jJmpMEJho4c0p2hD7O+64Y6vdEPh4k8MGA1ggBENjBRMxvF3hpPrll18u5RwjnhHe1uKQQCa0TNDiSXnMhYgAJjNhKyKmYUW/cv0s6RI2xCvCgDbrrLP6EEBaW++NY1CZvYjXcc8990waDlJ9yzXjEYsb44OIEGswtvEMg9lnn730Gx5GxLM1Jo14HJlc4kXk2QhFTlw1F2MLk+i4hZNH8/TGfWxi2vZF5PNs5W2InHLRFanjVBLT9BVjjWvNEtMct5bjlgk6jDkfRofpppvOXzqe1lTkhY17GFtBI8Q/3l5CrWmMacZ63ELmRKfE76RQTLOv1avI6hNyyj/44IPkGEfMmPhiLHGfZnDjeIjoxx9/3IsQns9wtQd+J4KC55ExaO+pLDGNuMSIRPgtLEIDKMdCjMeGRsQ+HmlreD4xPNE4DucOxyyGNYwc1hgDvCdDo0VYDR1DFoZJa4xX3o1hbnolMc2+4QoEPKuEamMUK9JSa4qzf57ie3aerGr4/E4IOF5dWlue41SBSMYJHmk861QVD40xdm0pMW3fLNuGfrLvZPheJuoBA7lFBDEm4+8fx0A0ZxmP+FaEUWbhMXr06OGjHtREQAREQATagYDEdNvFNCFYTByYsKSWQaIbw+WzPv7441ahoogtE1d4eGyCakMgNclmsoc4jRsfVfMIEHobeyrj6sCVxDThenjk8FhhGCBUutrqu4gcRLmt423Xvttuu/nKxdbYDm8X+YgWum+/4eEMvSbhWuDxRND2iUVUqrBNLKZThcOKiGk7dypnOqsacC3uLVU9l2tBhBB+GhuOilSlJRyRyXDc4mPY+spMGsOwbPoTIRwanAjVx0tsLZ6EM2HkvLYmcyjUw+uIPTGpPo7HAWM5ZUjjeeM5gVnoBY/HaZ5XdEpM8/zQF3AKxV45Mc25ajVu8Xhy7jDclnoNCLdYFGI8w4CAV9oEKGIDA6F5XvGm482PG9EHYcoEzzhe1bDFYprfqHsQvyO4DsQJ4dVEFpACEF9ruBQQaRYUkAwbQpaQcGtmVLD/j98l/D0lpuPt8KiHERTsh/hk3MKN9sYbbzjEbdgQPAgfa/H7GqMox7aGQLcCdfY3nik7B98Zvh2hAMPrGnrCK4lpoqN4z/OMsh/vqkp55annANZxpADbYbAYNGhQnkfHb4PBI+5n/k7kEIZAWrXPcdY4ok6C1d7IMqLHRj7ec/SXNZ5x0kmMXew5Do0tbBdHEHAcjkFUB4aD0CCbMkgwDszbrXzp3MNLG4qACIhA2wlITLddTFMUxCzMeENSBWCYDFgBI7wqcRGR+OOHhyIOZQ3PQ8/jFUF4hI0wrzA8molQKFTYFkt7uNRLOTFNYTREPt4rJtCE/1UrpO06CSsmFC5uTOYtP90mwky8CYu0Rsg5E72wxexSuXqIlOeff74UFoeAYgIWtlhMwygO6a6nmK7VvaXEO/eJx48JGx5JPDpMlvEmMimtlJ8Zcurdu3ercPFwPXa2tYk04ybMHyVVgOsLG5NQy0/l73k4pApOxWI61cexmCbcHGEUN7smvIUWfo7Hj7GYqk5c7k2cEtNZ21cS07UatwgUvOE8i9Z4d8TRL/yGB43wXhpjBsEdGv8QcDyTqRDvUJSwPyGtGCTClhLTnCOO8ImfTyKBeB+FjfoJJmpJeYgLMOFhDZepS43lOJ+3UgEyzp9l4AkFUypiJPSkc5xyzwfbYkAIhXJqvKTOg0C26JdyYjoU0ghV3oF5i7vFY5qwfgxScQtXyCj33NhvpD+lwv7Db121zzE1EFieLWwYxwm5D1sqSikW0/GYje8zLqbGe8UKpfLtS31X7dvGNw2epNlgkMFAgmEtbnYNodc+D2NtIwIiIAIi0AYCEtNtF9Oh15muSFnS46U8KJoSFmkKvckcwzxHYdfGYV0pMR17PFN54giocBKdJaYJGTQhzXWQo2XewTYMOV+xnCrFcfga3mYLMbWQUbx2occrNeFngg6LsKU8W0QEWKhirURJHg55PdO1urfU+TCEIFLDhve/UuXf1P1l5UKSs433kOeBokHkq2JEMq8Zx4o9gfxt8ODBPk3CGs+KhR3b3zgux7dWbzEdr8+KUanaZZxSYpr7wWBEGC85lTz/tPYS0+Sm493iOaRlFXqKU1QwWND//N3C+hEVFlUTjhdEW5jDyW9tEdNx7YlUyHgo8vGqxnUPYjGdOgbPCc+LtTxiOuudbYbLMDzejot4IgopbKkwewyPGE3j9Aj2o3hhXAchFW5PHjTRRbQsMU1IOvnQGHERgpyvWiHNebJCr4uGIKcMyxwfQwlik5Ylpis9x6kq3XFaEcevVM0bQ0dcUC2ur0DKEKI87H/2Ix0mS0xTnDGMrqj0zrbIlTC8vMUA0/+IgAiIgAjUnoDEdPuI6dhDwySKfOC33nrLe+UWXXRR37nkZuEJSlXurUZMI1DDwk+cwyZnNppSYprJJBPtMEQ8FLttHYmpia4JPsLVMEggiOP81JSHIJWbmDJGhJ6tRhTTtbq3lJimQJEVwGlr37F/Kl/fCkDZ+shxVEGW945Q2LBiLyI8rjjPOUPPcz3FdK3XZ62UMw0XvLN4k9pLTMdjICUW2Ibwba4pq2WFhtN/CHTLr7b9aymmU8suhaIx5XWMxfT666/fqlBdGCrOdecV06ljEc3AagcvvfRSK46pQlx41i0KwJjZezEVIh8WSrPtU+/W0IubEtN8E/gOhNFQhKWzMkS1LRX6zrGK5EyzfVaYd/g9SonpPM9x6jtBdfa4QnglMU3UU7wiA9cehvVjzI0NyERfEKWWJaYtmihvH+BlZ9wT/RavhJD3GNpOBERABESgIAGJ6ZEjpsNuYtKJR4J/UlWKbdv2FNNZwygWPgWHW2lzy6mN92cCxz9MXggxxLMTtlT4ZziBtm2pjhvmovJ3JqMWYtqIYrpW95YS07XOocN7E1cARxyQX4hwp6J8HFWAQSk1wYsNTVkTy1Dk1FNMVxK0Rcd8JTHN8cwbX+nc9Ri3eL9SS+iQm2sV2bPuGQNKyvBHRExqfeD2FNN4/eOQfOoJhMUJU17P2JuZV0ynahWYcOQdRVhv2OJoC37L8rBicCH6Jq6mHxtGOUbq+UegY6SlpcR0qn8Ro6RFhJElRcZ+ij/7F6nmzfZZ3nFy9i3lJ8Wt0rOUZdyLo8S4hkpiOis6I4xwiNmRS01UATUAst55cRpAJf6W1hWnhFXaT7+LgAiIgAi0gYDE9MgT06yFS/GlsLotE1Byo8gHjIuuNIKYZoJC0ZxK6xLnGZJUL7XwVtse0cckjFxbhJmFodrvqfDtlGc6XnOT/cOwwHqIkqx7zhvmXat7aw8xnSqSx/1TpI5ICPIziboIW5aYNu+MbUtlcMudD/cPQxebTUxzn4xZojJSS2MZh1qPW8JGiTJILaWXev7C/qACO4IwbrwjMKSkila1p5i2Z57caWthMTuigLj3sKVWTcgrpjEgxca/ZZdd1ofzp8R0SlSmQrm5PtIM8DrGBSdTnum4Yjj7hwXT8opp9ovra+R5r9s2WfVD+D02WGQdN1Vx3baleJitY12NmE6F3nPsVIh0JTFNkTALo7frI6UIb3SeVisxjfhmntCWiII816ttREAEREAEAgIS0yNHTBNuSJhi2MJ851RoW3uKaSbETHxTa1zWysuZmoDYUiBxFWjjlCquk/KCpcKQw+JEtRYl5V4qecV0re6tPcQ095vK2bf+iysIs32qMBx/t1xrY5i1NBLh3127dvWbNaOYxrNJKkJ7iulUKDR8yXdliblyLbVSANunPHt2nPYW05yX2g+E0ZtxEo8rhjy8gqHBklBo7tkEml1zXjF9zDHHtKgUzv62LF+qqF5KTKeWRbTl2FLFyVLRA/vuu68vUBW2UBSnxDRFKjGAxcYAjhEXCCwygcpKH8ib05vlqQ+Ld3E91YjpLLGPQYN3cdgqiemspa3iYnZZ7Golpov0jbYVAREQARGoEQGJ6fYX06mJlXkwrFtHtpi2SqSpCSLXmMorKzok8SwwoUyto8naq6zBGrdUPmCqYEwqZJpIAMI6aY0opmt1b+0lplN5oNZfWV7NVI5inJuZWoomLtbUjGIaIwL/hPnj8fiv5bj95ptvvGc5fv7Cdb85PxEGhO4TYmyRIqllp9g2LohFaDECkegR2sgQ05yX2g+IfxpjieJpGNxYpo13wjLLLJPpzcsrplMi1pZvStUBSBUgSxkYKcpIfnAqnzoWldxfyshFdWoz3mYVIMOYQwGrsDCm8eLdGUcJ5Xnfp1auYL94ecasY2UVMYuLFlYjpjln6n2UWiqwkpjOWj5r4MCByfWj4/uthZimEjsRXQh4arCE643n6SttIwIiIAIiUCWBziSmCacOl0UxZFTZXGuttSoSzPpg5qnmHeaFbrfddq1yEePwwkYR04SBIvTjZW+YCJI/zXW2peEJCnMYbfIWV4G2c6Ry01jOB37WUmutIhBYt9YqMqdECcvshMuNtPfSWLW6t/YS0/BO5aZnRRWwPZ66OO8znnCmwm8RQggNaykxTeh5uLxMtUtjVcq1LDre8+RM5z1mLcft7rvv7s4555xWp45rEFhRIzNGlQsND6MMyEmdffbZ/Vq7RNXQ2ltMs7QZRiqeLRrCPrWueDn+ecV0qm/CvN6UgS/ObU3xoZI3udGpKvexEZb7SBVC45mae+65/W2WWxqLbxx9FhtYMK4iWKk8XbSxnJytB2374m0fMmRI2WrheI7JOY+XSNt+++1bhbtXK6ZTrDAgx8v3VRLTWfnXVoAuZkY4Nitq7Ljjjn65wraKaZ67+eefv0W/MW5ZylFNBERABESgzgQ6k5jmw4KHJW5xhdcs5OQ/TTPNNK1+ziOmw+qaqVzhNddc01H9lEYFazwmcYvDvFPChIrN4T2mqnnHS2OlChCFa2RmLZvDRIEQwFRuZN5hmypSwyQ/tT4px2SCReh5WFyMPHNCva0hmsk/DltciTzlvQmX2GJyhCcnzGfneHEBozz3mTIYxAaAWt5bqhBSXFk7z3Xn2SZloMqKKuB4KYNU/PyljApx4buUMAm9VSzjhtCPC/pRWTn02LDWeCyuilYbLseJd0Pq+SiSTxkev1bjNmWw4DwsW4ThzK45FHBWDAljCO+euJGbTCiyNcYBnurQOIF45/kOW951pqnVwE7hiWYAACAASURBVPVZS1XzDpfGIv+cZfUsHxzmGDWLLveUEtNxdXwMDPHSaax3jTfZGu9K3vNhY3yGRdLidzpj8dVXXy3VqCAcm3Qga6lQ8fjZiNdNThWNCwWk9Vvcvxg9ebcUbbBZfPHFWxWErBTdhJcVsRs2KmazrFuXLl1a/L3a5zgVVk+0BtEYtmwghl2iRWIDAykS4XOQikzgIuNvzxdffOFz2HkGzciBwQlRHTe2zWOwTs0F7H1bTURB0T7W9iIgAiLQqQl0JjGdWnqIzo8nG1kDIvXBZttw/eKs4knhJB4vOB/xuDGp5MOJJyIV+ozHCM8AE1Taggsu6KhwHLa4umvKCxGHYqaWXIkn+6nqzZw3lRtb9IGytTFtv0GDBiWXGbHfySkN157m74SsTjLJJH6TeK1WKqqS0xZOolP3zCSKcEg8nHgN8FTHDY8KOXXkF+ZtqUl/1pirxb2lPGTlvMV57yO1HUV8YGHjFc9wVlSB7R97quI1sOPIjUMPPdQdddRRLU6fepYRKhguCBun2FyqMj4Fm+h7W7KJ8cskOG61qoaL9808gvE54NStW7dC+GsxbhH4GMsQJXELBSsilHWHLa+Y/QghZSmf+P1Ev/MenGCCCfwhQ0EWispNN93UIXjDFvd/Vs587DFPFRkMDWKEmMepIohTwrupUM27FAFMjjTeWEQ/v9n62XaNKTEde4RT4dkUaIvXS4/HbbhkFUXGMKKG4zZczo/rgTvCLsz1DreJw6rpFwyW4VJzqWcnfh+l+onzxwaNvIMXIwZGrLDQHdfE+45vTdy4ZvojHGfkupP/nnr3tuU5ZozHzwLGBfqd8U4l9HhlCK6XZ4j0AVtfmnchhb8w5saN8bLSSis5ltCiSCONYnJ42Wl882x5zHBfqqljFKzUUh72tvRXpfPpdxEQAREQgYBAs4tpQhOZXCOEyy3zgreEoiNMtphYxY39Eaapjyp5a/zGBA3PDGI4bljUmeDzAU6F8oXbM7kgNDRVYZffmNDgzaNqa9yYPOHVpaIyk0kKyqQ+7myDRxevNN6OOJSO47INH2kqK+NFsJzD+JypHLMiD1mYC5jXKxh7L6mkircXUc3k3SabLJ3CtrF1Hos/50oZLfJce557RlxwbvimGpXcGRd428IJfLX3hgjBQ58qIsT5GaNMHG05mTz3mWebMNe7XFSBHQtPFWH53L81vF6MWcJiN95449LfWcoMT1y8PE9qbfQ812rbMFnnOeIZSo19xhPXQy5t7AXLc56nnnrKR5jwzKeOzzEQB0QMIE4xjJkQLXf8WoxbxCPPSKoR2cIzhHc6TO2wZZxSwpLj8CxhDCSsmpDbUBDiTSdlAg+diYf43OQWEzFDvzAuYsHN9jwrXB/iAuNeHDrMNlwneba8q4iaiIs8Vuo79kfs0DfWwntGANq7hUgnxgkGTcRnaFBC+GPAihu503AKDXW8/zAO8r4N14JP1YLgeNQq4L1s44prxfiHMZGQfMt55lq5F7zCNGpU8O1JGY/YlqgBrpn3CP8dPp92H3x/+BaGfCoxtd/xvlIwzcQkf+e8GNcYj7wDMUZjiMHzHxoM+FYRERE/i7xLeF+25TmOjUZ578e2owaKLYGF0RaGlb4rYYQTQp55Q5yrzvExKLAthqNyBlze+VSTj1sczVb03rS9CIiACIhADgLNLqYt3y8HCr9JHDJs+6WWLQqPiRjAq8xkIatZ6DQhxIRlxcucsB8TRPK1+MAzkQ8bFnI8pwjbeM3S+Jx41rjmeHmtcDs+/AiXlNi27fCEYVxIrUNr26TWS83Lm+3wyDBJ41qLeLqZeNNfzzzzTPJ0CDYmWRauF2+E4CGHPvZgMlFEwOFVZCJNY7JEoSKYMqmBB+GU5VrKi5jaPiyMZr9Xc29ZkRPxOeO0hCJ9ldo29L5WiioI90d00X+pMYpRCOOXRWGkzsuzgJCPJ654wBAmPEsw4VgICvqre/fu3rDCs5ha8zo+T7xWdl5Wld4X8XHwvOOBz9PaOm4JN04J0XLntndXVnRPuX3x8lFEK/bSxvsgShFMqfeibYt3D0GIeC/XEI7koVr19zxcw23C3G8T0wgWRA9GGER0atwyXhGioSc4PjfvfwQkYzfViH5BjJcTrIx5DDFxGoodD3HK8xHefyrnOtUH1BBJrR1u26bWti7ClxoJhJqnIiPi4/As470Pw/vDbUg9MM9wuWuo9BwjOunT+Jr4tvEtQDBj8KFh1KFwGeOZdwkRMawVbY1j0TcYXOPG8RgfYapJKsIs3g9jVJaRlG0pPoZnO/yWxylfRfpI24qACIiACBQg0OxiugCKdt8UjzkfeYQv4WGEg0444YSl60BQ8RHH+k74Hx/Lovl+7X5TVZ7QQr0rrW2bOjzeHnLPEHXknRGqiQEgz1rYsIUxHjU88EzabCKM54c+wJMbh35WeZuFd2vLvRU+WZU7YAyBtS3hU+QwCHsm+eQ7w5oJKv3HpDNPLj6TacQl4gLhgGg27xV/57oozFNN4aQi99He2zb6uG1vHlnnqxQFlLWfFf3id0JtCeHFoGCN2g0Y4V5++WU/xqilwfhPrY+edQ76EEMaYx9hjkBDQIfCrBJHroucat5/XJNVKCeyqdEb7zYiTDBc8N88y7y/eY55fxManUco1/I+eRfxTcYAyzfXKuvDl4gNvg95I1XoU8YH9R54n+FlzpP/XO39kJ6EoZ3QdKI3OJ+aCIiACIhAOxCQmG4HyDpFiQBhfHigEDg28eTjzwQqzuUWtsYjgNeFXFDCUs3jT8hqz549XVyQp/GuXlfUmQiwrjneRCuahaAhMiFseIkRcXFKjS1H1Zl46V5FQAREQAREQASqICAxXQU07VIVAaqVh7maeJLxxlhBKrwU5PSqNSaBcMkthAmRFXjlLPSXnMg8eb+NeXe6qmYjQOi81ZXAa4yH2QrPxfdKZAN5qXggadVU7W82frofERABERABERCBHAQkpnNA0iY1IRDnhpGXR8EqQtwJbyfksVnD2GsCcCQeJFVhecCAAb4wGEuVUSiMHHE1EWgUAoQ8mzjOszRcuKQcRbIwEqmJgAiIgAiIgAiIQFkCEtMaIO1FIBbTFHIhl5UCYiwVFq/3217XpfNUJpBaB5VlhyhiR25gNbnulc+qLUSgegLhknsUOGR5wtQyZeQaU5SNYnh4qCn0SEXpPDn71V+d9hQBERABERABEWgKAhLTTdGNHeImqHjOOsBxU650h+g+t/LKKyeXbwnX9u0Yd6Kr7AwEKPyEoA6XJqOA1HzzzeeXHqRWA1WQKeBlVZBZxo5VAKgAryYCIiACIiACIiACFQlITFdEpA1qRIDqtayHyrIvVE3FS7TKKqv4EOFmq7ZcI2QNdRi80yxzRHg3yw4RRsuauan1dBvqwnUxnZYA75z+/fv7MUuOP8L5xx9/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/es82xfv31V19gyryR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gAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAEC/5cwjZ0AAQIECBAgQIAAAQIECPQkcO7cjlpz0blZ2dGVuWgxse/4gy4kQIAAAQIECBAgQIAAAQIXgMAOI7IwfQH0pVskQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8C/5Mw3Q+PlhAgQIAAAQIECBAgQIAAgV0L1E3z3nU1PkiAAAECBAgQIECAAAECBPoREKb76UstIUCAAAECBAgQIECAAIFGAsJ0I2jVECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB8BYbqfvtQSAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQjIEz305daQoAAAQIECBAgQIAAAQKNBITpRtCqIUCAAAECBAgQIECAAIF+BITpfvpSSwgQIECAAAECBAgQIECgkYAw3QhaNQQIECBAgAABAgQIECDQj4Aw3U9fagkBAgQIECBAgAABAgQINBIQphtBq4YAAQIECBAgQIAAAQIE+hEQpvvpSy0hQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8CwnQ/faklBAgQIECAAAECBAgQINBIQJhuBK0aAgQIECBAgAABAgQIEOhHQJjupy+1hAABAgQIECBAgAABAgQaCQjTjaBVQ4AAAQIECBAgQIAAAQL9CAjT/fSllhAgQIAAAQIECBAgQIBAIwFhuhG0aggQIECAAAECBAgQIECgHwFhup++1BICBAgQIECAAAECBAgQaCQgTDeCVg0BAgQIECBAgAABAgQI9CMgTPfTl1pCgAABAgQIECBAgAABAo0EhOlG0KohQIAAAQIECBAgQIAAgX4EhOl++lJLCBAgQIAAAQIECBAgQKCRgDDdCFo1BAgQIECAAAECBAgQINCPgDDdT19qCQECBAgQIECAAAECBAg0EhCmG0GrhgABAgQIECBAgAABAgT6ERCm++lLLSFAgAABAgQIECBAgACBRgLCdCNo1RAgQIAAAQIECBAgQIBAPwLCdD99qSUECBAgQIAAAQIECBAg0EhAmG4ErRoCBAgQIECAAAECBAgQ6EdAmO6nL7WEAAECBAgQIECAAAECBBoJCNONoFVDgAABAgQIECBAgAABAv0ICNP99KWWECBAgAABAgQIECBAgEAjAWG6EbRqCBAgQIAAAQIECBAgQKAfAWG6n77UEgIECBAgQIAAAQIECBBoJCBMN4JWDQECBAgQIECAAAECBAj0IyBM99OXWkKAAAECBAgQIECAAAECjQSE6UbQqiFAgAABAgQIECBAgACBfgSE6X76UksIECBAgAABAgQIECBAoJGAMN0IWjUECBAgQIAAAQIECBAg0I+AMN1PX2oJAQIECBAgQIAAAQIECDQSEKYbQauGAAECBAgQIECAAAECBPoREKb76UstIUCAAAECBAgQIECAAIFGAsJ0I2jVECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB8BYbqfvtQSAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQjIEz305daQoAAAQIECBAgQIAAAQKNBITpRtCqIUCAAAECBAgQIECAAIF+BITpfvpSSwgQIECAAAECBAgQIECgkYAw3QhaNQQIECBAgAABAgQIECDQj4Aw3U9fagkBAgQIECBAgAABAgQINBIQphtBq4YAAQIECBAgQIAAAQIE+hH4NxubwcBuDqn8AAAAAElFTkSuQmCC\n", "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": "2024-01-18T17:27:08.804865Z", "iopub.status.busy": "2024-01-18T17:27:08.804697Z", "iopub.status.idle": "2024-01-18T17:27:08.823111Z", "shell.execute_reply": "2024-01-18T17:27:08.822796Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 108, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.825155Z", "iopub.status.busy": "2024-01-18T17:27:08.825018Z", "iopub.status.idle": "2024-01-18T17:27:08.827037Z", "shell.execute_reply": "2024-01-18T17:27:08.826684Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer = GrammarFuzzer(state_grammar)" ] }, { "cell_type": "code", "execution_count": 109, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.828509Z", "iopub.status.busy": "2024-01-18T17:27:08.828411Z", "iopub.status.idle": "2024-01-18T17:27:08.831304Z", "shell.execute_reply": "2024-01-18T17:27:08.831053Z" }, "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": "2024-01-18T17:27:08.832766Z", "iopub.status.busy": "2024-01-18T17:27:08.832666Z", "iopub.status.idle": "2024-01-18T17:27:08.834483Z", "shell.execute_reply": "2024-01-18T17:27:08.834190Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "check('terms', True)\n", "fill('email', 'j@Bn')\n", "fill('name', '5')\n", "fill('zip', '1')\n", "fill('city', '.7 ')\n", "submit('submit')\n", "\n" ] } ], "source": [ "print(action)" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:08.836022Z", "iopub.status.busy": "2024-01-18T17:27:08.835911Z", "iopub.status.idle": "2024-01-18T17:27:09.103822Z", "shell.execute_reply": "2024-01-18T17:27:09.103387Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "(\"check('terms', True)\\nfill('email', 'j@Bn')\\nfill('name', '5')\\nfill('zip', '1')\\nfill('city', '.7 ')\\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": "2024-01-18T17:27:09.106225Z", "iopub.status.busy": "2024-01-18T17:27:09.105946Z", "iopub.status.idle": "2024-01-18T17:27:09.119825Z", "shell.execute_reply": "2024-01-18T17:27:09.119497Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZRcRdOGG3cIkODu7hJcgwTX4O4W3CW4u7sFdw8aggQImhAcgjsf7vrn6Zyav7e378y9szOzm9m3zslJMnP16b53+q2qrh7lv+HmZCIgAiIgAiIgAiIgAiIgAiIgAiIgArkJjCIxnZuVNhQBERABERABERABERABERABERABT0BiWh1BBERABERABERABERABERABERABAoSkJguCEybi4AIiIAIiIAIiIAIiIAIiIAIiIDEtPqACIiACIiACIiACIiACIiACIiACBQkIDFdEJg2FwEREAEREAEREAEREAEREAEREAGJafUBERABERABERABERABERABERABEShIQGK6IDBtLgIiIAIiIAIiIAIiIAIiIAIiIAIS0+oDIiACIiACIiACIiACIiACIiACIlCQgMR0QWDaXAREQAREQAREQAREQAREQAREQAQkptUHREAEREAEREAEREAEREAEREAERKAggWJiepRRCh5em4uACIiACIiACIiACIiACIiACIjASETgv/9yXazEdC5M2kgEREAEREAEREAEREAEREAERKBTEJCY7hTNrJsUAREQAREQAREQAREQAREQARGoJQGJ6VrS1LFEQAREQAREQAREQAREQAREQAQ6BYGGiOmcJ+kUwHWTIiACIiACIiACIiACIiACIiACIx+BuDZYTp3btjnTOU8y8tHUFYuACIiACIiACIiACIiACIiACHQKAhLTnaKZdZMiIAIiIAIiIAIiIAIiIAIiIAK1JCAxXUuaOpYIiIAIiIAIiIAIiIAIiIAIiECnICAx3SmaWTcpAiIgAiIgAiIgAiIgAiIgAiJQSwIS07WkqWOJgAiIgAiIgAiIgAiIgAiIgAh0CgIS052imXWTIiACIiACIiACIiACIiACIiACtSQgMV1LmjqWCIiACIiACIiACIiACIiACIhApyAgMd0pmlk3KQIiIAIiIAIiIAIiIAIiIAIiUEsCEtO1pKljiYAIiIAIiIAIiIAIiIAIiIAIdAoCEtOdopl1kyIgAiIgAiIgAiIgAiIgAiIgArUkIDFdS5o6lgiIgAiIgAiIgAiIgAiIgAiIQKcgIDHdKZpZNykCIiACIiACIiACIiACIiACIlBLAhLTtaSpY4mACIiACIiACIiACIiACIiACHQKAhLTnaKZdZMiIAIiIAIiIAIiIAIiIAIiIAK1JCAxXUuaOpYIiIAIiIAIiIAIiIAIiIAIiECnICAx3SmaWTcpAiIgAiIgAiIgAiIgAiIgAiJQSwIS07WkqWOJgAiIgAiIgAiIgAiIgAiIgAh0CgIS052imXWTIiACIiACIiACIiACIiACIiACtSQgMV1LmjqWCIiACIiACIiACIiACIiACIhApyAgMd0pmlk3KQIiIAIiIAIiIAIiIAIiIAIiUEsCEtO1pKljiYAIiIAIiIAIiIAIiIAIiIAIdAoCEtOdopl1kyIgAiIgAiIgAiIgAiIgAiIgArUkIDFdS5o6lgiIgAiIgAiIgAiIgAiIgAiIQKcg0Gxi+u+//65pu40yHNBoo43m/v33X/8nZaOPPnpNz9nIg2Xdl913I6+ls5zru+++cy+++KJ766233KSTTupmm202t9BCC3WW2+8U91nufVEUwKijjur40yz2119/uXvuucd9++23bqONNnITTTRRh721rN8TfhN4R45s9s8//7j//vuv1WW3Rx/jWl5++WX33nvvuW+++cb98ccfbqyxxnJdu3b178T555+/Xfs9nLjGLOtofYC++sgjj7h3333Xrb/++m6qqaYa2bqnrlcEREAERk4CzSamF1tsMff888/XrDFWX311d//99/sf9iFDhiSPmxqc1OwC6nygrPtaccUV3aOPPlrns3euwyOeN95442Q/QkxfeeWVbr755utcUJr0bsu9L4re8jnnnOP23HPPort1yO1/+OEHL5S++uqr0vW98MILbuGFF+5w13v33Xe7ddZZJ3ld5513ntt999073DWXu6DPP/88U2Adf/zx7tBDD23I/QwbNsydfPLJ7oYbbnA//fRT5jknmGACt+2227oDDjjATTPNNA25tvAk9MtFF10087w333yzdwZ1BPvoo4/8tYbP1THHHOOOOOKIjnB5ugYREAERaG4CzSamGZS99NJLLRqte/fuPvKHyE4JbX4Q8YY/99xzrfZdddVVXb9+/dx9993nTjzxRPf000+36hAjs5i+66673IEHHujefvvtFvclMV3b5/7DDz90OHpssMPgEPb33nuvO+qoo/zJGDwSVZhssslqe3IdreEEnn32WTd06FD/zkA8pIxnbOmll/YRuS+++MJ99tlnjv1igdFMYvrCCy90u+22Wwsc2223nbv88ssb3kaVTvj111/76zrkkENabXrqqae6/fffv9IhOtT39LNLL7006ZhphJgmcnr44Yd7IR0aom/DDTf0v8GDBg3y78SLLrqo1TaIfaLBjbJff/3VR84ZF+y3336tTtuRxPRBBx3kTjnllFbXSPbHxBNP3ChkOo8IiIAIdE4CzSymiYAggmeZZRbfuNdcc43beuutWzU0KYdrrrmm/5wBMNHoTz75xP/fxDT/7t+/v2MAHNvILKa5l4svvtjtsssuLW5LYrq274M4Ukm0hcFPnElx4403ul69etX25DpauxF4/fXX3dxzz508P1HaCSecsMV3P//8s7v22msdg2MT1c0kphGgp59+eot7Jhtj8ODB7dZGlU68yiqruIcffrjFZjy7PMMjo/F+QQiGVm8x/f3337tNNtnEPfjggy3Oi+N7wQUXbIURvjwDoa211lru+uuvd+OPP37DseP0ih3pHeldzfiFsU5sHTXro+ENqBOKgAiIQD0JNJuYNtEy11xzuccee8xNPvnkJXx5xDQbEx1caqmlfBSxR48e7qGHHvLH+PTTT5PpZiO7mIbTSiut1KKbSUzX7ql79dVXW6Vvn3TSSX6wiJgKI5F33HGHW3fddWt3ch2pXQnwbkjNd8bRR9p/loXPZDOJ6YEDB/p3a2gdPWV63333dWeeeWaLax6ZxfTRRx/t+vTp0zAxTUQapzR9OrSrr77abbXVVpnPwD777OPOOuusFt+Tdn/bbbc1NELNBTAHmXdzaB1JTBPZh0tsWc6Kdn0p6uQiIAIi0GwEmlVMky65+OKLt2iuvGKanfih3HTTTSWmm63Dt8P9XHXVVX7uX2g2GA8jMDiAGPxQhEfWPARihwl3VklMs81ee+3lzj33XNdMYpr7Ovvss/09kUbNvGPSd5ni0FGNFN8zzjijxeWNjGnedgONFtMHH3xwq9Ruprm8//77rlzxzqw53kyLiZ0B9e47KTHdkdK8mapFn4wNR217RPLr3R46vgiIgAh0KALNKKb5kWauUPxDXURMsz+VlsMIrSLTHarrjjQXk0pZDCNbTCn43//+54vcyZqPQF4xjQOQtHDmEGP8f4kllmg6Mc29Ue2cSsljjDFGh29wienqm4gsr1lnnbXVAfKmla+22mqtUsM5GDUopptuuuovrOCeHV1M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Arxz+vXr5/ssc/wRzj/88IPn0a1bNz+9hLoNTFVgiSMi2DIREAEREAEREAERyE1AYjo3Km0oAiIgAiIgAiIgAiIgAiIgAiIgAiMISEyrJ4iACIiACIiACIiACIiACIiACIhAQQIS0wWBaXMREAEREAEREAEREAEREAEREAERkJhWHxABERABERABERABERABERABERCBggQkpgsC0+YiIAIiIAIiIAIiIAIiIAIiIAIiIDGtPiACIiACIiACIiACIiACIiACIiACBQlITBcEps1FQAREQAREQAREQAREQAREQAREQGJafUAEREAEREAEREAEREAEREAEREAEChKQmC4ITJuLgAiIgAiIgAiIgAiIgAiIgAiIgMS0+oAIiIAIiIAIiIAIiIAIiIAIiIAIFCQgMV0QmDYXAREQAREQAREQAREQAREQAREQAYlp9QEREAEREAEREAEREAEREAEREAERKEhAYrogMG0uAiIgAiIgAiIgAiIgAiIgAiIgAhLT6gMiIAIiIAIiIAIiIAIiIAIiIAIiUJCAxHRBYNpcBERABERABERABERABERABERABCSm1QdEQAREQAREQAREQAREQAREQAREoCABiemCwLS5CIiACIiACIiACIiACIiACIiACEhMqw+IgAiIgAiIgAiIgAiIgAiIgAiIQEECEtMFgWlzERABERABERABERABERABERABEZCYVh8QAREQAREQAREQAREQAREQAREQgYIEJKYLAtPmIiACIiACIiACIiACIiACIiACIiAxrT4gAiIgAiIgAiIgAiIgAiIgAiIgAgUJSEwXBKbNRUAEREAEREAEREAEREAEREAEREBiWn1ABERABERABERABERABERABERABAoSkJguCEybi4AIiIAIiIAIiIAIiIAIiIAIiIDEtPqACIiACIiACIiACIiACIiACIiACBQk0Exi+p9//nH8iW2MMcbwn//777+tvht11FHd6KOP7j/n+7///rvFNuw7SgypIOO2bP7ZZ5+5fv36ubXWWst169atdKhffvnFPf744+7XX391G220Uelzrv+FF15wzz77rNt7773bcup22ffdd991L7/8cot7ynMhn376qXvllVfc0KFD3ZtvvummmmoqN++887q55prLzTfffHkOUddtfvrpJ/foo48WOse0007rFl544UL71GNjnp0bbrjBPffcc2677bZzCy64YD1O0+KYzz//vKNNU8YzO95447k55pjDTT311HW/FjvB+++/7wYPHlw6H++GNdZYo/D5v/rqKzdw4MDC+y2wwAJuhhlmKLsf74vbbrvNPwfff/+9ZzTnnHO6pZde2l1xxRX+7xVXXNHFfLt06eKWX375ssduj35QGFKVO/DejH8fYDT++OO7+eefv+xReV/xztlggw3cmGOOWeUV5N8tda3h3vxe0TfrZX/88Yf75ptvGvrs1etedFwREAEREAERaDOBZhLTV111ldt2221bMGHgyOd33XWXO/nkk90nn3xS+n6hhRZy+++/v9t00039Z2+99ZbbZpttvBDFJptsMnfzzTe75ZZbrs2cqz1Ar169/DXstNNO7uKLL3aff/6523HHHd19993nD7nJJpt4oYNtv/327pZbbnEItwkmmMD9+OOP1Z624fuddtpp7tJLL3Vvv/22o11efPHFXNfAwO744493xx57rN9+mWWW8UIc4XPZZZd5FgieCy+80CFO28s+/PBDd9JJJ7mLLrqo1SUgYmgvxONLL71U+p725B7a23DmrL766qVn4uOPP667aOC+L7/88tKzaAwWXXRRLyjp5/aM0v477LBD3TE98sgjbvPNN3eIYazaZ4zj9OjRo3S9HGfKKaf0fd9spplm8p89/fTTpc+uvPJK/37KMo67/vrr+6932203L5xfffVVd+ihh5Z2gSv96rzzznN77rln6XO4Dho0qCzDWvYDnu+5557bjT322HVvt0on+Pnnn73zjXdFbDgnaIcsQ4DjiGDf66+/vvRbUumcbfkecT9kyJDMQ9B33nvvvbacIrnvn3/+6a699lrfn3bddVfXp0+fmp9DBxQBERABERCBkY5AM4lp4BMlQIxh8aDiiy++cAwaTVD/8MMPbsIJJ2zRZkRfiGQiGF5//XU3zTTTtGubnnLKKe6ggw5yl1xyiRfRGCKZwQyDt1BMMyi8+uqr3R577FH1QL+9bpYI+9lnn+0Hat27d3fPPPNMxUtBMK+77rqlgSWRt9CZgjANI7s4VNZee+2Kx63nBkceeWRJ+HMexBEiyQyhdvjhh3vHQkcR0zhxdtlll9I1fv31165r1671xOSPDYvJJ5+8xXmIiE066aQuFqQ8Izgr6m0nnnhiSZy2VUzjrOM+yKC4/fbbfWTT7Kyz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Md0AyDqFCIiACIiACIiACIiACIiACIhAcxGQmG6u9tTdiIAIiIAIiIAIiIAIiIAIiIAINICAxHQDIOsUIiACIiACIiACIiACIiACIiACzUVAYrq52lN3IwIiIAIiIAIiIAIiIAIiIAIi0AACEtMNgKxTiIAIiIAIiIAIiIAIiIAIiIAINBcBienmak/djQiIgAiIgAiIgAiIgAiIgAiIQAMISEw3ALJOIQIiIAIiIAIiIAIiIAIiIAIi0FwEJKabqz11NyIgAiIgAiIgAiIgAiIgAiIgAg0g0Exi+p9//nH8iW2MMcbwn//777+tvht11FHd6KOP7j/n+7///rvFNuw7SgypAe2iU3RMAj/99JN766233Pfff++mnnpqN9tss7nRRhst82L/++8/99dffyW/j/vWn3/+2Wq7Mcccs2OCGMmv6s/f/3ZDn/rITTXzJG6KGbs09G6+eP97N3TgR26c8cd0sy08les2zYQNPX/ek/3+++/u1VdfdYsuumjeXbSdCIiACIiACIiACHQuAs0kpq+66iq37bbbtmjAFVdc0fH5XXfd5U4++WT3ySeflL5faKGF3P777+823XRT/xkiaZtttnHPPvus//9kk03mbr75Zrfccst1rk6hu00SuOaaa9wBBxzgllhiCffll1/6fkIf4vO55547uc+QIUPcHnvs4Z588skW3/fo0cOdf/75btZZZ/Wf//rrr160vP7666Xt5pprLnfttdf6c8hqQwAhe/XR/d2LD7/nD3jItRu4BVecsTYHz3GUSw58yH3yzv/czPNP4e679EW/x+mPbeOmnb1rjr0bu8lqq63mHnzwQXfllVf696JMBERABERABERABEQgItBMYppbe/nll0viY6aZZnLvvTdi0Ix98cUXXrCYoP7hhx/chBO2jAoRwZ5vvvncxx9/7IXNNNNMU5c+QxTyjz/+cBNMMEFdjq+D1pYAwhkRTb+wPrHrrru6iy66yNHPiOCNO+64mSc96aST3CGHHOK/v+KKK1o5fWzHW2+91W200UZut91282JbVlsC//77n/v285/cwav3dT/+71d3+I0bufmWmb62J8k42jP3vOXO3OUed9YT2/mI+DXHPO7uvfgFd/Ttm7g5F6/Pe6YtN2YZOTiDzj333LYcSvuKgAiIgAiIgAiIQHMSaDYxTSsRbT799NN9g3344YduuummKzXehRde6IUK9thjj7kVVlihRcOSljvFFFO4Aw880O233351a/S99trLR7w32GCDup1DB64dAetTL774YslZM2jQILf44ov7kzz99NNuySWXzDzhfffd59Zcc03/PcLc9ot3IEI93njj+UyKtddeu3Y3oCO1IHDEute7t57/zB1588ZunqX+//1QT0yn73iXe+7+d1zf9/Z2Y449YmrJH7/95cYaZ4x6nrbqY+NoZFrDPvvs484444yqj6MdRUAEREAEREAERKBpCTSjmCZde4455vBtdvzxx7tDDz201H7fffedm2SSSfz/t9xyS5+iG5pFID/66CM37bTT1qXdb7zxRp9aThRSYrouiGt+0OOOO84dccQRbt999y05aphfz7xn7M4773TrrLNO5nkfeught+qqq/rvQ0Ge2oGI4OOPP67pBTVvxf8/oInpPrf2cnMtUZ/nPL783stc7j4f9p27btg+boyxsufZ1/G2Cx16scUWc88//7w788wz3d57711oX20sAiIgAiIgAiIgAp2CQDOKaRpu2WWX9fNUScklOk2hMbOFF17YvfTSS/6/3377rZt44olL3+25555u6NChrn///qXPSBXv169fKcV3qaWWcgsuuGCL/kHKNpFujkXUkbRf/j/77LO7lVZayVkhKUvjZWdE/jLLLONmnHFGv105Y+4tUcvu3bu7d99910c3p59+er+/2ddff+0QbV26dPGfxynsbPf555+7V155xQ0bNszNMMMMboEFFvCFtGIjJf7uu+92O+20k59L/sADD7g11lijNMcXITl48GB/nxRwIypLunMe4z443htvvOHnGuPcIIUaRrfddpsLC3HxOQ6QN998s8WhEabsN3DgQN++GGxgiZHCf/vtt7v333/fjTPOOI42Z55yqpjcc8895/vDb7/95rebf/75PcPQ6CfMHUUwzzLLLP6rzz77rMTu008/dVNNNVXm7RcV00888USLtuXAMCBiPdFEE/mpCOOPP77/OzTa7YUXXnBcz8wzz+wFuQn+PG1DW9PXvvnmG++QYr425zOj3eCE0WdpP84FQzP6VNgX6CP02XXXXddxXzxfm222WYvnLnVtv/38p3t/6Ffuk7e+ceN3GdtNN2c3N81sk7ba9PuvfnEvPPSuW3mL+d1n733rXn7sfbfQSjO5KWca8VwPTzZx773yuXvn5c/dP3//OzwSPb27/LCHfWQ6JaY5Buf987e/h5+zq5/fHBqp4kOf/siNO8FYbro5uroXHnx3eOHCf91S68zhRhv9/98ztg+Fzih4dtLWt/uPDrhiXTfGmKO5iScf300/V7fSofPeL9FsItzzLzeDG2XUUdyzw9PHp551Ujf3kiOcAt9+8bMbNuRLt8gqM/tU9rdf/Gz4ff/nFl55Jjf68PNiHOO1pz92v/3yp5tzsWncJFOO34rr5ptv7q6//no5/fI8ONpGBERABERABESgcxJoVjFN4aatttrKN2qYzo24Cgf6zHndeeed/XaIhMknn9ydc845pYI7iLsNN9zQF5FCRJ999tleyN5www1uk0028RXAKc5DZJKUSAQyIpO0XrMdd9zRXXLJJe7nn3/2IoKoI9siVKacckq3xRZb+GOljPMxxxaBQ2o4ToGzzjqrtClzwO+//36HE4CItxkii9RjBBfGdXJfpGyuvvrqXijdcsstfv740Ucf7Q4++GAvZhF95513nrvnnnv8fG7m7RpHxOozzzzji28xr5dqv4hXBBb3Q4E30uPLGdv26tXLHXTQQW6eeeZxp556qr/Or776ynXr1s1deumlXsBjW2+9tf8eYQx/iiFhF1xwgWfG9SHISZ9GgCPoELQIN9jCBi7cJ6IgnvsJk913391dd911ngHH4vwYVboRkSeccIJbeeWVk7dkBe9oU45RztoqpjfeeGP3wQcfeG44d/g7Tr/leugjFI5ibjf9lH5wxx13VHR00H5EH+lrZGyMPfbYpf50+eWX+/bGuA++p72YBnHaaaf5WgT0Pa4Hg+EOO+zg+87VV1/to5vsj3OHY2GHH364O/bYYzORDXnyQ3fO7ve5LpON5xZYYQYv/N4b/IXrvuZsbvvjV3YTdR3XDR7wget35cu+mNjY443hdjihhzuv9/3+mLMuNKU7/p7NvYi99OCHh4vPt936vZdwf//xt+t31SteZGJ9btvEzdV9xHzlv//8x89jHtTvHTfX4tO6t1/6zH310Q/+nHuc3dMf695LXnCP3zx0+Lzrn92mBy/jnr7rTffRG1/7/Q+7fkMvcGPj/D9995t79t63/Vccb/TRRxsugCdxG+y9hP8sz/1SuOy+S14cfs433O+//OX2OKenu+yQh/2/sX0uWtsNuGWoe+nRYW7GeSZzq227kLtw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IECAAAECBHajwG4I0+nXTMvNObzLSqY3Z53tsjCX6zPamRG16RFOWXtdRkC389xk6nWmiWe0bzqNejv3qvlMNpTKyGhGNBNoE5K2ErSW1ZH1ycWuTCu+0HdJIMxIaqYtxzXrt8va4GWfzW7SCbCLO4cnlE5Hbxc/mxH0fHYaTPPf6cdyNnimSedFQ0JkXrRkqnKOQktAzFnbmbaf75jzyaclLyHyQiGbsW23pE0ZqU4wTh/EYaPnIG3Jd84/M9qcEfS0vWwMNv0OGc3PzIn0c144bGUkePr5jEbnz0r6Jy+Zshv+RiVWccgU85SyH8FOPs9/eu7scPrkc7PQeelw+RtfM4bG7ZRzf39+nBL+uitfPZ6xnECaoLys5NoE51fO6txz+WVjcG9Vdqq9O/F987xlpsTii5SduLd7ECBAgAABAgS6ENgtYbqLztKIHRMoa3mPHz8+H5VfvHnCZKbEl6OhdqxyNyJAgAABAgQIECBA4OIXEKYv/j7UgnqBTMHPWurDhw+PU76nJTMGMlU8o3JZi6y0E3j/G+5rV5maXiSweFY3IgIECBAgQIAAgU0EhGmPx24UyHrzHPOVkoRFUJUAAAngSURBVCnqWb+daftZ95tNtLKxVnat3mjq/24002YCBAgQIECAAAECBCYCwrTHYbcKZBOx7Niejchy/nbWr+/du3c8rmzxLO7daqTdBAgQIECAAAECBAhsICBMezQIECBAgAABAgQIECBAgEClgDBdCeZyAgQIECBAgAABAgQIECAgTHsGCBAgQIAAAQIECBAgQIBApYAwXQnmcgIECBAgQIAAAQIECBAgIEx7BggQIECAAAECBAgQIECAQKWAMF0J5nICBAgQIECAAAECBAgQICBMewYIECBAgAABAgQIECBAgEClgDBdCeZyAgQIECBAgAABAgQIECAgTHsGCBAgQIAAAQIECBAgQIBApYAwXQnmcgIECBAgQIAAAQIECBAgIEx7BggQIECAAAECBAgQIECAQKWAMF0J5nICBAgQIECAAAECBAgQICBMewYIECBAgAABAgQIECBAgEClgDBdCeZyAgQIECBAgAABAgQIECAgTHsGCBAgQIAAAQIECBAgQIBApYAwXQnmcgIECBAgQIAAAQIECBAgIEx7BggQIECAAAECBAgQIECAQKWAMF0J5nICBAgQIECAAAECBAgQICBMewYIECBAgAABAgQIECBAgEClgDBdCeZyAgQIECBAgAABAgQIECAgTHsGCBAgQIAAAQIECBAgQIBApYAwXQnmcgIECBAgQIAAAQIECBAgIEx7BggQIECAAAECBAgQIECAQKWAMF0J5nICBAgQIECAAAECBAgQICBMewYIECBAgAABAgQIECBAgEClgDBdCeZyAgQIECBAgAABAgQIECAgTHsGCBAgQIAAAQIECBAgQIBApYAwXQnmcgIECBAgQIAAAQIECBAgIEx7BggQIECAAAECBAgQIECAQKWAMF0J5nICBAgQIECAAAECBAgQICBMewYIECBAgAABAgQIECBAgEClgDBdCeZyAgQIECBAgAABAgQIECAgTHsGCBAgQIAAAQIECBAgQIBApYAwXQnmcgIECBAgQIAAAQIECBAgIEx7BggQIECAAAECBAgQIECAQKWAMF0J5nICBAgQIECAAAECBAgQICBMewYIECBAgAABAgQIECBAgEClgDBdCeZyAgQIECBAgAABAgQIECAgTHsGCBAgQIAAAQIECBAgQIBApYAwXQnmcgIECBAgQIAAAQIECBAgIEx7BggQIECAAAECBAgQIECAQKWAMF0J5nICBAgQIECAAAECBAgQICBMewYIECBAgAABAgQIECBAgEClgDBdCeZyAgQIECBAgAABAgQIECAgTHsGCBAgQIAAAQIECBAgQIBApYAwXQnmcgIECBAgQIAAAQIECBAg8H8J09gJECBAgAABAgQIECBAgEBPAufPb6k1l5yflS1dmYsWE/uWP+hCAgQIECBAgAABAgQIECBwEQhsMSIL0xdBX/qKBAgQIECAAAECBAgQINBIQJhuBK0aAgQIECBAgAABAgQIEOhH4H8Spvvh0RICBAgQIECAAAECBAgQILBtgbpp3tuuxgcJECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB8BYbqfvtQSAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQjIEz305daQoAAAQIECBAgQIAAAQKNBITpRtCqIUCAAAECBAgQIECAAIF+BITpfvpSSwgQIECAAAECBAgQIECgkYAw3QhaNQQIECBAgAABAgQIECDQj4Aw3U9fagkBAgQIECBAgAABAgQINBIQphtBq4YAAQIECBAgQIAAAQIE+hEQpvvpSy0hQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8CwnQ/faklBAgQIECAAAECBAgQINBIQJhuBK0aAgQIECBAgAABAgQIEOhHQJjupy+1hAABAgQIECBAgAABAgQaCQjTjaBVQ4AAAQIECBAgQIAAAQL9CAjT/fSllhAgQIAAAQIECBAgQIBAIwFhuhG0aggQIECAAAECBAgQIECgHwFhup++1BICBAgQIECAAAECBAgQaCQgTDeCVg0BAgQIECBAgAABAgQI9CMgTPfTl1pCgAABAgQIECBAgAABAo0EhOlG0KohQIAAAQIECBAgQIAAgX4EhOl++lJLCBAgQIAAAQIECBAgQKCRgDDdCFo1BAgQIECAAAECBAgQINCPgDDdT19qCQECBAgQIECAAAECBAg0EhCmG0GrhgABAgQIECBAgAABAgT6ERCm++lLLSFAgAABAgQIECBAgACBRgLCdCNo1RAgQIAAAQIECBAgQIBAPwLCdD99qSUECBAgQIAAAQIECBAg0EhAmG4ErRoCBAgQIECAAAECBAgQ6EdAmO6nL7WEAAECBAgQIECAAAECBBoJCNONoFVDgAABAgQIECBAgAABAv0ICNP99KWWECBAgAABAgQIECBAgEAjAWG6EbRqCBAgQIAAAQIECBAgQKAfAWG6n77UEgIECBAgQIAAAQIECBBoJCBMN4JWDQECBAgQIECAAAECBAj0IyBM99OXWkKAAAECBAgQIECAAAECjQSE6UbQqiFAgAABAgQIECBAgACBfgSE6X76UksIECBAgAABAgQIECBAoJGAMN0IWjUECBAgQIAAAQIECBAg0I+AMN1PX2oJAQIECBAgQIAAAQIECDQSEKYbQauGAAECBAgQIECAAAECBPoREKb76UstIUCAAAECBAgQIECAAIFGAsJ0I2jVECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB8BYbqfvtQSAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQjIEz305daQoAAAQIECBAgQIAAAQKNBITpRtCqIUCAAAECBAgQIECAAIF+BITpfvpSSwgQIECAAAECBAgQIECgkYAw3QhaNQQIECBAgAABAgQIECDQj4Aw3U9fagkBAgQIECBAgAABAgQINBIQphtBq4YAAQIECBAgQIAAAQIE+hEQpvvpSy0hQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8C/waBpUGxvJeIKwAAAABJRU5ErkJggg==\n", "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": "2024-01-18T17:27:09.121527Z", "iopub.status.busy": "2024-01-18T17:27:09.121402Z", "iopub.status.idle": "2024-01-18T17:27:09.123332Z", "shell.execute_reply": "2024-01-18T17:27:09.122978Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from Grammars import is_nonterminal" ] }, { "cell_type": "code", "execution_count": 114, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:09.125639Z", "iopub.status.busy": "2024-01-18T17:27:09.125469Z", "iopub.status.idle": "2024-01-18T17:27:09.127718Z", "shell.execute_reply": "2024-01-18T17:27:09.127244Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from GrammarFuzzer import GrammarFuzzer" ] }, { "cell_type": "code", "execution_count": 115, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:09.129816Z", "iopub.status.busy": "2024-01-18T17:27:09.129497Z", "iopub.status.idle": "2024-01-18T17:27:09.133124Z", "shell.execute_reply": "2024-01-18T17:27:09.132823Z" }, "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": "2024-01-18T17:27:09.134863Z", "iopub.status.busy": "2024-01-18T17:27:09.134657Z", "iopub.status.idle": "2024-01-18T17:27:09.152052Z", "shell.execute_reply": "2024-01-18T17:27:09.151730Z" }, "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": "2024-01-18T17:27:09.153777Z", "iopub.status.busy": "2024-01-18T17:27:09.153650Z", "iopub.status.idle": "2024-01-18T17:27:09.325434Z", "shell.execute_reply": "2024-01-18T17:27:09.325150Z" }, "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": "2024-01-18T17:27:09.327158Z", "iopub.status.busy": "2024-01-18T17:27:09.327021Z", "iopub.status.idle": "2024-01-18T17:27:09.329069Z", "shell.execute_reply": "2024-01-18T17:27:09.328801Z" }, "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": "2024-01-18T17:27:09.330578Z", "iopub.status.busy": "2024-01-18T17:27:09.330470Z", "iopub.status.idle": "2024-01-18T17:27:09.332503Z", "shell.execute_reply": "2024-01-18T17:27:09.332257Z" }, "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": "2024-01-18T17:27:09.333995Z", "iopub.status.busy": "2024-01-18T17:27:09.333894Z", "iopub.status.idle": "2024-01-18T17:27:09.335757Z", "shell.execute_reply": "2024-01-18T17:27:09.335518Z" }, "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": "2024-01-18T17:27:09.337291Z", "iopub.status.busy": "2024-01-18T17:27:09.337177Z", "iopub.status.idle": "2024-01-18T17:27:09.340636Z", "shell.execute_reply": "2024-01-18T17:27:09.340232Z" }, "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": "2024-01-18T17:27:09.342271Z", "iopub.status.busy": "2024-01-18T17:27:09.342168Z", "iopub.status.idle": "2024-01-18T17:27:09.343975Z", "shell.execute_reply": "2024-01-18T17:27:09.343666Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from GrammarFuzzer import display_tree, DerivationTree" ] }, { "cell_type": "code", "execution_count": 123, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:09.345418Z", "iopub.status.busy": "2024-01-18T17:27:09.345335Z", "iopub.status.idle": "2024-01-18T17:27:09.720670Z", "shell.execute_reply": "2024-01-18T17:27:09.720277Z" }, "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": "2024-01-18T17:27:09.722407Z", "iopub.status.busy": "2024-01-18T17:27:09.722283Z", "iopub.status.idle": "2024-01-18T17:27:09.725120Z", "shell.execute_reply": "2024-01-18T17:27:09.724618Z" }, "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": "2024-01-18T17:27:09.726752Z", "iopub.status.busy": "2024-01-18T17:27:09.726603Z", "iopub.status.idle": "2024-01-18T17:27:09.883530Z", "shell.execute_reply": "2024-01-18T17:27:09.883239Z" }, "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": "2024-01-18T17:27:09.885123Z", "iopub.status.busy": "2024-01-18T17:27:09.885012Z", "iopub.status.idle": "2024-01-18T17:27:09.887094Z", "shell.execute_reply": "2024-01-18T17:27:09.886857Z" }, "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": "2024-01-18T17:27:09.888521Z", "iopub.status.busy": "2024-01-18T17:27:09.888406Z", "iopub.status.idle": "2024-01-18T17:27:10.044145Z", "shell.execute_reply": "2024-01-18T17:27:10.043829Z" }, "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": "2024-01-18T17:27:10.045845Z", "iopub.status.busy": "2024-01-18T17:27:10.045736Z", "iopub.status.idle": "2024-01-18T17:27:10.048254Z", "shell.execute_reply": "2024-01-18T17:27:10.048015Z" }, "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": "2024-01-18T17:27:10.049784Z", "iopub.status.busy": "2024-01-18T17:27:10.049675Z", "iopub.status.idle": "2024-01-18T17:27:10.051886Z", "shell.execute_reply": "2024-01-18T17:27:10.051654Z" }, "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": "2024-01-18T17:27:10.053336Z", "iopub.status.busy": "2024-01-18T17:27:10.053235Z", "iopub.status.idle": "2024-01-18T17:27:10.055127Z", "shell.execute_reply": "2024-01-18T17:27:10.054870Z" }, "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": "2024-01-18T17:27:10.056574Z", "iopub.status.busy": "2024-01-18T17:27:10.056471Z", "iopub.status.idle": "2024-01-18T17:27:10.058801Z", "shell.execute_reply": "2024-01-18T17:27:10.058559Z" }, "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": "2024-01-18T17:27:10.060234Z", "iopub.status.busy": "2024-01-18T17:27:10.060118Z", "iopub.status.idle": "2024-01-18T17:27:10.061708Z", "shell.execute_reply": "2024-01-18T17:27:10.061474Z" }, "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": "2024-01-18T17:27:10.063153Z", "iopub.status.busy": "2024-01-18T17:27:10.063064Z", "iopub.status.idle": "2024-01-18T17:27:10.065546Z", "shell.execute_reply": "2024-01-18T17:27:10.065291Z" }, "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": "2024-01-18T17:27:10.067014Z", "iopub.status.busy": "2024-01-18T17:27:10.066911Z", "iopub.status.idle": "2024-01-18T17:27:10.069272Z", "shell.execute_reply": "2024-01-18T17:27:10.069037Z" }, "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": "2024-01-18T17:27:10.070828Z", "iopub.status.busy": "2024-01-18T17:27:10.070726Z", "iopub.status.idle": "2024-01-18T17:27:10.083496Z", "shell.execute_reply": "2024-01-18T17:27:10.083133Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 136, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:10.085307Z", "iopub.status.busy": "2024-01-18T17:27:10.085182Z", "iopub.status.idle": "2024-01-18T17:27:10.253843Z", "shell.execute_reply": "2024-01-18T17:27:10.253475Z" }, "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": "2024-01-18T17:27:10.255967Z", "iopub.status.busy": "2024-01-18T17:27:10.255829Z", "iopub.status.idle": "2024-01-18T17:27:10.269962Z", "shell.execute_reply": "2024-01-18T17:27:10.269686Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Action -> \n" ] }, { "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": "2024-01-18T17:27:10.271585Z", "iopub.status.busy": "2024-01-18T17:27:10.271459Z", "iopub.status.idle": "2024-01-18T17:27:10.776055Z", "shell.execute_reply": "2024-01-18T17:27:10.775654Z" }, "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+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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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "In new state frozenset({\"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.')\", \"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", "check('terms', <boolean>)\n", "fill('email', '<email>')\n", "fill('name', '<text>')\n", "fill('zip', '<number>')\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-3\n", "\n", "<state-3>\n", "\n", "\n", "\n", "state-1->state-3\n", "\n", "\n", "click('order form')\n", "\n", "\n", "\n", "unexplored\n", "\n", "<unexplored>\n", "\n", "\n", "\n", "state-2->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": "2024-01-18T17:27:10.777862Z", "iopub.status.busy": "2024-01-18T17:27:10.777759Z", "iopub.status.idle": "2024-01-18T17:27:10.796654Z", "shell.execute_reply": "2024-01-18T17:27:10.796361Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Action -> \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": "2024-01-18T17:27:10.798582Z", "iopub.status.busy": "2024-01-18T17:27:10.798368Z", "iopub.status.idle": "2024-01-18T17:27:11.290034Z", "shell.execute_reply": "2024-01-18T17:27:11.289725Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "from GrammarCoverageFuzzer import GrammarCoverageFuzzer" ] }, { "cell_type": "code", "execution_count": 141, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:11.292027Z", "iopub.status.busy": "2024-01-18T17:27:11.291888Z", "iopub.status.idle": "2024-01-18T17:27:11.293625Z", "shell.execute_reply": "2024-01-18T17:27:11.293352Z" }, "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": "2024-01-18T17:27:11.295154Z", "iopub.status.busy": "2024-01-18T17:27:11.295026Z", "iopub.status.idle": "2024-01-18T17:27:11.300176Z", "shell.execute_reply": "2024-01-18T17:27:11.299925Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "['__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": "2024-01-18T17:27:11.301626Z", "iopub.status.busy": "2024-01-18T17:27:11.301520Z", "iopub.status.idle": "2024-01-18T17:27:11.303556Z", "shell.execute_reply": "2024-01-18T17:27:11.303313Z" }, "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": "2024-01-18T17:27:11.305024Z", "iopub.status.busy": "2024-01-18T17:27:11.304942Z", "iopub.status.idle": "2024-01-18T17:27:11.307286Z", "shell.execute_reply": "2024-01-18T17:27:11.307036Z" }, "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": "2024-01-18T17:27:11.309035Z", "iopub.status.busy": "2024-01-18T17:27:11.308937Z", "iopub.status.idle": "2024-01-18T17:27:11.320488Z", "shell.execute_reply": "2024-01-18T17:27:11.320137Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.get(httpd_url)" ] }, { "cell_type": "code", "execution_count": 146, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:11.322310Z", "iopub.status.busy": "2024-01-18T17:27:11.322185Z", "iopub.status.idle": "2024-01-18T17:27:11.484986Z", "shell.execute_reply": "2024-01-18T17:27:11.484700Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer = GUICoverageFuzzer(gui_driver)" ] }, { "cell_type": "code", "execution_count": 147, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:11.486706Z", "iopub.status.busy": "2024-01-18T17:27:11.486621Z", "iopub.status.idle": "2024-01-18T17:27:12.617134Z", "shell.execute_reply": "2024-01-18T17:27:12.616818Z" }, "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": "2024-01-18T17:27:12.619170Z", "iopub.status.busy": "2024-01-18T17:27:12.619029Z", "iopub.status.idle": "2024-01-18T17:27:13.014233Z", "shell.execute_reply": "2024-01-18T17:27:13.013619Z" }, "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", "check('terms', <boolean>)\n", "fill('email', '<email>')\n", "fill('name', '<text>')\n", "fill('zip', '<number>')\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": "2024-01-18T17:27:13.016465Z", "iopub.status.busy": "2024-01-18T17:27:13.016216Z", "iopub.status.idle": "2024-01-18T17:27:13.019800Z", "shell.execute_reply": "2024-01-18T17:27:13.019439Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "{' -> False',\n", " ' -> True',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " ' -> 1',\n", " ' -> 2',\n", " ' -> 3',\n", " ' -> 5',\n", " ' -> 7',\n", " ' -> 9',\n", " ' -> ',\n", " ' -> ',\n", " ' -> @',\n", " ' -> ',\n", " ' -> C',\n", " ' -> G',\n", " ' -> I',\n", " ' -> J',\n", " ' -> K',\n", " ' -> L',\n", " ' -> M',\n", " ' -> Q',\n", " ' -> R',\n", " ' -> T',\n", " ' -> Y',\n", " ' -> a',\n", " ' -> c',\n", " ' -> d',\n", " ' -> e',\n", " ' -> h',\n", " ' -> j',\n", " ' -> m',\n", " ' -> n',\n", " ' -> o',\n", " ' -> p',\n", " ' -> q',\n", " ' -> t',\n", " ' -> u',\n", " ' -> v',\n", " ' -> x',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " ' -> !',\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " \" -> click('order form')\\n\",\n", " ' -> ',\n", " ' -> ',\n", " \" -> click('order form')\\n\",\n", " ' -> ',\n", " ' -> ',\n", " ' -> ',\n", " \" -> check('terms', )\\nfill('email', '')\\nfill('name', '')\\nfill('zip', '')\\nfill('city', '')\\nsubmit('submit')\\n\",\n", " \" -> click('terms and conditions')\\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": "2024-01-18T17:27:13.021982Z", "iopub.status.busy": "2024-01-18T17:27:13.021829Z", "iopub.status.idle": "2024-01-18T17:27:13.024724Z", "shell.execute_reply": "2024-01-18T17:27:13.024401Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "{' -> 0',\n", " ' -> 4',\n", " ' -> 6',\n", " ' -> 8',\n", " ' -> A',\n", " ' -> B',\n", " ' -> D',\n", " ' -> E',\n", " ' -> F',\n", " ' -> H',\n", " ' -> N',\n", " ' -> O',\n", " ' -> P',\n", " ' -> S',\n", " ' -> U',\n", " ' -> V',\n", " ' -> W',\n", " ' -> X',\n", " ' -> Z',\n", " ' -> b',\n", " ' -> f',\n", " ' -> g',\n", " ' -> i',\n", " ' -> k',\n", " ' -> l',\n", " ' -> r',\n", " ' -> s',\n", " ' -> w',\n", " ' -> y',\n", " ' -> z',\n", " ' -> ',\n", " ' -> .',\n", " \" -> click('order form')\\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": "2024-01-18T17:27:13.026580Z", "iopub.status.busy": "2024-01-18T17:27:13.026435Z", "iopub.status.idle": "2024-01-18T17:27:14.783579Z", "shell.execute_reply": "2024-01-18T17:27:14.783203Z" }, "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": "2024-01-18T17:27:14.785524Z", "iopub.status.busy": "2024-01-18T17:27:14.785393Z", "iopub.status.idle": "2024-01-18T17:27:14.814431Z", "shell.execute_reply": "2024-01-18T17:27:14.813949Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydBZhU1RvGP5bYpbu7W5BukLb9m6jY3Y2dKLbYKHYXqKgoUlLSYiDd3bXALs3/e+/urLOzN2fubMy83/PM48qce+49v3Punfue853vyzdO5LjQSIAESIAESIAESIAESIAESIAESIAEXBPIRzHtmhULkgAJkAAJkAAJkAAJkAAJkAAJkIBBgGKaA4EESIAESIAESIAESIAESIAESIAEPBKgmPYIjMVJgARIgARIgARIgARIgARIgARIgGKaY4AESIAESIAESIAESIAESIAESIAEPBKgmPYIjMVJgARIgARIgARIgARIgARIgARIgGKaY4AESIAESIAESIAESIAESIAESIAEPBKgmPYIjMVJgARIgARIgARIgARIgARIgARIgGKaY4AESIAESIAESIAESIAESIAESIAEPBKgmPYIjMVJgARIgARIgARIgARIgARIgARIgGKaY4AESIAESIAESIAESIAESIAESIAEPBKgmPYIjMVJgARIgARIgARIgARIgARIgARIgGKaY4AESIAESIAESIAESIAESIAESIAEPBKgmPYIjMVJgARIgARIgARIgARIgARIgARIgGKaY4AESIAESIAESIAESIAESIAESIAEPBKgmPYIjMVJgARIgARIgARIgARIgARIgARIgGKaY4AESIAESIAESIAESIAESIAESIAEPBKgmPYIjMVJgARIgARIgARIgARIgARIgARIgGKaY4AESIAEciGBhKJFpVjjxrL377/l+OHDufAKeUmxTCBfYqIUrlVLCpQsKQfWrpVDW7aIHD8ey01m20iABEiABEjAM4G4ENNVr7lGirdq5QrO2qFDpdzpp0uRevWM8hveeUf2zpvn6livhQpWqCB1H31UJCHB9tDFN9zgtWpfyheuU0dq3nOPURdepFY+9pgv9XqppPbDD0tilSpZDjl28KAc3bdP9syaJdt//NFLlWGXraN9VahSJeN4jJOUpUvDritWDkyqWVMqX3KJ0Q87x4/ny3akHavPgjK9ehlMK5x9tuRXQX1o+3bZ9OWXsuWTTyR59uxIz8DjScCWQKkuXaTGnXdK+TPOkHz582eUPbBhg6wfPlzWv/qqHNm9mxRJgARIgARIgASUQI6L6cL160u7GTMkISnJ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gARIgARIgARikgDFdEx2KxtFAiRAAiRAAiRAAiRAAiRAAiQQTQIU09Gky7pJgARIgARIgARIgARIgARIgARikgDFdEx2KxtFAiRAAiRAAiRAAiRAAiRAAiQQTQIU09Gky7pJgARIgARIgARIgARIgARIgARikgDFdEx2KxtFAiRAAiRAAiRAAiRAAiRAAiQQTQIU09Gky7pJgARIgARIgARIgARIgARIgARikgDFdEx2KxtFAiRAAiRAAiRAAiRAAiRAAiQQTQIU09Gky7pJgARIgARIgARIgARIgARIgARikgDFdEx2KxtFAiRAAiRAAiRAAiRAAiRAAiQQTQIU09Gky7pJgARIgARIgARIgARIgARIgARikgDFdEx2KxtFAiRAAiRAAiRAAiRAAiRAAiQQTQIU09Gky7pJgARIgARIgARIgARIgARIgARikgDFdEx2KxtFAiRAAiRAAiRAAiRAAiRAAiQQTQIU09Gky7pJgARIgARIgARIgARIgARIgARikgDFdEx2KxtFAiRAAiRAAiRAAiRAAiRAAiQQTQIU09Gky7pJgARIgARIgARIgARIgARIgARikkC+3bt3H4/JlrFRJEACJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABJKQ6YwAACAASURBVEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAhTTUQLLakmABEiABEiABEiABEiABEiABGKXAMV07PYtW0YCJEACJEACJEACJEACJEACJBAlAp7EdFJSUpQug9WSAAmQAAmQAAmQAAmQAAmQAAmQQM4TOHDggKuLoJh2hYmFSIAESIAESIAESIAESIAESIAE4oEAxXQ89DLbSAIkQAIkQAIkQAIkQAIkQAIk4CsBimlfcbIyEiABEiABEiABEiABEiABEiCBeCBAMR0Pvcw2kgAJkAAJkAAJkAAJkAAJkAAJ+EqAYtpXnKyMBEiABEiABEiABEiABEiABEggHghQTMdDL7ONJEACJEACJEACJEACJEACJEACvhKgmPYVJysjARIgARIgARIgARIgARIgARKIBwIU0/HQy2wjCZAACZAACZAACZAACZAACZCArwQopn3FycpIgARIgARIgARIgARIgARIgATigQDFdDz0MttIAiRAAiRAAiRAAiRAAiRAAiTgKwGKaV9xsjISIAESIAESIAESIAESIAESIIF4IEAxHQ+9zDaSAAmQAAmQAAmQAAmQAAmQAAn4SoBi2lecrIwESIAESIAESIAESIAESIAESCAeCFBMx0Mvs40kQAIkQAIkQAIkQAIkQAIkQAK+EqCY9hUnKyMBEiABEiABEiABEiABEiABEogHAhTT8dDLbCMJkAAJkAAJkAAJkAAJkAAJkICvBCimfcXJykiABEiABEiABEiABEiABEiABOKBAMV0PPQy20gCJEACJEACJEACJEACJEACJOArAYppX3GyMhIgARIgARIgARIgARIgARIggXggQDEdD73MNpIACZAACZAACZAACZAACZAACfhKgGLaV5ysjARIgARIgARIgARIgARIgARIIB4IUEzHQy+zjSRAAiRAAiRAAiRAAiRAAiRAAr4SoJj2FScrIwESIAESIAESIAESIAESIAESiAcCFNPx0MtsIwmQAAmQAAmQAAmQAAmQAAmQgK8EKKZ9xcnKSIAESIAESIAESIAESIAESIAE4oEAxXQ89DLbSAIkQAIkQAIkQAIkQAIkQAIk4CsBimlfcbIyEiABEiABEiABEiABEiABEiCBeCBAMR0Pvcw2kgAJkAAJkAAJkAAJkAAJkAAJ+EqAYtpXnKyMBEiABEiABEiABEiABEiABEggHghQTMdDL7ONJEACJEACJEACJEACJEACJEACvhKgmPYVJysjARIgARIgARIgARIgARIgARKIBwIU0/HQy2wjCZAACZAACZAACZAACZAACZCArwQopn3FycpIgARIgARIgARIgARIgARIgATigQDFdDz0MttIAiRAAiRAAiRAAiRAAiRAAiTgKwGKaV9xsjISIAESIAESIAESIAESIAESIIF4IEAxHQ+9zDaSAAmQAAmQAAmQAAmQAAmQAAn4SoBi2lecrIwESIAESIAESIAESIAESIAESCAeCFBMx0Mvs40kQAIkQAIkQAIkQAIkQAIkQAK+EqCY9hUnKyMBEiABEiABEiABEiABEiABEogHAhTT8dDLbCMJkAAJkAAJkAAJkAAJkAAJkICvBCimfcXJykiABEiABEiABEiABEiABEiABOKBAMV0PPQy20gCJEACJEACJEACJEACJEACJOArAYppX3GyMhIgARIgARIgARIgARIgARIggXggQDEdD73MNpIACZAACZAACZAACZAACZAACfhKgGLaV5ysjARIgARIgARIgARIgARIgARIIB4IUEzHQy+zjSRAAiRAAiRAAiRAAiRAAiRAAr4SoJj2FScrIwESIAESIAESIAESIAESIAESiAcCFNPx0MtsIwmQAAmQAAmQAAmQAAmQAAmQgK8EKKZ9xcnKSIAESIAESIAESIAESIAESIAE4oEAxXQ89DLbSAIkQAIkQAIkQAIkQAIkQAIk4CsBimlfcbIyEiABEiABEiABEiABEiABEiCBeCBAMR0Pvcw2kgAJkAAJkAAJkAAJkAAJkAAJ+EqAYtpXnKyMBEiABEiABEiABEiABEiABEggHghQTMdDL7ONJEACJEACJEACJEACJEACJEACvhKgmPYVJysjARIgARIgARIgARIgARIgARKIBwIU0/HQy2wjCZAACZAACZAACZAACZAACZCArwQopn3FycpIgARIgARIgARIgARIgARIgATigQDFdDz0MttIAiRAAiRAAiRAAiRAAiRAAiTgKwGKaV9xsjISIAESIAESIAESIAESIAESIIF4IEAxHQ+9zDaSAAmQAAmQAAmQAAmQAAmQAAn4SoBi2lecrIwESIAESIAESIAESIAESIAESCAeCFBMx0Mvs40kQAIkQAIkQAIkQAIkQAIkQAK+EqCY9hUnKyMBEiABEiABEiABEiABEiABEogHAhTT8dDLbCMJkAAJkAAJkAAJkAAJkAAJkICvBCimfcXJykiABEiABEiABEiABEiABEiABOKBAMV0PPQy20gCJEACJEACJEACJEACJEACJOArAYppX3GyMhIgARIgARIgARIgARIgARIggXggQDEdD73MNpIACZAACZAACZAACZAACZAACfhKgGLaV5ysjARIgARIgARIgARIgARIgARIIB4IUEzHQy+zjSRAAiRAAiRAAiRAAiRAAiRAAr4SoJj2FScrIwESIAESIAESIAESIAESIAESiAcCFNPx0MtsIwmQAAmQAAmQAAmQAAmQAAmQgK8EKKZ9xcnKSIAESIAESIAESIAESIAESIAE4oEAxXQ89HIMtXH/2tWy7MPhsn/NKjm0Z7ckFCwkJRs2lprnDJDSzVvGUEvZFBKIjEDyssWybdYMSdmwVj/r5cDWzXJw9y45dviw5EtIkHz580u+fAmSWLacdPv028hOZnM079mooc3WinPLeEKjt82cJqu//UpSN22Uo6kpUqBoMSl9wolS79KrJal8hWzlwpORAAmQAAnEN4G4EtPHjxyRXQvnR7XHi1Suyh/zKBHeNPFX+fvJhy1rb3zTnYaopkWfQMpGFWfbt3k6UUL+ApKQWEjyF0qUhEKF9AW4uBQsXtxTHSzsnsCsW6+RXf/+7XgA+qLvmGmO5cIpwHs2HGrWx+CeO7I32d9KXdRWpFoNmXPXjTk+nnCp8599XDb8Otr0qjFB1OH193SCtYmLVrEICZAACZAACUROIK7EdPLSxTL9+ksjp2ZTQ4l6DaXT8E+ieo54rXzcyd3k6MEDls3Hi1Sf0ZNUqCXGK6JsazfuI9xPflj+woWlUIlSUrxuPanQqZtU7tlX8icV9qPquK5j0vmn6YTHVkcG0RTT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jw/uwRxzzJFuiqjvEAxZo19Yc2R6lllmMT/++KN5++23zTzzzNPogIY8sIzCf/vtt3XG5amnnopyzkPaFHJNUxvWkDbpNWEIsADCLvRjjz1mVlpppfQmJdNh2JW96tBDDzUXXHCB6du3b7p4Fipl7EPos9v6dTfffLPZeeed025uvPHGZqmlljIjR440OMqyiBSDQWuyeWX1LQaPSq5VMl0JenpvNRFoCf5VNftX9tlNbf+WWGIJw4bXySefnC7016rssMMO5rbbbgvuPn7GbrvtpmQ6GLHGv1DJdONjaiZOnGjmnHNOc9RRR5mBAwc2eEMZZ/mvv/5Kd7EJlXvyySebJTy8qQ1rmaEB299//92wE6XyDwIrrLCCefXVV83LL79sFltssWYh08OHDzfLL7+8GTp0qFlmmWWabHiaSydYZd91113NkUceafbYY4+6/lbDPjQZmC38RTvttJO55ZZbzNFHH53+CxGI9iGHHGJcH8PWYPOkj3n6FoJBU1zTHGTaN9fy+t1ctor2NOe7m0IPmusdRbrQEvyrIlyKbFQ18Wxq+3faaaeZq6++2tx4443NsmFUTSxjng05fumll+rd8uyzz5qvv/46jaoVH04u2H333dNNkjLcIqZdem0+Akqmq6AdL7zwgllttdXMKaecYg466KBGIdNVaGb0I5vasMY2kDBmctBjdwJj39Maryes8uGHHzbvvfee6d69e7OQ6TPOOMMce+yxTUqmW6JOtFX70BLmxaKLLmo++OCDVNdXXXXVoCats8465oknnmj1ZDqos814UXOQad9cy4OjOWyVtKU5392M6lH1V5fVhao3LOAFRTYq4PbSl7R0n690x1rhjURcEXl13nnn1Vuct7uiZLr5BlbJdII9OdQU1iIEnBxRwsBZHf7yyy9Nx44dzQILLFBHQHxDRcGbAw880Fx33XVm7733NoRriODoIVmFh+Dwj9VRij716NHDTD755A1eRfgLu65cky2mQ+EBCkexctWhQwdDDkWvXr2iC0hRGO2VV14x3333XYoFK2CdOnVK25I1rOD0+uuvmy+++CItYEW7pp9++lyIIDYffvihoa3kg9BP2pgNv5Tx4L304/vvv0+LCX311VdpqDvvmXHGGeu9h3uuv/76NP+XXU9CmEXIE6Zomi2sUrNT+7///c8sueSSueNLHiJjMe+886bY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\n", "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": "2024-01-18T17:27:14.816693Z", "iopub.status.busy": "2024-01-18T17:27:14.816538Z", "iopub.status.idle": "2024-01-18T17:27:14.818396Z", "shell.execute_reply": "2024-01-18T17:27:14.818098Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "book_runner = GUIRunner(gui_driver)" ] }, { "cell_type": "code", "execution_count": 154, "metadata": { "button": false, "execution": { "iopub.execute_input": "2024-01-18T17:27:14.820004Z", "iopub.status.busy": "2024-01-18T17:27:14.819888Z", "iopub.status.idle": "2024-01-18T17:27:20.077959Z", "shell.execute_reply": "2024-01-18T17:27:20.077665Z" }, "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": "2024-01-18T17:27:20.079730Z", "iopub.status.busy": "2024-01-18T17:27:20.079626Z", "iopub.status.idle": "2024-01-18T17:27:20.081363Z", "shell.execute_reply": "2024-01-18T17:27:20.081119Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "ACTIONS = 5" ] }, { "cell_type": "code", "execution_count": 156, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:20.082838Z", "iopub.status.busy": "2024-01-18T17:27:20.082730Z", "iopub.status.idle": "2024-01-18T17:27:55.171520Z", "shell.execute_reply": "2024-01-18T17:27:55.171157Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Run #1\n", "Action click('chapter on testing') -> \n", "In new state frozenset({\"click('00_Table_of_Contents.ipynb')\", \"ignore('Pezz\\xc3\\xa8 et al, 2008')\", \"click('ExpectError')\", \"ignore('random')\", \"click('')\", \"ignore('MIT License')\", \"click('import it')\", \"ignore('bookutils')\", \"click('The Fuzzing Book')\", \"click('Cite')\", \"ignore('Maur\\xc3\\xadcio Aniche, 2022')\", \"click('Guide for Authors')\", \"click('Timer')\", \"click('Web Page')\", \"click('use fuzzing to test programs with random inputs')\", \"check('8aaff39e-b61e-11ee-8c1e-6298cf1a5790', )\", \"check('8b4e5034-b61e-11ee-8c1e-6298cf1a5790', )\", \"ignore('Python tutorial')\", \"ignore('Shellsort')\", \"ignore('Imprint')\", \"ignore('Beizer et al, 1990')\", \"ignore('')\", \"ignore('"Effective Software Testing: A Developer's Guide"')\", \"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License')\", \"ignore('bookutils.setup')\", \"ignore('Last change: 2023-11-11 18:18:06+01:00')\", \"click('Background')\", \"ignore('math.isclose()')\", \"ignore('Myers et al, 2004')\", \"click('Timer module')\", \"ignore('Use the notebook')\", \"check('8a99ce0c-b61e-11ee-8c1e-6298cf1a5790', )\", \"submit('')\", \"ignore('Newton\\xe2\\x80\\x93Raphson method')\"})\n", "Run #2\n", "Action click('ExpectError') -> \n", "In existing state \n", "Replacing expected state by \n", "Run #3\n", "Action click('chapter on information flow') -> \n", "In new state frozenset({\"click('Grammar Mining')\", \"ignore('traceback')\", \"click('symbolic fuzzing')\", \"click('fuzzingbook.InformationFlow')\", \"click('Parser')\", \"click('ExpectError')\", \"ignore('random')\", \"click('')\", \"ignore('MIT License')\", \"ignore('hook into __new__()')\", \"ignore('bookutils')\", \"click('The Fuzzing Book')\", \"click('chapter on coverage')\", \"click('the chapter on Fuzzing')\", \"click('Cite')\", \"ignore('Conti et al, 2012')\", \"ignore('typing')\", \"ignore('Imprint')\", \"click('the chapter on Web fuzzing')\", \"ignore('')\", \"click('chapter on probabilistic fuzzing')\", \"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License')\", \"ignore('bookutils.setup')\", \"click('search based fuzzing')\", \"click('use the code provided in this chapter')\", \"click('search-based testing')\", \"click('chapter on grammar fuzzers')\", \"click('to the next section')\", \"ignore('Last change: 2023-11-11 18:18:06+01:00')\", \"click('GrammarFuzzer')\", \"ignore('re')\", \"click('Fuzzer')\", \"click('flow fuzzing')\", \"ignore('Use the notebook')\"})\n", "Run #4\n", "Action click('Intro_Testing') -> \n", "In existing state \n", "Replacing expected state by \n", "Run #5\n", "Action click('Intro_Testing')\n", "click('use the code provided in this chapter') -> \n", "In new state frozenset({\"ignore('Imprint')\", \"ignore('Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License')\", \"ignore('')\", \"ignore('the project page')\", \"ignore('pyenv-win')\", \"ignore('bookutils.setup')\", \"click('fuzzingbook.')\", \"ignore('Last change: 2023-11-11 18:18:06+01:00')\", \"ignore('Pipenv')\", \"click('')\", \"ignore('MIT License')\", \"ignore('official instructions')\", \"ignore('bookutils')\", \"click('Fuzzer')\", \"click('The Fuzzing Book')\", \"click('Cite')\", \"ignore('installation instructions')\", \"ignore('requirements.txt file within the project root folder')\", \"click('fuzzingbook.Fuzzer')\", \"ignore('apt.txt file in the binder/ folder')\", \"click('the chapter on fuzzers')\"})\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": "2024-01-18T17:27:55.173575Z", "iopub.status.busy": "2024-01-18T17:27:55.173433Z", "iopub.status.idle": "2024-01-18T17:27:55.635354Z", "shell.execute_reply": "2024-01-18T17:27:55.634939Z" }, "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->state\n", "\n", "\n", "click('ExpectError')\n", "\n", "\n", "\n", "state->state\n", "\n", "\n", "click('Intro_Testing')\n", "\n", "\n", "\n", "state-2\n", "\n", "<state-2>\n", "\n", "\n", "\n", "state->state-2\n", "\n", "\n", "click('chapter on information flow')\n", "\n", "\n", "\n", "state-3\n", "\n", "<state-3>\n", "\n", "\n", "\n", "state->state-3\n", "\n", "\n", "click('discussed above')\n", "\n", "\n", "\n", "state-4\n", "\n", "<state-4>\n", "\n", "\n", "\n", "state->state-4\n", "\n", "\n", "click('')\n", "\n", "\n", "\n", "state-5\n", "\n", "<state-5>\n", "\n", "\n", "\n", "state->state-5\n", "\n", "\n", "click('A Fuzzing Architecture')\n", "\n", "\n", "\n", "state-6\n", "\n", "<state-6>\n", "\n", "\n", "\n", "state->state-6\n", "\n", "\n", "click('The Fuzzing Book')\n", "\n", "\n", "\n", "state-7\n", "\n", "<state-7>\n", "\n", "\n", "\n", "state->state-7\n", "\n", "\n", "click('"Introduction to Software Testing"')\n", "\n", "\n", "\n", "state-9\n", "\n", "<state-9>\n", "\n", "\n", "\n", "state->state-9\n", "\n", "\n", "click('Cite')\n", "\n", "\n", "\n", "state-10\n", "\n", "<state-10>\n", "\n", "\n", "\n", "state->state-10\n", "\n", "\n", "click('reduce failing inputs for efficient debugging')\n", "\n", "\n", "\n", "state-11\n", "\n", "<state-11>\n", "\n", "\n", "\n", "state->state-11\n", "\n", "\n", "click('chapter on testing')\n", "\n", "\n", "\n", "state-12\n", "\n", "<state-12>\n", "\n", "\n", "\n", "state->state-12\n", "\n", "\n", "click('Introduction to Testing')\n", "\n", "\n", "\n", "state-13\n", "\n", "<state-13>\n", "\n", "\n", "\n", "state->state-13\n", "\n", "\n", "click('use the code provided in this chapter')\n", "\n", "\n", "\n", "state-14\n", "\n", "<state-14>\n", "\n", "\n", "\n", "state->state-14\n", "\n", "\n", "click('runtime verification')\n", "\n", "\n", "\n", "state-15\n", "\n", "<state-15>\n", "\n", "\n", "\n", "state->state-15\n", "\n", "\n", "click('use mutations on existing inputs to get more valid inputs')\n", "\n", "\n", "\n", "state-16\n", "\n", "<state-16>\n", "\n", "\n", "\n", "state->state-16\n", "\n", "\n", "click('fuzzingbook.Fuzzer')\n", "\n", "\n", "\n", "state-17\n", "\n", "<state-17>\n", "\n", "\n", "\n", "state->state-17\n", "\n", "\n", "click('use grammars to specify the input format and thus get many more valid inputs')\n", "\n", "\n", "\n", "state-18\n", "\n", "<state-18>\n", "\n", "\n", "\n", "state->state-18\n", "\n", "\n", "click('chapter on mining function specifications')\n", "\n", "\n", "\n", "state-19\n", "\n", "<state-19>\n", "\n", "\n", "\n", "state->state-19\n", "\n", "\n", "check('917a4ca6-b61e-11ee-9563-6298cf1a5790', <boolean>)\n", "check('918229c6-b61e-11ee-9563-6298cf1a5790', <boolean>)\n", "submit('')\n", "\n", "\n", "\n", "end\n", "\n", "<end>\n", "\n", "\n", "\n", "state->end\n", "\n", "\n", "\n", "\n", "\n", "state-2->end\n", "\n", "\n", "\n", "\n", "\n", "state-1\n", "\n", "<state-1>\n", "\n", "\n", "\n", "state-2->state-1\n", "\n", "\n", "click('Grammar Mining')\n", "\n", "\n", "\n", "state-33\n", "\n", "<state-33>\n", "\n", "\n", "\n", "state-2->state-33\n", "\n", "\n", "click('symbolic fuzzing')\n", "\n", "\n", "\n", "state-34\n", "\n", "<state-34>\n", "\n", "\n", "\n", "state-2->state-34\n", "\n", "\n", "click('fuzzingbook.InformationFlow')\n", "\n", "\n", "\n", "state-35\n", "\n", "<state-35>\n", "\n", "\n", "\n", "state-2->state-35\n", "\n", "\n", "click('Parser')\n", "\n", "\n", "\n", "state-36\n", "\n", "<state-36>\n", "\n", "\n", "\n", "state-2->state-36\n", "\n", "\n", "click('ExpectError')\n", "\n", "\n", "\n", "state-37\n", "\n", "<state-37>\n", "\n", "\n", "\n", "state-2->state-37\n", "\n", "\n", "click('')\n", "\n", "\n", "\n", "state-38\n", "\n", "<state-38>\n", "\n", "\n", "\n", "state-2->state-38\n", "\n", "\n", "click('The Fuzzing Book')\n", "\n", "\n", "\n", "state-39\n", "\n", "<state-39>\n", "\n", "\n", "\n", "state-2->state-39\n", "\n", "\n", "click('chapter on coverage')\n", "\n", "\n", "\n", "state-40\n", "\n", "<state-40>\n", "\n", "\n", "\n", "state-2->state-40\n", "\n", "\n", "click('the chapter on Fuzzing')\n", "\n", "\n", "\n", "state-41\n", "\n", "<state-41>\n", "\n", "\n", "\n", "state-2->state-41\n", "\n", "\n", "click('Cite')\n", "\n", "\n", "\n", "state-42\n", "\n", "<state-42>\n", "\n", "\n", "\n", "state-2->state-42\n", "\n", "\n", "click('the chapter on Web fuzzing')\n", "\n", "\n", "\n", "state-43\n", "\n", "<state-43>\n", "\n", "\n", "\n", "state-2->state-43\n", "\n", "\n", "click('chapter on probabilistic fuzzing')\n", "\n", "\n", "\n", "state-44\n", "\n", "<state-44>\n", "\n", "\n", "\n", "state-2->state-44\n", "\n", "\n", "click('search based fuzzing')\n", "\n", "\n", "\n", "state-45\n", "\n", "<state-45>\n", "\n", "\n", "\n", "state-2->state-45\n", "\n", "\n", "click('use the code provided in this chapter')\n", "\n", "\n", "\n", "state-46\n", "\n", "<state-46>\n", "\n", "\n", "\n", "state-2->state-46\n", "\n", "\n", "click('search-based testing')\n", "\n", "\n", "\n", "state-47\n", "\n", "<state-47>\n", "\n", "\n", "\n", "state-2->state-47\n", "\n", "\n", "click('chapter on grammar fuzzers')\n", "\n", "\n", "\n", "state-48\n", "\n", "<state-48>\n", "\n", "\n", "\n", "state-2->state-48\n", "\n", "\n", "click('to the next section')\n", "\n", "\n", "\n", "state-49\n", "\n", "<state-49>\n", "\n", "\n", "\n", "state-2->state-49\n", "\n", "\n", "click('GrammarFuzzer')\n", "\n", "\n", "\n", "state-50\n", "\n", "<state-50>\n", "\n", "\n", "\n", "state-2->state-50\n", "\n", "\n", "click('Fuzzer')\n", "\n", "\n", "\n", "state-51\n", "\n", "<state-51>\n", "\n", "\n", "\n", "state-2->state-51\n", "\n", "\n", "click('flow fuzzing')\n", "\n", "\n", "\n", "unexplored\n", "\n", "<unexplored>\n", "\n", "\n", "\n", "state-3->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-4->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-5->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-6->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-7->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-9->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-10->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-11->end\n", "\n", "\n", "\n", "\n", "\n", "state-20\n", "\n", "<state-20>\n", "\n", "\n", "\n", "state-11->state-20\n", "\n", "\n", "click('00_Table_of_Contents.ipynb')\n", "\n", "\n", "\n", "state-21\n", "\n", "<state-21>\n", "\n", "\n", "\n", "state-11->state-21\n", "\n", "\n", "click('ExpectError')\n", "\n", "\n", "\n", "state-22\n", "\n", "<state-22>\n", "\n", "\n", "\n", "state-11->state-22\n", "\n", "\n", "click('')\n", "\n", "\n", "\n", "state-23\n", "\n", "<state-23>\n", "\n", "\n", "\n", "state-11->state-23\n", "\n", "\n", "click('import it')\n", "\n", "\n", "\n", "state-24\n", "\n", "<state-24>\n", "\n", "\n", "\n", "state-11->state-24\n", "\n", "\n", "click('The Fuzzing Book')\n", "\n", "\n", "\n", "state-25\n", "\n", "<state-25>\n", "\n", "\n", "\n", "state-11->state-25\n", "\n", "\n", "click('Cite')\n", "\n", "\n", "\n", "state-26\n", "\n", "<state-26>\n", "\n", "\n", "\n", "state-11->state-26\n", "\n", "\n", "click('Guide for Authors')\n", "\n", "\n", "\n", "state-27\n", "\n", "<state-27>\n", "\n", "\n", "\n", "state-11->state-27\n", "\n", "\n", "click('Timer')\n", "\n", "\n", "\n", "state-28\n", "\n", "<state-28>\n", "\n", "\n", "\n", "state-11->state-28\n", "\n", "\n", "click('Web Page')\n", "\n", "\n", "\n", "state-29\n", "\n", "<state-29>\n", "\n", "\n", "\n", "state-11->state-29\n", "\n", "\n", "click('use fuzzing to test programs with random inputs')\n", "\n", "\n", "\n", "state-30\n", "\n", "<state-30>\n", "\n", "\n", "\n", "state-11->state-30\n", "\n", "\n", "click('Background')\n", "\n", "\n", "\n", "state-31\n", "\n", "<state-31>\n", "\n", "\n", "\n", "state-11->state-31\n", "\n", "\n", "click('Timer module')\n", "\n", "\n", "\n", "state-32\n", "\n", "<state-32>\n", "\n", "\n", "\n", "state-11->state-32\n", "\n", "\n", "check('8aaff39e-b61e-11ee-8c1e-6298cf1a5790', <boolean>)\n", "check('8b4e5034-b61e-11ee-8c1e-6298cf1a5790', <boolean>)\n", "check('8a99ce0c-b61e-11ee-8c1e-6298cf1a5790', <boolean>)\n", "submit('')\n", "\n", "\n", "\n", "state-12->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-13->end\n", "\n", "\n", "\n", "\n", "\n", "state-8\n", "\n", "<state-8>\n", "\n", "\n", "\n", "state-13->state-8\n", "\n", "\n", "click('fuzzingbook.')\n", "\n", "\n", "\n", "state-52\n", "\n", "<state-52>\n", "\n", "\n", "\n", "state-13->state-52\n", "\n", "\n", "click('')\n", "\n", "\n", "\n", "state-53\n", "\n", "<state-53>\n", "\n", "\n", "\n", "state-13->state-53\n", "\n", "\n", "click('Fuzzer')\n", "\n", "\n", "\n", "state-54\n", "\n", "<state-54>\n", "\n", "\n", "\n", "state-13->state-54\n", "\n", "\n", "click('The Fuzzing Book')\n", "\n", "\n", "\n", "state-55\n", "\n", "<state-55>\n", "\n", "\n", "\n", "state-13->state-55\n", "\n", "\n", "click('Cite')\n", "\n", "\n", "\n", "state-56\n", "\n", "<state-56>\n", "\n", "\n", "\n", "state-13->state-56\n", "\n", "\n", "click('fuzzingbook.Fuzzer')\n", "\n", "\n", "\n", "state-57\n", "\n", "<state-57>\n", "\n", "\n", "\n", "state-13->state-57\n", "\n", "\n", "click('the chapter on fuzzers')\n", "\n", "\n", "\n", "state-14->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-15->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-16->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-17->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-18->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-19->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-1->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-33->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-34->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-35->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-36->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-37->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-38->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-39->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-40->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-41->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-42->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-43->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-44->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-45->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-46->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-47->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-48->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-49->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-50->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-51->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-20->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-21->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-22->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-23->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-24->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-25->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-26->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-27->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-28->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-29->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-30->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-31->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-32->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-8->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-52->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-53->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-54->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-55->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-56->unexplored\n", "\n", "\n", "\n", "\n", "\n", "state-57->unexplored\n", "\n", "\n", "\n", "\n", "\n" ], "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": "fragment" } }, "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": "2024-01-18T17:27:55.637143Z", "iopub.status.busy": "2024-01-18T17:27:55.637024Z", "iopub.status.idle": "2024-01-18T17:27:56.483059Z", "shell.execute_reply": "2024-01-18T17:27:56.482633Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.quit()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Synopsis\n", "\n", "This chapter demonstrates how to programmatically interact with user interfaces, using Selenium on Web browsers. It provides an experimental `GUICoverageFuzzer` class that automatically explores a user interface by systematically interacting with all available user interface elements." ] }, { "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": "2024-01-18T17:27:56.485383Z", "iopub.status.busy": "2024-01-18T17:27:56.485234Z", "iopub.status.idle": "2024-01-18T17:27:59.054553Z", "shell.execute_reply": "2024-01-18T17:27:59.054147Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver = start_webdriver()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "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": "2024-01-18T17:27:59.056806Z", "iopub.status.busy": "2024-01-18T17:27:59.056644Z", "iopub.status.idle": "2024-01-18T17:27:59.314774Z", "shell.execute_reply": "2024-01-18T17:27:59.314337Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydB7gUNduG81k+exfsvSuoWFERRezYURG7KPaCYkHsBXvvFcUCqChYQOyKBUSwIaKCYlcU7L3+c4f/3S87Z3Z39uzuKbtPrsvLw+5MJrmTyebJ++bNf/6NklMSAREQAREQAREQAREQAREQAREQARFITeA/EtOpWelCERABERABERABERABERABERABEfAEJKbVEURABERABERABERABERABERABESgSAIS00UC0+UiIAIiIAIiIAIiIAIiIAIiIAIiIDGtPiACIiACIiACIiACIiACIiACIiACRRKQmC4SmC4XAREQAREQAREQAREQAREQAREQAYlp9QEREAEREAEREAEREAEREAEREAERKJKAxHSRwHS5CIiACIiACIiACIiACIiACIiACEhMqw+IgAiIgAiIgAiIgAiIgAiIgAiIQJEEJKaLBKbLRUAEREAEREAEREAEREAEREAEREBiWn1ABERABERABERABERABERABERABIokUJyY/s9/isxel4uACIiACIiACIiACIiACIiACIhAMyLw77+pCisxnQqTLhIBERABERABERABERABERABEagJAhLTNdHMqqQIiIAIiIAIiIAIiIAIiIAIiEA5CUhMl5Om8hIBERABERABERABERABERABEagJAg0iplM+pCaAq5IiIAIiIAIiIAIiIAIiIAIiIALNj0A8NlhKnVvanumUD2l+NFViERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiAgMV0TzaxKioAIiIAIiIAIiIAIiIAIiIAIlJOAxHQ5aSovERABERABERABERABERABERCBmiBQbWL677//dv/++29Z2m7GGWd0/4kDKkvOjZPJt99+6+677z630EILuU6dOrmZZpqpcQpS4Kn//POP47+k1FTLnK9K+fpkQ9Tnyy+/dBMmTPD/ffTRR27RRRd1K664olthhRXc0ksv7fvBtGnT3EknneQOOugg17Zt2ybZL5pyoSZNmuTefPNNN3XqVPfLL7/4MahFixZuySWXdOutt56bddZZG7X4hcbFhuiHpQIoVIdi8q+2sb2YuutaERABERABERCBMhKoJjH9xRdfeKFQrvTqq6+6Nm3alCu7Rs3nxRdfdO3atcuUYfHFF3fvvvuum3322Ru1XEkP79mzp7vssssSy/X666+7NdZYo8mVOV+BDjjgAHf77bcnXvLXX385JvaVSL///rs744wz3IUXXpjJfq655nI//vhj1r933HFHL7Kff/55179/f9e1a9dKFKfq8vz+++/dVVdd5dv2gw8+yFu/zp07+8WKddddt1E47LDDDu7hhx9OfPayyy7r3n///UYpV9qHamxPS0rXiYAIiIAIiIAINCiBahLTv/32m3vhhRfc2LFjXa9evXJy3G+//dwyyyzjmAwzSfvss8+8kIinahLTu+++u7dKh+mOO+5w++yzT4P2tzQPe/vtt72YvvXWW+tcPmrUKLf++uunyabJXPPaa6+5U045xT366KN1ylQpMY2lecstt3T0YRJ9/vzzz3eLLLKIt5xiRT3xxBPr9HuJ6XTd5q677nKHH3541sLE3nvv7Y455hg/trBQ9eSTT/rFjDDxHt54441u3nnnTfegMl2F5fydd95xF110UZ02bw5iWmN7mTqCshEBERABERABESgvgWoS0yGZm266yR1yyCF1YG200UZecMfTp59+6q699lp3wQUXZL6qJjGNNRcBFaYTTjjBT66bYmLyPNtss9Up2siRI5ulG/L48eNdq1atGkxMI/Suv/56/7wtttjCDR8+3M0wwwxZz0fII/bOO++8zOcS0/nfBrYfsDASjhPcwXjTvXv3OjePGDHCbbLJJlmf42L/yCOPeDf7hk5PP/2069ixY9Zjm4OY1tje0D1FzxMBERABERABEUhFoFrFNNbAtdZaqw6Do446yrtm5kpnn312xppUTWKayf/JJ5+cVe2m7jK92mqrOazUYWquYjrX4kAlLNPxvn/bbbe5/fffP2ef33XXXd3999/vv5eYzj9snnXWWe7MM8/Muqhbt26JXhR20eDBg90uu+ySdQ/bLBhf2FfdkClpXGxuYlpje0P2GD1LBERABERABEQgL4FqFdO4NK6yyipFi2nEzdprr+2tuNUkpgk+hpvvDTfc4CfwWKUPPfTQJv12JFnTm6ObN5AbUkzHF06wUOdra1zCcU1mL/WAAQPcHnvs0aT7RWMVbujQoW677bar83jGmpVWWilvsfj+vffey7pm4403ds8++2wdj4FK1u+NN95wa665ZtYjmpuY1theyR6ivEVABERABERABIoiIDHt3D333OMWXHDBjPsjrs8EC6omMW2d4s8///QBr+Iuv0V1mga6WGK6fqC7dOni7r333szNq6++unv55ZfzRpTG3RuvDFmmk5nz3qy88sp1Ao1tttlm7qmnnirYUDamxC+knXbbbbeC95frgloT07U0tperjygfERABERABERCBIgjUuphmDyTBgA477LBM1GNci3ExZp/rqquuWgTN6r8UC/dXX33lj/xJ2tOciwAWf/alE2G6ZcuWbr755isIq5CY/uabbxzlwapa7OIA5cBSSNsvscQSBcuSdAEB7IjivNRSS7n5558/bx4NaZlu3759nSBTHHdF1OlcFlSiOS+//PJNQkzTphznRf/iGLdi+pk1AnkQXHDuuef2ecw888z1amO76c4773T77rtvnTxw+z799NML5j158mSHBTie+IzgYGmP4OPILepF/6XfF0qff/65v8ROOaivmOa5n3zyifvjjz/8u//f//630KNzfv/rr7/66PHk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IAIiIAIiIAIiUDIBiemSESoDERABERABERABERABERABERCBWiMgMV1rLa76ioAIiIAIiIAIiIAIiIAIiIAIlExAYrpkhMpABERABERABERABERABERABESg1ghITNdai6u+IiACIiACIiACIiACIiACIiACJROQmC4ZoTIQAREQAREQAREQAREQAREQARGoNQIS07XW4qqvCIiACIiACIiACIiACIiACIhAyQQkpktGqAxEQAREQAREQAREQAREQAREQARqjYDEdK21uOorAiIgAiIgAiIgAiIgAiIgAiJQMgGJ6ZIRKgMREAEREAEREAEREAEREAEREIFaIyAxXWstrvqKgAiIgAiIgAiIgAiIgAiIgAiUTEBiumSEykAEREAEREAEREAEREAEREAERKDWCEhM11qLq74iIAIiIAIiIAIiIAIiIAIiIAIlE5CYLhmhMhABERABERABERABERABERABEag1AhLTtdbiqq8IiIAIiIAIiIAIiIAIiIAIiEDJBCSmS0aoDERABERABERABERABERABERABGqNgMR0rbW46isCIiACIiACIiACIiACIiACIlAyAYnpkhEqAxEQAREQAREQAREQAREQAREQgVojIDFday2u+oqACIiACFQLgdGj33ATJ052M800k/vii6+qpVqqhwiIgAhkCCy8cAv3zz//uBVWWNqtu+4aIiMCTYuAxHTTag+VRgREQAREQATSELj11ntdq1YrurnnnsstsMB8aW7RNSIgAiLQ7Aj8+++/7ptvvnPfffeDmzBhkuvWbbdmVwcVuIoJSExXceOqaiIgAiIgAlVJoG/fe91667VxLVsuUJX1U6VEQAREIIkAHjivvjrOHXCABLV6SBMhIDHdRBpCxRABERABERCBFARefvl1Fxlq3LLLLpnial0iAiIgAtVFYNKkD93MM88ol+/qatbmWxuJ6ebbdiq5CIiACIhA7RG4++4H3VprtZJrd+01vWosAiIQEZg69Rv3+uvj3Z577igeItD4BKpNTP/xxx+JUAnOMsMMM2S++/PPP6OV/WhpP0j//e9/y9ogX375pfvxxx+jgAkr5M33r7/+8oEV4uk/UePMPPPMOe/9+eef3bPPPut++eUXt9tucncpV+NNmzbNPfroo65z585uttlmK1e2yqcKCeR6B3kn77//frf22mu7VVddtQpr3vyqVE1tcs89j7gOHTZsfo2gEouACIhAGQgwf3/22ZGuS5ftypCbshCBEglUk5j+9ttv3corr+y++io7oulWW23lLrroIrf66qtnaJ100knu9ttvz1zbsmVL98wzz5Rt4svEbeGFF/Ziety4cVGQmFY5W+qMM85wN9xwQ51y2w0bb7yxow6HH364m2+++aKIrV+47t27u6FDh/pL9thjDzdgwIASe4JuR0D36dPHvfjiix7Gd9995+aZZx6BEYE6BAq9gzfeeKM79NBD3eKLL+4++eQTEWwCBKqpTa64om9kkdmpCVCt/iKw0M1/LMgrVQcBjC7lNp5UB5nmVYv+/Ye4Hj26Na9Cq7TVSaCaxDQtxCB5zjnnuHPPPdc32FxzzRVFAPwm8YfwmmuucUcddZQ7+uij3WWXXeZmnHHGsjXya6+9FrnhreXzu/feewtajj/66CO39NJL++u32WYbd/PNNzs+e/PNN92JJ57oRTl1efXVV93yyy/vfvjhB3fYYYe5/v37S0yXqdV+//13N3LkyMji08HniNVx9tlnL1PuTSMbrO4LLKCAReVojXzvIB4j9KN99tnH3XHHHeV4XGIeLPgwLpRz7KpYYRs544Zqk4aoZrFierq3zbDoN+VD9+uvv7jFFlvcbbRRu2iBuXGPmBk37k2HB1euxG/dMsss2xBIE5+BB1vHjpu4adO+iRZZR7l55523YmX57LPP3D33DPDPWGKJ/+2F5284NJSY7969mxsz5hX32mvjiqorxgzuS5M226xj6jHr888/d2PHjomMEm9670L67LrrrutatGiZ9ai05Z448T239dZbuA022NDddZeMEGnaq6leIzHdVFumBstVbWKaJmQVeZdddnEPPvigb9ErrrjCHXPMMVmti1DCit26dWv3yCOPZLmAl6MbvPvuuz5/0pAhQ9yOOxbe17HQQgt56zQi+brrrssU48MPP/RWdQQ1/3/jjTf8d1xzxBFHSEyXo8H+Pw88CuaYYw7/r99++83NMsssZcy9cbPC7fi5555zV111VeMWpIqenu8dZCKeb5tGqRjonxtttJH3UMELRqkwgUq3SeESlOeKYsT0/fffF3k1HZr44O22297deOMtDSbU4oU49NDubvDgB3JCOfPMs6PfwyPKA60eufz8809RkLel/J1jxrweidwl6pFLulvuvLOfO/74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VOK3948/fo+OFmyZavtUpcqRJt/+/e+O5hR/+nOjQya33HJzJHh7RYtT2S7aafJMuoZ+xvtKuxbyaCvm2vqWp9z3/fTTj97jirqtsMKKFe1f+crO/I/fqHKOheVmVUv5SUzXUms38bpKTDfxBlLxRKARCbC4QBRuvAdw/VcSARFofAL1EdONX+raK4HtKceSy7FMc801dxSM7PnIInqjt+JzDBTHQSmJgAgUT0BiunhmuqNCBCSmKwRW2YpAMyWAOyVu/ARHwqqGa3VSVOJmWj0VWwSaPYGBAx+OXIo3bPKW2WYPusQK4H1x3HE9om0Rw+vkFN+rXuKjdLsI1BQBFvqfeealyHU/+di/moKhyjY+AYnpxm8DlUAEmhIB9uOz/9YSUd7D47CaUllVFhGoRQL9+z8Y7UVtFbmOz1eL1W92dSbwJ3u92U604oor+a08c8wxR7OrhwosAk2FwNSp37g33ng7ipGxQ1MpkspRywQkpmu59VV3EahLAMs0ZzETOInzcg899FBhEgERaEIERo9+I9qL+3cUgGnpJlQqFUUEREAEGobApEmTfUyYddedHs1dSQQalYDEdKPi18NFQAREQAREoGgCffveF+23bR0FhGxZ9L26QQREQASaK4HPP//Svf7621Fg1OlnryuJQKMTkJhu9CZQAURABERABESgaAII6lVWWc7NM8/c3uW7XNHwiy6IbhABERCBChJgj/S0ad9GJ+l8H52480EkpHer4NOUtQgUSUBiukhgulwEREAEREAEmgiB0aNfj45A/Mgfc/XFF181kVKpGCIgAiJQPgKLLNIiOqf9X8dZ9+utt0b5MlZOIlAOAhLT5aCoPERABERABERABERABERABERABGqKgMR0TTW3KisCIiACIiACIiACIiACIiACIlAOAhLT5aCoPERABERABERABERABERABERABGqKgMR0TTW3KisCIiACIiACIiACIiACIiACIlAOAhLT5aDY9PMYM+ZNN3HiZDdlyrSmX1iVUAREoCIEWrRYIIr+vLxba63VKpJ/NWWqMbOaWlN1EYH6EdCYWT9uuksEaoqAxHT1N/eYMePcL7/86jbccC0300wzVX+FVUMREIFEAn/++Zd76aWxbs45Z/dnFCslE9CYqZ4hAiIAAY2Z6gciIAIFCUhMF0TU7C8YMOBBt9tunSSkm31LqgIiUDoBJoeDBg1zXbvuUHpmVZqDxswqbVhVSwTqQUBjZj2g6RYRqCUCEtPV39pXXNHX9ejRrforqhqKgAikIqAxIT8m8UnVjXSRCNQMAY0JNdPUqqgIFE9AYrp4Zs3tDv0INLcWU3lFoLIENCZITFe2hyl3EaguAhozq6s9VRsRKCuBahbT//77b7Tf5c8sXv/9738T+XEd14dphhlmqArXaP0IlPWVUWYi0OwJ5BoT/vnnH/fXX3+lrl9jjpGff/65Gz58uNt+++1dixYtMmX++eef3bPPPhvFifgl2t6yW+q6hBdqzKwXNt0kAlVLQGNC1TatKiYCpROoZjH9zTffuL333ts9+uijGVADBgxwe+yxRx1wxx57rLv11lvdjz/+6L9r2bKlO/nkkyP36B6lQ27kHPQj0MgNoMeLQBMjkGtMeOmll1zPnj3dqFGjUpV4q6228oK2MVKXLl3cvffe6w4++GB34403ui+++MJ1797dDR061BeHcZ7xvj5JY2Z9qOkeEaheAhoTqrdtVTMRKJlANYtpg8PkarvttsuwevXVV12bNm3qsJsyZYpbeOGF3Yorruhee+01N/vss5fMtylkoB+BptAKKoMINB0ChcaEo446yl1zzTW+wE8++WR0lNZa/m+8d1hwnDhxojvmmGP8ouMzzzzTKBW76KKL3EknneRuuukmL6JJP/zwgzvssMNc//79JaYbpVX0UBGoTgKFxszqrLVqJQIikIpALYhpQPwnqOjiiy/uxfKCCy5Yh1G7du280L766qtT8WsOF+lHoDm0ksooAg1HoNCYgEA95JBDfIE+/fRTt9hii9Up3FNPPeVOPfVUN3LkyIYreOxJbM+ZeeaZsz697rrr3BFHHCEx3WitogeLQPURKDRmVl+NVSMREIHUBGpJTGNxfu+99zybLbbYwg0bNqzOnuhddtnFtWrVyp199tmpGTb1C/Uj0NRbSOUTgYYlUGhMuO2221y3btNPAPjss8/coosuWqeAv//+u7dad+rUqWELX+BpuHwfeuihEtNNqlVUGBFo3gQKjZnNu3YqvQiIQEkEaklMP/bYY+7CCy90Tz/9tGd2wgknOFwFw7T77ru71VZbzZ1xxhlZn7///vt+b+Ann3zisGxvtNFGia7ib775pg9807ZtWzdp0iS/93CppZZyG2+8cSa/r7/+2j3++ONu3nnn9Z/PPffcddrw3Xff9dbzX3/91bVu3dqts846da4ZNGiQd7vcddddsyzv8Qv1I1DSK6KbRaDqCBQaEwqJ6bfeesuPhdtss00WG4KCjR071gcFY5zDak1AM7bZWPBHxkdcw3EXZ/xLsnqzd5t7yWPllVd2HTt2dEsssUSddnj77bcdYzPPs5RLTBOY7O6773ZrrLGGW3/99fO2aSE+VdchVCEREAGNCeoDIiAC9SNQS2KaCRxWZ9y4cV0kxQOSJYnp+++/3wvWI4880ovoK6+80ovk8F4+69u3r0NMH3300Y4ot1dccUWmUdZdd11vCWcv4sCBAzOfr7766u7FF190c845p//sjz/+cMcff7wbPHiwa9++vX/OBx984KPS3nHHHW7WWWf1173yyituvfXW839zTb7JoSaG9Xs3dJcIVCuBQmNCITHdq1cvH1Pi9NNP94gI8njttdf64F/sr2asNMs237O3mkXMBx980J1yyilZWMePH+9WXXXVzGfHHXecu/zyy31+pPPPP999//33Xlyz0MkYedVVV7k777zTj7edO3d2LCxayiWmL7vsMh9cjfTbb7+5WWaZJWfzFuJTrf1C9RIBEUgmoDFBPUMERCAngVoT05tuuqmfgGGdsBQGJIuLaQLaYInGioJlgwkk1hesKUwascKQmCiec845/kgWElZvhDNWGETxV1995T8nYM7hhx/uJ4QdOnTwoh6RvM8++/jvuYe8sMzMM8887ttvv3UIbq5jfyLPIOF6SblIiO1llllGE0O95yIgAqkIFJoYhmK6T58+br755vP5YmVmqwzByc4666yMmH7nnXfc9ddf70UuiW00l156qVtkkUXcnnvu6Z544gn/OS7hjGF46+y///7u4Ycf9qKbkxRILAxusMEG3rPH9mLfd999jnGZsfOCCy7wY+e4ceO8lxHfpRXTDz30kNtxxx29cH/jjTfyHntYiE8qyLpIBESgaghoTKiaplRFRKD8BGpRTEPRJmj8HQYki4tpxDBCFcsxrtczzTST4yzWGWec0TcGEzsLgIM1BasKVmSObLGEJea8887zghnhbAnrDhNCE8kTJkzwE70zzzzT7/mzhKX6rrvu8tYdIo5b+umnn7yb91xzzZW3Y+hHoPzvjXIUgeZMoNCYEIppBLCdbMB4xziFoA7FNCzGjBnj8MBhPJo2bVpmXGRL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8cUXE/Ncdtll3XrrrecOOeQQt+mmm6Z+7ldffeVOOukkN2zYMMffYVp88cV9Xg8++KB74IEHHOUoNSGg+/Tpk6nHd9995+aZZ55Ss028v1JtW5HCKlMRqEECacU0QnrUqFczhNq2XSu1oJaYrsGOpSo3TwK1IqYnTJjg9t57b/fqq6+6VVdd1d1www3RsTJru9lnn919+OGHrm/fvu6cc87xjXjssce6yy67zP990UUX+QnbTTfd5Lp3757VyIjz33//PWMFqWQP0OSqknSVtwg0PwKVGhP22Wcfd9ddd3nhuM0227gllljCW5ctvfHGG65Dhw7+n23btnXPP/+8P2Xg33//jY7u2zCaOI7y33388cf+XkssSN58883+n0888YT/7p133nEDBw70/8XH3nwt8sgjj7g999zTL4TuvvvuXrCvssoq/hby7N27t3v44Yf9v4cMGeJ23HHHkhuYsX7kyJGZuv/888/+96MSqVJtW4myKk8RqEUCacR0KKRbtlwwWvSb+v/jZjpBLTFdiz1LdW6WBGpBTH/xxRdupZVW8hMvJof33HNPogDm8z322MMdeuih7vrrr8+0559//ulmnnnmOu2LtWWTTTbx7n6VTppcVZqw8heB5kWgUmNCu3bt3AEHHOAOPPDAOkDYHrPuuuu6t99+23+Ha7VtieHfhx9+uB878fT54Ycfsu6//fbbfb6kTz/91C222GL+b0T4ySef7C688EL/b6zJO+yQ+8ivxx9/3G211Vb+2jPOOMP/hzt5mHBT79Gjh7vmmmvcgAED/LhejkT955hjDp/Vb7/95maZZZZyZFsnj0q1bUUKq0xFoAYJFBLToZBeZpkl3AYbrO3Cz9JYqCWma7BjqcrNk0AtiOm99trL9e/f3zfQRx995JZcMveelY4dO7pFF13U3XnnnXkbFEtK165do7NeB0lMN8+ur1KLQLMmUCnBhcUYsWz7jkNILCBeffXV/qN+/fq5fffdN4shXj1XXHFFophmrNxtt9389biFM85aIn7Fyiuv7P955JFHZp4RbyDELAujiHE8jN58880sq3l4PbEvqMvll1+euDBQn8b/9ddfM9ZoPJOSFlnrk2/8nkq1bTnKpjxEQARcZGXOfc70p59+7kaMGO0xmZA2ZqGgbt9+Pbf44v8bB+NcJabV00SgmRCodjH90ksvuY022qjg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aaui+xW54IILfL5KENTTp081FclhELmtWrV2K1yGvtCdOnWQsWPfl4cfbnnKM9HvGrnfKFwGgzd71Kh35Y03hpr5W880vgOH114bZNqE2T7S6DGNQ4K77rrb+ez69esaNixA5nMLeQEJkAAJkAAJkAAJkAAJkEBBIlDYxPTZ2pvU1FT5559/pGzZsqcU4fI2Rnx8vOlHXbp06VynkJycLHFxcVp4rJxbiyp/541xYDExMf7ecsp1qO4NAVy2bDkJ8XxBvDwVOeBFihQ1hdjO1FjN+0wJ8n4SIAESIAESIAESIAESIIGAEAgmMT19+jwNOW7glwAMCFwOkicCWVlZmnO+Wtt23ZOn+3gxCZAACZAACZAACZAACZAACQScQDCJ6alT52jBq5oaFl0q4Bw54JkTOHz4qGzcuEXD0x153zQSIAESIAESIAESIAESIAESOG8JBJOYXrduo6SnZ8jll1c6b3lzYjkT2LFjpym0du21tYiJBEiABEiABEiABEiABEiABM5vAsEkpkF64sTPpW7dq7VFVLnzGzxn50Zg374DsmHDFnnyyYdIhgRIgARIgARIgARIgARIgATOfwLBJqatoL7qqipahKukCfn2p4jW+b9TwTdD5EgfORInx47Fa6/uP1VIPxx8i+SKSIAESIAESIAESIAESIAEgpNAMIpp7NS6dRtkx45dEhYWJvv3/xOcm1fAV1W+fFnJzMzSvtoVpX792gV8NZw+CZAACZAACZAACZAACZBAoSIQrGK6UG0iF0sCJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACYyB1lgAAAhVJREFUJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAhTTgeXN0UiABEiABEiABEiABEiABEiABIKAAMV0EGwil0ACJEACJEACJEACJEACJEACJBBYAudETAd2iRyNBEiABEiABEiABEiABEiABEiABPKXQFaWX88PyVLz60pc5KnY/b6RF5IACZAACZAACZAACZAACZAACZBAASDgp0SmmC4Ae8kpkgAJkAAJkAAJkAAJkAAJkAAJBIgAxXSAQHMYEiABEiABEiABEiABEiABEiCB4CGQL2I6ePBwJSRAAiRAAiRAAiRAAiRAAiRAAiRw2gTyFuZ92sPwRhIgARIgARIgARIgARIgARIgARIIHgL/DxnLnTjv17E3AAAAAElFTkSuQmCC\n", "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": "2024-01-18T17:27:59.316851Z", "iopub.status.busy": "2024-01-18T17:27:59.316720Z", "iopub.status.idle": "2024-01-18T17:27:59.511378Z", "shell.execute_reply": "2024-01-18T17:27:59.511101Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer = GUICoverageFuzzer(gui_driver)" ] }, { "cell_type": "code", "execution_count": 162, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:27:59.513184Z", "iopub.status.busy": "2024-01-18T17:27:59.513087Z", "iopub.status.idle": "2024-01-18T17:27:59.514934Z", "shell.execute_reply": "2024-01-18T17:27:59.514575Z" }, "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": "2024-01-18T17:27:59.516700Z", "iopub.status.busy": "2024-01-18T17:27:59.516571Z", "iopub.status.idle": "2024-01-18T17:28:01.019007Z", "shell.execute_reply": "2024-01-18T17:28:01.018679Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_fuzzer.explore_all(gui_runner)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "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": "2024-01-18T17:28:01.021157Z", "iopub.status.busy": "2024-01-18T17:28:01.021021Z", "iopub.status.idle": "2024-01-18T17:28:01.417186Z", "shell.execute_reply": "2024-01-18T17:28:01.416775Z" }, "slideshow": { "slide_type": "subslide" } }, "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", "check('terms', <boolean>)\n", "fill('email', '<email>')\n", "fill('name', '<text>')\n", "fill('zip', '<number>')\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": [ "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": "2024-01-18T17:28:01.419369Z", "iopub.status.busy": "2024-01-18T17:28:01.419196Z", "iopub.status.idle": "2024-01-18T17:28:01.440413Z", "shell.execute_reply": "2024-01-18T17:28:01.440046Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "click('terms and conditions')\n", "click('order form')\n", "check('terms', False)\n", "fill('email', 'g@r')\n", "fill('name', 'j')\n", "fill('zip', '7')\n", "fill('city', 'feb')\n", "submit('submit')\n", "click('order form')\n", "check('terms', False)\n", "fill('email', 'H@h')\n", "fill('name', 'Z')\n", "fill('zip', '1')\n", "fill('city', 'I')\n", "submit('submit')\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": "2024-01-18T17:28:01.442362Z", "iopub.status.busy": "2024-01-18T17:28:01.442234Z", "iopub.status.idle": "2024-01-18T17:28:01.622569Z", "shell.execute_reply": "2024-01-18T17:28:01.622180Z" }, "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": "2024-01-18T17:28:01.624339Z", "iopub.status.busy": "2024-01-18T17:28:01.624222Z", "iopub.status.idle": "2024-01-18T17:28:01.635856Z", "shell.execute_reply": "2024-01-18T17:28:01.635421Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9MAAAEtCAYAAAALCjMFAAAgAElEQVR4XuydA5gkSde2Y23PrG3btq1Z25q1bdu2bdvGrG2+a/OfO+Y/9Z2OjqzK6q7uqal+4rre693pysqMvCMyK56jGOy//i2oiYAIiIAIiIAIiIAIiIAIiIAIiIAIlCYwmMR0aVY6UAREQAREQAREQAREQAREQAREQAQiAYlpTQQREAEREAEREAEREAEREAEREAERqJOAxHSdwHS4CIiACIiACIiACIiACIiACIiACEhMaw6IgAiIgAiIgAiIgAiIgAiIgAiIQJ0EJKbrBKbDRUAEREAEREAEREAEREAEREAEREBiWnNABERABERABERABERABERABERABOokIDFdJzAdLgIiIAIiIAIiIAIiIAIiIAIiIAIS05oDIiACIiACIiACIiACIiACIiACIlAnAYnpOoHpcBEQAREQAREQAREQAREQAREQARGQmNYcEAEREAEREAEREAEREAEREAEREIE6CdQnpgcbrM7T63AREAEREAEREAEREAEREAEREAERGIQI/Pdfqc5KTJfCpINEQAREQAREQAREQAREQAREQAR6BAGJ6R4xzLpJERABERABERABERABERABERCBRhKQmG4kTZ1LBERABERABERABERABERABESgRxDoFjFd8iI9ArhuUgREQAREQAREQAREQAREQAREYNAjkNYGK6lzO5czXfIigx5N9VgEREAEREAEREAEREAEREAERKBHEJCY7hHDrJsUAREQAREQAREQAREQAREQARFoJAGJ6UbS1LlEQAREQAREQAREQAREQAREQAR6BAGJ6R4xzLpJERABERABERABERABERABERCBRhKQmG4kTZ1LBERABERABERABERABERABESgRxCQmO4Rw6ybFAEREAEREAEREAEREAEREAERaCQBielG0tS5REAEREAEREAEREAEREAEREAEegQBiekeMcy6SREQAREQAREQAREQAREQAREQgUYSkJhuJE2dSwREQAREQAREQAREQAREQAREoEcQkJjuEcOsmxQBERABERABERABERABERABEWgkAYnpRtLUuURABERABERABERABERABERABHoEAYnpHjHMukkREAEREAEREAEREAEREAEREIFGEpCYbiRNnUsEREAEREAEREAEREAEREAERKBHEJCY7hHDrJsUAREQAREQAREQAREQAREQARFoJAGJ6UbS1LlEQAREQAREQAREQAREQAREQAR6BAGJ6R4xzLpJERABERABERABERABERABERCBRhKQmG4kTZ1LBERABERABERABERABERABESgRxCQmO4Rw6ybFAEREAEREAEREAEREAEREAERaCQBielG0tS5REAEREAEREAEREAEREAEREAEegQBiekeMcy6SREQAREQAREQAREQAREQAREQgUYSkJhuJE2dSwREQAREQAREQAREQAREQAREoEcQkJjuEcOsmxQBERABERABERABERABERABEWgkAYnpRtLUuURABERABERABERABERABERABHoEgVYT03///XdDx22w/oCGGGKI8O+//8b/5dqQQw7Z0Gt258mK7svuuzv70lOu9d1334XnnnsuvPnmm2GMMcYIU045ZZh11ll7yu33iPus9r6oF8Dggw8e+F+rtL/++ivccsst4dtvvw1rrLFGGGWUUZr21op+T/hN4B05qLV//vkn/Pfff+26PTDmGH154YUXwrvvvhu++eab8Mcff4Rhhhkm9OrVK74TZ5pppoE67+FEH4tas80B5uq9994b3nnnnbDqqquGcccdd1CbnuqvCIiACAyaBFpNTM8555zhmWeeadhgLLPMMuH222+PP+wvv/xy9ry5xUnDOtDFJyq6r0UXXTTcd999XXz1nnV6xPOaa66ZnUeI6QsuuCDMOOOMPQtKi95ttfdFvbd88sknh+23377erzXl8T/88EMUSl999VWlf88++2yYbbbZmq6/N998c1hppZWy/Tr11FPDtttu23R9rtahzz//vFBgHXbYYWHvvffulvt57733wlFHHRWuuOKK8NNPPxVec6SRRgobb7xx2G233cL444/fLX3zF2FezjHHHIXXvfrqq6MxqBnaRx99FPvqn6uDDz447Lfffs3QPfVBBERABFqbQKuJaRZlzz//fJtBm3vuuaPnD5GdE9r8IGINf+qpp9p9d6mllgp33nlnuO2228IRRxwRHnvssXYTYlAW0zfddFPYfffdw1tvvdXmviSmG/vcf/jhhwFDjy12WBzC/tZbbw0HHHBAvBiLR7wKY445ZmMvrrN1O4Enn3wy9OvXL74zEA+5xjM2//zzR4/cF198ET777LPA91KB0Upi+owzzgjbbLNNGxybbLJJOO+887p9jGpd8Ouvv4792muvvdodeswxx4Rdd9211ima6nPm2TnnnJM1zHSHmMZzuu+++0Yh7Ruib/XVV4+/wU8//XR8J5555pntjkHs4w3urvbrr79Gzznrgl122aXdZZtJTO+xxx7h6KOPbtdHoj9GG2207kKm64iACIhAzyTQymIaDwgiePLJJ4+De/HFF4cNN9yw3UATcrj88svHv7MAxhv9ySefxH+bmOa/H3jggcACOG2DspjmXs4666yw1VZbtbktienGvg9STyXeFhY/aSTFlVdeGfr06dPYi+tsA43Aa6+9Fqabbrrs9fHSjjzyyG0++/nnn8Mll1wSWBybqG4lMY0APe6449rcM9EYL7300kAbo1oXXnLJJcM999zT5jCeXZ7hQbHxfkEI+tbVYvr7778Pa621VrjrrrvaXBfD9yyzzNIOI3x5BnxbYYUVwuWXXx5GHHHEbseO0Ss1pDfTu5r1C2udtDVr1Ee3D6AuKAIiIAJdSaDVxLSJlmmnnTbcf//9YayxxqrgKyOmORjv4HzzzRe9iEsssUS4++674zk+/fTTbLjZoC6m4bTYYou1mWYS04176l555ZV24dtHHnlkXCwiprwn8oYbbggrr7xy4y6uMw1UArwbcvnOGPoI+y9q/plsJTH9+OOPx3erb80eMr3zzjuHE044oU2fB2UxfdBBB4UDDzyw28Q0HmmM0sxp3y666KKwwQYbFD4DO+20UzjxxBPbfE7Y/XXXXdetHmo6QA4y72bfmklM49mHS9qKjBUD9aWoi4uACIhAqxFoVTFNuORcc83VZrjKimm+xA/l2muvLTHdahN+INzPhRdeGHP/fLPFuPfAYABi8UMRHrXWIZAaTLizWmKaY3bYYYdwyimnhFYS09zXSSedFO+JMGryjgnfJcWhWRshvscff3yb7g2KYd52A90tpvfcc892od2kubz//vuhWvHOohxv0mJSY0BXz52cmG6mMG9StZiTacNQOzA8+V09Hjq/CIiACDQVgVYU0/xIkyuU/lDXI6b5PpWWvYdWnummmrqDTGdyIYves0VKwf/+979Y5E6t9QiUFdMYAAkLJ4eYxr/nmWeelhPT3BvVzqmUPNRQQzX9gEtMd3yIiPKaYoop2p2gbFj50ksv3S40nJNRg2LCCSfseMfq/Gazi+lrr722XTG0Zk+fqHMIdLgIiIAINC+BVhPT5CfOPPPM4bLLLmsHvR4xzZcXWWSRMMIII8SCKLQyYvrPP/+MW32MM844YdRRRy098GwXgyWenEkKUCHkG7H1CkKNMDs8AUVegFYI86a4DkXUYD7BBBOU5t4dB+6zzz7h8MMPb3OpesJEG31vv/32W2UxOvzww3cHgprXIH+YQl0TTTRRGH300Wse310H8OxQKRfPae/evTt02bJimkgY5jDbptEQm2xvc8ghh4QtttiiQ9du1S8hxt9+++24rRapPGXflXzvyy+/jMZWxpOiV7W2Haslpu15mnTSScPQQw9dN3IKz7E1FLU9OvI8Mk8wIDNXOUetrRq70zO96aabhvPPP78dE35z+H2t1S699NKw/vrrtzts6623Dqeffnqtr1c+r+c55n0Lz8kmm6xi7OmomOa6rAdYR7Am6GgBNdJFWB/Qt0kmmaTdfWOMZS77RhoR6URqIiACIiACXUyg1cQ0C6XhhhuuXWEfMNYrpimagueEH0JaNTHN/o6ELlLMzBphu4Q0Lr744tlRREAg+k877bTokUob+dosRsih9aG/FBphQZRrFPeZeuqpY44f1aL9eTkXoi6tFl1LTLNoIVQ51/gBZ+uwMo1Q51dffbXwUBYJV111Vbj++uuzi4AnnniizWIEwwWVYW+88cY2VdgRPgsuuGAsELTQQgu1uV41dueee27MbSaHk7mSa4TerrfeemVuNxasu+OOO8KDDz7Yroo8Yb627Q7V5NMtWDpybw899FBhUaT9998/UEiJaro+HJBFKXmJtUQAe2PT399//73w3tn2iwJTGA/Sgk3cH/PcN55Vtm5hCzZf8RrDDwttRCTi2jcq/5pxy/+d/sMZIUEe5htvvJHtJ9uPYXDj2YZHrlHMB17MecbbctqXW265uICv1yNWRkyz6MaIgBfPxDR9Q2RhIKJwU9Ez35F5S+htmsNaa1LTByoDMza//PJLrcMrn3NPPFNF88d484Wi8eUz3rGIHCo9846wyvg878wjxiqXIoHYvOaaa+K8T3d64LwUtpp33nnbiGrmCONNy4lpjGFjjz12fH/7olrkg5Njjfiq1ugH98o7zW9nxPuHApjMv1rCmlQkikcy732jDzwDm2++edbIUEtM8ztBnYdcW3bZZUuHWPMOK0pZQfyVMZohRK2AqO8PY847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o3fv3jG9hLoNpCqwxREebDUREAEREAEREAERKE1AYro0Kh0oAiIgAiIgAiIgAiIgAiIgAiIgAgMISExrJoiACIiACIiACIiACIiACIiACIhAnQQkpusEpsNFQAREQAREQAREQAREQAREQAREQGJac0AEREAEREAEREAEREAEREAEREAE6iQgMV0nMB0uAiIgAiIgAiIgAiIgAiIgAiIgAhLTmgMiIAIiIAIiIAIiIAIiIAIiIAIiUCcBiek6gelwERABERABERABERABERABERABEZCY1hwQAREQAREQAREQAREQAREQAREQgToJSEzXCUyHi4AIiIAIiIAIiIAIiIAIiIAIiIDEtOaACIiACIiACIiACIiACIiACIiACNRJQGK6TmA6XAREQAREQAREQAREQAREQAREQAQkpjUHREAEREAEREAEREAEREAEREAERKBOAhLTdQLT4SIgAiIgAiIgAiIgAiIgAiIgAiIgMa05IAIiIAIiIAIiIAIiIAIiIAIiIAJ1EpCYrhOYDhcBERABERABERABERABERABERABiWnNAREQAREQAREQAREQAREQAREQARGok4DEdJ3AdLgIiIAIiIAIiIAIiIAIiIAIiIAISExrDoiACIiACIiACIiACIiACIiACIhAnQQkpusEpsNFQAREQAREQAREQAREQAREQAREQGJac0AEREAEREAEREAEREAEREAEREAE6iQgMV0nMB0uAiIgAiIgAiIgAiIgAiIgAiIgAhLTmgMiIAIiIAIiIAIiIAIiIAIiIAIiUCcBiek6gelwERABERABERABERABERABERABEZCY1hwQAREQAREQAREQAREQAREQAREQgToJSEzXCUyHi4AIiIAIiIAIiIAIiIAIiIAIiIDEtOaACIiACIiACIiACIiACIiACIiACNRJoJXE9D///BP4X9qGGmqo+Pd///233WeDDz54GHLIIePf+fzvv/9ucwzfHSyFVCfjzhz+2WefhTvvvDOssMIKoXfv3pVT/fLLL+HBBx8Mv/76a1hjjTUqf6f/zz77bHjyySfDjjvu2JlLD5TvvvPOO+GFF15oc09lOvLpp5+GF198MfTr1y+88cYbYdxxxw0zzDBDmHbaacOMM85Y5hRdesxPP/0U7rvvvrquMcEEE4TZZputru90xcE8O1dccUV46qmnwiabbBJmmWWWrrhMm3M+88wzgTHNNZ7ZEUYYIUw99dRhvPHG6/K+2AXef//98NJLL1Wux7thueWWq/v6X331VXj88cfr/t7MM88cJp544qrf431x3XXXxefg+++/j4ymmWaaMP/884fzzz8//v+iiy4aUr6jjjpqWHjhhauee2DMg7oh1fGFot+LolPwO8HcK2q8i2HPM8t7p1Htzz//LHwO7LerM9d67733wiSTTDJQf+c60399VwREQAREQAQGKoFWEtMXXnhh2HjjjdvwZOHI32+66aZw1FFHhU8++aTy+ayzzhp23XXXsPbaa8e/vfnmm2GjjTaKQpQ25phjhquvvjostNBCA22M+vTpE/uwxRZbhLPOOit8/vnnYfPNNw+33XZb7NNaa60VhQ5t0003Dddcc01AuI000kjhxx9/HGj9rvfCxx57bDjnnHPCW2+9FRiX5557rtQp/vjjj3DYYYeFQw45JB6/wAILRCGO8Dn33HMjCwTPGWecERCnA6t9+OGH4cgjjwxnnnlmuy4gYhgvxOPzzz9f+Zzx5B4GdsOYs8wyy1SeiY8//jgMPfTQXdot7vu8886rPIt2sTnmmCMKSua5PaOM/2abbdal/eHk9957b1h33XUDYpjW0WeM8yyxxBKV/nKeccYZJ859a5NOOmn822OPPVb52wUXXBDfT0WN86666qrx42222SYK51deeSXsvffela/AlXl16qmnhu23377yd7g+/fTTVRk2ch7wfE833XRh2GGH7fJxK7rAPvvsEw4//PDS1zd2RV/g/bzVVluF8ccfP/CMNKIh+PkNeOSRRyrzjvMyP/h7Pf1P+4PRkffm5ZdfHo2yww03XCO6rHOIgAiIgAiIQM8i0EpimpHDq4kYswXHu+++WxnQL774IrBoNEH9ww8/hJFHHrnNgLN4wZPJYui1116LC6OB2Y4++uiwxx57hLPPPjuKaBoieeutt46LIC+mf/7553DRRReF7bbbrsML/YF1ryzmTjrppLjwn3vuucMTTzxRsysI5pVXXjm8/PLL8Vg8b96YgjD1nl0MKiuuuGLN83blAfvvv39F+HMdxBEiyRpCbd99942GhWYR0yYSrI9ff/116NWrV1diiueGxVhjjdXmOt98800YY4wxorD1gpRnBGNFV7cjjjiiIk47K6Yx1nEfRFBcf/31YbXVVqt0/8QTTwx9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IAKDDAGJ6UFmqNRRERABERABERABERABERABERCBZiHQk8T0U089FbePaYX2/fffx1BZ9nJmn2H2Fh4UK7iyxRT7rc4222xxi6me0tifl/FbbbXV2mwzxrZB7NVseyh3NY+ifvzyyy9xb1vGhz1wrbFFGvnNVOZO99rO9ZV9y6nQvfbaaysPugsHk22jco3cc8s/L3NMURepuE5YPnOW7djYYowtqGptO8dWYy+99FJYZZVVuvDudWoREAEREAEREAERGEgEeoqYRjTMOuuscX9ThMqg2tg3l6rHRx55ZNhggw3CBx98EAs3sd3QM888E6aaaqpB6tbOOuussNVWW8X9Zj/++ONBqu8d7SxjyD7R5A8zdgjNRx55JOyyyy5xDGlw2WKLLTp6iVLfy/Xj888/D5tvvnm47bbb4jnWWmutcMUVV8T/Zg/ba665Jvab+cb+6EUNAX3YYYeFxx57LB7CXuaN2pu81M31oIPY6xyxesstt7S5a953Rx11VFh88cXj31dfffWYr874WSNPnQrryy23XJYY8/LAAw+M85Lv8ZyypzrvUdpee+0VdttttzDaaKO1+f6ll14aDjnkkHgc10BQq4mACIiACIiACIhAyxHoKWIaYXLOOeeEHXbYIZx00kmD7DhyD9wLi1MWqbTdd989HHPMMeH4448PO+20U9PeG950RJiv1Iz3kwrP66+/frj44oubtu+N7tiyyy4bHn300ej9RfTg8f36669jhWsESHeIae4p7Qd/QyRvvfXWUeh7Mf3zzz+Hiy66KGy33XY1xfQPP/xQ8UhzzlYX03jgxxhjjFLTBA8xPHgWGtkef/zxMN9888VTFj1PZlTkGAT49ddfn+0CERJ77rlnuPDCC8Pcc88dBTfz1PYGZ75yvYMOOigKbfYFn3/++SvnYq6ccsopYe+995aYbuQg61wiIAIiIAIiIALNRaAniOlvvvkm9O7duwL+22+/bedJaa5RyfeG7U/GHHPMMN1004UnnniichAhmK+++mr0uFMduRkbfWehj8dz7LHHbtPFv/76Kww11FDN2O0u7VPuvtdcc83o/e0uMc0N5vpx+umnh2233baNmObYl19+OaYU1PJMcywCs1evXpFhK4tp0hQeeuihuD92mYZBb6GFFooh/o1s3333XRh99NHjKTGu7brrru1O/9tvv0XPMg2P8wEH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AREQAREQAREQgYFNoJXEdHexxCOHQJ5oookKL4l3hwUn4oawZsLNbV/n7upnd12HsGJCvL3oQ2Sknn4qXcPNb1lUq4+DGkf6i4fUVztHZOMptfDaWvfc0c8Jj02NBez7S4VstigbmA3PMIYixr5WtW4iFEiFID/aBHitvuP5xIPNXIQDBoWie+7I+atdn/El0oP+DjPMMLW6GqNN6CMCMhWhzTrfeZ4ZEzz0zDHGsSveZ1wHwxCiXU0EREAEREAEREAEmp6AxHTTD5E6KAIiIAIiIAIiIAIiIAIiIAIi0GwEJKabbUTUHxEQAREQAREQAREQAREQAREQgaYnIDHd9EOkDoqACIiACIiACIiACIiACIiACDQbAYnpZhsR9UcEREAEREAEREAEREAEREAERKDpCUhMN/0QqYMiIAIiIAIiIAIiIAIiIAIiIALNRkBiutlGRP3VFUgPAAAgAElEQVQRAREQAREQAREQAREQAREQARFoegIS000/ROqgCIiACIiACIiACIiACIiACIhAsxGQmG62EVF/REAEREAEREAEREAEREAEREAEmp6AxHTTD5E6KAIiIAIiIAIiIAIiIAIiIAIi0GwEJKabbUTUHxEQAREQAREQAREQAREQAREQgaYnIDHd9EOkDoqACIiACIiACIiACIiACIiACDQbAYnpZhsR9UcEREAEREAEREAEREAEREAERKDpCUhMN/0QqYMiIAIiIAIiIAIiIAIiIAIiIALNRkBiutlGRP0RAREQAREQAREQAREQAREQARFoegIS000/ROqgCIiACIiACIiACIiACIiACIhAsxGQmG62EVF/REAEREAEREAEREAEREAEREAEmp6AxHTTD5E6KAIiIAIiIAIiIAIiIAIiIAIi0GwEJKabbUTUHxEQAREQAREQAREQAREQAREQgaYnIDHd9EOkDoqACIiACIiACIiACIiACIiACDQbAYnpZhsR9UcEREAEREAEREAEREAEREAERKDpCUhMN/0QqYMiIAIiIAIiIAIiIAIiIAIiIALNRkBiutlGRP0RAREQAREQAREQAREQAREQARFoegIS000/ROqgCIiACIiACIiACIiACIiACIhAsxGQmG62EVF/REAEREAEREAEREAEREAEREAEmp6AxHTTD5E6KAIiIAIiIAIiIAIiIAIiIAIi0GwEJKabbUTUHxEQAREQAREQAREQAREQAREQgaYnIDHd9EOkDoqACIiACIiACIiACIiACIiACDQbAYnpZhsR9UcEREAEREAEREAEREAEREAERKDpCbSSmP7nn38C/0vbUEMNFf/+77//tvts8MEHD0MOOWT8O5///fffbY7hu4OlkJp+VNXBriLw008/hTfffDN8//33YbzxxgtTTjllGGKIIQov999//4W//vor+3k6t/788892xw099NBddSs9+rx//v536PfoR2HcyUYPY08yarey+OL970O/xz8Kw404dJhytnFD7/FH7tbrl73Y77//Hl555ZUwxxxzlP2KjhMBERABERABERCBnkWglcT0hRdeGDbeeOM2A7jooosG/n7TTTeFo446KnzyySeVz2edddaw6667hrXXXjv+DZG00UYbhSeffDL+e8wxxwxXX311WGihhXrWpNDdZglcfPHFYbfddgvzzDNP+PLLL+M8YQ7x9+mmmy77nZdffjlst9124ZFHHmnz+RJLLBFOO+20MMUUU8S///rrr1G0vPbaa5Xjpp122nDJJZfEa6g1hgBC9qKDHgjP3fNuPOFel6wWZll0ksacvMRZzt797vDJ2/8Lk800drjtnOfiN467f6MwwVS9Sny7ew9Zeumlw1133RUuuOCC+F5UEwEREAEREAEREAERSAi0kpjm1l544YWK+Jh00knDu+8OWDTTvvjiiyhYTFD/8MMPYeSR23qF8GDPOOOM4eOPP47CZvzxx++SOYMX8o8//ggjjTRSl5xfJ20sAYQzIpp5YXNi6623DmeeeWZgnuHBG3744QsveuSRR4a99torfn7++ee3M/rYF6+99tqwxhprhG222SaKbbXGEvj33//Ct5//FPZc5tLw4/9+DfteuUaYcYGJGnuRgrM9ccub4YStbgknPrxJ9IhffPCD4dazng0HXb9WmGaurnnPdObGLCIHY9App5zSmVPpuyIgAiIgAiIgAiLQmgRaTUwzSnibjzvuuDhgH374YZhwwgkrg3fGGWdEoUK7//77wyKLLNJmYAnLHXvsscPuu+8edtllly4b9B122CF6vFdbbbUuu4ZO3DgCNqeee+65irHm6aefDnPNNVe8yGOPPRbmnXfewgvedtttYfnll4+fI8zte+kX8FCPMMIIMZJixRVXbNwN6ExtCOy38uXhzWc+C/tfvWaYfr7/ez90JabjNr8pPHX72+HSd3cMQw87ILXkj9/+CsMMN1RXXrbD58bQSFrDTjvtFI4//vgOn0dfFAEREAEREAEREIGWJdCKYppw7amnnjqO2WGHHRb23nvvyvh99913YfTRR4//Xn/99WOIrm/mgfzoo4/CBBNM0CXjfuWVV8bQcryQEtNdgrjhJz300EPDfvvtF3beeeeKoYb8evKeaTfeeGNYaaWVCq979913h6WWWip+7gV57gt4BB988EGlFzR8FP/vhCamD7y2T5h2nq55ztPu913gvPD5e9+Fy97bKQw1THGefRfedl2nnnPOOcMzzzwTTjjhhLDjjjvW9V0dLAIiIAIiIAIiIAI9gkArimkGbsEFF4x5qoTk4p2m0Ji12WabLTz//PPxn99++20YbbTRKp9tv/32oV+/fuGBBx6o/I1Q8TvvvLMS4jvffPOFWWaZpc38IGQbTzfnwutI2C//nmqqqcJiiy0WrJCUhfHyZUT+AgssECaZZJJ4XLVG7i1ey7nnnju888470bs50UQTxe9b+/rrrwOibdRRR41/T0PYOe7zzz8PL774YnjvvffCxBNPHGaeeeZYSCtthMTffPPNYYsttoi55HfccUdYbrnlKjm+CMmXXnop3icF3PDKEu5cpnEfnO/111+PucYYNwihhtF1110XfCEu/o4B5I033mhzaoQp33v88cfj+NJgA0saIfzXX399eP/998Nwww0XGHPylHPF5J566qk4H3777bd43EwzzRQZ+sY8IXcUwTz55JPHjz777LMKu08//TSMO+64hbdfr5h++OGH24wtJ4YBHutRRhklpiKMOOKI8f99Y9yeffbZQH8mm2yyKMhN8JcZG8aaufbNN99EgxT52lzPGuMGJxpzlvHjWjC0xpzyc4E5wpxdeeWVA/fF87XOOuu0ee5yffvt5z/D+/2+Cp+8+U0YcdRhw4TT9A7jTzlGu0O//+qX8Ozd74TF15spfPbut+GF+98Psy42aRhn0gHPdf9gk/Dui5+Ht1/4PPzz97/9PdEThfP2uSd6pnNimnNw3T9/+7v/NXvF/GbfCBXv99hHYfiRhgkTTt0rPHvXO/0LF/4b5ltp6jDEkP/3nrHvUOiMgmdHbnh9/NNu568chhp6iDDaWCOGiabtXTl12fvFm42He6aFJg6DDT5YeLJ/+Ph4U4wRppt3gFHg2y9+Du+9/GWYfcnJYij7W8991v++/wuzLT5pGLL/dWmc49XHPg6//fJnmGbO8cPo44zYjuu6664bLr/8chn9yjw4OkYEREAEREAERKBnEmhVMU3hpg022CAOqg/nRlz5hT45r1tuuWU8DpEw1lhjhZNPPrlScAdxt/rqq8ciUojok046KQrZK664Iqy11lqxAjjFefBMEhKJQEZkEtZrbfPNNw9nn312+Pnnn6OIwOvIsQiVccYZJ6y33nrxXLnG9cixReAQGo5R4MQTT6wcSg747bffHjAC4PG2hsgi9BjBRaOf3Bchm8sss0wUStdcc03MHz/ooIPCnnvuGcUsou/UU08Nt9xyS8znJm/XOCJWn3jiiVh8i7xeqv0iXhFY3A8F3giPr9Y4tk+fPmGPPfYI008/fTjmmGNiP7/66qvQu3fvcM4550QBT9twww3j5whj+FMMiXb66adHZvQPQU74NAIcQYegRbjBFjZw4T4RBWnuJ0y23XbbcNlll0UGnIvr06jSjYg8/PDDw+KLL569JSt4x5hyjmqts2J6zTXXDB988EHkhnGH/0/Db+kPc4TCUeR2M0+ZBzfccENNQwfjh/eRuUbExrDDDluZT+edd14cbxr3weeMF2kQxx57bKxFwNyjPzQYbrbZZnHuXHTRRdG7yfcx7nAu2r777hsOOeSQQmQvP/JhOHnb28KoY44QZl5k4ij83n3pizD38lOGTQ9bPIzSa/jw0kMfhDsveCEWExt2hKHCZocvEU7te3s85xSzjhMOu2XdKGLP2fOe/uLzrbBq33nC33/8He688MUoMmkHXrdWmHbuAfnKf//5T8xjfvrOt8O0c00Q3nr+s/DVRz/Ea2530rLxXLee/Wx48Op+/fOufw5r77lAeOymN8JHr38dv7/P5atHgZs2rv/Td7+FJ299K37E+YYccoj+Anj0sNqO88S/lblfCpfddvZz/a/5evj9l7/CdicvG87d657437SdzlwxPHRNv/D8fe+FSaYfMyy98azhjF3urHRn5DGGDwdcs2Z4pr/4v/KoR9t08/gHNm5nqDjggAPCwQcfHJ8rvNRqIiACIiACIiACIiACCYFWFdOIA/PM+nBuwnXxMNLwziK6CLul4ckk7Nq81T/++GP0bHOuX375JRaYMm+k/96rr74aBad5uxEJiD2Ehwl1HzZu4ZN4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IECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAsK0Z4AAAQIECBAgQIAAAQIECFQKCNOVYC4nQIAAAQIECBAgQIAAAQLCtGeAAAECBAgQIECAAAECBAhUCgjTlWAuJ0CAAAECBAgQIECAAAECwrRngAABAgQIECBAgAABAgQIVAoI05VgLidAgAABAgQIECBAgAABAv+XMI2dAAECBAgQIECAAAECBAj0JHDu3EqtuejcrKx0ZS5aTOwrf9CFBAgQIECAAAECBAgQIEDgAhBYMSIL0xdAX7pFAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQj8D8J0/3waAkBAgQIECBAgAABAgQIENi2QN00721X44MECBAgQIAAAQIECBAgQKAfAWG6n77UEgIECBAgQIAAAQIECBBoJCBMN4JWDQECBAgQIECAAAECBAj0IyBM99OXWkKAAAECBAgQIECAAAECjQSE6UbQqiFAgAABAgQIECBAgACBfgSE6X76UksIECBAgAABAgQIECBAoJGAMN0IWjUECBAgQIAAAQIECBAg0I+AMN1PX2oJAQIECBAgQIAAAQIECDQSEKYbQauGAAECBAgQIECAAAECBPoREKb76UstIUCAAAECBAgQIECAAIFGAsJ0I2jVECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB8BYbqfvtQSAgQIECBAgAABAgQIEGgkIEw3glYNAQIECBAgQIAAAQIECPQjIEz305daQoAAAQIECBAgQIAAAQKNBITpRtCqIUCAAAECBAgQIECAAIF+BITpfvpSSwgQIECAAAECBAgQIECgkYAw3QhaNQQIECBAgAABAgQIECDQj4Aw3U9fagkBAgQIECBAgAABAgQINBIQphtBq4YAAQIECBAgQIAAAQIE+hEQpvvpSy0hQIAAAQIECBAgQIAAgUYCwnQjaNUQIECAAAECBAgQIECAQD8CwnQ/faklBAgQIECAAAECBAgQINBIQJhuBK0aAgQIECBAgAABAgQIEOhHQJjupy+1hAABAgQIECBAgAABAgQaCQjTjaBVQ4AAAQIECBAgQIAAAQL9CAjT/fSllhAgQIAAAQIECBAgQIBAIwFhuhG0aggQIECAAAECBAgQIECgHwFhup++1BICBAgQIECAAAECBAgQaCQgTDeCVg0BAgQIECBAgAABAgQI9CMgTPfTl1pCgAABAgQIECBAgAABAo0EhOlG0KohQIAAAQIECBAgQIAAgX4EhOl++lJLCBAgQIAAAQIECBAgQKCRgDDdCFo1BAgQIECAAAECBAgQINCPgDDdT19qCQECBAgQIECAAAECBAg0EhCmG0GrhgABAgQIECBAgAABAgT6ERCm++lLLSFAgAABAgQIECBAgACBRgLCdCNo1RAgQIAAAQIECBAgQIBAPwLCdD99qSUECBAgQIAAAQIECBAg0EhAmG4ErRoCBAgQIECAAAECBAgQ6EdAmO6nL7WEAAECBAgQIECAAAECBBoJCNONoFVDgAABAgQIECBAgAABAv0ICNP99KWWECBAgAABAgQIECBAgEAjAWG6EbRqCBAgQIAAAQIECBAgQKAfAWG6n77UEgIECBAgQIAAAQIECBBoJCBMN4JWDQECBAgQIECAAAECBAj0IyBM99OXWkKAAAECBAgQIECAAAECjQSE6UbQqiFAgAABAgQIECBAgACBfgSE6X76UksIECBAgAABAgQIECBAoJGAMN0IWjUECBAgQIAAAQIECBAg0I+AMN1PX2oJAQIECBAgQIAAAQIECDQSEKYbQauGAAECBAgQIECAAAECBPoREKb76UstIUCAAAECBAgQIECAAIFGAsJ0I2jVECBAgAABAgQIECBAgEA/AsJ0P32pJQQIECBAgAABAgQIECDQSECYbgStGgIECBAgQIAAAQIECBDoR0CY7qcvtYQAAQIECBAgQIAAAQIEGgkI042gVUOAAAECBAgQIECAAAEC/QgI0/30pZYQIECAAAECBAgQIECAQCMBYboRtGoIECBAgAABAgQIECBAoB+BfwMKHq6iGS6+cwAAAABJRU5ErkJggg==\n", "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": "2024-01-18T17:28:01.657854Z", "iopub.status.busy": "2024-01-18T17:28:01.657696Z", "iopub.status.idle": "2024-01-18T17:28:01.660028Z", "shell.execute_reply": "2024-01-18T17:28:01.659723Z" }, "slideshow": { "slide_type": "fragment" } }, "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": "2024-01-18T17:28:01.661792Z", "iopub.status.busy": "2024-01-18T17:28:01.661648Z", "iopub.status.idle": "2024-01-18T17:28:02.186610Z", "shell.execute_reply": "2024-01-18T17:28:02.186181Z" }, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "GUIFuzzer\n", "\n", "\n", "GUIFuzzer\n", "\n", "\n", "\n", "__init__()\n", "\n", "\n", "\n", "restart()\n", "\n", "\n", "\n", "run()\n", "\n", "\n", "\n", "fsm_last_state_symbol()\n", "\n", "\n", "\n", "fsm_path()\n", "\n", "\n", "\n", "set_grammar()\n", "\n", "\n", "\n", "update_existing_state()\n", "\n", "\n", "\n", "update_new_state()\n", "\n", "\n", "\n", "update_state()\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "GrammarFuzzer\n", "\n", "\n", "GrammarFuzzer\n", "\n", "\n", "\n", "__init__()\n", "\n", "\n", "\n", "fuzz()\n", "\n", "\n", "\n", "fuzz_tree()\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "GUIFuzzer->GrammarFuzzer\n", "\n", "\n", "\n", "\n", "\n", "Fuzzer\n", "\n", "\n", "Fuzzer\n", "\n", "\n", "\n", "__init__()\n", "\n", "\n", "\n", "fuzz()\n", "\n", "\n", "\n", "run()\n", "\n", "\n", "\n", "runs()\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "GrammarFuzzer->Fuzzer\n", "\n", "\n", "\n", "\n", "\n", "GUICoverageFuzzer\n", "\n", "\n", "GUICoverageFuzzer\n", "\n", "\n", "\n", "__init__()\n", "\n", "\n", "\n", "explore_all()\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "GUICoverageFuzzer->GUIFuzzer\n", "\n", "\n", "\n", "\n", "\n", "GrammarCoverageFuzzer\n", "\n", "\n", "GrammarCoverageFuzzer\n", "\n", "\n", "\n", "\n", "\n", "GUICoverageFuzzer->GrammarCoverageFuzzer\n", "\n", "\n", "\n", "\n", "\n", "SimpleGrammarCoverageFuzzer\n", "\n", "\n", "SimpleGrammarCoverageFuzzer\n", "\n", "\n", "\n", "\n", "\n", "GrammarCoverageFuzzer->SimpleGrammarCoverageFuzzer\n", "\n", "\n", "\n", "\n", "\n", "TrackingGrammarCoverageFuzzer\n", "\n", "\n", "TrackingGrammarCoverageFuzzer\n", "\n", "\n", "\n", "__init__()\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "SimpleGrammarCoverageFuzzer->TrackingGrammarCoverageFuzzer\n", "\n", "\n", "\n", "\n", "\n", "TrackingGrammarCoverageFuzzer->GrammarFuzzer\n", "\n", "\n", "\n", "\n", "\n", "GUIRunner\n", "\n", "\n", "GUIRunner\n", "\n", "\n", "\n", "DELAY_AFTER_CHECK\n", "\n", "\n", "\n", "DELAY_AFTER_CLICK\n", "\n", "\n", "\n", "DELAY_AFTER_FILL\n", "\n", "\n", "\n", "DELAY_AFTER_SUBMIT\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "__init__()\n", "\n", "\n", "\n", "run()\n", "\n", "\n", "\n", "do_check()\n", "\n", "\n", "\n", "do_click()\n", "\n", "\n", "\n", "do_fill()\n", "\n", "\n", "\n", "do_submit()\n", "\n", "\n", "\n", "find_element()\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Runner\n", "\n", "\n", "Runner\n", "\n", "\n", "\n", "FAIL\n", "\n", "\n", "\n", "PASS\n", "\n", "\n", "\n", "UNRESOLVED\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "__init__()\n", "\n", "\n", "\n", "run()\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "GUIRunner->Runner\n", "\n", "\n", "\n", "\n", "\n", "GUIGrammarMiner\n", "\n", "\n", "GUIGrammarMiner\n", "\n", "\n", "\n", "FINAL_STATE\n", "\n", "\n", "\n", "GUI_GRAMMAR\n", "\n", "\n", "\n", "START_STATE\n", "\n", "\n", "\n", "UNEXPLORED_STATE\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "__init__()\n", "\n", "\n", "\n", "follow_link()\n", "\n", "\n", "\n", "mine_a_element_actions()\n", "\n", "\n", "\n", "mine_button_element_actions()\n", "\n", "\n", "\n", "mine_input_element_actions()\n", "\n", "\n", "\n", "mine_state_actions()\n", "\n", "\n", "\n", "mine_state_grammar()\n", "\n", "\n", "\n", "new_state_symbol()\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Legend\n", "Legend\n", "• \n", "public_method()\n", "• \n", "private_method()\n", "• \n", "overloaded_method()\n", "Hover over names to see doc\n", "\n", "\n", "\n" ], "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": [ "## 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": "2024-01-18T17:28:02.188587Z", "iopub.status.busy": "2024-01-18T17:28:02.188442Z", "iopub.status.idle": "2024-01-18T17:28:02.190688Z", "shell.execute_reply": "2024-01-18T17:28:02.190413Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "httpd_process.terminate()" ] }, { "cell_type": "code", "execution_count": 171, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:28:02.192358Z", "iopub.status.busy": "2024-01-18T17:28:02.192226Z", "iopub.status.idle": "2024-01-18T17:28:02.734915Z", "shell.execute_reply": "2024-01-18T17:28:02.734592Z" }, "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "gui_driver.quit()" ] }, { "cell_type": "code", "execution_count": 172, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:28:02.736823Z", "iopub.status.busy": "2024-01-18T17:28:02.736699Z", "iopub.status.idle": "2024-01-18T17:28:02.738537Z", "shell.execute_reply": "2024-01-18T17:28:02.738229Z" }, "slideshow": { "slide_type": "skip" } }, "outputs": [], "source": [ "import os" ] }, { "cell_type": "code", "execution_count": 173, "metadata": { "execution": { "iopub.execute_input": "2024-01-18T17:28:02.740156Z", "iopub.status.busy": "2024-01-18T17:28:02.740047Z", "iopub.status.idle": "2024-01-18T17:28:02.742226Z", "shell.execute_reply": "2024-01-18T17:28:02.741959Z" }, "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.10.2" }, "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 }