{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "IBM Applied Data Science - Notebook.ipynb",
"provenance": [],
"collapsed_sections": [],
"toc_visible": true,
"authorship_tag": "ABX9TyPQunwd2sDgzTduLtePuv30",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
""
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "JcUC3UdSqZlT"
},
"source": [
"#Notebook: Identifying Restaurant Business Opportunities\n",
" \n",
"\n",
"*by Christoffer Haukvik, 2020*\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lN0_WUnOA2V7"
},
"source": [
"##Table of Contents\r\n",
"\r\n",
"1. Introduction\r\n",
"2. Data: Collection and pre-processing\r\n",
"3. Data Analysis for Methodology\r\n",
"4. Conclusion"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "rPfEQ9GLH1n9"
},
"source": [
"##1. Introduction \r\n",
"\r\n",
"This notebook is used to collect the data required for the task of identifying business opportunities, and is the basis for the results as provided in the final report."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "nAsjRgWpSrCn"
},
"source": [
"##2. Data: Collection and pre-processing \r\n",
"In this section, we will import the required libraries, define the project's input parameters, collect the required data, and perform any data pre-processing."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "wROGfDx-Sz4z"
},
"source": [
"###Data collection: Code"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CIuBu1SiS83w"
},
"source": [
"####Defining Project Input Parameters\r\n",
"\r\n",
"We first need to define the project's input parameters for the city we are goint to analyze; we do this below."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "58u8cLYyTOWs",
"outputId": "3568c64a-1dab-4f07-82c7-3dd0a1327e94"
},
"source": [
"# Defining input city\n",
"CITY = 'Las Vegas'\n",
"STATE = 'Nevada'\n",
"COUNTRY = 'United States'\n",
"radius = 15 # radius (km) from location center to include in scope\n",
"\n",
"INPUT_ADDRESS = ', '.join((CITY,STATE,COUNTRY))\n",
"print('This project will investigate and analyse', INPUT_ADDRESS,\n",
" 'and the surrounding area with a radius of', radius, 'km.')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"This project will investigate and analyse Las Vegas, Nevada, United States and the surrounding area with a radius of 15 km.\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "prLOOntCTS3P"
},
"source": [
"#### Defining credentials for APIs, radius of project scope, and selected venue category"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "TvFC6DBYfDQV"
},
"source": [
"Next, we must define the credentials to use with the Geonames and FourSquare APIs. \r\n",
"\r\n",
"Additionally, this is where we define the radius we will include in the scope, as well as which type of venue we are going to investigate.\r\n"
]
},
{
"cell_type": "code",
"metadata": {
"id": "dS3QCH-Oqm8o"
},
"source": [
"# Required input parameters:\n",
"gnames_user = 'xxx' # yor user name for geonames service\n",
"\n",
"# Foursquare Parameters\n",
"CLIENT_ID = 'xxx' # your Foursquare ID\n",
"CLIENT_SECRET = 'xxx' # your Foursquare Secret\n",
"VERSION = '20180605' # Foursquare API version\n",
"LIMIT = 50 # limit on how many entries Foursquare will return\n",
"RADIUS = radius*1000 # radius in meters\n",
"POPULARITY = 1 # venues will be sorted according to popularity\n",
"\n",
"# Defining FourSquare venue category\n",
"SECTIONS = ['food', 'drinks', 'coffee', 'shops', 'arts', 'outdoors', 'sights'] # possible sections/categories\n",
"SECTION = SECTIONS[0] # Selecting the Food section, which FourSquare treats as restaurants"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "Sv5FATgSEkCS"
},
"source": [
"####Importing required libraries\r\n",
"Below we import the required libraries for use in the project."
]
},
{
"cell_type": "code",
"metadata": {
"id": "gl4DvgTSqXHq",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "46f9c614-3c57-4324-aab4-8c64d1df0003"
},
"source": [
"# Defining imports\n",
"# importing necessary libraries\n",
"import pandas as pd # library for analysis\n",
"import numpy as np # library to handle data\n",
"\n",
"from geopy.geocoders import Nominatim # convert an address into latitude and longitude values\n",
"import geopy\n",
"# install the Geocoder\n",
"!pip -q install geocoder\n",
"import geocoder\n",
"import folium # map rendering library\n",
"\n",
"import requests # library to handle requests\n",
"import urllib.request # import the library we use to open URLs\n",
"from pandas.io.json import json_normalize # library to flatten json objects\n",
"\n",
"# Matplotlib and associated plotting modules\n",
"import matplotlib.cm as cm\n",
"import matplotlib.colors as colors\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"# Math library for mathematical calculations\n",
"import math\n",
"\n",
"# import k-means from clustering stage\n",
"from sklearn.cluster import KMeans\n",
"\n",
"import warnings #used to suppress warnings\n",
"\n",
"print('Libraries imported.')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"\u001b[?25l\r\u001b[K |███▎ | 10kB 21.2MB/s eta 0:00:01\r\u001b[K |██████▋ | 20kB 25.6MB/s eta 0:00:01\r\u001b[K |██████████ | 30kB 15.8MB/s eta 0:00:01\r\u001b[K |█████████████▎ | 40kB 13.7MB/s eta 0:00:01\r\u001b[K |████████████████▋ | 51kB 8.6MB/s eta 0:00:01\r\u001b[K |████████████████████ | 61kB 9.1MB/s eta 0:00:01\r\u001b[K |███████████████████████▎ | 71kB 8.9MB/s eta 0:00:01\r\u001b[K |██████████████████████████▋ | 81kB 9.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████████ | 92kB 9.2MB/s eta 0:00:01\r\u001b[K |████████████████████████████████| 102kB 5.2MB/s \n",
"\u001b[?25hLibraries imported.\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "rVcNhqdhgM0L"
},
"source": [
"Next we also define the defaults to use with this notebook."
]
},
{
"cell_type": "code",
"metadata": {
"id": "xnvtftA3xc3P"
},
"source": [
"# Defining defaults\n",
"sns.set_style('white')\n",
"warnings.filterwarnings('ignore') # Suppressing warnings\n",
"pd.set_option('display.max_columns', None)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "XAZbSE0jUjsW"
},
"source": [
"#### Retrieving location coordinates\n",
"The first step of the analysis is to retrieve the geographical coordinates of the selected location. In order to do so, we will use Geocoder (https://geocoder.readthedocs.iofour)."
]
},
{
"cell_type": "code",
"metadata": {
"id": "0OpOn09-lc4v",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "a75831cc-b5d7-4f8c-8b40-ebcf1ebba47e"
},
"source": [
"# Using Geocoder Arcgis source to look up city\n",
"g = geocoder.arcgis(INPUT_ADDRESS)\n",
"\n",
"# Assigning coordinates\n",
"latitude, longitude = g.latlng\n",
"print('The geograpical coordinates of', CITY, 'are {}, {}.'.format(latitude, longitude))"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"The geograpical coordinates of Las Vegas are 36.17193000000003, -115.14000999999996.\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "sv1vFc2YU_nG"
},
"source": [
"#### Retrieving Zip/Postal code details of given area\n",
"Next, we will use the GeoNames API to retrieve information of the area surrounding our location, such as the zip/postal codes, the latitudes and longitudes, as well as the surrounding location names."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "EeMsagybrAPV",
"outputId": "1871e275-d2a6-4194-a244-4dc10bd1cbe7"
},
"source": [
"# Look up postal codes within given radius of city center\n",
"maxRows = 500 # retrieve the maximum amount of postal codes\n",
"\n",
"# Define the url request\n",
"url = 'http://api.geonames.org/findNearbyPostalCodesJSON?lat={}&lng={}&radius={}&maxRows={}&username={}'.format(\n",
" latitude,\n",
" longitude,\n",
" radius,\n",
" maxRows,\n",
" gnames_user\n",
")\n",
"postal_codes = requests.get(url).json() # Make the request\n",
"print('There are', len(postal_codes['postalCodes']), 'postal codes in', CITY)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"There are 71 postal codes in Las Vegas\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "GAdY_ACbJ7Kl"
},
"source": [
"Now, we will extract the necessary information from the received result."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "3G1lYmhQn7_p",
"outputId": "a1bb9a3d-9750-446d-9618-bf43d131c2b1"
},
"source": [
"# Extracting the json results to list\n",
"location_list = []\n",
"location_list.append([(\n",
" pc['postalCode'],\n",
" pc['placeName'],\n",
" pc['adminName1'],\n",
" pc['adminCode1'],\n",
" pc['countryCode'],\n",
" pc['lat'],\n",
" pc['lng']) for pc in postal_codes['postalCodes']])\n",
"\n",
"# Creating a dataframe from the list\n",
"location_df = pd.DataFrame([entry for location_list in location_list for entry in location_list])\n",
"location_df.columns = ['Postal_Code', 'Place_Name', 'State_Name', 'State_Code', 'Country_Code', 'PC_Latitude', 'PC_Longitude']\n",
"location_df.sort_values(by='Postal_Code', inplace=True)\n",
"print('The structure of the data we have of the surrounding area looks like thus:\\n')\n",
"location_df.head(5)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"The structure of the data we have of the surrounding area looks like thus:\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Postal_Code
\n",
"
Place_Name
\n",
"
State_Name
\n",
"
State_Code
\n",
"
Country_Code
\n",
"
PC_Latitude
\n",
"
PC_Longitude
\n",
"
\n",
" \n",
" \n",
"
\n",
"
65
\n",
"
89014
\n",
"
Henderson
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.056435
\n",
"
-115.077968
\n",
"
\n",
"
\n",
"
32
\n",
"
89030
\n",
"
North Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.211457
\n",
"
-115.124147
\n",
"
\n",
"
\n",
"
53
\n",
"
89031
\n",
"
North Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.258888
\n",
"
-115.171801
\n",
"
\n",
"
\n",
"
36
\n",
"
89032
\n",
"
North Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.217968
\n",
"
-115.170919
\n",
"
\n",
"
\n",
"
60
\n",
"
89033
\n",
"
North Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.284511
\n",
"
-115.134488
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Postal_Code Place_Name State_Name State_Code Country_Code \\\n",
"65 89014 Henderson Nevada NV US \n",
"32 89030 North Las Vegas Nevada NV US \n",
"53 89031 North Las Vegas Nevada NV US \n",
"36 89032 North Las Vegas Nevada NV US \n",
"60 89033 North Las Vegas Nevada NV US \n",
"\n",
" PC_Latitude PC_Longitude \n",
"65 36.056435 -115.077968 \n",
"32 36.211457 -115.124147 \n",
"53 36.258888 -115.171801 \n",
"36 36.217968 -115.170919 \n",
"60 36.284511 -115.134488 "
]
},
"metadata": {
"tags": []
},
"execution_count": 9
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "K7V-PTg4xI3o"
},
"source": [
"Depending on the chosen location and geospatial data accuracy, there might be postal codes using the same geographical coordinates. To avoid such duplicates, we will group any duplicate geospatial points and merge the postal codes into one row, separated by a comma."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "0hX0dGtoW91n",
"outputId": "8c684f3d-4d0d-475f-fa04-02624ff7e6de"
},
"source": [
"# grouping postal codes with the same geospatial coordinates\n",
"pc_grouped = location_df.groupby(['PC_Latitude', 'PC_Longitude'])['Postal_Code'].transform(lambda x: ', '.join(x))\n",
"\n",
"# making new dataframe based on existing one for postal codes\n",
"postal_codes_df = location_df.copy(deep=True)\n",
"\n",
"# overwriting the result back into the dataframe\n",
"postal_codes_df['Postal_Code'] = pc_grouped\n",
"\n",
"# since any grouped rows will now be duplicates, we remove the dupes\n",
"postal_codes_df.drop_duplicates(inplace=True)\n",
"\n",
"print('We are working with a number of', postal_codes_df.shape[0], 'separate geospatial locations.')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"We are working with a number of 46 separate geospatial locations.\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "F_QozwGga2Pt"
},
"source": [
"To get an idea of the areas in our analysis, let us plot them into a map."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 868
},
"id": "ZYG73A2ihWJb",
"outputId": "749fb27a-8c60-4fef-9fc5-b97214e272e8"
},
"source": [
"# Plotting the relevant areas on the map\n",
"city_map = folium.Map(location=[latitude, longitude], \n",
" tiles='OpenStreetMap',\n",
" zoom_start=12)\n",
"\n",
"# Adding markers to map\n",
"for lat, lng, label in zip(postal_codes_df['PC_Latitude'], postal_codes_df['PC_Longitude'], postal_codes_df['Postal_Code']):\n",
" label = folium.Popup(label, parse_html=True)\n",
" folium.CircleMarker(\n",
" [lat, lng],\n",
" radius=5,\n",
" popup=label,\n",
" color='blue',\n",
" fill=True,\n",
" fill_color='#3186cc',\n",
" fill_opacity=0.7,\n",
" parse_html=False).add_to(city_map) \n",
"\n",
"# Display map of city with the associated labels\n",
"city_map"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
Make this Notebook Trusted to load map: File -> Trust Notebook
"
],
"text/plain": [
""
]
},
"metadata": {
"tags": []
},
"execution_count": 11
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "W6UF79mTMRp4"
},
"source": [
"The above map shows the overall scope of the area we are going to investigate in this analysis. Each point refers to a postal code within the given scope. \n",
"The next step is to gather data about the relevant restaurants in that area."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "NHyyKqggENr6"
},
"source": [
"#### Retrieve the relevant venues in the area according to popularity\n",
"An important feature of this analysis is determining the popularity of the various venues in the radius of the given city/location. In order to do this, we are going to use FourSquare's API and ask them to return the results by order of popularity. \n",
"\n",
"However, since FourSquare only returns 50 results per call, we need to create a function to create a number of calls to access the different result pages. This is done in the below function, which fetches as many venues as possible in the call. This is done by including the \"offset\" parameter in the call."
]
},
{
"cell_type": "code",
"metadata": {
"id": "6ASTbIxmFugL"
},
"source": [
"# Collecting venue ranks across given location\n",
"\n",
"def getVenueRanking(latitude, longitude, radius, venue_category, max_results):\n",
" venues_list = []\n",
" pages = math.ceil(max_results / LIMIT) # calculating the max possible number of FourSquare results pages\n",
"\n",
" for page in range(0,pages): # looping through each of the results pages (0-indexed)\n",
"\n",
" # determining rank offset (0-indexed) based on which results page is retrieved\n",
" rank_offset = page * LIMIT\n",
" \n",
" # create the API request URL using the Foursquare format and pre-defined paramenters\n",
" # we select the popularity feature, meaning the results will be ranked in order of most popular\n",
" url = 'https://api.foursquare.com/v2/venues/explore?&client_id={}&client_secret={}&v={}&ll={},{}&radius={}&limit={}§ion={}&popularity={}&offset={}'.format(\n",
" CLIENT_ID, \n",
" CLIENT_SECRET, \n",
" VERSION, \n",
" latitude, \n",
" longitude, \n",
" radius, \n",
" LIMIT,\n",
" venue_category,\n",
" POPULARITY,\n",
" rank_offset)\n",
" \n",
" # making the GET request\n",
" response = requests.get(url).json()\n",
" total_results = response['response']['totalResults'] # retrieving the total number of results\n",
"\n",
" # fetching the necessary info from each request\n",
" results = response['response']['groups'][0]['items']\n",
"\n",
" # return only relevant information for each nearby venue\n",
" # since results are ranked, we use enumerate to assign (1-indexed) rank per postal code area\n",
" venues_list.append([(\n",
" rank,\n",
" v['venue']['id'],\n",
" v['venue']['name'],\n",
" v['venue']['location']['postalCode'],\n",
" v['venue']['location']['lat'], \n",
" v['venue']['location']['lng'], \n",
" v['venue']['categories'][0]['name']) for rank, v in enumerate(results, rank_offset)])\n",
" \n",
" # if there are less total results than what we have received\n",
" if (total_results < (LIMIT + page*LIMIT)): \n",
" break # no more futher API calls\n",
" \n",
" # Creating a dataframe to store the relevant details of the ranked venues\n",
" ranked_venues = pd.DataFrame([item for venue_list in venues_list for item in venue_list])\n",
" ranked_venues.columns = ['Venue_Rank', \n",
" 'Venue_ID',\n",
" 'Venue_Name',\n",
" 'Venue_Postal_Code', \n",
" 'Venue_Latitude', \n",
" 'Venue_Longitude', \n",
" 'Venue_Category']\n",
" \n",
" return(ranked_venues)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "P5GEpEEyVD4G"
},
"source": [
"Having defined the above function, we will call it with the pre-defined project parameters."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"id": "xrHGSg30LiiX",
"outputId": "f6b07f14-0b5b-4280-e45c-b61a16456452"
},
"source": [
"# Making the call to the function to retrieve the dataframe of ranked venues\n",
"max_results = 500\n",
"ranked_venues = getVenueRanking(latitude, longitude, RADIUS, SECTION, max_results)\n",
"print('Retrieved a total of', ranked_venues.shape[0], 'venues, ranked according to popularity.\\n')\n",
"ranked_venues.head(5)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Retrieved a total of 245 venues, ranked according to popularity.\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Venue_Rank
\n",
"
Venue_ID
\n",
"
Venue_Name
\n",
"
Venue_Postal_Code
\n",
"
Venue_Latitude
\n",
"
Venue_Longitude
\n",
"
Venue_Category
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0
\n",
"
5a32fb62c530935f37812611
\n",
"
Eureka!
\n",
"
89101
\n",
"
36.168976
\n",
"
-115.139580
\n",
"
American Restaurant
\n",
"
\n",
"
\n",
"
1
\n",
"
1
\n",
"
51cde2b08bbd23404bdc1798
\n",
"
Pizza Rock
\n",
"
89101
\n",
"
36.171707
\n",
"
-115.142343
\n",
"
Pizza Place
\n",
"
\n",
"
\n",
"
2
\n",
"
2
\n",
"
552ae36a498e9b3b1e232a6e
\n",
"
VegeNation
\n",
"
89101
\n",
"
36.167398
\n",
"
-115.139421
\n",
"
Vegetarian / Vegan Restaurant
\n",
"
\n",
"
\n",
"
3
\n",
"
3
\n",
"
539a4129498e2eba5804ba4a
\n",
"
Carson Kitchen
\n",
"
89101
\n",
"
36.167884
\n",
"
-115.140664
\n",
"
Gastropub
\n",
"
\n",
"
\n",
"
4
\n",
"
4
\n",
"
503cec78e4b0f39ae12141db
\n",
"
eat.
\n",
"
89101
\n",
"
36.166927
\n",
"
-115.139055
\n",
"
Breakfast Spot
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Venue_Rank Venue_ID Venue_Name Venue_Postal_Code \\\n",
"0 0 5a32fb62c530935f37812611 Eureka! 89101 \n",
"1 1 51cde2b08bbd23404bdc1798 Pizza Rock 89101 \n",
"2 2 552ae36a498e9b3b1e232a6e VegeNation 89101 \n",
"3 3 539a4129498e2eba5804ba4a Carson Kitchen 89101 \n",
"4 4 503cec78e4b0f39ae12141db eat. 89101 \n",
"\n",
" Venue_Latitude Venue_Longitude Venue_Category \n",
"0 36.168976 -115.139580 American Restaurant \n",
"1 36.171707 -115.142343 Pizza Place \n",
"2 36.167398 -115.139421 Vegetarian / Vegan Restaurant \n",
"3 36.167884 -115.140664 Gastropub \n",
"4 36.166927 -115.139055 Breakfast Spot "
]
},
"metadata": {
"tags": []
},
"execution_count": 13
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KNRQY7RPm_Av"
},
"source": [
"#### Retrieve venue price ranges\n",
"\n",
"Due to the constraints of the free account with FourSquare, we need to make separate calls to retrieve information about the price ranges of the various venues.\n",
"\n",
"We will do this by making four separate calls to FourSquare: One for each price range (price range 1, 2, 3, and 4)."
]
},
{
"cell_type": "code",
"metadata": {
"id": "ptBwLxnCmTxi"
},
"source": [
"# Get data about which venues are in which price ranges\n",
"def getVenuePriceRange(latitude, longitude, radius, venue_category, max_results):\n",
" venues_list = []\n",
" pages = math.ceil(max_results / LIMIT) # calculating the max possible number of FourSquare results pages\n",
"\n",
" for price in range(1,5): # for each price range (FourSquare ranges from 1-4)\n",
" for page in range(0,pages): # looping through each of the results pages (0-indexed)\n",
"\n",
" # determining rank offset (0-indexed) based on which results page is retrieved\n",
" rank_offset = page * LIMIT\n",
"\n",
" # create the API request URL using the Foursquare format and pre-defined paramenters\n",
" # we select the popularity feature, meaning the results will be ranked in order of most popular\n",
" url = 'https://api.foursquare.com/v2/venues/explore?&client_id={}&client_secret={}&v={}&ll={},{}&radius={}&limit={}§ion={}&popularity={}&offset={}&price={}'.format(\n",
" CLIENT_ID, \n",
" CLIENT_SECRET, \n",
" VERSION, \n",
" latitude, \n",
" longitude, \n",
" radius, \n",
" LIMIT,\n",
" venue_category,\n",
" POPULARITY,\n",
" rank_offset, # this page parameter is for the given page of the result set as defined in the loop\n",
" price) # the price category of the given venue\n",
" \n",
" # determining rank offset (0-indexed) based on which results page is retrieved\n",
" rank_offset = page * LIMIT\n",
"\n",
" # making the GET request\n",
" response = requests.get(url).json()\n",
" total_results = response['response']['totalResults'] # retrieving the total number of results\n",
"\n",
" # fetching the necessary info from each request\n",
" results = response['response']['groups'][0]['items']\n",
"\n",
" # we only want the id of the restaurant and the associated price rante\n",
" venues_list.append([(\n",
" v['venue']['id'],\n",
" price) for v in results])\n",
" \n",
" # if there are less total results than what we have received\n",
" if (total_results < (LIMIT + page*LIMIT)): \n",
" break # no more futher API calls\n",
"\n",
" # Creating a dataframe to store the relevant details of the ranked venues\n",
" price_venues = pd.DataFrame([item for venue_list in venues_list for item in venue_list])\n",
" price_venues.columns = ['Venue_ID',\n",
" 'Venue_Price_Category']\n",
" \n",
" return(price_venues)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "5jwdogL0mSUl",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 238
},
"outputId": "7ef47f8d-00e2-4ada-fd1e-73f97fa2502b"
},
"source": [
"# Making the call to the function to retrieve the dataframe of \n",
"price_range_max_results = max_results # for completeness, we will return the defined number of venues\n",
"price_range_venues = getVenuePriceRange(latitude, longitude, RADIUS, SECTION, price_range_max_results)\n",
"print('Retrieved a total of venues with the given price ranges:', price_range_venues.shape[0], '\\n')\n",
"price_range_venues.head(5)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Retrieved a total of venues with the given price ranges: 244 \n",
"\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Venue_ID
\n",
"
Venue_Price_Category
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
503cec78e4b0f39ae12141db
\n",
"
1
\n",
"
\n",
"
\n",
"
1
\n",
"
4fa59a6fe4b0bbcd4a17c02b
\n",
"
1
\n",
"
\n",
"
\n",
"
2
\n",
"
571c2f22498e4066dfa5b10b
\n",
"
1
\n",
"
\n",
"
\n",
"
3
\n",
"
5822215bb4f96244a79b09f5
\n",
"
1
\n",
"
\n",
"
\n",
"
4
\n",
"
4c68bd85897b1b8d83a2ad17
\n",
"
1
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Venue_ID Venue_Price_Category\n",
"0 503cec78e4b0f39ae12141db 1\n",
"1 4fa59a6fe4b0bbcd4a17c02b 1\n",
"2 571c2f22498e4066dfa5b10b 1\n",
"3 5822215bb4f96244a79b09f5 1\n",
"4 4c68bd85897b1b8d83a2ad17 1"
]
},
"metadata": {
"tags": []
},
"execution_count": 15
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1OIncjgqXUDu"
},
"source": [
"As can be seen from above, we now know the price category of each venue. To get some insight into what we have just retrieved, we can list the number of venues within the various price categories."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "2iTWdnndPtN7",
"outputId": "a64131f6-a170-4bf4-d101-513b54d834f0"
},
"source": [
"price_range_venues.groupby('Venue_Price_Category')['Venue_Price_Category'].agg(['count'])"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
count
\n",
"
\n",
"
\n",
"
Venue_Price_Category
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
1
\n",
"
73
\n",
"
\n",
"
\n",
"
2
\n",
"
106
\n",
"
\n",
"
\n",
"
3
\n",
"
42
\n",
"
\n",
"
\n",
"
4
\n",
"
23
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" count\n",
"Venue_Price_Category \n",
"1 73\n",
"2 106\n",
"3 42\n",
"4 23"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4M6H23HWYHSk"
},
"source": [
"Now we will join the price category to the dataframe we already have of the ranked venues."
]
},
{
"cell_type": "code",
"metadata": {
"id": "J2wz4N3wqsui"
},
"source": [
"# Performing inner join to only include the venues with ranking in this analysis:\n",
"venue_df = pd.merge(ranked_venues,price_range_venues,on='Venue_ID', how='inner')"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "w6a1oXTVYjc_"
},
"source": [
"Finally, we will join the venue dataframe with the postal code dataframe to gather all the information we need for our analysis in an analysis dataframe."
]
},
{
"cell_type": "code",
"metadata": {
"id": "vKqxT49tqmNR",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 566
},
"outputId": "e7bce736-5bfd-4548-a44e-1a477763e7db"
},
"source": [
"# Joining the venue dataframe to the postal code dataframe\n",
"analysis_df = pd.merge(venue_df, location_df, left_on='Venue_Postal_Code', right_on='Postal_Code')\n",
"print('Number of venues for analysis:', analysis_df.shape[0], '\\n')\n",
"analysis_df.head(10)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Number of venues for analysis: 239 \n",
"\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Venue_Rank
\n",
"
Venue_ID
\n",
"
Venue_Name
\n",
"
Venue_Postal_Code
\n",
"
Venue_Latitude
\n",
"
Venue_Longitude
\n",
"
Venue_Category
\n",
"
Venue_Price_Category
\n",
"
Postal_Code
\n",
"
Place_Name
\n",
"
State_Name
\n",
"
State_Code
\n",
"
Country_Code
\n",
"
PC_Latitude
\n",
"
PC_Longitude
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
0
\n",
"
5a32fb62c530935f37812611
\n",
"
Eureka!
\n",
"
89101
\n",
"
36.168976
\n",
"
-115.139580
\n",
"
American Restaurant
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
1
\n",
"
1
\n",
"
51cde2b08bbd23404bdc1798
\n",
"
Pizza Rock
\n",
"
89101
\n",
"
36.171707
\n",
"
-115.142343
\n",
"
Pizza Place
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
2
\n",
"
2
\n",
"
552ae36a498e9b3b1e232a6e
\n",
"
VegeNation
\n",
"
89101
\n",
"
36.167398
\n",
"
-115.139421
\n",
"
Vegetarian / Vegan Restaurant
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
3
\n",
"
3
\n",
"
539a4129498e2eba5804ba4a
\n",
"
Carson Kitchen
\n",
"
89101
\n",
"
36.167884
\n",
"
-115.140664
\n",
"
Gastropub
\n",
"
3
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
4
\n",
"
4
\n",
"
503cec78e4b0f39ae12141db
\n",
"
eat.
\n",
"
89101
\n",
"
36.166927
\n",
"
-115.139055
\n",
"
Breakfast Spot
\n",
"
1
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
5
\n",
"
5
\n",
"
510a01d5e4b07b50d4c6a4ae
\n",
"
Joe Vicari's Andiamo Steakhouse
\n",
"
89101
\n",
"
36.169942
\n",
"
-115.142740
\n",
"
Steakhouse
\n",
"
4
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
6
\n",
"
6
\n",
"
4ea5ca369adf05b8d0006a20
\n",
"
Le Thai
\n",
"
89101
\n",
"
36.168839
\n",
"
-115.139921
\n",
"
Thai Restaurant
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
7
\n",
"
7
\n",
"
4fa59a6fe4b0bbcd4a17c02b
\n",
"
Pop Up Pizza
\n",
"
89101
\n",
"
36.171171
\n",
"
-115.147438
\n",
"
Pizza Place
\n",
"
1
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
8
\n",
"
8
\n",
"
571c2f22498e4066dfa5b10b
\n",
"
The Goodwich
\n",
"
89101
\n",
"
36.159999
\n",
"
-115.147533
\n",
"
Sandwich Place
\n",
"
1
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
9
\n",
"
9
\n",
"
510ae7a6e4b005681ba9169d
\n",
"
Park on Fremont
\n",
"
89101
\n",
"
36.169220
\n",
"
-115.140416
\n",
"
Gastropub
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Venue_Rank Venue_ID Venue_Name \\\n",
"0 0 5a32fb62c530935f37812611 Eureka! \n",
"1 1 51cde2b08bbd23404bdc1798 Pizza Rock \n",
"2 2 552ae36a498e9b3b1e232a6e VegeNation \n",
"3 3 539a4129498e2eba5804ba4a Carson Kitchen \n",
"4 4 503cec78e4b0f39ae12141db eat. \n",
"5 5 510a01d5e4b07b50d4c6a4ae Joe Vicari's Andiamo Steakhouse \n",
"6 6 4ea5ca369adf05b8d0006a20 Le Thai \n",
"7 7 4fa59a6fe4b0bbcd4a17c02b Pop Up Pizza \n",
"8 8 571c2f22498e4066dfa5b10b The Goodwich \n",
"9 9 510ae7a6e4b005681ba9169d Park on Fremont \n",
"\n",
" Venue_Postal_Code Venue_Latitude Venue_Longitude \\\n",
"0 89101 36.168976 -115.139580 \n",
"1 89101 36.171707 -115.142343 \n",
"2 89101 36.167398 -115.139421 \n",
"3 89101 36.167884 -115.140664 \n",
"4 89101 36.166927 -115.139055 \n",
"5 89101 36.169942 -115.142740 \n",
"6 89101 36.168839 -115.139921 \n",
"7 89101 36.171171 -115.147438 \n",
"8 89101 36.159999 -115.147533 \n",
"9 89101 36.169220 -115.140416 \n",
"\n",
" Venue_Category Venue_Price_Category Postal_Code Place_Name \\\n",
"0 American Restaurant 2 89101 Las Vegas \n",
"1 Pizza Place 2 89101 Las Vegas \n",
"2 Vegetarian / Vegan Restaurant 2 89101 Las Vegas \n",
"3 Gastropub 3 89101 Las Vegas \n",
"4 Breakfast Spot 1 89101 Las Vegas \n",
"5 Steakhouse 4 89101 Las Vegas \n",
"6 Thai Restaurant 2 89101 Las Vegas \n",
"7 Pizza Place 1 89101 Las Vegas \n",
"8 Sandwich Place 1 89101 Las Vegas \n",
"9 Gastropub 2 89101 Las Vegas \n",
"\n",
" State_Name State_Code Country_Code PC_Latitude PC_Longitude \n",
"0 Nevada NV US 36.17193 -115.14001 \n",
"1 Nevada NV US 36.17193 -115.14001 \n",
"2 Nevada NV US 36.17193 -115.14001 \n",
"3 Nevada NV US 36.17193 -115.14001 \n",
"4 Nevada NV US 36.17193 -115.14001 \n",
"5 Nevada NV US 36.17193 -115.14001 \n",
"6 Nevada NV US 36.17193 -115.14001 \n",
"7 Nevada NV US 36.17193 -115.14001 \n",
"8 Nevada NV US 36.17193 -115.14001 \n",
"9 Nevada NV US 36.17193 -115.14001 "
]
},
"metadata": {
"tags": []
},
"execution_count": 18
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "8LjdBoROAFAH"
},
"source": [
"####Data pre-processing"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "JI6mJsBfquAo"
},
"source": [
"Before proceeding, let us clean up the analysis dataframe to improve the workflow later on:\n",
"1. Rank the venues from 1 to last (not from 0 to last)\n",
"2. Change the data type of the Postal Codes, Venue Categories, and Price Categories into a type Categorical"
]
},
{
"cell_type": "code",
"metadata": {
"id": "qDEcj4Tgq_gn",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 292
},
"outputId": "dfdc3ed2-8219-4212-a05b-f9ad78cd32ad"
},
"source": [
"# Ranking venues with 1-indexation for later on\n",
"analysis_df['Venue_Rank'] = list(range(1,analysis_df.shape[0]+1))\n",
"\n",
"# Changing data types of Postal Codes, Price Categories, into categorial data types\n",
"analysis_df['Venue_Postal_Code'] = analysis_df['Venue_Postal_Code'].astype('category')\n",
"analysis_df['Venue_Category'] = analysis_df['Venue_Category'].astype('category')\n",
"analysis_df['Venue_Price_Category'] = analysis_df['Venue_Price_Category'].astype('category')\n",
"\n",
"analysis_df.head(5)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Venue_Rank
\n",
"
Venue_ID
\n",
"
Venue_Name
\n",
"
Venue_Postal_Code
\n",
"
Venue_Latitude
\n",
"
Venue_Longitude
\n",
"
Venue_Category
\n",
"
Venue_Price_Category
\n",
"
Postal_Code
\n",
"
Place_Name
\n",
"
State_Name
\n",
"
State_Code
\n",
"
Country_Code
\n",
"
PC_Latitude
\n",
"
PC_Longitude
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
5a32fb62c530935f37812611
\n",
"
Eureka!
\n",
"
89101
\n",
"
36.168976
\n",
"
-115.139580
\n",
"
American Restaurant
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
51cde2b08bbd23404bdc1798
\n",
"
Pizza Rock
\n",
"
89101
\n",
"
36.171707
\n",
"
-115.142343
\n",
"
Pizza Place
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
552ae36a498e9b3b1e232a6e
\n",
"
VegeNation
\n",
"
89101
\n",
"
36.167398
\n",
"
-115.139421
\n",
"
Vegetarian / Vegan Restaurant
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
3
\n",
"
4
\n",
"
539a4129498e2eba5804ba4a
\n",
"
Carson Kitchen
\n",
"
89101
\n",
"
36.167884
\n",
"
-115.140664
\n",
"
Gastropub
\n",
"
3
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
4
\n",
"
5
\n",
"
503cec78e4b0f39ae12141db
\n",
"
eat.
\n",
"
89101
\n",
"
36.166927
\n",
"
-115.139055
\n",
"
Breakfast Spot
\n",
"
1
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Venue_Rank Venue_ID Venue_Name Venue_Postal_Code \\\n",
"0 1 5a32fb62c530935f37812611 Eureka! 89101 \n",
"1 2 51cde2b08bbd23404bdc1798 Pizza Rock 89101 \n",
"2 3 552ae36a498e9b3b1e232a6e VegeNation 89101 \n",
"3 4 539a4129498e2eba5804ba4a Carson Kitchen 89101 \n",
"4 5 503cec78e4b0f39ae12141db eat. 89101 \n",
"\n",
" Venue_Latitude Venue_Longitude Venue_Category \\\n",
"0 36.168976 -115.139580 American Restaurant \n",
"1 36.171707 -115.142343 Pizza Place \n",
"2 36.167398 -115.139421 Vegetarian / Vegan Restaurant \n",
"3 36.167884 -115.140664 Gastropub \n",
"4 36.166927 -115.139055 Breakfast Spot \n",
"\n",
" Venue_Price_Category Postal_Code Place_Name State_Name State_Code \\\n",
"0 2 89101 Las Vegas Nevada NV \n",
"1 2 89101 Las Vegas Nevada NV \n",
"2 2 89101 Las Vegas Nevada NV \n",
"3 3 89101 Las Vegas Nevada NV \n",
"4 1 89101 Las Vegas Nevada NV \n",
"\n",
" Country_Code PC_Latitude PC_Longitude \n",
"0 US 36.17193 -115.14001 \n",
"1 US 36.17193 -115.14001 \n",
"2 US 36.17193 -115.14001 \n",
"3 US 36.17193 -115.14001 \n",
"4 US 36.17193 -115.14001 "
]
},
"metadata": {
"tags": []
},
"execution_count": 19
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "xdRUTH7H1N-e"
},
"source": [
"To get a feel for the locations we are analyzing, let's plot them into a map according to the price category of each venue."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 868
},
"id": "KLAVZ0f52x2G",
"outputId": "9535c6d2-24f5-415e-a70c-790cbb971303"
},
"source": [
"import branca.colormap\n",
"\n",
"# create map\n",
"map_price_range = folium.Map(location=[latitude, longitude], \n",
" tiles='OpenStreetMap',\n",
" zoom_start=12)\n",
"\n",
"# set color scheme for the clusters\n",
"price_cat = 4 # 4 price categories\n",
"x = np.arange(price_cat)\n",
"ys = [i + x + (i*x)**2 for i in range(price_cat)]\n",
"colors_array = cm.bwr(np.linspace(0, 1, len(ys)))\n",
"rainbow = [colors.rgb2hex(i) for i in colors_array]\n",
"\n",
"# add markers to the map\n",
"markers_colors = []\n",
"for lat, lon, v_name, p_cat in zip(analysis_df['Venue_Latitude'], analysis_df['Venue_Longitude'], analysis_df['Venue_Name'], analysis_df['Venue_Price_Category']):\n",
" label = folium.Popup(str(v_name) + ' Price Category ' + str(p_cat), parse_html=True)\n",
" folium.CircleMarker(\n",
" [lat, lon],\n",
" radius=4,\n",
" popup=label,\n",
" color=rainbow[p_cat-1],\n",
" fill=True,\n",
" fill_color=rainbow[p_cat-1],\n",
" fill_opacity=0.9).add_to(map_price_range)\n",
" \n",
"map_price_range"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
Make this Notebook Trusted to load map: File -> Trust Notebook
"
],
"text/plain": [
""
]
},
"metadata": {
"tags": []
},
"execution_count": 20
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "DQNCaUCQ2S_e"
},
"source": [
"With the above, we now have the data we need to carry out the analysis."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "wUvNubJLtjvN"
},
"source": [
"##3. Data Analysis for Methodology "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2sK9MZkgbgXL"
},
"source": [
"In this section, we define the code for use in three different areas:\n",
"1. Exploratory data analysis\n",
"2. Statistically creating a metric for identifying potential business opportunities\n",
"3. Applying machine learning using k-Means clustering to see if we can categorize the features that make a business model more successful.\n",
"\n",
"Given the above, we should be able to provide insight as to what might be predictors of success."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CSJxWxXQbyAT"
},
"source": [
"###Exploratory data analysis"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "oeR2tqpoZtRR"
},
"source": [
"First, let's investigate some basic statistics on the dataset."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "yhvL-WBhcGQ5",
"outputId": "e69da866-39d4-4d0a-9c6e-c6fcb64e0c7e"
},
"source": [
"# Calculating the count of the various venues\r\n",
"vid_count = analysis_df['Venue_ID'].unique().shape[0]\r\n",
"pc_count = analysis_df['Postal_Code'].unique().shape[0]\r\n",
"cat_count = analysis_df['Venue_Category'].unique().shape[0]\r\n",
"\r\n",
"print('The analysis contains the following:')\r\n",
"print(' - Number of venues:', vid_count)\r\n",
"print(' - Number of Postal Areas:', pc_count)\r\n",
"print(' - Number of venue categories:', cat_count)"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"The analysis contains the following:\n",
" - Number of venues: 239\n",
" - Number of Postal Areas: 31\n",
" - Number of venue categories: 51\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "oUVsBCG5qGU-"
},
"source": [
"Next, let's assess the various features of our data, paying particular interest in what relates to the higher ranked venues in our dataset."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 465
},
"id": "BusBqaORZtRa",
"outputId": "e2f47bfb-a67c-421e-a3ed-d70f310e88b3"
},
"source": [
"# Investigating which postal codes have the most venues \r\n",
"top_postal_count = analysis_df.groupby('Venue_Postal_Code')['Venue_ID'].count().sort_values(ascending=False)[0:10].reset_index()\r\n",
"top_postal_count.columns = ['Postal Code', '# Venues']\r\n",
"top_postal_count['Postal Code'].cat.remove_unused_categories(inplace=True)\r\n",
"top_postal_count.sort_values(by='# Venues', ascending=False, inplace=True)\r\n",
"\r\n",
"# Plot the common venue categories\r\n",
"fig, ax = plt.subplots(figsize=(10, 6))\r\n",
"sns.barplot(x='# Venues', y='Postal Code',\r\n",
" data=top_postal_count,\r\n",
" order=top_postal_count['Postal Code'].values)\r\n",
"fig.suptitle('Most Common Postal Codes Overall', fontsize=14)\r\n",
"fig.show()\r\n",
"\r\n",
"print('The most common postal code overall is',\r\n",
" top_postal_count['Postal Code'][0] + '.\\n')"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"The most common postal code overall is 89109.\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnEAAAGeCAYAAAD7d1fyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdf1xUdd7//+cgUAJtXlBiqKtEQiRimGakrWkBuaDGoKFlbYuudbVWK1qglKWpXFlhpW3lrxXW2B8FFr/ioqVISS7bTUV02zYp0lwdFU1D+SHD+f7Rt/lEilg5Dgce99ut220558zrvN4zs7eevc+c97EYhmEIAAAApuLm6gYAAADwwxHiAAAATIgQBwAAYEKEOAAAABMixAEAAJgQIQ4AAMCECHEAcAFt2bJFISEhOnLkiEvOv3DhQt19990uOXdHM2bMGK1Zs6bNv4GOjhAH/AipqakKCQnRvHnzTtv3zDPPKCQkRPfdd995O9/dd9+thQsXntOxhw8f1qJFi3TrrbcqLCxMN910k6ZPn67333//vPVjBt+GpW//ueGGGzR9+nT961//Oi/1ly9frri4uPNS60z27NmjefPmadSoUQoLC9Po0aP10EMPaevWrU475/mUn5+vxMRERURE6Nprr9WkSZP01ltvubotoFMhxAE/0hVXXKG3335bJ0+edGxrbm7WW2+9pYCAAJf09OWXXyo+Pl7l5eVKTk5WXl6e1q1bp5tvvllPPPGES3pytcLCQpWXl2vlypU6fvy4pk+frq+//trVbZ1VVVWV4uPjtXv3bj355JMqKirSyy+/rIEDB2rRokWubq9dzzzzjObOnatbbrlFOTk52rBhg6KiopSWlqZnn33WqeduaWmR3W536jmAjoIQB/xIISEh6t+/v95++23HtrKyMnl6eur6669vdWxLS4teeuklx6zKuHHj9Le//a3VMStWrNDo0aMVFhamESNG6NFHH5X0zazfhx9+qNdee80xq/Tll1+esacFCxZIknJycvTLX/5SV155pYKCgjR16lTl5eU5jvvPf/6j3/72t4qIiFBERIRmzpypAwcOOPZ/O8u0YcMGjRkzRtdee63mzp2rpqYmvfbaaxo1apSGDx+u9PR0tbS0OF43ZswYrVixQqmpqYqIiNCoUaNUVFSk48ePa9asWYqIiFB0dLTKy8tb9f33v/9dkyZN0qBBg3TjjTdqyZIlampqcuy/++679eSTTyojI0PDhw9XZGSknn766Vbnbouvr68uv/xyhYeHKyUlRYcOHdL27dslSSUlJRo3bpzCwsI0atQovfzyy/ruQ2y+3R8eHq7rr79eU6dO1eHDh5Wbm6sVK1bo008/dXwmubm5kqQ//OEPGjdunK699lrddNNNSktL0/Hjx9vt81uGYWju3Lnq27ev/vSnP2n06NH6+c9/rquvvlr33Xef1q1b5zj2k08+0b333uvoLzU1tVVAtdvtevrppzVs2DANGzZMixcvPi3gGIahVatW6dZbb1V4eLjGjRt32oxZW9/NM9mxY4dWr16tOXPmaMaMGbryyisVGBioGTNmaM6cOVq1apV27NihlpYWjRo1Sn/84x9bvf7zzz9XSEiIdu3aJUn6+uuv9fjjjysyMlIRERGaOnWqqqqqHMfn5uYqIiJC77//vuLi4hQWFqbq6mrt2LFDSUlJGj58uIYMGaIpU6Zo27Zt5/w5AGZAiAN+gokTJyonJ8fxd05OjqxWqywWS6vjsrKytGbNGs2ZM0f5+fm69dZb9eCDD+rjjz+WJP3v//6v1q5dqyeeeEIlJSV65ZVXFB4eLklKS0tTRESErFarysvLVV5eriuuuOK0Xr766itt2rRJd911l7y9vU/b/7Of/UzSN4HygQceUG1trbKyspSVlaWDBw/qgQceaBVg9u3bp9LSUr3yyitavny5iouL9d///d/auXOn1q5dq0WLFmn9+vV65513ThvroEGDtGHDBo0dO1YpKSmaPXu2Ro0apTfffFNDhw7VI488osbGRkmSzWbTb37zG4WGhurNN9/U4sWLVVhYqIyMjFZ18/Pz1a1bN/35z3/W448/rszMTBUVFZ3zZyVJF198saRvZkx37typhx9+WFFRUcrPz9fs2bO1cuVKrV+/XpJ06NAhJScnKz4+XkVFRVq/fr0mTJggSfrlL3+ppKQkBQYGOj6TX/7yl5Iki8WiefPmqaCgQM8995x27Nihp5566px7/Pjjj/Xpp59q2rRp6tat22n7v/0cT548qWnTpsnLy0uvv/66VqxYoW3btrW6xL927Vr99a9/1YIFC/TnP/9ZLS0tys/Pb1Xv+eef1xtvvKH58+ersLBQM2bM0BNPPKGysjJJZ/9unkleXp68vLx05513nrbvzjvvlJeXlwoKCuTm5qbY2NjT+snPz1dQUJAGDhwowzA0Y8YM2Ww2vfrqq47vz69+9SsdPHjQ8ZrGxkb9/ve/14IFC1RYWKiAgACdOHFC48ePV3Z2tl5//XWFhoZqxowZOnr0aPsfAmAWBoAfLCUlxZgxY4bx1VdfGYMGDTI+//xz4+DBg8bAgQONffv2OfZ/a+TIkcby5ctb1Zg6daoxe/ZswzAMY+3atUZ0dLTR1NR0xvNNnTrVWLBgwVl7qqysNIKDg42SkpKzHldeXm5cffXVxt69ex3b9uzZY4SEhBgffPCBYRiG8eKLLxqDBg0yjh8/7jjmwQcfNIYPH240Nja22dfo0aONWbNmOf6uq6szgoODjaeeesqxbe/evUZwcLCxY8cOwzAMIyMjw4iKijLsdrvjmJycHGPgwIHGyZMnHee54447Wo3j3nvvNebNm9fmOP/v//7PCA4ONmpraw3DMIwjR44Y999/vxEREWEcPnzYSE5ONu6+++5Wr3nxxReNm266yTAMw9i5c6cRHBxsfPnll2es/+KLLxqxsbFtnv9b77//vjFw4EDH+L7f1/cVFhYawcHBxq5du85a9y9/+YsxZMgQ4+uvvz5tzDU1NYZhGMaIESOM3//+9479drvdiI6ONqZOnWoYhmGcOHHCGDRokPH3v/+9Ve1FixYZ06dPNwyj/e/m902bNs0YN25cm/vHjRvnqP3xxx8bwcHBxhdffOHYHxUVZbz88suGYRjG5s2bjWuvvdaor69vVWP8+PHGypUrDcP45rsSHBxsVFVVnbWvlpYWY8SIEcabb77p2DZ69Ghj9erVbf4NdHTurg6RgJldeumlioqKUk5Oji655BINHz78tN/D1dXV6eDBg7ruuutabR8yZIg2btwoSbrtttuUlZWlW265RSNHjtRNN92kW265RZ6enufci/GdWbSzqa6uVs+ePdWnTx/Htr59+6pnz57avXu3brzxRknf/ObvkksucRzj5+en/v37t+rJz89PtbW1reqHhIQ4/re3t7e6d++u4OBgx7bLLrtMkhx3Z1ZXV2vw4MFyc/t/Fwauu+46nTp1Sl988YWuvvrq0+pKUs+ePU8795nccsstkr6Zuerfv79eeOEF+fn56bPPPtOoUaNaHXvddddpxYoVqqur09VXX60bb7xRcXFxGjlypCIjI3XbbbfJ19f3rOerqKjQypUrVV1dra+//lotLS06deqUDh06JH9//3b7PVfV1dUKCQmRj4+PY1tERITc3Ny0e/du+fr66tChQ7r22msd+93c3BQeHu64dL579241NjZq+vTprWaPT506pd69e0s6P9/Ntlx99dUKDg5WXl6eZs6cqcrKSu3Zs0fjxo2TJO3atUv19fWKjIxs9brGxkbt3bvX8be7u7tCQ0NbHVNbW6sXXnhBW7Zs0eHDh9XS0qKGhgbt37//J/cNdBSEOOAnSkhIUEpKiry8vPTwww//oNd++y/OK664QsXFxaqoqNDmzZv19NNP66WXXtJf//pXeXl5nVOtfv36yWKxqLq6WlFRUT94HN/tR5I8PDxO23embd//XZq7u/tpx3x327fnOJffs323nzPVPZfgmpmZqR49esjX17dV4GlPt27dtHbtWm3fvl0ffPCB3njjDWVkZGj9+vWOYPl9+/bt03333ac77rhDDz30kHr06KF//vOfSk5O1qlTp87pvP3795f0TUi75pprzrnf7/r+5fy2fPv+vfzyy6f9x8e37/cP/W72799fH330kZqamk4Lek1NTdq7d6+GDx/u2DZ+/Hi98cYbmjlzpvLz83Xdddc5AmRLS4suu+wyvfbaa6ed57ufpaen52mXnlNSUlRbW6u5c+eqd+/e8vT01L333nvOnwNgBvwmDviJIiMj5eHhoa+++kq33nrraft9fHzUs2dPffTRR622b926VUFBQY6/L7roIt18882aN2+e3njjDX366aeO5SQ8PDzaveOuR48eGjlypNavX68TJ06ctv/bH9cHBQXp4MGDrW6O2Lt3rw4ePKirrrrq3Ad+ngQFBamysrJVqPvoo4/k4eGhn//85z+5fp8+ffTzn//8tAB35ZVXnrZcx0cffaRevXo5jrVYLI4bP3JyctSzZ0/H7/DO9Jns3LlTp06d0ty5cxUREaHAwMBWv906F6Ghobrqqqu0Zs2aM37m3/0c//3vf6uurs6xb9u2bWppaVFQUJAuueQSXX755aqsrHTsNwxDO3bscPwdFBQkT09P/ec//1G/fv1a/fNtkJLO/t38vri4OJ08eVLZ2dmn7cvOztbJkycdM22SNG7cOO3Zs0fbt29XUVGRxo8f79g3cOBAHT58WG5ubqf15+fnd9b38aOPPtLUqVN18803a8CAAfL29tahQ4fO+hrAbJiJA34ii8XiuPOzrUtM06ZN04svvqj+/ftr4MCBysvL0z/+8Q9t2LBB0jd32NntdoWHh8vLy0tvv/22PDw81K9fP0lS7969VVVVpS+//FJeXl7q0aNHq8uP33riiSc0ZcoUJSQk6OGHH1ZISIgMw9CWLVu0cuVKlZWV6cYbb1RISIjmzJmjtLQ0SdKiRYt0zTXX6IYbbnDGW3RWd955pzIzM/Xkk0/qV7/6lfbu3avnnntOU6dOVffu3Z123qSkJE2cONFxJ25VVZXWrl2r5ORkSdL27du1efNmjRw5Updddpn++c9/av/+/Y7g3bt3b/3nP//Rrl27dMUVV8jHx0f9+vVTS0uLMjMzFRUVpcrKSmVmZv6gviwWi9LT03Xvvffqzjvv1P3336+goCDV19dr48aNevvtt5Wbm6tx48bpxRdfVEpKih566CEdP35c8+fPV3R0tON7c88992jlypXq37+/goODlZ2drUOHDqlnz56SvvkPjKSkJC1dulSGYWjYsGE6efKktm/fLjc3NyUmJrb73fy+a6+9VklJSXr22WfV1NSkqKgoWSwWvfPOO3rhhRf0m9/8ptWNEb169dKwYcP0xBNP6Ouvv9Ztt93m2HfjjTdqyJAheuCBBzRnzhxdeeWVOnz4sDZt2qQbb7xRQ4cObfN9DAwMVF5engYPHqyTJ0/qmWeeOW0mGTA7QhxwHrR3me6ee+7RiRMn9Mwzz6i2tlaBgYFavny547Lcz372M61atUpPP/20mpubFRQUpOXLl6tv376Svgkcqampio2NVUNDg0pLS1v9pu1bffv2VW5url599VU9++yzstls6tGjh66++mrHYsEWi0W///3vtWjRIt1zzz2SvvmX5eOPP37Ol+HOJ39/f61atUpLly7VhAkT9LOf/UxxcXGOMOUsAwcO1AsvvKDly5fr1VdflZ+fn2bMmKGpU6dKki655BJt3bpV69ev1/Hjx3XFFVfogQcecNyhGhMTo3feeUf33nuvjh8/rvT0dFmtVqWlpWnVqlV6/vnnFRERoUcffVSzZs36Qb2Fh4c7PscnnnhCR44c0eWXX65BgwZp/vz5kqTu3btrzZo1WrJkiSZNmqSLLrpIt9xyiyOYS998bw4fPqzHHntMkjRhwgSNGzdOn332meOY3/3ud7rsssu0du1aPfnkk/Lx8VFoaKimT58uqf3v5pmkpKQoJCRE2dnZeumllyRJwcHBWrRokW6//fbTjh8/frzS0tIUFRWlSy+91LHdYrFo5cqVev755/X444/ryJEj8vPz05AhQ85Y57uWLFmixx9/XFarVT179tTMmTO5MxWdjsU4119DAwAAoMPgN3EAAAAmRIgDAAAwIUIcAACACRHiAAAATIgQBwAAYEKEOAAAABMixAEAAJgQIQ4AAMCECHEAAAAmRIgDAAAwIUIcAACACRHiAAAATIgQBwAAYEKEOAAAABMixAEAAJgQIQ4AAMCECHEAAAAmRIgDAAAwIUIcAACACRHiAAAATIgQBwAAYEKEOAAAABMixAEAAJgQIQ4AAMCECHEAAAAmRIgDAAAwIUIcAACACRHiAAAATIgQBwAAYEKEOAAAABMixAEAAJiQu6sbuNCGDx+u3r17u7oNAACAdu3bt09btmw5474uF+J69+6t3NxcV7cBAADQLqvV2uY+LqcCAACYUJcLcYbh6g4AAICZNZ6yu7oFSV3wcqrFIl33SJar2wAAACb10TP3uLoFSV1wJg4AAKAzIMQBAACYECEOAADAhAhxAAAAJkSIAwAAMCFCHAAAgAkR4gAAAEyIEAcAAGBCTg1x69atU2xsrOLi4pScnKzGxkZVVFQoPj5ecXFxSklJUXNzsySpurpaiYmJCgsL05o1a1rV2bhxo2JiYhQVFaWVK1c6trdVCwAAoLNzWoiz2WzKyspSTk6OCgoKZLfblZ+fr9TUVGVkZKigoEABAQHasGGDJKlHjx5KS0vTtGnTWtWx2+1auHChVq9ercLCQhUUFGj37t1qaWlpsxYAAEBn59SZOLvdroaGBjU3N6uhoUFeXl7y8PBQYGCgJGnEiBEqKSmRJPn5+Sk8PFzu7q2fBLZjxw7169dPffv2laenp2JjY1VaWqqvvvqqzVoAAACdndNCnL+/v5KSkjR69GiNHDlSPj4+Gjt2rOx2u6qqqiRJxcXFOnDgwFnr2Gw29erVq1Vdm82m//qv//rBtQAAADoL9/YP+XGOHTum0tJSlZaW6pJLLtHDDz+svLw8ZWRkKD09XU1NTRoxYoTc3H5cjrRYLOetFgAAgNk4LcRt3rxZffr0ka+vryQpOjpa27Zt04QJE5SdnS1JKi8vV01NzVnr+Pv7t5phs9ls8vf3lyRFRET8oFoAAACdhdOmrgICAlRZWan6+noZhqGKigoFBQWptrZWktTU1KRVq1Zp8uTJZ60zaNAg1dTUaO/evWpqalJhYaHGjBkjST+4FgAAQGfhtJm4wYMHKyYmRvHx8XJ3d1doaKgSExO1bNkylZWVqaWlRVOmTFFkZKQk6dChQ0pISFBdXZ3c3NyUmZmpoqIi+fj4aP78+Zo+fbrsdrsSEhI0YMAASdLq1avPWAsAAKCzsxiGYbi6iQvJarXqi6DbXd0GAAAwqY+eueeCnctqtSo3N/eM+7gTAAAAwIQIcQAAACZEiAMAADAhQhwAAIAJEeIAAABMiBAHAABgQoQ4AAAAE3LaYr8dlWFc2PVdAABA59J4yq6LPLq5uo2uNxNnsbi6AwAAYGYdIcBJXTDEAQAAdAaEOAAAABMixAEAAJgQIQ4AAMCECHEAAAAm1AVDnOHqBtDBGM2Nrm4BAIAfrMutEydZtGfhIFc3gQ7k5/OrXN0CAAA/WBeciQMAADA/QhwAAIAJEeIAAABMiBAHAABgQoQ4AAAAEyLEAQAAmBAhDgAAwIScGuLWrVun2NhYxcXFKTk5WY2NjaqoqFB8fLzi4uKUkpKi5uZmSVJ1dbUSExMVFhamNWvWtKqzceNGxcTEKCoqSitXrnRsnz17tmJiYhQXF6e5c+fq1KlTzhwOAABAh+G0EGez2ZSVlaWcnBwVFBTIbrcrPz9fqampysjIUEFBgQICArRhwwZJUo8ePZSWlqZp06a1qmO327Vw4UKtXr1ahYWFKigo0O7duyVJ48ePV3FxsfLz89XY2KjXX3/dWcMBAADoUJw6E2e329XQ0KDm5mY1NDTIy8tLHh4eCgwMlCSNGDFCJSUlkiQ/Pz+Fh4fL3b31QyR27Nihfv36qW/fvvL09FRsbKxKS0slSaNGjZLFYpHFYlF4eLhsNpszhwMAANBhOC3E+fv7KykpSaNHj9bIkSPl4+OjsWPHym63q6rqm8ccFRcX68CBA2etY7PZ1KtXr1Z1vx/WTp06pbfeeks33XTT+R8IAABAB+S0EHfs2DGVlpaqtLRUmzZtUn19vfLy8pSRkaH09HRNnDhR3t7ecnP76S0sWLBAQ4cO1dChQ89D5wAAAB2fe/uH/DibN29Wnz595OvrK0mKjo7Wtm3bNGHCBGVnZ0uSysvLVVNTc9Y6/v7+rWbrbDab/P39HX+vWLFCR44c0YoVK87/IAAAADoop83EBQQEqLKyUvX19TIMQxUVFQoKClJtba0kqampSatWrdLkyZPPWmfQoEGqqanR3r171dTUpMLCQo0ZM0aS9Prrr6u8vFwZGRnnZUYPAADALJw2Ezd48GDFxMQoPj5e7u7uCg0NVWJiopYtW6aysjK1tLRoypQpioyMlCQdOnRICQkJqqurk5ubmzIzM1VUVCQfHx/Nnz9f06dPl91uV0JCggYMGCBJeuKJJxQQEKDExERJUlRUlGbOnOmsIQEAAHQYFsMwDFc3cSFZrVY9f+2nrm4DHcjP51e5ugUAAM7IarUqNzf3jPu4BgkAAGBChDgAAAATIsQBAACYECEOAADAhAhxAAAAJkSIAwAAMCFCHAAAgAkR4gAAAEzIaU9s6LgMFndFK0ZzoyzuF7m6DQAAfpAuOBNncXUD6GAIcAAAM+qCIQ4AAMD8CHEAAAAmRIgDAAAwIUIcAACACXW5EGfIcHUL+JEamxtd3QIAAB1Gl1tixCKLRiwf4eo28CN88OAHrm4BAIAOo8vNxAEAAHQGhDgAAAATIsQBAACYECEOAADAhAhxAAAAJkSIAwAAMCFCHAAAgAkR4gAAAEzIqSFu3bp1io2NVVxcnJKTk9XY2KiKigrFx8crLi5OKSkpam5uliRVV1crMTFRYWFhWrNmTas6c+fOVWRkpOLi4lpt/9e//qXExESNGzdO999/v+rq6pw5HAAAgA7DaSHOZrMpKytLOTk5KigokN1uV35+vlJTU5WRkaGCggIFBARow4YNkqQePXooLS1N06ZNO62W1WrV6tWrT9uelpam2bNnKz8/X7feeusZjwEAAOiMnDoTZ7fb1dDQoObmZjU0NMjLy0seHh4KDAyUJI0YMUIlJSWSJD8/P4WHh8vd/fQngQ0bNkyXXnrpadtramo0bNiw02oBAAB0dk4Lcf7+/kpKStLo0aM1cuRI+fj4aOzYsbLb7aqqqpIkFRcX68CBAz/6HAMGDFBpaamj1v79+89L7wAAAB2d00LcsWPHVFpaqtLSUm3atEn19fXKy8tTRkaG0tPTNXHiRHl7e8vN7ce3sHjxYmVnZ8tqterEiRPy9PQ8jyMAAADouE6/dnmebN68WX369JGvr68kKTo6Wtu2bdOECROUnZ0tSSovL1dNTc2PPkdQUJDWrl0rSfr8889VVlb2U9sGAAAwBafNxAUEBKiyslL19fUyDEMVFRUKCgpSbW2tJKmpqUmrVq3S5MmTf/Q5vq3V0tKil19++SfVAgAAMBOnzcQNHjxYMTExio+Pl7u7u0JDQ5WYmKhly5aprKxMLS0tmjJliiIjIyVJhw4dUkJCgurq6uTm5qbMzEwVFRXJx8dHycnJ+vDDD3X06FH94he/0IMPPqhJkyapoKDAMasXFRWlhIQEZw0HAACgQ7EYhmG4uokLyWq1yjba5uo28CN88OAHrm4BAIALymq1Kjc394z7eGIDAACACRHiAAAATIgQBwAAYEKEOAAAABMixAEAAJgQIQ4AAMCECHEAAAAm5LTFfjsqQwbrjZlUY3OjLnK/yNVtAADQIXS5mTiLLK5uAT8SAQ4AgP+ny4U4AACAzoAQBwAAYEKEOAAAABMixAEAAJgQIQ4AAMCEul6IMwxXd9CltTQ2uroFAAA6hS63TpwsFr3/i1Gu7qLLGrXxfVe3AABAp9D1ZuIAAAA6AUIcAACACRHiAAAATIgQBwAAYEKEOAAAABMixAEAAJgQIQ4AAMCECHEAAAAm5NQQt27dOsXGxiouLk7JyclqbGxURUWF4uPjFRcXp5SUFDU3N0uSqqurlZiYqLCwMK1Zs6ZVnY0bNyomJkZRUVFauXKlY/v69esVFRWlkJAQHTlyxJlDAQAA6FCcFuJsNpuysrKUk5OjgoIC2e125efnKzU1VRkZGSooKFBAQIA2bNggSerRo4fS0tI0bdq0VnXsdrsWLlyo1atXq7CwUAUFBdq9e7ckaciQIfrDH/6g3r17O2sYAAAAHZJTZ+LsdrsaGhrU3NyshoYGeXl5ycPDQ4GBgZKkESNGqKSkRJLk5+en8PBwubu3fhLYjh071K9fP/Xt21eenp6KjY1VaWmpJOmaa65Rnz59nDkEAACADslpIc7f319JSUkaPXq0Ro4cKR8fH40dO1Z2u11VVVWSpOLiYh04cOCsdWw2m3r16tWqrs1mc1bbAAAApuC0EHfs2DGVlpaqtLRUmzZtUn19vfLy8pSRkaH09HRNnDhR3t7ecnPj3goAAIAfyr39Q36czZs3q0+fPvL19ZUkRUdHa9u2bZowYYKys7MlSeXl5aqpqTlrHX9//1azdTabTf7+/s5qGwAAwBScNg0WEBCgyspK1dfXyzAMVVRUKCgoSLW1tZKkpqYmrVq1SpMnTz5rnUGDBqmmpkZ79+5VU1OTCgsLNWbMGGe1DQAAYApOm4kbPHiwYmJiFB8fL3d3d4WGhioxMVHLli1TWVmZWlpaNGXKFEVGRkqSDh06pISEBNXV1cnNzU2ZmZkqKiqSj4+P5s+fr+nTp8tutyshIUEDBgyQJGVlZWn16tU6fPiwxo8fr1GjRmnx4sXOGhIAAECHYTEMw3B1ExeS1WrVw4drXd1GlzVq4/uubgEAANOwWq3Kzc094z7uKgAAADAhQhwAAIAJEeIAAABMiBAHAABgQoQ4AAAAE21gNfIAACAASURBVCLEAQAAmBAhDgAAwISctthvh2UYrFXmQi2NjXK76CJXtwEAgOl1vZk4i8XVHXRpBDgAAM6PrhfiAAAAOgFCHAAAgAkR4gAAAEyIEAcAAGBCXS/EGa5uoPNrPmV3dQsAAHR6XW+JEYu0Yna+q7vo1GY+N87VLQAA0Ol1vZk4AACATqDdEFdfX6+XXnpJjz32mCSppqZG7733ntMbAwAAQNvaDXFz586Vp6entm/fLkny9/fX888/7/TGAAAA0LZ2Q9yePXv0m9/8Ru7u3/x8rnv37jIM7g4AAABwpXZDnKenpxoaGmT5/x9XtWfPHnl6ejq9MQAAALSt3btTH3zwQU2fPl379+/X7NmztW3bNqWnp1+I3gAAANCGdkPciBEjdM0116iyslKGYSgtLU2+vr4XojcAAAC0oc0Qt2vXrlZ/X3755ZKk/fv3a//+/Ro4cKBzOwMAAECb2gxx//M//yNJampq0s6dOxUSEiJJ+uSTTxQWFqa//OUv7RZft26dXn/9dVksFgUHBys9PV1bt27V0qVLderUKQ0cOFCLFy+Wu7u7qqurNW/ePO3atUuzZs3StGnTWtWy2+1KSEiQv7+/Xn31VUmSYRh6/vnnVVxcLDc3N02ZMkX33HPPj34zAAAAzKLNEPfHP/5RkjRz5kzl5uY6Qty///1vrVixot3CNptNWVlZKioq0sUXX6yHH35Y+fn5Wr58udatW6fAwEC98MIL2rBhgyZNmqQePXooLS1NpaWlZ6yXlZWloKAg1dXVObbl5uZq//79evvtt+Xm5qba2tofNHgAAACzavfu1M8//9wR4CQpODhY1dXV51TcbreroaFBzc3NamhokJeXlzw8PBQYGCjpm9/blZSUSJL8/PwUHh7uWMrkuw4cOKCysjJNnDix1fY//elP+u1vfys3NzdHDQAAgK6g3RAXEhKitLQ0bdmyRVu2bNFjjz3WKtS1xd/fX0lJSRo9erRGjhwpHx8fjR07Vna7XVVVVZKk4uJiHThwoN1aS5Ys0SOPPOIIa9/au3evioqKZLVaNX36dNXU1LRbCwAAoDNoN8Slp6drwIABysrKUlZWlq666qpzWmLk2LFjKi0tVWlpqTZt2qT6+nrl5eUpIyND6enpmjhxory9vU8LZt/33nvvydfXV2FhYafta2pq0kUXXaTc3FzdcccdmjdvXrt9AQAAdAbtLjFy0UUX6c4771RkZKQsFosCAwPl4eHRbuHNmzerT58+juVIoqOjtW3bNk2YMEHZ2dmSpPLy8nZnz7Zu3ap3331XGzduVGNjo+rq6jRnzhw9++yz8vf3V1RUlCQpKipKc+fObbcvAACAzqDdELdlyxalpqaqd+/eMgxD+/fv19NPP61hw4ad9XUBAQGqrKxUfX29Lr74YlVUVCgsLEy1tbXy8/NTU1OTVq1apfvvv/+sdWbPnq3Zs2c7elm7dq2effZZSdKtt96qLVu2qG/fvvrwww/Vv3//cxw2AACAubUb4p5++mmtWbNGV155paRvbnSYPXu2cnNzz/q6wYMHKyYmRvHx8XJ3d1doaKgSExO1bNkylZWVqaWlRVOmTFFkZKQk6dChQ0pISFBdXZ3c3NyUmZmpoqIi+fj4tHmOGTNmaM6cOcrMzJSXl5cWL178Q8YOAABgWhajnafZjxs3Tvn5+e1uMwur1aoxgb92dRud2sznxrm6BQAAOgWr1drmxFm7M3FhYWFKS0vT+PHjJUl5eXlnvMkAAAAAF067IW7BggV67bXXHIv/Dh06VHfeeafTGwMAAEDb2gxxR44c0ZEjR3TVVVfp17/+tX79628uQX766aeqq6tz3HUKAACAC6/NRdqeeuopHT169LTtx44d4wYCAAAAF2szxH3xxRdnXEZk6NCh+uSTT5zaFAAAAM6uzRB34sSJNl906tQppzQDAACAc9NmiOvXr5/ef//907a///776tu3r1ObAgAAwNm1eWPDvHnzdN999+ntt9/WwIEDJUk7d+7U9u3b9corr1ywBs87g3XMnK35lF3uHt1c3QYAAJ1amzNx/fv3V35+voYNG6Z9+/Zp3759GjZsmPLy8hQYGHghezy/LK5uoPMjwAEA4HxnXSfO09NTCQkJF6oXAAAAnKM2Z+IAAADQcRHiAAAATIgQBwAAYEJt/iZu3Liz38GZn59/3psBAADAuWkzxJl6GZGzMQxXd9DpNTc1yd3T09VtAADQqbUZ4nr37n0h+7hwLBYtnjrR1V10amnr33B1CwAAdHpnXWJEkrZv366nnnpKn332mU6dOiW73a7u3btr69atF6I/AAAAnEG7NzYsXLhQGRkZ6tevnyorK7Vo0SLdddddF6I3AAAAtOGc7k7t16+f7Ha7unXrpoSEBG3atMnZfQEAAOAs2r2c2r17dzU1NSk0NFRLly5Vz5491dLSciF6AwAAQBvanYlbunSpDMPQ/Pnz5eXlpf3792vFihUXojcAAAC0od0Q97e//U0XXXSRfHx8NHPmTM2dO1fvvffehegNAAAAbWg3xL355punbduwYYNTmgEAAMC5afM3cQUFBSooKNCXX36p+++/37H9xIkTuvTSSy9IcwAAADizNkNcRESELr/8ch09elRJSUmO7d7e3goJCTmn4uvWrdPrr78ui8Wi4OBgpaena+vWrVq6dKlOnTqlgQMHavHixXJ3d1d1dbXmzZunXbt2adasWZo2bZqjzsaNG7V48WK1tLRo0qRJmjFjhiRp3rx52rlzpwzDUGBgoNLT0+Xt7f1j3wsAAADTaPNyau/evTV8+HD94Q9/0NChQ3X99dfr8ssv14EDB2Scw6OrbDabsrKylJOTo4KCAtntduXn5ys1NVUZGRkqKChQQECA49Jsjx49lJaW1iq8SZLdbtfChQu1evVqFRYWqqCgQLt375b0TYjLy8tTfn6+rrjiCr322ms/5b0AAAAwjXZ/Ezd16lQ1NjbKZrNp2rRpeuutt5SamnpOxe12uxoaGtTc3KyGhgZ5eXnJw8NDgYGBkqQRI0aopKREkuTn56fw8HC5u7eeHNyxY4f69eunvn37ytPTU7GxsSotLZUk+fj4SJIMw1BDQ8O5jxoAAMDk2g1xhmGoe/fuKikp0ZQpU/Tiiy86ZsLOxt/fX0lJSRo9erRGjhwpHx8fjR07Vna7XVVVVZKk4uJiHThw4Kx1bDabevXq1aquzWZz/D137lyNGDFCn332me6+++52+wIAAOgMzinEbdu2Tfn5+br55psl6ZwW+z127JhKS0tVWlqqTZs2qb6+Xnl5ecrIyFB6eromTpwob29vubmd00Mj2pSenq5NmzYpKChIRUVFP6kWAACAWbSboObNm6dXX31Vt956qwYMGKC9e/dq+PDh7RbevHmz+vTpI19fX3l4eCg6Olrbtm1TRESEsrOz9cYbb2jYsGHq37//Wev4+/u3mq2z2Wzy9/dvdUy3bt0UGxvruDQLAADQ2bUb4q6//nq98soruuuuu3TixAn17dtXjz32WLuFAwICVFlZqfr6ehmGoYqKCgUFBam2tlaS1NTUpFWrVmny5MlnrTNo0CDV1NRo7969ampqUmFhocaMGSPDMPTFF19I+ma28N1339WVV155LmMGAAAwvXafnfrJJ58oJSVFx44dk2EY8vX11dNPP60BAwac9XWDBw9WTEyM4uPj5e7urtDQUCUmJmrZsmUqKytTS0uLpkyZosjISEnSoUOHlJCQoLq6Orm5uSkzM1NFRUXy8fHR/PnzNX36dNntdiUkJGjAgAFqaWlRSkqKTpw4IcMwFBISogULFpyfdwUAAKCDsxjtrBcyefJk/e53v9MNN9wgSdqyZYuWLVumP//5zxekwfPNarXqOq+f9js8nF3a+jdc3QIAAJ2C1WpVbm7uGfe1m2ZOnjzpCHCSNHz4cJ08efL8dQcAAIAfrN3LqX379tVLL72kCRMmSJLy8vLUt29fpzcGAACAtrU7E7dkyRIdPXpUDz74oB566CEdPXpUS5YsuRC9AQAAoA1tzsQ1NjbqT3/6k/bs2aPg4GClpKTIw8PjQvYGAACANrQ5E5eSkqKdO3cqODhYGzdu1NKlSy9kXwAAADiLNmfiqqurlZ+fL0maOHGiJk2adMGaAgAAwNm1ORP33QfRf/+h9AAAAHCtNtPZv/71Lw0ZMkTSN09EaGxs1JAhQ2QYhiwWi7Zu3XrBmjyvDIN1zJysualJ7p6erm4DAIBOrc0Q9/HHH1/IPi4ci8XVHXR6BDgAAJyPRxcAAACYECEOAADAhAhxAAAAJkSIAwAAMCFCHAAAgAkR4rqolma7q1sAAAA/QZdcxffjxe+6ugWXC00b4+oWAADAT8BMHAAAgAkR4gAAAEyIEAcAAGBChDgAAAATIsQBAACYECEOAADAhAhxAAAAJuTUdeLWrVun119/XRaLRcHBwUpPT9fWrVu1dOlSnTp1SgMHDtTixYvl7u6u6upqzZs3T7t27dKsWbM0bdo0R525c+eqrKxMfn5+KigocGz/3e9+p88//1yS9PXXX+uSSy7RW2+95cwhAQAAdAhOm4mz2WzKyspSTk6OCgoKZLfblZ+fr9TUVGVkZKigoEABAQHasGGDJKlHjx5KS0trFd6+ZbVatXr16tO2P//883rrrbf01ltvKTo6WlFRUc4aDgAAQIfi1MupdrtdDQ0Nam5uVkNDg7y8vOTh4aHAwEBJ0ogRI1RSUiJJ8vPzU3h4uNzdT58cHDZsmC699NI2z2MYht5++23FxcU5ZyAAAAAdjNNCnL+/v5KSkjR69GiNHDlSPj4+Gjt2rOx2u6qqqiRJxcXFOnDgwE8+1z/+8Q/5+fmpf//+P7kWAACAGTgtxB07dkylpaUqLS3Vpk2bVF9fr7y8PGVkZCg9PV0TJ06Ut7e33Nx+egsFBQXMwgEAgC7FaTc2bN68WX369JGvr68kKTo6Wtu2bdOECROUnZ0tSSovL1dNTc1POk9zc7Peeecd5ebm/tSWAQAATMNpM3EBAQGqrKxUfX29DMNQRUWFgoKCVFtbK0lqamrSqlWrNHny5J90ns2bN+vKK69Ur169zkfbAAAApuC0mbjBgwcrJiZG8fHxcnd3V2hoqBITE7Vs2TKVlZWppaVFU6ZMUWRkpCTp0KFDSkhIUF1dndzc3JSZmamioiL5+PgoOTlZH374oY4ePapf/OIXevDBBzVp0iRJUlFRkWJjY501DAAAgA7JYhiG4eomLiSr1arF1810dRsuF5o2xtUtAACAdlit1jZ/MsYTGwAAAEyIEAcAAGBChDgAAAATIsQBAACYECEOAADAhAhxAAAAJkSIAwAAMCFCHAAAgAk57YkNHRkL3UotzXa5uXdzdRsAAOBHYiauiyLAAQBgboQ4AAAAEyLEAQAAmBAhDgAAwIQIcQAAACbU5UKcYRiubuGCOXXqlKtbAAAATtLllhixWCx68sknXd3GBdFVxgkAQFfU5WbiAAAAOgNCHAAAgAkR4gAAAEyIEAcAAGBChDgAAAATIsQBAACYECEOAADAhAhxAAAAJuTUELdu3TrFxsYqLi5OycnJamxsVEVFheLj4xUXF6eUlBQ1NzdL+uZJCosWLVJUVJTGjRunXbt2OepMmzZNQ4cO1X333XfG8yxatEgRERHOHAoAAECH4rQQZ7PZlJWVpZycHBUUFMhutys/P1+pqanKyMhQQUGBAgICtGHDBknSxo0bVVNTo5KSEj311FOtnjYwffp0LV269Iznqaqq0rFjx5w1DAAAgA7JqTNxdrtdDQ0Nam5uVkNDg7y8vOTh4aHAwEBJ0ogRI1RSUiJJKi0t1e233y6LxaJrr71Wx48f18GDByVJkZGR8vb2PmP9pUuX6pFHHnHmMAAAADocp4U4f39/JSUlafTo0Ro5cqR8fHw0duxY2e12VVVVSZKKi4t14MABSd/M3PXq1cvx+l69eslms531HOvXr9ctt9yinj17OmsYAAAAHZLTQtyxY8dUWlqq0tJSbdq0SfX19crLy1NGRobS09M1ceJEeXt7y83tx7Vgs9lUXFysqVOnnufOAQAAOj53ZxXevHmz+vTpI19fX0lSdHS0tm3bpgkTJig7O1uSVF5erpqaGknfzNx9OysnSQcOHJC/v3+b9T/++GPt2bNH0dHRkqT6+npFRUXpnXfecdKIAAAAOg6nzcQFBASosrJS9fX1MgxDFRUVCgoKUm1trSSpqalJq1at0uTJkyVJY8aM0ZtvvinDMLR9+3ZdcsklZ71MevPNN+uDDz7Qu+++q3fffVfdu3cnwAEAgC7DaTNxgwcPVkxMjOLj4+Xu7q7Q0FAlJiZq2bJlKisrU0tLi6ZMmaLIyEhJ0qhRo/T+++8rKipK3bt315IlSxy17rzzTn322Wc6efKkfvGLX2jx4sW66aabnNU6AABAh2cxDMNwdRMXktVqVXh4uKvbuCC+u0wLAAAwH6vVqtzc3DPu44kNAAAAJkSIAwAAMCFCHAAAgAkR4gAAAEyIEAcAAGBChDgAAAATIsQBAACYkNMW++2oDMPoMuunnTp1Sh4eHq5uAwAAOEGXm4mzWCyubuGCIcABANB5dbkQBwAA0BkQ4gAAAEyIEAcAAGBChDgAAAATIsQBAACYUBcMcYarG7hg7PZGV7cAAACcpMutEydZ9NfXr3d1ExfEHZM+dHULAADASbrgTBwAAID5EeIAAABMiBAHAABgQoQ4AAAAEyLEAQAAmBAhDgAAwIQIcQAAACZEiAMAADAhp4a4devWKTY2VnFxcUpOTlZjY6MqKioUHx+vuLg4paSkqLm5WZJUXV2txMREhYWFac2aNafVstvtuv3223Xfffc5tqWmpmrMmDGaMGGCJkyYoI8//tiZwwEAAOgwnPbEBpvNpqysLBUVFeniiy/Www8/rPz8fC1fvlzr1q1TYGCgXnjhBW3YsEGTJk1Sjx49lJaWptLS0jPWy8rKUlBQkOrq6lptf/TRR3Xbbbc5axgAAAAdklNn4ux2uxoaGtTc3KyGhgZ5eXnJw8NDgYGBkqQRI0aopKREkuTn56fw8HC5u5+eKw8cOKCysjJNnDjRme0CAACYhtNCnL+/v5KSkjR69GiNHDlSPj4+Gjt2rOx2u6qqqiRJxcXFOnDgQLu1lixZokceeURubqe3u2zZMo0bN05LlixRU1PTeR8HAABAR+S0EHfs2DGVlpaqtLRUmzZtUn19vfLy8pSRkaH09HRNnDhR3t7eZwxm3/Xee+/J19dXYWFhp+1LTk5WcXGxcnJydOzYMa1cudJZwwEAAOhQnPabuM2bN6tPnz7y9fWVJEVHR2vbtm2aMGGCsrOzJUnl5eWqqak5a52tW7fq3Xff1caNG9XY2Ki6ujrNmTNHzz77rHr27ClJ8vT0lNVq1dq1a501HAAAgA7FaTNxAQEBqqysVH19vQzDUEVFhYKCglRbWytJampq0qpVqzR58uSz1pk9e7Y2btyod999VxkZGbrhhhv07LPPSpIOHjwoSTIMQ3/72980YMAAZw0HAACgQ3HaTNzgwYMVExOj+Ph4ubu7KzQ0VImJiVq2bJnKysrU0tKiKVOmKDIyUpJ06NAhJSQkqK6uTm5ubsrMzFRRUZF8fHzaPMecOXN09OhRGYahq6++WgsWLHDWcAAAADoUi2EYhqubuJCsVqsmT/nS1W1cEHdM+tDVLQAAgJ/AarUqNzf3jPt4YgMAAIAJEeIAAABMiBAHAABgQoQ4AAAAEyLEAQAAmBAhDgAAwIQIcQAAACbktMV+Oy6jy6yfZrc3qlu3i1zdBgAAcIIuOBNncXUDFwwBDgCAzqsLhjgAAADzI8QBAACYECEOAADAhAhxAAAAJtTlQpzh6gbOs0a73dUtAAAAF+hyS4xYJA1+439d3cZ5UzkxxtUtAAAAF+hyM3EAAACdASEOAADAhAhxAAAAJkSIAwAAMCFCHAAAgAkR4gAAAEyIEAcAAGBChDgAAAATcmqIW7dunWJjYxUXF6fk5GQ1NjaqoqJC8fHxiouLU0pKipqbmyVJ1dXVSkxMVFhYmNasWdOqzsaNGxUTE6OoqCitXLnytPMsWrRIERERzhwKAABAh+K0EGez2ZSVlaWcnBwVFBTIbrcrPz9fqampysjIUEFBgQICArRhwwZJUo8ePZSWlqZp06a1qmO327Vw4UKtXr1ahYWFKigo0O7dux37q6qqdOzYMWcNAwAAoENy6kyc3W5XQ0ODmpub1dDQIC8vL3l4eCgwMFCSNGLECJWUlEiS/Pz8FB4eLnf31k8C27Fjh/r166e+ffvK09NTsbGxKi0tddRfunSpHnnkEWcOAwAAoMNxWojz9/dXUlKSRo8erZEjR8rHx0djx46V3W5XVVWVJKm4uFgHDhw4ax2bzaZevXq1qmuz2SRJ69ev1y233KKePXs6axgAAAAdktNC3LFjx1RaWqrS0lJt2rRJ9fX1ysvLU0ZGhtLT0zVx4kR5e3vLze3HtWCz2VRcXKypU6ee584BAAA6Pvf2D/lxNm/erD59+sjX11eSFB0drW3btmnChAnKzs6WJJWXl6umpuasdfz9/VvN1tlsNvn7++vjjz/Wnj17FB0dLUmqr69XVFSU3nnnHecMCAAAoANxWogLCAhQZWWl6uvrdfHFF6uiokJhYWGqra2Vn5+fmpqatGrVKt1///1nrTNo0CDV1NRo79698vf3V2FhoZ577jkNGDBAH3zwgeO4iIgIAhwAAOgynBbiBg8erJiYGMXHx8vd3V2hoaFKTEzUsmXLVFZWppaWFk2ZMkWRkZGSpEOHDikhIUF1dXVyc3NTZmamioqK5OPjo/nz52v69Omy2+1KSEjQgAEDnNU2AACAKVgMwzBc3cSFZLVaVX3nfa5u47ypnBjj6hYAAICTWK1W5ebmnnEfT2wAAAAwIUIcAACACRHiAAAATIgQBwAAYEKEOAAAABMixAEAAJgQIQ4AAMCECHEAAAAm5LQnNnRUhjrXArmNdrsu6tbN1W0AAIALrMvNxFlc3cB5RoADAKBr6nIhDgAAoDPocpdT9+3bJ6vV6uo2AAAA2rVv374291kMwzAuYC8AAAA4D7icCgAAYEKEOAAAABMixAEAAJgQIQ4AAMCECHEAAAAmRIgDAAAwoS6zTtzGjRu1ePFitbS0aNKkSZoxY4arW+ow5s6dq7KyMvn5+amgoECS9NVXX2nWrFnat2+fevfureeff16XXnqpizt1nf379+vRRx9VbW2tLBaL7rjjDv3qV7/iffqexsZG3XXXXWpqapLdbldMTIweeugh7d27V8nJyfrqq680cOBALV26VJ6enq5u16XsdrsSEhLk7++vV199lffoDMaMGSNvb2+5ubmpW7duys3N5f9zZ3D8+HE99thj+ve//y2LxaIlS5YoMDCQ9+k7PvvsM82aNcvx9969e/XQQw/p9ttvN/X71CVm4ux2uxYuXKjVq1ersLBQBQUF2r17t6vb6jCsVqtWr17datvKlSsVGRmpkpISRUZGauXKlS7qrmPo1q2bUlNTVVRUpL/85S/Kzs7W7t27eZ++x9PTU5mZmcrLy9Obb76pTZs2afv27f9fe/ca0/S9x3H8XTU6vDQKIt2UGalzMw7xGpHonIhIpAgaEzU+2WKC0TGjGB3KgyUaFBMx02dm08RbjMYLNUFdhlWMQwZGhRhYolYjoGAiRATkUvidB5zTHUDdydmyUvt5Per/QvvtJ//fP1/+/bc/9u7dy1dffcUvv/yC1WrlzJkzvi7V544ePYrdbvcuK6M3O3LkCE6nk3PnzgE6N71JVlYWc+fO5fLlyzidTux2u3LqISIiAqfT6T2WgoKCWLhwod/nFBBNXFlZGWPHjiU8PJyBAweSmJjIlStXfF1WnzFz5sxe/3lcuXKFlJQUAFJSUsjPz/dFaX3GqFGjmDRpEgBDhw4lIiKC2tpa5dSDxWJhyJAhAHg8HjweDxaLhaKiIhYtWgTA0qVLA3781dTUcO3aNZYvXw6AMUYZ/Y805rp79eoVJSUl3mNp4MCBWK1W5fQON2/eJDw8nNGjR/t9TgHRxNXW1mKz2bzLYWFh1NbW+rCivu/FixeMGjUKgNDQUF68eOHjivqOqqoqKioqiIqKUk5v0NHRQXJyMjExMcTExBAeHo7VamXAgK67N2w2W8CPv127drFlyxb69es6BdfX1yujt1izZg3Lli3j1KlTgM5NPVVVVREcHMy2bdtISUkhMzOT5uZm5fQOeXl5OBwOwP+Pp4Bo4uSvsVgsWCwWX5fRJzQ1NbFhwwa2b9/O0KFDu21TTl369++P0+mkoKCAsrIy3G63r0vqU65evUpwcDCff/65r0vp806ePMn58+f58ccfOXHiBCUlJd22a8x1XfEuLy9n1apV5ObmEhQU1OsjQeX0h7a2NlwuFwkJCb22+WNOAdHEhYWFUVNT412ura0lLCzMhxX1fSEhITx//hyA58+fExwc7OOKfK+9vZ0NGzaQlJREfHw8oJzexWq1MmvWLO7evUtDQwMejwfo+igxkMff7du3cblcxMbGkp6eTlFREVlZWcroDf6TQUhICAsXLqSsrExjrgebzYbNZiMqKgqAhIQEysvLldNbXL9+nUmTJjFy5EjA/8/hAdHERUZG8vjxYyorK2lrayMvL4/Y2Fhfl9WnxcbGkpubC0Bubi4LFizwcUW+ZYwhMzOTiIgIvv76a+965dRdXV0dDQ0NALS0tFBYWIjdbmfWrFn8/PPPAJw/fz6gx9/mzZu5fv06LpeLffv2ER0dTU5OjjLqobm5mcbGRu/jX3/9lU8++URjrofQ0FBsNpv3ivfNmzex2+3K6S3y8vJITEz0Lvt7ThZjjPF1Ef+EgoICdu3a5f1a/7p163xdUp+Rnp5OcXEx9fX1hISE8O233xIXF8fGrtQSXwAABHRJREFUjRt59uwZH330ET/88APDhw/3dak+c+vWLVavXs2ECRO89zGlp6czefJk5fRffv/9dzIyMujo6MAYQ0JCAmlpaVRWVrJp0yZevnzJxIkT2bt3b8D/fAbAb7/9xuHDh70/MaKM/lBZWck333wDdN1n6XA4WLduHfX19RpzPVRUVJCZmUl7ezvh4eHs3r2bzs5O5dRDc3Mz8+fPJz8/n2HDhgH4/fEUME2ciIiIyPskID5OFREREXnfqIkTERER8UNq4kRERET8kJo4ERERET+kJk5ERETED6mJE5GAk5OTQ1FREfn5+Rw8eLDX9uLiYlasWNFtncfjISYmRtNhiUifoSZORAJOaWkpU6ZMobi4mBkzZvTaPmPGDGpqaqiurvauKywsZPz48ZpJQUT6DP1OnIgEjD179nDjxg2qqqr4+OOPefLkCWPGjGHRokWkpaV12zc7O5vg4GBSU1MByMjIYNq0aTgcDnbu3Mn9+/fxeDykpaURFxfHuXPncLlcvH79msrKSuLi4ti6dSsAU6dO5c6dOwBcvnyZa9eukZ2dTV1dHd9//z1Pnz4FYPv27UyfPp3i4mKysrKArvkcjx8/3muuXhERjIhIACktLTU7duwwbW1tZsWKFW/dr6yszCQnJxtjjGltbTXR0dGmvr7e5OTkmNzcXGOMMS9fvjTx8fGmqanJnD171sTGxpqGhgbT0tJivvzyS/P06VNjjDFTpkzxPu+lS5fMd999Z4wxJj093ZSUlBhjjKmurjYJCQnGGGPWrl1rbt26ZYwxprGx0bS3t//NKYjI+2CAr5tIEZF/Unl5OZ999hlutxu73f7W/SIjI2lubsbtduN2u4mKimL48OHcuHEDl8vF4cOHAWhtbeXZs2cAzJ492zudj91up7q6mg8//PCtr1FYWMiDBw+8y42NjTQ1NTFt2jSys7NJSkoiPj6eIUOG/B1vXUTeM2riRCQgVFRUkJGRQU1NDSNGjKClpQVjDMnJyZw6dYoPPvig198kJiZy8eJFHj582G3S7AMHDhAREdFt39LS0m5znfbv35+Ojo5ez9na2up93NnZyenTpxk0aFC3fVJTU5k3bx4FBQWsWrWKn3766Z0Np4gEJn2xQUQCwsSJE3E6nYwbN46LFy8SHR3NoUOHcDqdb2zgABwOBxcuXKCoqIgFCxYAMGfOHI4fP4759+3E5eXlf/raI0eO5OHDh3R2dpKfn+9dP2fOHI4dO+ZdrqioAODJkyd8+umnpKamEhkZyaNHj/7v9y0i7y81cSISMOrq6rBarfTr1w+328348ePfub/dbicoKIjo6GgGDx4MwPr16/F4PCxZsoTExET279//p6+7efNm1q5dy8qVKwkNDfWuz8zM5N69eyQlJbF48WJOnjwJwJEjR3A4HCQlJTFgwAC++OKLv/CuReR9pW+nioiIiPghXYkTERER8UNq4kRERET8kJo4ERERET+kJk5ERETED6mJExEREfFDauJERERE/JCaOBERERE/9C+cV4o7NaLqVQAAAABJRU5ErkJggg==\n",
"text/plain": [
"
"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "I96ep2j6ZtRc"
},
"source": [
"Given the above, we can see there are most venues in price category 2 (the second lowest price category). As for distribution of rankings, there is limited correlation between the categories and ratings for the venues with highest ratings (between 0 and 50), except for it being represented by price categories 1, 2, and 3 - not 4."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CKKT7ukFq5_f"
},
"source": [
"###Metric for determining business opportunities\n",
"In order to provide recommendations for business opportunities, we will create a metric that answers the following:\n",
"1. Which areas are most attractive for new businesses?\n",
"2. Which venue categories are recommended in each area?\n",
"3. In the most attractive area, what are the recommended venue categories and associated price ranges of the given venue?\n",
"\n",
"We will calculate this as follows:\n",
"- Select the 50 most popular venues\n",
"- Recommend the most attractive areas according on the mean venue rating for each area\n",
"- Recommend venue category based on which venue category is most popular in that area\n",
"- Drill down into the most popular postal area, and recommend business opportunities in that area based upon the existing popular venues\n",
"\n",
"Given the above, one will have a good understanding both on the various popular areas, as well as more specifics on the most popular area in Las Vegas.\n"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "TKbEF0UF7QYl",
"outputId": "9e707df5-0a19-45e4-e992-676d44289e02"
},
"source": [
"# Fetch top 50 venues\n",
"top50 = analysis_df.iloc[0:50]\n",
"top50['Venue_Postal_Code'].cat.remove_unused_categories(inplace=True)\n",
"\n",
"# Group according to posta codel\n",
"top50_df = top50.groupby('Venue_Postal_Code').agg({'Venue_Rank': 'mean', 'Venue_ID' : 'count'}).reset_index().sort_values(by='Venue_Rank')\n",
"top50_df.columns = ['Postal Code', 'Average Rank', '# Venues']\n",
"top50_df"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Postal Code
\n",
"
Average Rank
\n",
"
# Venues
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
89101
\n",
"
7.0
\n",
"
13
\n",
"
\n",
"
\n",
"
1
\n",
"
89102
\n",
"
22.5
\n",
"
18
\n",
"
\n",
"
\n",
"
3
\n",
"
89106
\n",
"
32.5
\n",
"
2
\n",
"
\n",
"
\n",
"
2
\n",
"
89104
\n",
"
37.0
\n",
"
7
\n",
"
\n",
"
\n",
"
4
\n",
"
89109
\n",
"
45.5
\n",
"
10
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Postal Code Average Rank # Venues\n",
"0 89101 7.0 13\n",
"1 89102 22.5 18\n",
"3 89106 32.5 2\n",
"2 89104 37.0 7\n",
"4 89109 45.5 10"
]
},
"metadata": {
"tags": []
},
"execution_count": 27
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "hxdvUf2K3Q1E"
},
"source": [
"# Calculate the most popular venue categories per postal code\n",
"\n",
"# Count the number of categories\n",
"top_cat = top50.groupby(['Postal_Code','Venue_Category']).agg({'Venue_Category': 'count'})\n",
"top_cat.columns = ['Category Count']\n",
"top_cat.reset_index()\n",
"\n",
"# Sort according to most popular categories, then drop the rest\n",
"top_cat = top_cat.sort_values(by=['Postal_Code', 'Category Count'], ascending=False).reset_index()\n",
"top_cat.columns = ['Postal Code', 'Venue Category', 'Category Count']\n",
"top_cat.drop_duplicates(subset=['Postal Code'], keep='first', inplace=True)"
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
},
"id": "CnoPy0Yt_Ph_",
"outputId": "552d556a-3510-4d54-def7-e072bc3dfe31"
},
"source": [
"top50_summary = pd.merge(top50_df, top_cat, on=['Postal Code'])\n",
"top50_summary['Venue Category'].cat.remove_unused_categories(inplace=True)\n",
"top50_summary"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Postal Code
\n",
"
Average Rank
\n",
"
# Venues
\n",
"
Venue Category
\n",
"
Category Count
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
89101
\n",
"
7.0
\n",
"
13
\n",
"
Pizza Place
\n",
"
3
\n",
"
\n",
"
\n",
"
1
\n",
"
89102
\n",
"
22.5
\n",
"
18
\n",
"
Breakfast Spot
\n",
"
3
\n",
"
\n",
"
\n",
"
2
\n",
"
89106
\n",
"
32.5
\n",
"
2
\n",
"
American Restaurant
\n",
"
1
\n",
"
\n",
"
\n",
"
3
\n",
"
89104
\n",
"
37.0
\n",
"
7
\n",
"
Thai Restaurant
\n",
"
2
\n",
"
\n",
"
\n",
"
4
\n",
"
89109
\n",
"
45.5
\n",
"
10
\n",
"
American Restaurant
\n",
"
2
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Postal Code Average Rank # Venues Venue Category Category Count\n",
"0 89101 7.0 13 Pizza Place 3\n",
"1 89102 22.5 18 Breakfast Spot 3\n",
"2 89106 32.5 2 American Restaurant 1\n",
"3 89104 37.0 7 Thai Restaurant 2\n",
"4 89109 45.5 10 American Restaurant 2"
]
},
"metadata": {
"tags": []
},
"execution_count": 29
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jRmOHtRqHkc2"
},
"source": [
"The above is useful: We now know which are the most popular areas, and which venue types in those areas have the highest prevalence. \n",
"If one is looking to open a food venue in Las Vegas, one should seriously consider the above postal areas and venue categories."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 431
},
"id": "nIAGWTdH8hjH",
"outputId": "b2f1a238-7646-4502-e5e7-d44d23ba9388"
},
"source": [
"# Plot the above in a graph\n",
"# Plot the top ranked venue categories\n",
"fig, ax = plt.subplots(figsize=(12, 6))\n",
"ax = sns.barplot(x='Postal Code', y='Average Rank',\n",
" data=top50_summary,\n",
" order=top50_summary['Postal Code'].values)\n",
"\n",
"# Annotating graph with values\n",
"for p in ax.patches:\n",
" ax.annotate(top50_summary.loc[top50_summary['Average Rank']==p.get_height()]['Venue Category'].values[0],\n",
" (p.get_x() + p.get_width() / 2., p.get_height()), \n",
" ha = 'center', va = 'top', \n",
" xytext = (0, 12),\n",
" rotation = 0,\n",
" textcoords = 'offset points',\n",
" size=12\n",
" )\n",
"\n",
"fig.suptitle('Most Popular Categories in Areas (lower=better)', fontsize=14)\n",
"fig.show()"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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50evXr04f/68df9OnTrx4Ycf0r59eywWC127diUhISHL+rJDoVlERETk/yxdupTg4GCCg4PZvHkzly5dyrR91apV9O/fn61bt+Lo6Ei7du3w9vZm69atNGnSxBocMzIy6NOnD56enmzcuJH58+czf/58Nm3aZO0rNjaWpk2bEhcXR3BwcKZxzpw5Q48ePejYsSNbtmwhOjqaypUrA+Di4sKECROIi4tj5syZfPXVV6xZsybT/jt27OC7775j/vz5zJgxI1tLLm7evMmKFSsoV65cto4hPDyczp07s3PnTlavXk2zZs0A+PzzzwHYvn07u3btwmKxYBgGvXr1YtOmTaxatYrz589nCvtmLl26xLVr11i3bh1jxowhIyODkJAQ1q1bx7p163BycmL06NGZ9lmxYgXjx49ny5YtpKamMnfu3Czryw6FZhERERFuz+yePXuWZs2aUaVKFTw8PFixYkWmNo0aNaJKlSo4OTnRqFEjnJycaN26NXZ2djRv3pz9+/cDsG/fPhISEujbty+Ojo54eHjQtm1bYmJirH1Vr16dhg0bYmtri7Ozc6ZxVqxYQWBgIC1btsTBwYFixYpZQ3NAQACenp7Y2tri5eVFixYt+PnnnzPt37dvX5ydnfHy8sLLyyvT7PHd5s6di6+vLzVq1GDHjh1MnDgxW8dgb2/PyZMnSUhIoGDBglSvXj3LMcqXL09QUBCOjo4UL16c119/ne3bt5udEitbW1tCQ0NxdHTE2dmZYsWK0aRJE1xcXHB1daVPnz739BcSEkKFChVwdnamadOm1nPzZ/0t/riJiIiISE6Ljo4mKCiI4sWLA9CyZUuWLFlCly5drG0ee+wx69fOzs6UKFEi0+ObN28Ct2eKL1y4gK+vr3V7enp6psePP/54lrWcO3fOOuN7tz179jB58mQOHTpEamoqKSkpNG3aNFObP9bl4uJiret+unbtyttvv83Zs2fp3r07x44dw8vLy/QYwsPDmTZtGs2aNaNs2bL07duXevXq3XeMS5cuER4eTlxcHImJiRiGQeHChbOs6W7FihXDycnJ+vjWrVuMHz+eTZs2ce3aNQASExNJT0/Hzs4OgJIlS2b7NcgOhWYRERH510tKSmLVqlVkZGQQFBQEQEpKCtevX+fAgQN4eXk9VH+lSpWibNmy/PDDD1m2sbGxeeD+e/fuve+2AQMG0LFjR2bPno2TkxPh4eFcuXLloeq7n9KlSzNs2DAGDx5MvXr1TI/hiSeeYOrUqWRkZPDDDz8QGhrKtm3b7ntcU6dOxcbGhuXLl1O0aFHWrFmTaTmFi4sLt27dsj6+ePEi7u7u1sd39zl37lyOHTvGwoULKVmyJPv376d169YYhmF6nA963R9EyzNERETkX2/NmjXY2dmxcuVKoqOjiY6OJiYmBl9f33s+EJgdPj4+FCxYkFmzZpGUlER6ejoHDx7MMgjfLTg4mJ9++omYmBjS0tK4cuWKdXlBYmIiRYoUwcnJib17996zhOSvCAoKws3NjW+++cb0GJYuXUpCQgK2trbWWWNbW1uKFy+Ora0tp06dsvabmJhIgQIFKFSoEPHx8cyePTvTuF5eXqxYsYL09HQ2btxounQjMTERJycnChcuzNWrV5k+fXq2j/F+9WWHQrOIiIj86y1ZsoSQkBBKly5NyZIlrf86dOjA8uXLH/o2Z3Z2dkRGRnLgwAEaNGhAzZo1GT58ODdu3MjW/qVLl+aTTz5h3rx5+Pv707p1a+u65JEjRzJt2jQsFgszZsywfgDvUenevTuzZ88mPT39gcewadMmWrRogcViITw8nA8++ABnZ2dcXFzo3bs3r7zyCr6+vuzevZu+ffvy22+/4evrS8+ePWncuHGmMYcNG8a6devw9fVl+fLlNGzY8IE1vvbaayQnJ1OzZk3atWtH7dq1s31896svO2yM7Mxj57GQkBDrbVZERERERHLCgzKnZppFREREsiktNT2vS5BsetTnSh8EFBEREckmewc7pg9YntdlSDb0nRJs3ughaKZZRERERMSEQrOIiIiIiAmFZhEREREREwrNIiIiIiImFJpFREREREwoNIuIiIiImFBoFhERERExodAsIiIiImJCoVlERERExIRCs4iIiIiICYVmERERERETCs0iIiIiIiYUmkVERERETCg0i4iIiIiYUGgWERERETGh0CwiIiIiYkKhWURERETEhEKziIiIiIgJhWYRERERERMKzSIiIiIiJhSaRURERERMKDSLiIiIiJhQaBYRERERMaHQLCIiIiJiQqFZRERERMSEQrOIiIiIiAmFZhEREREREwrNIiIiIiImFJpFREREREwoNIuIiIiImFBoFhERERExodAsIiIiImIix0Nzeno6rVu3plevXgCcOnWK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1M3rMiQb6m7ckNclyL+AZppFREREREwoNIuIiIiImFBoFhERERExodAsIiIiImJCoVlERERExIRCs4iIiIiICYVmERERERETCs0iIiIiIiYUmkVERERETCg0i4iIiIiYUGgWERERETGh0CwiIiIiYkKhWURERETEhEKziIiIiIgJhWYRERERERMKzSIiIiIiJhSaRURERERMKDSLiIiIiJhQaBYRyUGRkZEMGzYsr8sQEZG/SKFZRP4VOnXqhJ+fHykpKbk6bu/evQkPD8/VMcPCwqhSpQoWiwV/f39ef/11jhw58pf6PH36NJ6enqSlpT2iKh+t/F6fiPz9KTSLyD/e6dOniYuLw8bGhtjY2FwbNy8DXLdu3di1axcbN27E3d093892K+yKSH6n0Cwi/3jR0dFUq1aNNm3aEB0dnWlbWFgY7733Ht27d8disdC+fXsuXrxIeHg4fn5+NG3alN9++83aPj4+nn79+lGzZk3q16/PggULrNsiIiIIDQ1l4MCB1KhRgyVLlhAREcHAgQOtbeLi4mjfvj2+vr7UrVuXxYsXA7B+/Xpat25NjRo1qFu3LhEREdZ97syiLlmyhOeff56AgAA+/vjjbB27s7MzzZo148CBA9k6hr179xISEkKNGjUIDAxk/PjxAHTs2BEAPz8/LBYLu3bt4uTJk3Tu3JmAgAACAgIYMGAA169ft/bl6enJiRMnMr3WH3zwAQDbtm2jTp06zJo1i6CgIIYMGcK1a9fo1asXNWvWxM/Pj169enH+/Hnr/p06deLDDz+kffv2WCwWunbtSkJCQpb1iYg8SgrNIvKPt3TpUoKDgwkODmbz5s1cunQp0/ZVq1bRv39/tm7diqOjI+3atcPb25utW7fSpEkTa3DMyMigT58+eHp6snHjRubPn8/8+fPZtGmTta/Y2FiaNm1KXFwcwcHBmcY5c+YMPXr0oGPHjmzZsoXo6GgqV64MgIuLCxMmTCAuLo6ZM2fy1VdfsWbNmkz779ixg++++4758+czY8aMbC25uHnzJitWrKBcuXLZOobw8HA6d+7Mzp07Wb16Nc2aNQPg888/B2D79u3s2rULi8WCYRj06tWLTZs2sWrVKs6fP58p7Ju5dOkS165dY926dYwZM4aMjAxCQkJYt24d69atw8nJidGjR2faZ8WKFYwfP54tW7aQmprK3Llzs6xP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XQsXLlRjY6NuvPFGZWVlOQ/NAYDOiNAMADZqbm7W1q1bFRYWpoULFyowMFB//vOfVVJSoqeffloFBQVasmSJMjIydPvtt6uurk6enp564okntGTJEr366quSpPr6ei1dulSenp46ePCgUlNTtXr16nOOu3//ft1yyy1nvfb6669L+j5YHzhwQL/5zW+0YcMGvfHGG+rWrZv+/ve/a+/evUpMTJQkVVdX65VXXtHSpUvl7e2tnJwcLV26lNMlAXRqhGYAsEFDQ4MSEhIkfb/TPG7cON13331auHChJGno0KGqqanRyZMnddttt2n+/PmKj49XdHT0WXdwm5ublZmZqb1798rd3V0HDx5sc20fffSR7r//fklS//795efnp/Lycu3atUsTJ06UJA0YMEABAQGSpN27d+vrr79WcnKyJKmpqUlBQUFtHh8ALgeEZgCwwQ/PNLdGSkqKIiIitGXLFiUnJys3N/e/7lm2bJl+/OMfq6CgQC0tLRo8ePB5+/zpT3+qXbt2tan2/8+yLA0bNkzZ2dnt0h8AXA54IyAAdJCQkBCtWbNGklRaWiofHx/16NFDhw4dUkBAgFJSUjRo0CCVl5ere/fuqqurc772xIkT6t27t9zd3VVQUCCHw3HeseLj41VWVqbNmzc723bt2qWvvvpKISEhzk/mKC8v1+HDh9WvXz+FhoY633z41Vdfad++fZKkoKAgffzxx/r2228lSadOnVJ5eXm7/VwA4FLETjMAdJBHH31U6enpio+Pl5eXl+bPny9JysvLU2lpqdzc3HTzzTcrPDxcbm5ucnd31913363ExERNmDBBjz32mPLz8xUWFiZvb+/zjtWtWzctXrxY8+bN07x58+Th4aGAgAD97ne/04QJE/Tcc88pPj5eXbp0UVZWlrp27ark5GSlpaUpNjZW/fv3dz4T3atXL2VlZSk1NVWNjY2SpJkzZ8rf39+1PzAA6EBulmVZHV0EAAAAcCnj8QwAAADAgNAMAAAAGBCaAQAAAANCMwAAAGBAaAYAAAAMCM0AAACAAaEZAAAAMPg/C3L8d4bR2lwAAAAASUVORK5CYII=\n",
"text/plain": [
"
"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "rRpguQCkaroS"
},
"source": [
"Finally, let us drill down to the most attractive area in this analysis; Postal Code 89101 - which strongly represents the most popular venues."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 292
},
"id": "QBHlBSUAbSI1",
"outputId": "75a25d34-be14-4b4b-81ca-0012729369d7"
},
"source": [
"top_area = analysis_df.loc[analysis_df['Postal_Code']==top50_summary.iloc[0,0]]\n",
"top_area.head(5)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Venue_Rank
\n",
"
Venue_ID
\n",
"
Venue_Name
\n",
"
Venue_Postal_Code
\n",
"
Venue_Latitude
\n",
"
Venue_Longitude
\n",
"
Venue_Category
\n",
"
Venue_Price_Category
\n",
"
Postal_Code
\n",
"
Place_Name
\n",
"
State_Name
\n",
"
State_Code
\n",
"
Country_Code
\n",
"
PC_Latitude
\n",
"
PC_Longitude
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
5a32fb62c530935f37812611
\n",
"
Eureka!
\n",
"
89101
\n",
"
36.168976
\n",
"
-115.139580
\n",
"
American Restaurant
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
51cde2b08bbd23404bdc1798
\n",
"
Pizza Rock
\n",
"
89101
\n",
"
36.171707
\n",
"
-115.142343
\n",
"
Pizza Place
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
552ae36a498e9b3b1e232a6e
\n",
"
VegeNation
\n",
"
89101
\n",
"
36.167398
\n",
"
-115.139421
\n",
"
Vegetarian / Vegan Restaurant
\n",
"
2
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
3
\n",
"
4
\n",
"
539a4129498e2eba5804ba4a
\n",
"
Carson Kitchen
\n",
"
89101
\n",
"
36.167884
\n",
"
-115.140664
\n",
"
Gastropub
\n",
"
3
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
"
\n",
"
4
\n",
"
5
\n",
"
503cec78e4b0f39ae12141db
\n",
"
eat.
\n",
"
89101
\n",
"
36.166927
\n",
"
-115.139055
\n",
"
Breakfast Spot
\n",
"
1
\n",
"
89101
\n",
"
Las Vegas
\n",
"
Nevada
\n",
"
NV
\n",
"
US
\n",
"
36.17193
\n",
"
-115.14001
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Venue_Rank Venue_ID Venue_Name Venue_Postal_Code \\\n",
"0 1 5a32fb62c530935f37812611 Eureka! 89101 \n",
"1 2 51cde2b08bbd23404bdc1798 Pizza Rock 89101 \n",
"2 3 552ae36a498e9b3b1e232a6e VegeNation 89101 \n",
"3 4 539a4129498e2eba5804ba4a Carson Kitchen 89101 \n",
"4 5 503cec78e4b0f39ae12141db eat. 89101 \n",
"\n",
" Venue_Latitude Venue_Longitude Venue_Category \\\n",
"0 36.168976 -115.139580 American Restaurant \n",
"1 36.171707 -115.142343 Pizza Place \n",
"2 36.167398 -115.139421 Vegetarian / Vegan Restaurant \n",
"3 36.167884 -115.140664 Gastropub \n",
"4 36.166927 -115.139055 Breakfast Spot \n",
"\n",
" Venue_Price_Category Postal_Code Place_Name State_Name State_Code \\\n",
"0 2 89101 Las Vegas Nevada NV \n",
"1 2 89101 Las Vegas Nevada NV \n",
"2 2 89101 Las Vegas Nevada NV \n",
"3 3 89101 Las Vegas Nevada NV \n",
"4 1 89101 Las Vegas Nevada NV \n",
"\n",
" Country_Code PC_Latitude PC_Longitude \n",
"0 US 36.17193 -115.14001 \n",
"1 US 36.17193 -115.14001 \n",
"2 US 36.17193 -115.14001 \n",
"3 US 36.17193 -115.14001 \n",
"4 US 36.17193 -115.14001 "
]
},
"metadata": {
"tags": []
},
"execution_count": 31
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3YdwyC5RcXns"
},
"source": [
"To summarize our findings in this area, we will determine the features of the venue category as above, but also include the price ranges.\n",
"\n",
"Based on these features, a new venue with similar features might be able to emulate the popularity of the other venues."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 331
},
"id": "42sakHPndDnT",
"outputId": "1f0cf631-01c0-43e8-f34d-a2e033ad5442"
},
"source": [
"# Change type of Price category to calculate its average\n",
"top_area['Venue_Price_Category'] = top_area['Venue_Price_Category'].astype('int32')\n",
"\n",
"# Calculate the features of each venue category\n",
"top_summary = top_area.groupby('Venue_Category').agg({'Venue_Category': 'count', \n",
" 'Venue_Rank': 'mean', \n",
" 'Venue_Price_Category': 'mean'}).dropna()\n",
"\n",
"# Formatting dataframe for presentation\n",
"colnames = ['Venues in category', 'Mean Rank', 'Mean price range']\n",
"top_summary.columns = colnames\n",
"top_summary = top_summary.sort_values(by='Mean Rank', ascending=True).reset_index()\n",
"top_summary.columns = ['Venue Category'] + colnames\n",
"\n",
"print('Characteristics of most popular venues in postal area', top50_summary.iloc[0,0] + '.\\n')\n",
"top_summary"
],
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"text": [
"Characteristics of most popular venues in postal area 89101.\n",
"\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Venue Category
\n",
"
Venues in category
\n",
"
Mean Rank
\n",
"
Mean price range
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
American Restaurant
\n",
"
1
\n",
"
1.0
\n",
"
2.000000
\n",
"
\n",
"
\n",
"
1
\n",
"
Vegetarian / Vegan Restaurant
\n",
"
1
\n",
"
3.0
\n",
"
2.000000
\n",
"
\n",
"
\n",
"
2
\n",
"
Gastropub
\n",
"
2
\n",
"
7.0
\n",
"
2.500000
\n",
"
\n",
"
\n",
"
3
\n",
"
Pizza Place
\n",
"
3
\n",
"
7.0
\n",
"
1.333333
\n",
"
\n",
"
\n",
"
4
\n",
"
Thai Restaurant
\n",
"
1
\n",
"
7.0
\n",
"
2.000000
\n",
"
\n",
"
\n",
"
5
\n",
"
Breakfast Spot
\n",
"
2
\n",
"
9.0
\n",
"
1.500000
\n",
"
\n",
"
\n",
"
6
\n",
"
Sandwich Place
\n",
"
1
\n",
"
9.0
\n",
"
1.000000
\n",
"
\n",
"
\n",
"
7
\n",
"
Steakhouse
\n",
"
2
\n",
"
9.0
\n",
"
3.500000
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Venue Category Venues in category Mean Rank \\\n",
"0 American Restaurant 1 1.0 \n",
"1 Vegetarian / Vegan Restaurant 1 3.0 \n",
"2 Gastropub 2 7.0 \n",
"3 Pizza Place 3 7.0 \n",
"4 Thai Restaurant 1 7.0 \n",
"5 Breakfast Spot 2 9.0 \n",
"6 Sandwich Place 1 9.0 \n",
"7 Steakhouse 2 9.0 \n",
"\n",
" Mean price range \n",
"0 2.000000 \n",
"1 2.000000 \n",
"2 2.500000 \n",
"3 1.333333 \n",
"4 2.000000 \n",
"5 1.500000 \n",
"6 1.000000 \n",
"7 3.500000 "
]
},
"metadata": {
"tags": []
},
"execution_count": 32
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "4OIy1QM_tQ8B"
},
"source": [
"The above gives us insight into the characteristics of the most popular venue categories in the most popular postal area. \n",
"\n",
"If one is to establish a new venture in this area, it would likely be beneficial to consider using the venue categories in the above list, while ensuring the price range is within the similar range."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "WNaZEBmbqml9"
},
"source": [
"###Machine Learning to assign Venues to Clusters with k-Means"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XJRli9p_qmmA"
},
"source": [
"In this section, we will use the k-Means machine learning algorithm to see if we can group the various venues we have in our dataset into clusters based on their similar features.\n",
"\n",
"Since many of the features we are using in the dataset are categorical variables (also called factor variables), we are going to create dummies with these features through one-hot encoding.\n",
"\n",
"Specifically, we are going to do the below steps:\n",
"1. Transform the ratings of the venues into 5 groups, with ratings from \"Very high\" to \"Very low\" \n",
"2. Include all features into a dataframe, one-hot enocde the data\n",
"3. We will create the cluster according to the postal codes, since these appear to be highly relevant in determining the rank of a given venue\n",
"4. Evaluate the clusters for the high-rated venues, and investigate which features seem to be linked to high (and low) ratings"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "SgnsVE4cqmmB",
"outputId": "1ea6affc-52e9-4aac-aaf9-e9f9d904bca0"
},
"source": [
"# Grouping the venue ratings into categories\n",
"pop_groups = 5 # making 5 groups\n",
"pop_labels = ['Very high', 'High', 'Medium', 'Low', 'Very low']\n",
"cluster_df = analysis_df.copy(deep=True)\n",
"cluster_df['Venue_Popularity'] = pd.cut(cluster_df['Venue_Rank'],\n",
" bins = pop_groups,\n",
" labels = pop_labels,\n",
" precision = 0,\n",
" ordered = False)\n",
"cluster_df['Venue_Popularity'].value_counts()"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Very low 48\n",
"Low 48\n",
"High 48\n",
"Very high 48\n",
"Medium 47\n",
"Name: Venue_Popularity, dtype: int64"
]
},
"metadata": {
"tags": []
},
"execution_count": 33
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "SVWOiEYu2hIF"
},
"source": [
"#### Converting features using one-hot encoding\n",
"Having done the above, we will apply one-hot enconding using dummies."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 142
},
"id": "P2UEnbLAqmmC",
"outputId": "b211809c-8693-402f-ea8c-c82e3ad66f0e"
},
"source": [
"# Converting Venue Popularity to one hot encoding using dummies\n",
"pop_onehot = pd.get_dummies(cluster_df[['Venue_Popularity']], prefix='', prefix_sep='')\n",
"pop_onehot = pd.concat([cluster_df['Venue_Postal_Code'], pop_onehot], axis=1)\n",
"\n",
"# Grouping the postal codes according to the mean number of each popularity category\n",
"pop_grouped = pop_onehot.groupby('Venue_Postal_Code').mean().reset_index()\n",
"\n",
"# Renaming the columns for legibility:\n",
"colnames = pop_grouped.columns.values\n",
"colnames = np.append(colnames[0], 'Popularity ' + np.array(colnames[1:]))\n",
"pop_grouped.columns = colnames\n",
"\n",
"pop_grouped.head(3)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Venue_Postal_Code
\n",
"
Popularity Very high
\n",
"
Popularity High
\n",
"
Popularity Medium
\n",
"
Popularity Low
\n",
"
Popularity Very low
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
89014
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
1.0
\n",
"
\n",
"
\n",
"
1
\n",
"
89030
\n",
"
0.0
\n",
"
0.0
\n",
"
1.0
\n",
"
0.0
\n",
"
0.0
\n",
"
\n",
"
\n",
"
2
\n",
"
89031
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
0.0
\n",
"
1.0
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Venue_Postal_Code Popularity Very high Popularity High Popularity Medium \\\n",
"0 89014 0.0 0.0 0.0 \n",
"1 89030 0.0 0.0 1.0 \n",
"2 89031 0.0 0.0 0.0 \n",
"\n",
" Popularity Low Popularity Very low \n",
"0 0.0 1.0 \n",
"1 0.0 0.0 \n",
"2 0.0 1.0 "
]
},
"metadata": {
"tags": []
},
"execution_count": 34
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Mo-1VTJV2rK3"
},
"source": [
"Next, we will also convert the venues' price categories to dummies using the same procedure as above."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 142
},
"id": "Xfstt500qmmC",
"outputId": "5f6b82e2-3610-4edb-e0e8-712dee95f576"
},
"source": [
"# Convert Venue Price Category to one hot encoding using dummies\n",
"pricecat_onehot = pd.get_dummies(cluster_df[['Venue_Price_Category']], prefix='', prefix_sep='')\n",
"\n",
"# add the postal code into the one hot dataframe\n",
"pricecat_onehot = pd.concat([cluster_df['Venue_Postal_Code'], pricecat_onehot], axis=1)\n",
"\n",
"# grouping the postal areas according to the mean number of each price category\n",
"pricecat_grouped = pricecat_onehot.groupby('Venue_Postal_Code').mean().reset_index()\n",
"\n",
"# Renaming price category dummy names for legibility\n",
"colnames = pricecat_grouped.columns.values\n",
"colnames = np.append(colnames[0], 'Price Category ' + np.array(colnames[1:]))\n",
"pricecat_grouped.columns = colnames\n",
"\n",
"pricecat_grouped.head(3)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Venue_Postal_Code
\n",
"
Price Category 1
\n",
"
Price Category 2
\n",
"
Price Category 3
\n",
"
Price Category 4
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
89014
\n",
"
0.5
\n",
"
0.375
\n",
"
0.125
\n",
"
0.0
\n",
"
\n",
"
\n",
"
1
\n",
"
89030
\n",
"
0.6
\n",
"
0.400
\n",
"
0.000
\n",
"
0.0
\n",
"
\n",
"
\n",
"
2
\n",
"
89031
\n",
"
0.0
\n",
"
1.000
\n",
"
0.000
\n",
"
0.0
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Venue_Postal_Code Price Category 1 Price Category 2 Price Category 3 \\\n",
"0 89014 0.5 0.375 0.125 \n",
"1 89030 0.6 0.400 0.000 \n",
"2 89031 0.0 1.000 0.000 \n",
"\n",
" Price Category 4 \n",
"0 0.0 \n",
"1 0.0 \n",
"2 0.0 "
]
},
"metadata": {
"tags": []
},
"execution_count": 35
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "JH3X1aPt26Bl"
},
"source": [
"As the final step of the one-hot encoding, we will do this for each venue category as well."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 213
},
"id": "pKabnGrTqmmD",
"outputId": "c2f0c205-fcfe-4b58-da35-11804d4a8fdd"
},
"source": [
"# Convert Venue Category to one hot encoding using dummies\n",
"ven_cat_onehot = pd.get_dummies(cluster_df[['Venue_Category']], prefix='', prefix_sep='')\n",
"\n",
"# add the postal code into the one hot dataframe\n",
"ven_cat_onehot = pd.concat([cluster_df['Venue_Postal_Code'], ven_cat_onehot], axis=1)\n",
"\n",
"# grouping the postal areas according to the mean number of each category\n",
"ven_cat_grouped = ven_cat_onehot.groupby('Venue_Postal_Code').mean().reset_index()\n",
"\n",
"# Renaming category dummy names for readability\n",
"colnames = ven_cat_grouped.columns.values\n",
"colnames = np.append(colnames[0], 'Category: ' + np.array(colnames[1:]))\n",
"ven_cat_grouped.columns = colnames\n",
"\n",
"ven_cat_grouped.head(3)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "unFed7RDqmmF"
},
"source": [
"The above gives us very useful feedback. We can see the following:\n",
"- Which clusters have the highest average popularity\n",
"- Which clusters have the lowest average popularity\n",
"- How the price categories are distributed according to the clusters\n",
"\n",
"Since these clusters perform an average of all the postal codes, there will be individual variations across the various postal areas.\n",
"\n",
"If one is going to establish a new business in one of the individual postal codes, it makes sense to look at what the features are per postal area. We do this below by subsetting on the most popular clusters."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Ns4WCy9dppBf"
},
"source": [
"Finally we will do the following:\r\n",
"1. Create a dataframe with the two clusters with highest popularity\r\n",
"2. Show each postal code associated with the cluster\r\n",
"3. Break down the three most popular venue categories in the cluster\r\n",
"4. Break down the two most popular price categories in the cluster"
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 275
},
"id": "NyuAeCvjqQCI",
"outputId": "9da3a126-9055-4cb5-bba7-cfffb9583f9f"
},
"source": [
"# Subsetting data frame into the poplar clusters and recommended clusters\r\n",
"pop_subset = areas_grouped.loc[(areas_grouped['Cluster'] == 2) | (areas_grouped['Cluster'] == 3)].sort_values(by=['Cluster'])\r\n",
"rec_subset = areas_grouped.loc[areas_grouped['Cluster']==3].sort_values(by=['Venue_Postal_Code'])\r\n",
"\r\n",
"# Investigating the subset of all the popular venues\r\n",
"pop_subset.head(5)"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"
"
],
"text/plain": [
" Postal Code Venue Category Category Prevalence % Rank in Postal Area\n",
"0 89030 Mexican Restaurant 60 1\n",
"1 89030 Fried Chicken Joint 20 2\n",
"2 89030 Pizza Place 20 3\n",
"3 89107 Sandwich Place 50 1\n",
"4 89107 Seafood Restaurant 50 2"
]
},
"metadata": {
"tags": []
},
"execution_count": 48
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "qonwnhZYi6Fi"
},
"source": [
"In order to represent the above visually, we will create a function that will make a facet grid for us with the relenvant details."
]
},
{
"cell_type": "code",
"metadata": {
"id": "lUfGzoiMxSW-"
},
"source": [
"def plot_venues(venue_df, cols, title):\n",
" \"\"\"Fuction to plot the most hot venues per postal code\"\"\"\n",
" sns.set_theme(style=\"ticks\")\n",
" no_graphs = len(venue_df['Postal Code'].unique())\n",
" rows = math.ceil(no_graphs/cols)\n",
"\n",
" # Initialize the graph\n",
" fig, ax = plt.subplots(nrows=rows, ncols=cols, figsize=(20,4*rows))\n",
" fig.suptitle(title, fontsize=15)\n",
" fig.subplots_adjust(hspace=0.7, wspace=0.3)\n",
"\n",
" # Create a for loop to create a separate graph per postal area\n",
" for count, pc in enumerate(venue_df['Postal Code'].unique(),1):\n",
" # calculate the row- and column axis\n",
" row = math.ceil(count/cols)-1\n",
" col = (count-1) - row*cols\n",
" # Add plot\n",
" g = sns.barplot(data=venue_df.loc[venue_df['Postal Code']==pc], \n",
" x='Venue Category',\n",
" y='Category Prevalence %', ax = ax[row,col])\n",
" g.set_xticklabels(g.get_xticklabels(), rotation=20)\n",
" g.set_xlabel('')\n",
" ax[row,col].set_title('Postal Code '+ pc)\n",
" #fig.tight_layout()\n",
" fig.show() "
],
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "namXG1tCjB9j"
},
"source": [
"Having defined the above function, we will first make graphs of all the popular areas to investigate their characteristics. In the step afterwards, we will do the same but only for the venues we are going to recommend for this analysis."
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 850
},
"id": "WcxwNcPKxY0q",
"outputId": "18f71aca-8eaf-44a5-b005-2bc740c1bdca"
},
"source": [
"plot_venues(pop_venues, 4, 'Popular Venues per Postal Area')"
],
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKIAAANBCAYAAADTExYoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeXhN9/728TuzMSIxJCSGGkJNCUGNJY6p5v7qqUMNNbV0SHsoDm0oPyWhFDGemo9DBxViCkW1VTW0HI2hRSmaxBDSGBPJ3s8fHvvpbkg22ZPk/bqufTV7Td/PWtnua+XTtdZ2MRqNRgEAAAAAAAA25uroAgAAAAAAAFAw0IgCAAAAAACAXdCIAgAAAAAAgF3QiAIAAAAAAIBd0IgCAAAAAACAXdCIAgAAAAAAgF3QiAIAwMrmzJmj4OBg06t58+Z64403dO7cOYfV1LdvX7355ps22XZ8fLyCg4OVkJDwwPk//fSTgoODtXnzZpuMX5CEh4ebPle1a9dWhw4dNHfuXGVkZFhtjCNHjmjOnDmPte6+ffsUHBysX375xaLl7/9bmTlz5mONBwAAnjw0ogAAsIHixYvrk08+0SeffKLRo0fr+PHjGjBggG7duuXo0qyuVatWKlq0qDZt2vTA+Zs3b1aRIkXUunVrO1eWP3Xu3FmffPKJlixZok6dOmnu3LlWbeQcOXJEMTExVtteTjZu3ChJNCkBAChAaEQBAGADbm5uCgkJUUhIiLp06aKpU6fq999/1+7dux1dWp7cuXMn2zQvLy+1bdtWW7duldFoNJtnNBq1ZcsWhYeHq3DhwvYq84n2oGP8Z2XKlFFISIgaNWqkN954Qz169NCaNWuyHXtnd/ToUZ09e1ZNmjTRuXPndOTIkVzXye3YAAAA50cjCgAAO6hdu7Yk6ffff5ckXb16VaNHj1bjxo1Vr1499e3bVz/99JPZOuHh4YqKitLcuXPVrFkzhYaGasSIEbp+/bppmS+++ELBwcG6efPmA9d9mNOnT+vtt9/Ws88+q3r16qlTp05atmyZDAaDaZn7t1l98803evXVVxUaGqqJEyc+cHudOnVSYmKifvzxR7PpP/zwg5KSktS5c2dJUnp6uqKjo/Xss8+qdu3a6tq1a7bm3P3aly1bppYtW6phw4Z6++23lZaW9lj7/eWXX+r5559XnTp11KxZM0VHR+vu3bum+cnJyYqIiFCTJk1Ut25d/e1vf9NHH3300GP353Fy+t1IUmpqqt577z01bdpUderUUa9evfTf//7XbJng4GAtXbpUkydP1jPPPKMuXbrkOPZf1apVS7du3dK1a9ckSXv37lXPnj1Vp04dNW3aVBMmTDA7Tnfv3lVUVJRatWql2rVrq3nz5nrttdeUkZGhL774QpMmTTLVFRwcrL59+0qy7DPzKDZu3CgvLy9NnTpVXl5epqujLDk2lnyOYmNj9fe//12NGjVSw4YNH/hvDAAA2J+7owsAAKAguN+AKlWqlCTptdde07lz5zRq1CiVLFlSixcvVr9+/RQbG6uKFSua1tu4caMqVqyoSZMm6fLly5o2bZrGjRun2bNn56meS5cuqXLlyurSpYuKFi2q48ePa86cOUpPT9crr7xituy4ceP0/PPPq3///vLy8nrg9po2baqSJUtq8+bNatCggWn65s2b5ePjo+bNm0uS3nzzTR05ckRvvPGGKlSooC1btmjYsGFau3atatasaVpvy5YtCg4O1qRJk5ScnKypU6dqxowZmjBhwiPt5+bNmzVixAi9+OKL+sc//qFz585pxowZMhqNGj16tCRp1KhRSk9P16RJk1S8eHGdP39ev/76a67bzu13k5GRoZdffllpaWkaNWqUfH19tXr1ag0YMEDbtm1T6dKlTdtavHixwsLCFB0d/chXNv3+++/y8PBQiRIldPLkSQ0ZMkRNmzbVnDlzlJSUpA8//FDnz5/X4sWLJUkLFy5UXFycRowYocDAQF2+fFlff/21DAaDWrVqpYEDB2rJkiX65JNPJEnFihWT9Gifmdzcv1KuZcuW8vf317PPPqstW7ZozJgxcnU1//+kDzo2lnyOLly4oO7du6tChQrKyMjQpk2b1KdPH23atElBQUGPVC8AALAeGlEAANhIZmamJOn8+fOaMGGCihYtqqZNm+rrr7/Wjz/+qJUrV6pRo0aSpGeeeUbh4eFavHix2VVH6enpWrhwoYoWLSpJKly4sEaNGqXTp0+rSpUqj11bkyZN1KRJE0n3mgINGjTQnTt39Omnn2ZrKnTo0EFvvfVWjttzd3dXhw4dFB8fr3HjxsnV1VVZWVmKj49Xu3bt5OHhob179+qrr74y2+/mzZvr7Nmzmj9/vllzzd3dXXPnzpW7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d281bNhQr776qjZv3qxnn31WzZo1k4eHhwYNGqQ7d+7o0KFDcnNzU0ZGhk6fPq27d+8qMDBQFSpUeOj2W7VqpQoVKsjFxUWNGjVSs2bNLLpPPzU1VaVLl37o/KysLG3evFkjRoxQsWLFFBgYqJdfflkbNmyQdO9Sy/79+ysgIEA+Pj565ZVXTOteuXJFu3fv1tixY1WkSBH5+flpwIAB2rRp0wPHKl26tOrXr68OHTqoXr162rp1q/75z39KkooVK6b69etr3rx5Sk9P19GjR03BJ93rphcvXtxse8WKFTO7T7tLly768ccfFR8fr169esnPz++h6xYvXjxP93gDTxLyybb5lJtbt26ZNcLv59FfM+iHH35QSkqK2rdvb9F2gfyAfHLefAoJCdGlS5e0ceNG3b17V+vWrdO5c+d0584di7YN5AdklGMzKid/zS+Jv/GshSuiniBz585V06ZNzaZdunRJ5cqVM713dXVVQECALl68qMaNG2vs2LGaM2eOTp06pebNm2vMmDEqW7bsA7e/e/duzZ07V2fPnpXBYNCdO3dUvXr1XOvy8fHR5cuXHzr/2rVrunv3rlmd5cqV08WLF037EBAQYDbvvsTERGVmZqp58+amaQaDwWz5P5s7d64SEhK0e/dulSpVShs2bFD//v21adMmFS5cWNOnT9fEiRP17LPPKigoSF27djV1y4sWLaobN26Ybe/mzZsqWrRotnEqVaqkatWq6f3331dMTMwD171x48YD1wXyI/LpHlvlU26KFClilkH3f/5rBq1bt07t2rUjm1CgkE/3OGM+lSxZUvPmzVNUVJQmTpyo5s2bq2nTpg891kB+REbd46iMyslf80vibzxr4YqoJ1yZMmWUmJhoem80GpWUlGQKoi5dumj16tXatWuXXFxcTJdp/vn2M+neg7rffPNNDRw4UHv27NHBgwfVsmXLbJdLP0iTJk2UnJysn3766YHzS5YsKQ8PD7M6/1xj6dKllZSUZDbvPn9/f3l6eur777/XwYMHdfDgQf34448P7ZafOHFCHTt2lL+/v9zd3fX8888rLS3NdItc+fLltXDhQn3//ff67LPPdO3aNdPlplWrVtXPP/9sts8///yzqlat+sCxMjMzde7cOdO658+fNwuqEydOPHRdoCAgn8zlJZ9yU61aNbNvsDlx4oRKlSpldlvenTt3tHXrVnXv3t2ibQL5GflkzpH51KhRI61du1b79+9XdHS0fv31V4u3DeRXZJQ5W2ZUTipVqqSsrCydPXvWrBb+xss7GlFPuI4dO2r37t3au3ev7t69qyVLlsjT01OhoaH69ddftXfvXmVkZMjT01NeXl5ydb33K/fz89Pvv/9uephcRkaGMjIy5OvrK3d3d+3evVt79uyxqIZKlSqpd+/eGjFihPbt26eMjAylp6dr06ZNWrRokdzc3NShQwfNnDlTN27c0O+//66lS5eaHqDXsWNHrVy5UsnJyfrjjz+0aNEi07bLlCmjZs2aaerUqbpx44YMBoPOnTun/fv3P7CWOnXqaOvWrbpy5YoMBoNiY2OVmZmpihUrSpJOnz6tGzduKCMjQ+vXr9e3336rl19+WdK9EyE3NzetWLFCGRkZ+ve//y1JeuaZZyRJn332mVJSUiTdeybUokWL1KRJE0lS5cqVVbNmTc2dO1fp6enavn27fv75Z25/QYFGPpnLSz7dPw7p6ekyGo3KzMxUenq66Rh169ZNn3/+uU6dOqW0tDTNnz9fPXr0MBt/+/btKlGihCnTgIKMfDLnyHw6duyY7t69qxs3bigqKkr+/v6mZ78ABRUZZc6WGWU0GpWenq67d+9KktLT003fml6kSBG1bdtWs2fP1q1bt/TDDz9ox44d6tatm8W/SzyEEU+E1q1bG/fs2fPAedu2bTN27NjRWL9+fWOfPn2Mv/zyi9FoNBqPHz9u/J//+R9jSEiIsWHDhsahQ4cak5OTjUaj0Xj16lVjr169jGFhYcbu3bsbjUaj8d///rexSZMmxgYNGhhHjhxpfOutt4wzZswwGo1G4/fff29s0aLFQ+szGAzGZcuWGZ977jlj3bp1jc2bNzdGRESYaklNTTWOGDHC2LhxY2PLli2Nc+bMMWZlZRmNRqPx7t27xsmTJxsbNWpkbN26tfHf//63sXr16sa7d+8ajUajMS0tzRgZGWls0aKFsX79+sZu3boZN27c+MA67ty5Y5wwYYKxWbNmxtDQUGP37t2Nu3fvNs1funSpsXHjxsZ69eoZe/XqZTxy5IjZ+kePHjX26NHDWKdOHWP37t2NR48eNc0bM2aMsUmTJsZ69eoZW7dubZw6darxzp07pvnnz583vvTSS8Y6deoY27Vr99DfF5DfkE/2yaeXXnrJWL16dbPX999/b5q/ZMkSY5MmTYyhoaHGMWPGGNPT083WHzhwoHHmzJkPPU5AfkQ+OX8+vf3228b69esb69evb4yIiDBeuXLloccLyG/IKMdn1Pnz57PNa926tWnda9euGYcNG2asV6+e8dlnnzVu2LDhoccLlnMxGi24Lg8AAAAAAADII27NAwAAAAAAgF3QiAIAAAAAAIBd0IgCAAAAAACAXbg7uoC8uHPnjhISElS6dGm5ubk5uhygwMrKytLly5dVu3ZtFSpUyNHlOAXyCXAeZJQ58glwHuSTOfIJcB62zKcnuhGVkJCgPn36OLoMAP/PqtmpWRcAACAASURBVFWrFBYW5ugynAL5BDgfMuoe8glwPuTTPeQT4HxskU9PdCOqdOnSku4dGH9/fwdXAxRcycnJ6tOnj+nfJMgnwJmQUebIJ8B5kE/myCfAedgyn57oRtT9yzX9/f0VGBjo4GoAcAn1/0c+Ac6HjLqHfAKcD/l0D/kEOB9b5BMPKwcAAAAAAIBd2O2KqPT0dH3wwQfau3evvLy8FBISokmTJunMmTMaM2aMUlNT5ePjo6ioKFWqVMleZQGAwsPD5enpKS8vL0nSyJEj1aJFCx0+fFiRkZFKT09X+fLlNW3aNPn5+Tm4WgAAAAB4ctmtETVt2jR5eXkpPj5eLi4uunLliiRp/Pjx6t27t7p166b169crMjJSK1assFdZACBJmj17tqpXr256bzAY9M4772jKlCkKCwvTvHnzNH36dE2ZMsWBVQIAAADAk+2Rb8379ddftXXrVh09etTidW7evKnY2FhFRETIxcVFklSqVCmlpKTo2LFj6ty5sySpc+fOOnbsmK5evfqoZQHAY+XTwyQkJMjLy8v0DRG9evXS1q1b87xdAAWTNfMJAKyJfAJgb490RdSqVau0Zs0aVa9eXQkJCQoPD9fo0aNzXe/8+fPy8fFRTEyM9u3bp6JFiyoiIkKFChVS2bJlTQ+/cnNzU5kyZZSUlCRfX1+zbaSlpSktLc1sWnJy8qOUDyAfe9x8um/kyJEyGo1q0KCB/vGPfygpKUnlypUzzff19ZXBYDDdRvxn5BOAnOQ1nwDAVsgnAI6QYyPq6NGjqlWrlun91q1btW7dOrm7u+vmzZsWB1VWVpbOnz+vp59+WqNHj9Z///tfvfrqq5o1a5bFhS5fvlwxMTEWLy9JGXez5OlRsL6BoiDuMwoma+WTdO8kLCAgQBkZGZo8ebImTpyotm3bWlzL4+TTX/Fv135seawNmXfl6u5hk23DnDMfa2vmkyMUxDzKyz4782fRVgriPucXT3o+SQUvo8inR5OXfc7IvCvPAna8HLXPOTaiPvroIwUFBekf//iHihUrpjJlymjJkiWqXbu29u3bp4oVK1o0SEBAgNzd3U234NWrV08lS5ZUoUKFdPHiRWVlZcnNzU1ZWVm6dOmSAgICsm2jf//+6tGjh9m05ORk9enT56Hjenq4qfeoVRbVmF/8J/rhxwPIT6yVT5JMmePp6anevXtr2LBh6tevnxITE03LXL16Va6urtmuhpIeL5/+qiDmlaPYMidd3T30Q/Rgm20f/1+DUR87uoSHsmY+OUJBzKO85EJB/HfvzP/+kLMnPZ+kgpdR5NOjyUs+ebp7aMDSCCtW4/yWvWz5xUHWlOMzov71r38pLCxMffv2VWxsrMaPH68//vhDS5cuVVpammbPnm3RIL6+vmrcuLH27NkjSTpz5oxSUlJUqVIl1axZUxs3bpQkbdy4UTVr1sx2W54keXt7KzAw0Ozl7+//qPsLIJ+wVj7dunVL169flyQZjUZt3rxZNWvWVO3atXXnzh0dPHhQkrRmzRp16NDhgdsgnwD8mbXyCQCsjXwC4AxyfUbUc889p5YtW2rWrFlat26d3nvvPVWtWvWRB3r//fc1duxYRUVFyd3dXdHR0fL29taECRM0ZswYzZs3T97e3oqKinqsHQFQ8Fgjn1JSUvTGG28oKytLBoNBVapU0fjx4+Xq6qro6GiNHz9e6enpKl++vKZNm2ajPQGQ31jr/AkArI18AuBouTaijh49qvPnz6tXr17KyMhQZGSkQkJC9Oabb6pQoUIWDxQUFKSVK1dmm16lShV99tlnj1Y1AMg6+RQUFKTY2NgHzqtfv77i4uKsWTKAAsJa508AYG3kEwBHy/HWvKioKL311lvatm2bhg8frgMHDmjVqlUKCgrS//k//0fbtm2zV50AYIZ8AuCsyCcAzop8AuAMcmxEffHFF1q3bp1mzJihzz77TF988YVcXFz097//XUuXLtWOHTvsVScAmCGfADgr8gmAsyKfADiDHBtRlSpV0qZNm3T27FnFxcWpcuXKpnl+fn48zwmAw5BPAJwV+QTAWZFPAJxBjo2oWbNm6cSJE5o8ebISExM1YcIEO5UFADkjnwA4K/IJgLMinwA4gxwfVu7v76/x48fbqxYAsBj5BMBZkU8AnBX5BMAZ5HhFFAAAABwnKipK4eHhCg4O1i+//GKafubMGb344otq3769XnzxRZ09e9ZxRQIokIYPH66uXbuqe/fu6t27t44fPy6JfAKQOxpRAAAATqpNmzZatWqVypcvbzZ9/Pjx6t27t+Lj49W7d29FRkY6qEIABVVUVJQ2bNig2NhYDRw4UGPHjpVEPgHIHY0oAAAAJxUWFqaAgACzaSkpKTp27Jg6d+4sSercubOOHTumq1evOqJEAAVU8eLFTT/fuHFDLi4u5BMAi+T4jKi/MhgMunLlisqUKWOregDgsZBPAJyVtfMpKSlJZcuWlZubmyTJzc1NZcqUUVJSknx9fc2WTUtLU1pamtm05ORkq9QB4MmX13waN26c9uzZI6PRqI8//ph8AmARixpRaWlpev/99xUfHy93d3cdPnxYO3bs0JEjR/T222/bukYAeCjyCYCzcoZ8Wr58uWJiYuwyFoAnh7XyafLkyZKk2NhYRUdHKyIiwuJ1ySeg4LLo1rzx48erWLFi2rlzpzw8PCRJoaGh2rJli02LA4DckE8AnJWt8ikgIEAXL15UVlaWJCkrK0uXLl3KdgufJPXv3187duwwe61atSpP4wN48lk7n7p37659+/bJ39+ffAKQK4uuiNq7d6+++eYbeXh4yMXFRZLk6+urlJQUmxYHALkhnwA4K1vlk5+fn2rWrKmNGzeqW7du2rhxo2rWrJntthdJ8vb2lre3d57GA5D/5DWfbt68qbS0NFODaefOnSpRogT5BMAiFjWiihcvrmvXrpndO5yYmKjSpUvbrDAAsAT5BMBZWSOf/vd//1fbtm3TlStX9PLLL8vHx0ebNm3ShAkTNGbMGM2bN0/e3t6KioqyxS4AVpeReVee7h6OLsOunHGf85pPt2/fVkREhG7fvi1XV1eVKFFCCxYskIuLC/kEIFcWNaJ69uypN998U2+99ZYMBoMOHTqkGTNmqFevXrauDwByRD4BcFbWyKd3331X7777brbpVapU0WeffWbNcgG78HT30ICllj9HKD9Y9vIsR5eQTV7zqVSpUvr0008fOI98ApAbixpRQ4YMkZeXlyZOnKjMzEyNHTtWL774ovr372/r+gAgR+QTAGdFPgFwVuQTAEeyqBHl4uKi/v37E0wAnA75BMBZkU8AnBX5BMCRLPrWvEWLFunIkSNm044cOaJ//etfNikKACxFPgFwVuQTAGdFPgFwJIsaUStWrFDVqlXNplWpUkXLly+3SVEAYCnyCYCzIp8AOCvyCYAjWdSIunv3rtzdze/i8/DwUEZGhk2KAgBLkU8AnBX5BMBZkU8AHMmiRlStWrX0n//8x2zamjVr9PTTT9ukKACwlDXzKSYmRsHBwfrll18kSYcPH1bXrl3Vvn17DRw4UCkpKVapGUDBwPkTAGdFPgFwJIseVv7Pf/5TL7/8sjZs2KCgoCCdP39ely9f1tKlS21dHwDkyFr5dPToUR0+fFjly5eXJBkMBr3zzjuaMmWKwsLCNG/ePE2fPl1TpkyxxW4AyIc4fwLgrMgnAI5kUSOqWrVqio+P165du5ScnKx27dqpVatWKlq0qK3rA4AcWSOfMjIyNHHiRH344Yfq16+fJCkhIUFeXl4KCwuTJPXq1Utt2rShEQXAYpw/AXBW5BMAR7KoESVJRYsWVefOnW1ZCwA8lrzm06xZs9S1a1cFBgaapiUlJalcuXKm976+vjIYDEpNTZWPj4/Z+mlpaUpLSzOblpyc/Nj1AMg/OH8C4KzIJwCOYlEj6vz58/roo490/Phx3bp1y2zeV199ZYu6AMAiec2nQ4cOKSEhQSNHjnzsGpYvX66YmJjHXh9A/sT5EwBnRT4BcCSLGlEjR45UUFCQRo8ercKFC9u6JgCwWF7z6cCBAzp9+rTatGkj6d6VTIMGDVLfvn2VmJhoWu7q1atydXXNdjWUJPXv3189evQwm5acnKw+ffo8cj0A8g/OnwA4K/IJgCNZ1Ig6efKkVq9eLVdXi75kDwDsJq/5NHToUA0dOtT0Pjw8XAsWLFDVqlX16aef6uDBgwoLC9OaNWvUoUOHB27D29tb3t7ejzU+gPyL8ycAzop8AuBIFiVPw4YNdezYMVvXAgCPzFb55OrqqujoaL3//vtq166dDhw4oBEjRlh9HAD5F+dPAJwV+QTAkSy6Iqp8+fIaPHiw2rZtq1KlSpnNi4iIsElhAGAJa+fTzp07TT/Xr19fcXFxea4RQMHE+RMAZ0U+AXAkixpRt2/fVuvWrZWZmck3QQFwKuQTAGdFPgFwVuQTAEeyqBE1ZcoUW9cBAI+FfALgrMgnAM6KfALgSBY1oiTp9OnT2rp1q1JSUhQZGalff/1VGRkZqlGjhi3rA4BckU8AnJUt82nXrl2aNWuWjEajjEajXn/9dbVr184KVQMoCDh/AuAoFj2sfMuWLerTp48uXryo2NhYSdLNmzc1depUmxYHALkhnwA4K1vmk9Fo1KhRoxQdHa3169crOjpao0ePlsFgyPO2AeR/nD8BcCSLroiaPXu2li1bpho1amjLli2SpBo1aujEiRM2LQ4AckM+AXBWts4nV1dXXb9+XZJ0/fp1lSlThq9iB2ARzp8AOJJFjairV68qODhYkuTi4mL67/2fAcBRyCcAzsqW+eTi4qKPPvpIw4cPV5EiRXTz5k0tWrQo23JpaWlKS0szm8aDiQFw/gTAkSz632a1atXS+vXrzaZt2rRJdevWtUlRAGAp8gmAs7JlPmVmZmrhwoWaN2+edu3apfnz5+utt97SzZs3zZZbvny52rRpY/bq06dPnscH8GTj/AmAI1l0RdS4ceM0aNAgff7557p165YGDRqkM2fOaMmSJbauDwByRD4BcFa2zKfjx4/r0qVLatCggSSpQYMGKly4sE6fPm32h2T//v3Vo0cPs3WTk5NpRgEFHOdPABzJokZUlSpVtGXLFu3atUutWrVSQECAWrVqpaJFi9q6PgDIEfkEwFnZMp/8/f2VnJysX3/9VU899ZROnz6tlJQUVahQwWw5b29veXt753k8APkL508AHMmiRpQkFS5cWM8995wtawGAx0I+AXBWtsqn0qVLa8KECYqIiDA90+WDDz6Qj4+P1ccCkD9x/gTAUR7aiOrdu7dFD6tbtWrVIw0YExOjOXPmKC4uTtWrV9fhw4cVGRmp9PR0lS9fXtOmTZOfn98jbRNAwWKrfAKAvLJnPnXt2lVdu3bN83YAFAycPwFwFg9tRPXs2dPqgx09elSHDx9W+fLlJUkGg0HvvPOOpkyZorCwMM2bN0/Tp0/XlClTrD42gPzDFvkEANZAPgFwVuQTAGfx0EbUXx9smVcZGRmaOHGiPvzwQ/Xr10+SlJCQIC8vL4WFhUmSevXqpTZt2tCIApAja+cTAFgL+QTAWZFPAJyFxc+IunLlio4cOaJr167JaDSapr/wwgsWrT9r1ix17dpVgYGBpmlJSUkqV66c6b2vr68MBoNSU1OzPeMgLS1NaWlpZtOSk5MtLR9APpbXfAIAWyGfADgr8gmAo1jUiPryyy/1zjvvqGLFijp16pSqVq2qkydPqn79+hYF1aFDh5SQkKCRI0c+dqHLly9XTEzMY68PIH/Kaz4BgK2QTwCcFfkEwJEsakR99NFH+uCDD9SxY0c1bNhQsbGxWrt2rU6dOmXRIAcOHNDp06fVpk0bSfeuZBo0aJD69u2rxMRE03JXr16Vq6vrA7/xpX///tkuJ01OTlafPn0sqgFA/pTXfAIAWyGfADgr8gmAI7laslBiYqI6duxoNq1Hjx6KjY21aJChQ4fq22+/1c6dO7Vz5075+/tr8eLFGjx4sO7cuaODBw9KktasWaMOHTo8cBve3t4KDAw0e/n7+1s0PoD8K6/5BAC2Qj4BcFbkEwBHsuiKKD8/P125ckWlSpVS+fLldejQIZUsWVIGgyFPg7u6uio6Olrjx49Xenq6ypcvr2nTpuVpmwAKFlvlEwDkFfkEwFmRTwAcyaJGVM+ePfXDDz+offv2GjBggPr16ydXV1e9/PLLjzXozp07TT/Xr19fcXFxj7UdALB2PgGAtZBPAJwV+QTAkSxqRA0dOtT0c/fu3dWoUSPdvn1bVapUsVlhAGAJa+TT8OHDdeHCBbm6uqpIkSJ67733VLNmTZ05c0ZjxowxfZNnVFSUKlWqZIO9AJAfcf4EwFnlNZ+uXbumUaNG6dy5c/L09FTFihU1ceJE+fr66vDhw4qMjDS748XPz89WuwLgCWTRM6KWLVumK1eumN6XK1eOkygATsEa+RQVFaUNGzYoNjZWAwcO1NixYyVJ48ePV+/evRUfH6/evXsrMjLSqrUDyN84fwLgrPKaTy4uLho8eLDi4+MVFxenoKAgTZ8+XQaDQe+8844iIyMVHx+vsLAwTZ8+3Ra7AOAJZlEjav/+/WrTpo0GDBigtWvX6saNG7auCwAsYo18Kl68uOnnGzduyMXFRSkpKTp27Jg6d+4sSercubOOHTumq1evWq12APkb508AnFVe88nHx0eNGzc2vQ8JCVFiYqISEhLk5eWlsLAwSVKvXr20detWq9YO4Mln0a158+bNU1pamuLj47V+/XpNmjRJLVq0UJcuXdSuXTtb1wgAD2WtfBo3bpz27Nkjo9Gojz/+WElJSSpbtqzc3NwkSW5ubipTpoySkpLk6+trtm5aWprS0tLMpiUnJ+d95wA80Th/AuCsrJlPBoNBq1evVnh4uJKSklSuXDnTPF9fXxkMBtNjDv6M8yeg4LKoESVJ3t7e6tmzp3r27KnExES9++67ioiI0PHjx21ZHwDkyhr5NHnyZElSbGysoqOjFRERYfG6y5cvV0xMzCPXDSD/4/wJgLOyVj5NmjRJRYoU0UsvvaTt27dbvB7nT0DBZXEjSpIOHjyoTZs2KT4+Xj4+PnrjjTdsVRcAPBJr5VP37t0VGRkpf39/Xbx4UVlZWXJzc1NWVpYuXbqkgICAbOv0799fPXr0MJuWnJysPn36PFYNAPIXzp8AOKu85lNUVJR+++03LViwQK6urgoICFBiYqJp/tWrV+Xq6prtaiiJ8yegILOoERUVFaWtW7fKxcVFHTt21OLFi1WzZk1b1wYAucprPt28eVNpaWmmBtPOnTtVokQJ+fn5qWbNmtq4caO6deumjRs3qmbNmtluy5Pu/R9Fb29vq+0TgPyB8ycAzsoa+TRjxgwlJCRo0aJF8vT0lCTVrl1bd+7c0cGDBxUWFqY1a9aoQ4cOD1yf8yeg4LKoEXX79m1NmzbN9NA5AHAWec2n27dvKyIiQrdv35arq6tKlCihBQsWyMXFRRMmTNCYMWM0b948eXt7KyoqysrVA8jPOH8C4Kzymk8nT57UwoULValSJfXq1UuSFBgYqLlz5yo6Olrjx49Xenq6ypcvr2nTplmzdAD5gEWNqAkTJkiSkpKSdPHiRYWEhNiyJgCwWF7zqVSpUvr0008fOK9KlSr67LPP8loigAKK8ycAziqv+VStWjX9/PPPD5xXv359xcXF5bVEAPmYRY2opKQkvf322zpx4oRcXFx06NAhbd26Vd98843pAb8A4AjkEwBnZet8Sk9P1wcffKC9e/fKy8tLISEhmjRpkhUqB5Dfcf4EwJFcLVnovffeU6tWrfTjjz/K3f1e76pZs2b67rvvbFocAOSGfALgrGydT9OmTZOXl5fi4+MVFxf3SN/2CaBg4/wJgCNZdEXUTz/9pEWLFsnV1VUuLi6SpOLFi+v69es2LQ4AckM+AXBWtsynmzdvKjY2Vrt37zZtu1SpUtmWS0tLU1pamtm05OTkPI8P4MnG+RMAR7KoEeXn56fffvtNlStXNk07derUA7/GHADsiXwC4KxsmU/nz5+Xj4+PYmJitG/fPhUtWlQRERHZHjy8fPlyxcTE5Hk8APkL508AHMmiRtTAgQP16quvaujQocrMzNTGjRu1cOFCDRkyxNb1AUCOyCcAzsqW+ZSVlaXz58/r6aef1ujRo/Xf//5Xr776qrZv365ixYqZluvfv7969Ohhtm5ycrL69OmT5xoAPLk4fwLgSBY1ol544QX5+Pjok08+UUBAgGJjYxUREaG//e1vtq4PAHJEPgFwVrbMp4CAALm7u6tz586SpHr16qlkyZI6c+aM6tSpY1rO29tb3t7eeR4PQP7C+RMAR8q1EZWVlaUBAwZo8eLFBBMAp0I+AXBWts4nX19fNW7cWHv27FHz5s115swZpaSkqGLFilYfC0D+wvkTAEfLtRHl5uamCxcuyGAw2KMeALAY+QTAWdkjn95//32NHTtWUVFRcnd3V3R0NFc/AcgV508AHM3VkoVee+01TZgwQb///ruysrJkMBhMLwBwJPIJgLOydT4FBQVp5cqViouL07p16/Tss89aZbsA8j/OnwA4kkXPiHr33XclSevXrzdNMxqNcnFx0fHjx21TGQBYgHwC4KzIJwDOinwC4EgWNaJ27Nhh6zoA4LGQTwCcFfkEwFmRTwAcKcdGlNFo1KeffqqTJ0/q6aef1vPPP2+vugAgR+QTAGdFPgFwVuQTAGeQ4zOioqKiNGfOHF2+fFkzZszQ7Nmz7VUXAOSIfALgrMgnAM6KfALgDHJsRG3ZskUrV67UrFmztGzZMm3cuNFedQFAjsgnAM6KfALgrMgnAM4gx0bU9evXVblyZUlS1apV9ccff9ilKADIDfkEwFmRTwCcFfkEwBnk+oyo8+fPm95nZWWZvZfufXUwANgb+QTAWZFPAJwV+QTAGeTYiLp9+7batWsno9Fomta2bVvTz3y9JwBHIZ8AOCvyCYCzIp8AOIMcG1EnTpywVx0A8EjIJwDOinwC4KzIJwDOIMdnRAEAAAAAAADWkuMVUQCQ3127dk2jRo3SuXPn5OnpqYoVK2rixIny9fXV4cOHFRkZqfT0dJUvX17Tpk2Tn5+fo0sGAAAAgCcWV0QBKNBcXFw0ePBgxcfHKy4uTkFBQZo+fboMBoPeeecdRUZGKj4+XmFhYZo+fbqjywUAAACAJxqNKAAFmo+Pjxo3bmx6HxISosTERCUkJMjLy0thYWGSpF69emnr1q2OKhMAAAAA8gWLGlHLly/X1atXbV0LADwya+aTwWDQ6tWrFR4erqSkJJUrV840z9fXVwaDQampqdnWS0tL04ULF8xeycnJVqkJwJOL8ycAzop8AuBIFjWivv/+e7Vp00avvPKKNm/erIyMDFvXBQAWsWY+TZo0SUWKFNFLL730SOstX75cbdq0MXv16dPnsesAkD9w/gTAWZFPABzJokbU/PnztXPnTrVs2VLLly9Xs2bNNG7cOB04cMDW9QFAjqyVT1FRUfrtt9/00UcfydXVVQEBAUpMTDTNv3r1qlxdXeXj45Nt3f79+2vHjh1mr1WrVuV53wA82Th/AuCsyCcAjmTxM6JKliypPn366JNPPtHKlSv1008/qV+/fgoPD9f8+fN18+ZNW9YJAA+V13yaMWOGEhISNHfuXHl6ekqSateurTt37ujgwYOSpDVr1qhDhw4PXN/b21uBgYFmL39/f+vuJIAnkj3On2JiYhQcHKxffvnFChUDKCj4+w6Ao7g/ysJ79+7Vhg0btGPHDtWuXVuDBw9WuXLltGLFCg0ZMkT/+c9/bFUnAOTocfPp5MmTWrhwoSpVqqRevXpJkgIDAzV37lxFR0dr/PjxSk9PV/ny5TVt2jR77hKAfMKW509Hjx7V4cOHVb58eStWDKCg4O87AI5gUSMqKipKmzZtUvHixdWtWzfFxcWpbNmypvn16tVTo0aNbFYkADxMXvOpWrVq+vnnnx84r379+oqLi7N6zQAKBlufP2VkZGjixIn68MMP1a9fP2uUDKCA4O87AI5kUSMqPT1dMTExqlu37gPne3h46PPPP7dqYQBgCfIJgLOydT7NmjVLXbt2VWBg4EOXSUtLU1pamtk0vtUTAOdPABwp12dEZWVl6euvv1aNGjVyXK5KlSoPnXft2jUNGTJE7du3V5cuXfT666+bvi708OHD6tq1q9q3b6+BAwcqJSXlEXcBQEFljXwCAFuwdT4dOnRICQkJ6t27d47L8a2eAP6K8ycAjpZrI8rNzU1ubm5KT09/7EFcXFw0ePBgxcfHKy4uTkFBQZo+fboMBoPeeecdRUZGKj4+XmFhYZo+ffpjjwOgYLFGPgGALdg6nw4cOKDTp0+rTZs2Cg8PV3JysgYNGqRvv/3WbDm+1RPAX3H+BMDRLLo1r1+/fnrrrbf0yiuvyN/fXy4uLqZ5QUFBua7v4+Ojxo0bm96HhIRo9erVSkhIkJeXl8LCwiRJvXr1Ups2bTRlypRH3Q8ABVRe8wkAbMWW+TR06FANHTrU9D48PFwLFixQ9erVzZbz9vaWt7d3nsYCkP9w/gTAkSxqRE2aNEmStGfPHrPpLi4uOn78+CMNaDAYtHr1aoWHhyspKUnlypUzzfP19ZXBYFBqaqp8fHzM1uMZBwAexJr5BADWRD4BcFbkEwBHsqgRdeLECasNOGnSJBUpUkQvvfSStm/fbvF6y5cvV0xMjNXqQHaGzLtydfdwdBl2lZd9zsi8K88CdryccZ+tmU8AYE32zKedO3fabSwATz5r5FNUVJTi4+P1+++/Ky4uznRF5pkzZzRmzBjTxQVRUVGqVKlSnscDkH9Y1Ii6LzExURcvXpS/v78CAgIeebCoqCj99ttvWrBggVxdXRUQEKDExETT/KtXr8rV1TXb1VDSvWcc9OjRw2xacnIyD9y0Ild3D/0QP78gBAAAIABJREFUPdjRZdhVg1EfP/a6nu4eGrA0worVOL9lL89ydAkPldd8AgBbIZ8AOKu85FObNm3Ur1+/bH+PjR8/Xr1791a3bt20fv16RUZGasWKFdYs+/+yd+dhVVXtw8e/cBAQmWRGxQEQBJkcEBFFAXFEyVJLs0wry6fS5qzMNK0kh7ScNc3SNAc0xXlK0Z8DiBMyqDgwCMggAiIz7x++5zxgZvokniPcn+vyKs9Bztr77H3vte+91r2EEE+5h0pE3bhxg/fff5/Tp09jampKXl4enp6ezJ49G2tr64f6oNmzZxMbG8uSJUvQ1dUFwM3NjeLiYqKjo+nYsSNr166lT58+9/33UuNACHE/jyM+CSFEbZD4JITQVI8jPinr/FaXk5NDXFwcK1asACAkJISpU6eSm5uLmZnZY90GIcTT6x9XzQOYPHkybdq04cSJExw+fJgTJ07g4uLCl19++VAfcvHiRRYvXsyNGzd44YUXCA0N5a233kJbW5vvvvuOKVOm0KtXL6Kiovjggw/+1QYJIeqXfxufhBCitkh8EkJoqtqKT+np6VhbW6NQKIC7K/RZWVmRnp7+l5/Nz88nNTW1xh+pASxE/fBQI6JOnjzJ3LlzadDgbm0YAwMDPv74Y7p16/ZQH9K6dWsSExPv+1779u3ZunXrQzZXCCFq+rfxSQghaovEJyGEptKE+CQ1gIWovx5qRJSJiQlJSUk1Xrt8+bJMlRNCqJ3EJyGEppL4JITQVLUVn2xtbcnMzKSiogKAiooKbty4cd/6UyNHjmTfvn01/qxevfpffb4Q4unwUCOiXnvtNV555RUGDx5MkyZNuH79OuHh4YwfX78KNQshNI/EJyGEppL4JITQVLUVn8zNzXFxcSEiIoLQ0FAiIiJwcXG5b30oqQEsRP31UImooUOHYmdnR0REBImJiVhZWTFr1ix8fX1ru31CCPFAEp+EEJpK4pMQQlM9jvg0bdo0du/eTXZ2NqNGjcLU1JRt27YxefJkJkyYwIIFCzA2NiYsLKwWt0QI8TR6qEQUgK+vr3SchBAaSeKTEEJTSXwSQmiqfxufJk6cyMSJE//yuoODA+vXr/83TRNC1HEPlYiaO3fufV/X1dXFxsaGbt26YWFh8VgbJoQQD0PikxBCU0l8EkJoKolPQgh1eqhi5VevXmXp0qUcP36c5ORkjh8/ztKlS4mPj2fNmjX07NmTQ4cO1XZbhRDiLyQ+CSE0lcQnIYSmkvgkhFCnhxoRVVlZyffff09wcLDqtb179xIREcG6devYtGkTs2bNwt/fv9YaKoQQ9yPxSQihqSQ+CSE0lcQnIYQ6PdSIqMOHDxMYGFjjtYCAAFWWfODAgaSkpDz+1gkhxD+Q+CSE0FQSn4QQmkrikxBCnR4qEdW8eXPWrFlT47W1a9fSvHlzAG7evEnDhg0ff+uEEOIfSHwSQmgqiU9CCE0l8UkIoU4PNTVv2rRpvPPOOyxduhRra2syMzNRKBT8+OOPAFy5coXx48fXakOFEOJ+JD4JITSVxCchhKaS+CSEUKeHSkS1bduWXbt2cebMGW7cuIGlpSVeXl40aNAAAG9vb7y9vWu1oUIIcT//Nj6FhYWxa9cu0tLS2Lp1K05OTsDdDtiECRPIy8vD1NSUsLAwWrZs+SQ2SQhRR0j/SQihqSQ+CSHU6aGm5t3L29ubsrIyioqKHnd7hBDiX3nU+BQUFMTq1atp2rRpjde//PJLhg8fzq5duxg+fDiTJk2qjeYKIeoR6T8JITSVxCchxJP0UCOiEhMTGTt2LLq6umRmZtKvXz+ioqLYtGkTc+bMqe02CiHE3/q38aljx45/eS0nJ4e4uDhWrFgBQEhICFOnTiU3NxczM7O//Hx+fj75+fk1XsvIyPgft0gIUVfUZv/p5s2bfPzxxyQnJ6Orq0uLFi346quv7hujhBDiXnJ/J4RQp4caETV58mTGjRvHzp070dG5m7vy9vbm5MmTtdo4IYT4J7URn9LT07G2tkahUACgUCiwsrIiPT39vj+/cuVKgoKCavx58cUX/+fPF0LUDbXZf9LS0uK1115j165dbN26FTs7O2bOnPmvf68Qon6Q+zshhDo91IioS5cuERoaCtzt+AAYGBhQUlJSey0TQoiHoAnxaeTIkQwaNKjGaxkZGZKMEqKeq834ZGpqio+Pj+rvXl5ef1kBSwgh/o4m9J+EEPXXQyWimjZtSmxsLO7u7qrXzp49q1reUwgh1KU24pOtrS2ZmZlUVFSgUCioqKjgxo0b2Nra3vfnjY2NMTY2/p8/TwhRNz2p/lNlZSVr1qwhMDDwL+/J1GEhxP3I/Z0QQp0eKhE1fvx43njjDV544QXKyspYvHgxa9euZerUqbXdPiGEeKDaiE/m5ua4uLgQERFBaGgoERERuLi4SO0VIcQjeVL9p6lTp2JgYMCIESP+8t7KlSuZN2/eY/08IcTTT+7vhBDq9FA1ogICAli2bBm5ubl4e3uTlpbGjz/+SNeuXWu7fUII8UD/Nj5NmzYNf39/MjIyGDVqFP379wfu1k5YtWoVvXv3ZtWqVUyZMqU2N0MIUQc9if5TWFgY165dY86cOWhr/7VbN3LkSPbt21fjz+rVqx/b5wshnk5yfyeEUKeHGhG1Y8cO+vbty+TJk2u8vnPnTvr06VMb7RJCiIfyb+PTxIkTmThx4l9ed3BwYP369Y+rmUKIeqi2+0+zZ88mNjaWJUuWoKure9+fkanDQoj7kfs7IYQ6PdSIqM8///y+r0+aNOmxNkYIIR6VxCchhKaqzfh08eJFFi9ezI0bN3jhhRcIDQ3lrbfe+te/VwhRP0j/SQihTg8cEZWSkgJAVVWV6v+rv/d3T9+EEKK2SXwSQmiqJxGfWrduTWJi4r/+PUKI+kX6T0IITfDARFRwcDBaWlpUVVURHBxc4z0LCwveeeedWm2cEEL8HYlPQghNJfFJCKGpJD4JITTBAxNRCQkJAIwYMYJVq1Y9kQYJIcTDkPgkhNBUEp+EEJpK4pMQQhM8VI0oCVJCCE0l8UkIoakkPgkhNJXEJyGEOj3Uqnnl5eX89ttvREVFcfPmTaqqqlTvyRLAQgh1kvgkhNBUEp+EEJpK4pMQQp0eakTUt99+y++//07Hjh05f/48vXr1Iicnh86dO9d2+4QQ4oEkPgkhNJXEJyGEppL4JIRQp4dKRO3evZulS5cycuRIFAoFI0eOZP78+Rw/fry22yeEEA8k8UkIoakkPgkhNJXEJyGEOj1UIqq4uBhbW1sA9PX1uXPnDg4ODsTFxdVq44QQ4p9IfBJCaCqJT0IITSXxSQihTg9VI8rBwYFz587h4eGBm5sbP/74I4aGhlhbW9d2+4QQ4oEkPgkhNJXEJyGEppL4JIRQp4caEfXZZ5+hUCgAmDBhAnFxcRw4cICpU6fWauOEEOKfSHwSQmgqiU9CCE0l8UkIoU4PNSLKw8ND9f8tW7bk559/rq32CCHEI5H4JITQVBKfhBCaSuKTEEKdHjgi6uTJk8yYMeO+782cOZPTp0/XSqOEEOKfSHwSQmgqiU9CCE0l8UkIoQkemIhavHgx3t7e933P29ubRYsW1UqjhBDin0h8EkJoKolPQghNJfFJCKEJHpiIio+Pp1u3bvd9z8/Pj9jY2FpplBBC/BOJT0IITSXxSQihqSQ+CSE0wQMTUYWFhZSVld33vfLycm7fvl0rjRJCiH8i8UkIoakkPgkhNJXEJyGEJnhgIsre3p7Dhw/f973Dhw9jb29fK40SQoh/IvFJCKGpJD4JITSVxCchhCZ4YCLqlVde4csvv2T37t1UVlYCUFlZye7du5k8eTKjRo16Io0UQoh7SXwSQmgqiU9CCE0l8UkIoQl0HvTmgAEDyM7O5pNPPqGsrAxTU1Py8vJo0KAB48aNIyQk5Em1UwghapD4JITQVBKfhBCaSuKTEEITPDARBTBq1CiGDBnCqVOnyMvLw9TUlHbt2mFoaPjYGnHlyhUmTJig+v1hYWG0bNnysf1+IUTdJPFJCKGpJD4JITSVxCchhLr9YyIKwNDQ8G9XV3gcvvzyS4YPH05oaCh//PEHkyZN4pdffqm1zxNC1B0Sn4QQmkrikxBCU0l8EkKo0wNrRD0JOTk5xMXFqYaBhoSEEBcXR25urppbJoSo7yQ+CSE0lcQnIYSmkvgkhPgnDzUiqjalp6djbW2NQqEAQKFQYGVlRXp6OmZmZqqfy8/PJz8/v8a/TUtLAyAjI+Nvf39JUV4ttFpzpaam/qt/n1VQ/Jha8nT4t/urOK/oMbXk6fB3+0t5DlZUVDzJ5tS62o5P96pv8Upd/u15/0/qWxxVl0f5HutijJL+0+Ml/adHI/2nR/Og/SXx6X/rP9WnGCXx6dFIfHo06opPak9EPayVK1cyb968+7734osvPuHWaK6gPT+ouwlPl3VB6m7BUyVo0YP3V1ZWFi1atHhCrdEcEp+eLhIn64j/IX7Xxxgl8enhSFx4RNJ/eiT/1H8CiU/3kvj0XxKfHpHEp0eirvik9kSUra0tmZmZVFRUoFAoqKio4MaNG9ja2tb4uZEjRzJo0KAar5WWlpKSkkLLli1VGXdNkJGRwYsvvsjq1auxsbFRd3M0nuyvh6ep+6qiooKsrCzc3NzU3ZTHqi7Gp8dJU49H8Wjqw/dYF2NUXYxP9eFYfJxkfz0aTd1fEp8kPtVFsr8ejabur9qMT2pPRJmbm+Pi4kJERAShoaFERETg4uJSY9gmgLGxMcbGxn/59/b29k+qqY/MxsaGZs2aqbsZTw3ZXw9PE/dVXXyKV5fj0+OkicejeHR1/XusazGqLsenun4sPm6yvx6NJu4viU81SXyqO2R/PRpN3F+1FZ/UnogCmDx5MhMmTGDBggUYGxsTFham7iYJIQQg8UkIobkkPgkhNJXEJyHEg2hEIsrBwYH169eruxlCCPEXEp+EEJpK4pMQQlNJfBJCPIi2uhsghBBCCCGEEEIIIeoHxeTJkyeruxF1kZ6eHj4+Pujp6am7KU8F2V8PT/aV0CRyPNYN8j0KTSHH4qOR/fVoZH+Jf0OOn0cj++vR1Lf9pVVVVVWl7kYIIYQQQgghhBBCiLpPpuYJIYQQQgghhBBCiCdCElGihsrKSsrKytTdDCGEEOIfKQd1y+BuITRbSUkJVVVVcq4KIUQd87/mDyQRJVQyMzPZunUrpaWlwN2DStSUm5tLRkaGuptRqyorK6WjKJ4qVVVVVFRUqLsZ4gmqqqoiMTGR/fv3A6ClpaXmFomnifRvnqz09HS2bNlCUVERWlpalJSUqLtJGqusrEzVDxeiNuTm5j71x5gktTXHv8kfSLHyeqyqqorKykq0te/mIw0NDZk+fTrJycmsW7eO0tJSHB0dVe8LOH78ONu2baNr164kJCTQsGFDdHV11d2sx6KqqgotLS3VHyGeFlpaWqo4lZiYiL6+fp05L8V/KTueyhiVk5PDjBkzaNy4MWvXrsXV1RUDAwN1N1NosMrKSrnGPQH39i9LSkpYv349e/bsYc+ePRQUFODm5qbmVmqm8PBwUlJScHJyori4GB0dHVXcE+JxWLlyJWVlZTRv3pzMzEwMDQ3V3aSHpkw+SRxXn8eZP9Cp7cYKzaM8eLS0tFAoFMDdg+rGjRvk5eWxbds2Ro4cycCBA+v1Sa686al+IllYWPDrr7/yf//3fxgbG/Pdd9/RqFEjNbby36keSJTfdUJCAlu2bKFHjx64ublhYGAgnSChMSoqKmokngAKCwtZsGABx44do1mzZujr6/Phhx9iZWWlxpaKx6WiokJ1zaoehyIjIzl37hwLFy7kjTfewMjISGKVqKH6TQugihuRkZFERUXx3HPP0bx5czlmHpP79S8Bbt26xZ9//omJiQkTJ06ke/fuamylZqmoqEChUKj2nZmZGR988AGHDh0iPT2dZcuWyYMV8T9TJg0UCoXq+lhSUsLHH39Mq1atsLW1ZebMmepu5gNVv64r/5uZmcm+ffvw9PTExcVFBk08AbWRP5ARUfWQ8uDIzc1l8eLFrFmzBoVCgaenJ7a2tqSmpvLaa69hbGxcrzr15eXlaGtr13hiqqWlRX5+PtevX6dx48acPn2auLg4/P39mTVrFkZGRupu9v/kfk+FS0pK+Oabb4iIiKB9+/YcO3aMPXv2EBwcDMjUF6EZlBfB7OxsCgoKMDQ05NSpU5SVlfHZZ5/Rs2dPJk6ciI6ODu7u7tKBrwOU33lWVhYrVqwgMTERT09PLCwsAGjYsCFjx45FoVBInBLAf6eYK48dpatXr/LBBx9w9epVXFxcWLNmDcXFxbi6uqqui+LR3O8m8cqVK8yfP59ly5bRpEkTXF1d8fDwIDs7m8DAQMzNzVV9rvqo+uhO5T4oKytDoVCwceNGTp8+TUBAAN9++y06OjJmQDy66qOHtbW1a0yHXb16NZcvX+bzzz9nzJgxamzlg1V/CKWUn5/P7Nmz+emnn2jUqBFJSUkcPXoUPz8/Nba0fqiN/EH9vALUE39XN+X69et8/fXXLFiwgMrKSrp3786kSZNISEige/fuVFVVERkZyZ07d+pNp6ykpITBgwdTWFhYY4rP999/T79+/fj8889ZtmwZvXr14q233iI2Npbbt28/tYXdtbW1KS0tJTw8nM2bNwN3t1dbW5sVK1ZgZWVFbGws6enpqpoOQjxJlZWV951nvmfPHt58801GjhzJ+fPngbudqsOHD/PJJ58wcuRIXnrpJYYPH/5Uj1asjyorK2tcs5SjWRISEpg0aRI//PADKSkpnD59mo8//pjmzZvzzDPPkJSURGpqqrqaLTRE9WNHW1sbbW1tbty4werVq7lw4QIAMTExBAYGMmvWLIqLizl9+rTqvfqaFPlfVI/P9yb6pk2bxsyZM3FycqJLly788ssvREZG0r59e4yNjdm+fTtAvUuwVL+eKZMDt2/fZs2aNfTt25ewsDCSkpL46KOP6NWrF1lZWWhpaT31tXzEk6Ec+aSkPC+TkpKYNGkSPXv2ZNasWaSmpjJv3jx8fX2Ji4sD0NiabcpRN0ePHmXHjh0ApKWloaenx/r16wkODiYmJobo6Gju3LmjzqbWKU8yfyBX3TqmeiCqPnQuKiqK9PR0AMzNzYmJieH69eu8//77PPvss/j7+7N7924AfHx8OHv2LFVVVZSWlnLr1i31bEwtU55klZWV6OnpER4ertp3y5cvZ/To0ZiYmHD48GHGjx/P8uXLKSgoICAggLS0NJKSkmjQoIE6N+GBHlTAeevWrYSGhnLgwAFMTEwoLy8nPz+fP/74g9DQUHbv3s3777/Pr7/+KjVXxBOlPAeVN5LVZWZmsmPHDp577jm2bdtGYGAgAO3atSM2NpaPPvqIDRs28P7772Nubk5+fv4Tb794NNWLjWpra6uuWZcvX0ZLS4uqqipSU1NZt24dzzzzDGFhYbz++uukpaURExODk5MTNjY2HD58GIDbt2+rZTuE+lWfCpaWlsb48eMZM2YMFy9eVD18uXr1KgsXLmTIkCGkp6fz888/8+mnn6qx1U+P6v1LZXwuLi5m//79JCcnq37uwoULKBQKhg4dyogRI3Bzc2P//v3o6enRtm1bEhMTAcjKyqKwsFAt2/IkKfth917PwsLCGDVqlGo0uo6ODh9++CEAw4cPZ+vWrQAyqlc8kHL0570lC6qqqnjnnXf47LPP8Pf3Z/Xq1dy+fVs1Da9Xr15s2bIFAD09PbW0XamiouK+hccjIiIYOHAgy5Yto6ioCIAzZ86wd+9eQkNDWbp0KS+++CJr1qyhYcOGT7rZdYq68geSiKoj7jfMt6CggLCwMJ599lmWL1/OlClTOHr0KHp6enTr1g0LCwuys7MBCAgIIC4ujhs3btCvXz/KysoYNmwYI0aMqHNPmpXBTnmSKffXn3/+SZcuXQDo378/enp6NGnSBLh7ctnY2LBnzx4aNWqEu7s7O3bsYPv27axfv15jnlgpA3V5eXmNQKL8nuFuPZ2NGzcyZ84cfvzxRwICAtDR0aG8vJxOnToxYcIEwsLC6NKlCzdu3ODgwYOALI8uas/PP//M2bNngf+ej3FxcUybNo1Vq1aRkpIC3D1Hr127ppouWl5eDkDXrl2Buzc2JSUl7Nmzh9GjRxMTE/OkN0U8pOqdZ6WkpCS++eYbQkNDmT59OmvWrCEvL4/OnTvj5uamutm1tbWlbdu27NixgwYNGhAQEMDKlSsZN24cUm2g/kpLS2P27NkAXLp0iYqKCjZv3szkyZNxdHREV1cXbW1tunfvzrJly5gwYQKOjo7ExsYSHx8PyHXufqrfnCjjc2ZmJu+99x7Dhg0jIiKCpUuXcujQIVq2bKl6QAB3i9i2bt2anJwc0tLS6N69Ozo6OvTu3ZvPPvuszvUvlao/BFT2ww4ePMj27dtVD0jat2/PuXPn6Nq1K+3atWPcuHEkJCSQkZFBhw4daNCgAZGRkRQVFXHp0iW1bIfQTNVHJCqnrl2/fp0lS5bwxx9/UFhYiJaWFu3btyc1NZWePXvSvHlzhg8fTnR0NKWlpfTr148bN25w7tw5zp49q0oQPwnKvpvyPFFOqy8uLlb9TFFREbt37+bTTz/lp59+4rnnngPuJmZtbW2ZPHkyixYtIiQkhKqqKqKjo59Y++sSdecPpEbUU+7eIq4FBQWsWbOGY8eOYWRkRKNGjRg/fjwhISH8/PPPXLp0if79+9OwYUN27tyJh4cH1tbWNGvWjNWrV2NmZoa3tzceHh64uLjw3nvvYW1tre7N/FfOnTunqnsEdztThYWFrFu3jlWrVqGtrY29vT2tWrViyZIldO/enZYtW7J//34sLS3x9PRUrdB07Ngx+vfvT+vWrTlz5gy7du2iffv2uLi4qH362ubNm/niiy944YUX0NbWJjc3l9WrV/Pdd99x8OBBdHR0sLW1JS8vj/3799O1a1csLCwoKiqiQYMGGBoakp6ezq+//oq1tTUrVqxg8eLFmJiY4O3trfbtE3VHYWEhhw4dQldXF2NjY5YsWcK1a9cICAggNzeXGTNmEBERQceOHQGYO3cuQ4cOJTc3l0uXLtG7d28UCoXqomlubo6uri4HDx5k4cKFpKamEhoaSnBwsBy3GqR6DR7lNSs7O5ulS5fi5OTEoUOHMDU1VY0O+PXXXzEyMsLLy4usrCyio6Pp27evaiTqmjVrGDx4MB4eHmhra+Ph4cGbb74p33kdpVyoQEtLS3UsXb58mcaNGwN3O9Rjx45l+PDh3Llzh99++42TJ08SFxfHhg0baNCgAb6+vhw8eJD/+7//o6Kigrlz57J161bc3d1p0aKFHDv/3/1WpsrIyGD27NmcPXsWb29vKisrmTx5Mk5OTixfvpzs7Gy6du2Kjo4O0dHRWFtb06RJEyorK4mJiSE3N5fu3bvj5uaGn58fY8aMUdV5qyvuvaErKipi06ZNfP7551y/fh2FQsGKFSsIDQ3FwcGBpUuXEhoaipWVFbq6uhw7doycnBx8fX3R19fn999/Z+7cuZiZman6sEIoz8vS0lKKior4+uuv+e2337CxsVE9bO7Tpw9Nmzbl119/5ZlnnqFRo0aYmZmxd+9eADw9PQH46aefVEW/W7RoUavtrqqqYteuXSxfvpyePXuira1NWVkZERERTJ8+ncjISExMTLCzsyMqKoro6Giee+45DA0NKSkpQUdHB1NTU+Lj44mMjMTe3p7Vq1czY8YMLCwscHV1rTEyVvw9TckfSCLqKXNvMU1tbW3Vhe+7775j6dKlWFpaMnDgQBwdHTE3N+fbb79l2bJldOzYkdOnT+Pu7o6Xlxc7d+7EwMAAR0dHGjZsyK1bt2jdujVNmzbF0NDwqV9JRrlf0tLS+OabbxgwYACNGjWipKSEcePGUVhYSHBwMDNmzKC4uJgOHTqQmJhIbGwsPXv2pLy8nJ07d9K7d290dXWxsbFh9uzZ9OvXj5YtW9K5c2deeOEFnJ2d1bKf9u/fz4IFC7h69SrOzs6Ym5uzcuVKQkJCMDQ05KeffqKkpIRJkyZhYWHBihUrsLCwwNLSkvPnz2NtbU2rVq1UN3UKhQJvb28sLCzYtWsXrVu35uOPP6ZHjx5PfNtE3XTixAnVKKe4uDiOHDmCiYkJPXv2ZMWKFYSEhGBkZETTpk155ZVXyMzMJCIigujoaLp27YqjoyN79+4lMzOTjh07kpyczJYtW7C0tMTPzw9fX19CQ0N57rnn1HZeir937+in9evXs2HDBqqqqujYsSPt27dHR0eHSZMmERkZSfPmzUlISGDAgAHo6uqybds2unXrhrGxMQqFgoyMDBwcHGjcuDHu7u44OjrKd16HKTvNylXGAHx9fenRowdWVlbo6+tz8OBBSkpKCAkJoW3btrRr144WLVpQWFjIihUreOedd3Bzc+POnTscPHiQXr16MWHCBOzt7dW8dep3b9Fx5b4uKyvj448/JioqCjs7OwYPHoyZmRm6urpMmDCBXbt20aFDB27duoWZmRnu7u6cP3+e5ORk/Pz80NPTQ09PD2dnZ2xsbDAxMcHGxkbNW/v43Lvfbt26xdatW5kxYwbt2rWjsrKS//znPwQFBRETE0N4eDgODg60bt2ahIQE4uLiVKN8dXV1mT59Om+//TYuLi54e3vz7rvv0qFDB3VuotAwiYmJzJkzh+XLl/PMM89gYWHB22+/jb6+Pn/88QcnT57Ew8MDZ2dnoqOjycjIoHPnzqpFP9asWcNLL72Eh4cHffr0YfTo0bWWhDp79iwrVqygqKiIFi1akJGRQXR0NK1bt8bCwoIFCxYQHx/Phx9+iImJCYsXL8bZ2RlLS0s2btzIgAEDMDQ0VNWUUz6cKigoIDw8HCMjI95++22CgoIkCfUAmpo/kETUU+beL3bt2rX8+uuvBAcHc/nyZbZu3crs2bNWR3Z3AAAgAElEQVSxsbFBS0uLvXv3kpOTw/z58+nWrRurVq2isrKSrl27cvXqVdLT0+nUqRN6enp06NCBpk2bqmnLHj/lvrK1tWXHjh2YmZnRpk0bdu7cSVpaGjNnzsTe3h4bGxsOHTqEp6cnTk5OzJ07lzFjxuDo6EhYWBidOnWiadOmqhtmZbBWLoWqXM7ySQkPD2f8+PGkpaURGBjI1q1buXjxIl26dCExMZG0tDQ6d+6Mq6srLVq0YN68eWzevBlTU1MuX77MsGHDuH79Oj/99BNOTk4cOXKEqVOnYmtri4ODA46OjvTq1Yt27dpJsWfx2OTl5bFs2TLS09NZv349zz77LCkpKezbt49XXnmF33//naZNm9K6dWv09fX58ssviYuL47333qO0tJTjx4/z3HPPYWBgwP79+1m9ejXbtm3DysqKLl26oKuri66uLvr6+ureVPE3srKy2LhxI4aGhlRWVrJgwQIsLCyYPn06jRo1oqqqipkzZxIUFMSXX36JQqFg3759tGvXDmdnZ3bs2IGuri5ubm4YGxsTGBioGg0j6o77FcGuqKhg+/btTJ8+ncuXL6umzl+4cIGkpCQCAgKAuyso/vTTT4wcORJbW1uaNGmCQqHgypUrGBsb4+fnR+PGjfH09KRv3744OzvLzcv/d2//8ttvvyU9PR1PT0+OHDmiqsOnfMq9fft2ioqKmDdvHp06dWL+/Pno6urSo0cPUlNTyc3NpXPnzujr6+Pg4FBnkk/VR4sp/6tcAfD48eNMmjSJkpISxowZQ5s2bbCzs2PdunVMnTqVtm3bYm9vz44dOxg6dCi2trZ88803vP322wA4OTlhYmKCm5sbDRo0wNTUVIro10P3W8EzOzsbAwMDfv75ZxYuXEjHjh2ZMmUK+vr6GBgYMGXKFA4cOMDQoUPR19fn3LlzqgTnokWLeO211wBo3bo13t7e2NjYoK2tXWt1YDdu3Mhnn31GTEwMTZs2JTw8XDXy/cKFC9y8eZMOHTqoEq4bN25kw4YNlJWVUVlZSd++fYmJiSEyMpJmzZpx4cIFZs2aha6uLm3btsXLy4sBAwaoZneIB9PU/IFENw12v+JtOTk5rFq1SvX3Vq1aqYq0hoSEADWLtR49epTi4mLy8vLYu3cvJiYmXL9+ndu3bzNmzBgmTpyIkZHRE9ia2vN3q2vBf+cfBwQEsHPnTuBuAkm5UkRZWRn+/v4kJyeTk5ODp6cnhYWF7Ny5Ez09Pd544w3Mzc2Bu52Pe5+aVq/DVNuUx0J2djaenp58/fXXPPPMM4wdO5bk5GSys7Pp27cvu3btAu52yJctW0arVq3YunUrI0eOJC0tjYsXLzJy5EhGjx7N2rVrOXbsGO+88w7du3d/Itsh6idTU1O6du1KkyZNyM3NBcDCwkJVK8Df31917J49e5ZTp04xd+5cnJycAFTFEHv27MncuXP54osvCA8P591335WEqYaofs1SxuTr16+TlJQE3K0LERkZyenTp2ndujXt2rWjSZMmqoLFN2/eJCkpSXVNOnfuHAqFgl27dqGrq8uMGTN44YUXgL92qsTTLSUlhRMnTtx3uW64uzJmeHg4Y8aMQV9fn+nTp5OcnMyYMWPYtm2b6uc8PDzIzMzk6tWrpKWlMW7cOMaMGUN6ejpvvPGGRi8w8qT83UImCQkJHDhwQHU+6urqcvr0acrKyggODsbCwkLVvywpKSErK4uCggJyc3PZsGEDrVq1Ij8/n4KCAgYPHsxnn31WJ/d39emKcLc4+/jx44mJiaFVq1bcuXMHIyMj3NzcgLsxcMuWLfz++++MGTMGBwcHYmNjycvLw8vLC3t7ey5evAjc/W5eeuklSY7WQ/cu3FHdtm3b+Oqrr0hLS8PLy4vS0lLMzc1V51d8fDxxcXH89NNP9O7dm4KCAg4dOkRJSQm9evWiS5cu5OXlAXf7Yl5eXkDtXEeV1/7k5GQaNmzIypUref/99/nkk0/Yu3cvenp6ODo6EhcXR0VFBcbGxsybN4+ioiLCw8N5/vnnOX/+PBkZGUyYMAEvLy9mz57NihUrCA4OVs3SkD7A33ua8geSiNIw1Q8cZfG2mzdvql7Ly8tj2rRpqoDSrl07zM3N2b59O40bN8bX15fffvtN9fMvvvgiDRo0ICQkhB07dvDpp5/y/fff06hRI7WvkvBvKfeVcvWWwsJCMjIyavyMMpg/88wzJCYmcu3aNQIDA8nIyCAuLo4GDRqgp6dHw4YNVUt/fvjhh6rVF15//XUcHBwA9Qc95fZ269aNyspKzpw5A4CrqyvJyckYGRnh7+9PYWEh58+fp6qqSnXDBxAbG0txcTGbNm0C4Nlnn2XGjBnMmjULPz8/9WyUqFMqKir+dqVGuHvh09HR4eTJk5SWlhIVFaWqexEaGsqZM2fIzMzEzc2NlJQUNm3axBdffEHz5s0JCAhQFT7U09PD1dX1iWyTeHjKa1ZJSYlqRa1vv/2WPXv2UFpaiq2tLa6urly8eJGSkhI8PT3JyclRfa/6+vqEhoYyb948evfuTW5uLrNmzWL8+PEAT329QvFXynixbt06Nm3aRF5eHklJSSxYsEC1UIayPuOrr75K586def311+nYsSNbt27Fzc0NAwMDVTIqMTERLS0tNm3aRLNmzRg/fjx//PEHEydOxNbWVm3bqUmqP0DLzMxULXJy7NgxVq1aRU5ODnB30ZaUlBTi4+Px8fGhtLSUixcvUlFRgZ6eHsHBwejp6TFs2DDOnz/PBx98wNSpUzEyMqozK73d74auuLiY8PBwDhw4ANyNWzY2Npw4cQIrKyuCgoJUfXQAOzs7zp8/z9mzZzlw4ABZWVk0adKEkydPAneTDMp+mrr7meLJqp4Urv7dp6SksGjRIlUB7iZNmmBkZMS5c+dwdnamQ4cONRYhsra2Jj09nf379/PDDz9gZWWFt7c3qamp6OnpMWvWLExNTZ/INim3Y/DgweTm5qoWm3FycqK4uJjKykpcXV0pKyvj1KlTpKWlcf36dVXNqNu3b3Pt2jX27t2LmZkZL7/8Mj/++CM//fQTISEhkqT9G09r/kCm5mmAgoICYmNjadKkieoELi8vZ8uWLcyaNYu1a9eSlZWFhYUFDg4OnDhxgqKiItq3b49CoSAnJ4dDhw6p6mgsWbKE0aNHA2BlZaWqZTRw4EBsbW2f2gtd9Wlw1efknzt3jrlz5/L9998TFRVFs2bNVKvdKZf/NjY2Zt++fVRUVNCpUydVhvfUqVMsWLAAZ2dnnn/+eRQKBe3bt6dly5aqz1U+oX3S26j8e/Xh3wCWlpYcOXKE/Px8EhMTWbZsGV27diUgIICGDRuSmJjIlStX6NGjh2oqzOrVq6moqODDDz8kODhYNX3paT0WhGYZN26cahqMtrb2fYeVw90O+5UrV5g7dy4HDhzAxcWFESNGoK+vr7og6ujo4O3tjbOzM4cOHcLa2pqRI0fy7LPPYmxsrIatE/fKzc3l9u3bNYb0l5aWsmXLFsLCwjh58iTW1tY0bdqUrKwsrl+/TosWLTAzM6O8vJzo6GhatGiBk5MTBw8exNDQkDZt2qCnp4eXlxetWrVizJgx9O/fHzMzM4lTdURVVRXFxcWkpqbSuHFjqqqqVNc6fX19zp49S0JCAuHh4ejo6LB+/Xrs7OxwcXFh1qxZPPvss1hZWaFQKDh16hTp6ekEBQWpCvBOmTIFMzMzPvnkE/r374+2tjZmZmZq3mr1yszMJCMjo8Z+KCwsZPny5UyfPp0jR45w8eJFunXrhp2dHdu3b8fBwQE7OzssLS3ZvXs3VVVVeHt7c+nSJZKSkvDy8sLAwAArKys6derEqFGjCA4OrpP7Wjk6Lysri7S0NMzNzcnPz2f79u1cvnyZgIAAGjVqRE5ODlFRUQQFBVFZWUlUVBStW7dWjai3trZm3bp1HDlyhOeff55PP/1U6pLVU/cu2qGMgSdOnODWrVtYWlqSnZ3Nnj170NLSwsvLC1NTU+Li4rh+/To9evQgLS2NK1eu0KZNG4yMjGjcuDGmpqZs3rwZXV1dXn31VYYMGVKr52T1e6N771WqqqowMTFRrWybl5fHnDlz6NGjB0FBQWhra3Pp0iXVqrhnzpwhMjKSjRs3kp2dzejRo+nevTsGBgZUVVXVmcT241YX8geSiFKT6sslVlZW8tFHHxEcHMyZM2fQ19cnPj6e6OhoXn31VYYPH87SpUu5evUqgYGBqlEtyikKsbGxbN26lWHDhtG6dWu2b99Oly5dMDExAaBBgwZ1om5K9YCtXC1i4cKFrFq1il69evHNN98QFxdHbGwsjo6OmJiY1EjslJWVsWPHDp577jl8fHxwdHQkLS2NESNG8MILL9TIslcPsLWdhLo3gCs/Lz4+HnNz8xonvvICdvv2bdavX09+fj5jx47l2WefVbXfwMCAsLAwxo4dS+fOnTExMeG5557jpZdewtbWtk4cC0K9lOeV8tzasmUL8fHxdOzYkQ8++ICNGzdSUVGBq6trjeNbT0+P27dvk5yczMyZM+nVqxcNGzZUnW+ZmZnExsbSp08f7O3tCQ4OpnPnztIJ0QDK77GiooJt27aRm5uLg4MDycnJ6Orq8v3335OcnMyHH35IQUEB69atw9PTEzs7Ow4ePIi1tTX29vZYWlry/fffY2lpSdeuXTl8+DAKhYK2bduqipE2bdpUNSpV1B1aWlosX76cb775hpEjRwJw8uRJwsPD6du3L5GRkZw/f5558+bRt29f0tLSuHz5Mv7+/iQlJRETE4Ofnx8NGjTg1KlTlJeX4+/vrxohMGLECIKDg7G2tq7XdXUqKytV52t8fDx//PEHTZo04dy5cwBcvXqVa9eu8fHHHzNw4EA+++wzDAwM8PHx4dSpUxQUFNC2bVv09PQ4duwYR44cISQkBGNjY86fP4+fn5/q/NTX168T+7q0tJT4+Hjy8/Nr3Lxv376dGTNmsG7dOq5du8bNmzfp2LEjpaWlnDx5UpUkKCkp4cSJEzRt2pQ2bdpw/PhxsrOz6dSpEwBt27alT58+DBs2jKZNm0pyvR7Ky8vj1KlT6OrqYmhoCNxdVXHGjBnMmTOHCxcukJCQQFlZGT4+PiQnJ5OSkoKHhwfGxsZcv36dM2fO4OHhgampKYcPH0ZfXx9nZ2fg7jE2cOBAevToofr9tUl53qenp6Onp1fjHkrZN9TW1mb69OncunWL/v37M3z4cFVdqpycHPbt20efPn3o2bMnN2/epGfPnowdOxZHR0fVgy45V2qqa/kDSUQ9YcoDqHoNhMLCQhYsWMDGjRu5cOECHh4euLq60q5dOzZu3MjcuXMxMjJi//79jB07FmdnZ6ZPn46zszPJyckkJyeTmZmJs7MzLVq04Pnnn1cdRE+r6h0ppZSUFH755RdWrVqFmZkZdnZ2FBUVsX//fkJCQrCzs6Nhw4YkJCSgUChUwVkZLFu2bMnixYvx9/dXrR7n4+OjKqBZ/fOeRMdKuY3VPysjI4NFixYxY8YMoqKiyMzMRF9fH2tra1USSktLCwMDAxITExkyZAi+vr412m9jY6PqSDZs2BAHBwcp5Ccei+pFWpWdDABHR0emTZtGw4YN8fDwIDAwkE8++YTAwEAsLCxq/LuqqiqSk5PJz8/Hw8ODsrIydHR00NLSon379vTr109t2yf+qqKiokZNFG1tbXbt2sWvv/7K6tWruX37Nh4eHnTp0gVPT082btzI1q1bVUst9+zZk5iYGJKSkmjbti0JCQmcPHkSY2Nj2rdvj4+PD35+fqoklKg77jeK2dnZmR9//FG1JPeiRYtwdnambdu2ZGVlcePGDdq2bYulpSXa2tqqm3t/f3/+/PNP9u3bx/r16zl//jzvvvuu6mGNoaFhrRXdfVpU7yMoz9fc3FzCwsLYt28f2dnZBAQE0Lx5c1q3bs38+fNZsmQJjRs35vbt2/j4+GBqasqePXsoLi7m6tWrXLp0CUNDQzw9PXF1dSUoKKjOJImrH5/l5eWcOHGC/fv3Y2BgwMGDB3F3d2f37t0MGTKEcePGERMTw44dO/Dw8KBFixbExMRQWlqKm5sbBQUFrF27ltLSUnr16kVeXh7m5uaqfiggMa4eqv7ArqioiB07dhAbG8ulS5e4ePEirq6uXL9+nU8++YQBAwawevVqEhMT6dSpEwYGBpw9exZjY2NatmxJamoqmzZtonHjxnTv3p3CwkLc3d1Vo+5qcxuq3x8pz5uIiAg+/fRT9uzZw6VLl2jYsCFNmzalsrJSlZSys7Nj8+bNzJkzhw4dOqCtra1a9bS0tJSysjLs7e0xMTHBy8uL5s2b1+q2PM3qav5AElFPwP2WxM3MzOSXX37h6tWr2NnZceXKFfLy8ti4cSPW1tbo6Ojwxx9/kJaWxpQpUxg2bBg///wztra2uLi40KxZM3bs2MHBgwcZMmQIH3300VN/AiclJbFhwwY6dOig2k+lpaUoFApiYmL4/vvvcXNzw9fXl19++YWcnBwCAwNJSkpCX19ftZJSfHw8OTk5+Pj41Ejy6OrqsnPnTiwtLWnTpo3q5lj5/TyJrPu9Q3K1tLTIzc1l165dGBkZkZycTGFhIdOnT8fJyYmVK1dy8+ZN/P39a7TR2NiYM2fOkJycjJOTE4aGhqr3FAoF3bp1qzOdRaFep06dYteuXTWKW2ZlZfH7778ze/ZsWrZsibu7O3/88Qempqa8/fbbNGvWjMTERM6dO0fPnj3/MgXnwoULnDt3jr59+6rmssOTSQCLR6Ps9GRmZrJv3z6qqqrIysoiPj6eUaNG8eabb2JgYIBCoWDKlCmYmJgwc+ZMsrOzuXDhAn5+fjg5OXHmzBlmzZpFTk4Ob7zxBs8//7yscljHVR/hW15ejkKhQE9Pj71792JoaEhBQQFnzpxh9OjR6Onpoaury5kzZzA3N6d169ZYW1urpqF369aN/v37U15eTvfu3fnggw9q/QbsaXC/6fsJCQksXLiQsrIyGjRoQEZGBh06dGDatGkYGhrSoEEDNm7cyK1bt1i4cCFdu3blhx9+wM3NDT8/P8zNzfntt9+4efMmo0eP5uWXX35i9WWeFOV+Ux6fCoWCxYsXq6bc+fn50apVKzw9PTl69CiffvoppaWlWFhYkJqaSt++fcnMzGTNmjWYmZmxadMmnJ2dsbW1xd3dHXd39xpJKFE/KY+xyspKSktLmT17NseOHcPY2JhBgwZhampK06ZNmT17tqpMiEKhoLy8nICAAOLi4ti+fTspKSkcOnSI7t274+7uTvPmzXFzc3siMVB571FWVsalS5ewsLDgypUrLFu2jC+//JKXX36Zs2fPsnnzZgYNGqQ6pyorK9HT0yMqKorU1FR8fX1rJMptbGzo1KnTU79gVm2qD/kDSc/XImXWt3qCo7S0lPnz53PgwAF8fHxo3749VlZWzJkzB39/f+Lj43FxcQFgy5YtqieDhw8fxtDQkMWLFxMSEkJISAh9+vR56qesKDPrCoWCy5cvc+TIEfz9/WnTpg1r167lxIkTfP755yQkJODr60vbtm1ZtmwZ169fp2HDhhgbG9OsWTOSkpIoKCjAyMgIa2trjh07xuXLl3F0dAT+W7+koqICd3d3gL903mqL8mmCQqGoEaA3btxIZGQksbGxZGZmsnPnTnx8fGjSpAnvvvsu165dw8XFhfPnz5OamkqzZs1qZMTd3d05f/58rbZd1F/Kp3gmJiYEBQUBd8+V7OxsPvvsM+zs7Bg/frwqXvXv319VfBVg1KhRquWCqyeYGjZsyKBBg6TzoWGqx+Lq0tPT+eKLL8jNzaVDhw54eXnx6quvqlbMunXrFiYmJkRHR5Ofn8+gQYPQ1dWloKCACxcucODAAQYOHMiHH37Iu++++9SP1hX3V300jlJubi7h4eHs2bMHHx8fOnXqRNeuXXnppZf46quv6NGjB35+fhgZGVFVVYWTkxNmZmZcvnyZvLw8TE1NcXBwQKFQUFxcjJGREQMGDFDjVmqG+z0Zh7sr2X311VckJSXRtWtXnJycaN68OWVlZfz8888kJCTQpk0bCgoKiIyMpHfv3sDdAu/KBVC8vLzw9fWlc+fOdWpKTPXam3D3Wnbjxg02bdrExYsXGT9+PD179qS8vJxevXrRs2dP4G6NrYiICJYsWYK1tTXfffcdp0+fprCwkBEjRnDr1i22b99OUFAQAwYMkIcp9VT1c7K6yMhI1q9fj5mZGa+++iovv/wyJ0+e5Pnnn1ctd3/+/HkyMzMJDw8HYMSIEURFRTFo0CDee+895s2bR0lJCR999JFq8aTaUl5e/peRe1euXGH+/PkkJibSrl07vvrqK65fv86dO3dwdHREoVDw+uuv89Zbb/Hnn38SEBCguu8B6NOnDxs2bKCsrAxdXd06FVdqS33KH0gi6jFSnsDKDKayQ3/kyBG0tbXx9fWloqKC6Oho5s6dS6tWrYD/HnDe3t6sX7+eSZMmAfDKK6+wYMECBg0aROPGjfn2229V2W9tbW2NOYj+F9Wn6ij3k5ubGy1atCAyMpI2bdqwb98+Pv30U8zNzYmNjeXEiRPExMQQEhJCr169VL/L1dWVDRs2EBMTQ/fu3QkMDMTf359mzZqpfkZbWxtLS0u+/fbbWg/kcHe5XgMDA0xNTWtcmKKjo4mNjSUoKIi9e/cydOhQ/vOf/7Bo0SKsrKzQ0tJi48aN2NvbM3fuXC5fvsz48eNVBS6r3yj26dNHpjGJx6p6J0R53LZo0YK1a9dibGzMgAED2LJlCw0aNFDFKeVSvcOHD2fJkiUUFhZiaGiIh4cH+fn57Nixg759+9b4HOViAkJzVI/FZ8+exdXVFR0dHY4fP46bmxv/+c9/alxzWrduTVRUFGlpaZiYmGBubo6lpSXTp0+npKSERo0a8f7776tWRWzUqJFatkvUrntHliilpKSwdOlSrKysCAsL48SJE0yePJm9e/cyaNAgpk2bxu3bt9m1axeXLl0iNDQUFxcX2rRpw6FDh8jIyMDU1JRRo0bJKkn3qD5ifO/evZiamtKlSxeuXbtGdnY2P/74IyYmJqql3Tt27MiiRYtqFDfu2LEjkZGRLF68GA8PD7788kv8/PzqXF2W6rVqqtu/fz+zZ88mKCiIYcOGYWdnh7W1NTdv3uTw4cOqYvc3b94kOTkZHR0dbt26RVZWFsXFxZw4cYLAwEDGjh0ryad67u9mVSxZsoSDBw/y0ksv0alTJ8zMzGjUqBEXLlzg0KFDuLu7o6WlRVpaGiUlJWRkZHDhwgVVge4rV67g7OzM22+/XWttT09PZ+vWrVhbWxMaGnrf6aOrV69WlV9QjmDOzc3F1dWVK1eu4OjoSFVVFWZmZty6dQuo+fBRmfwQf68+5w8kEfUvpaamEh4eTnR0NO3ateP1119XFYn7/fff2bRpE5aWljRq1Ihz587xzDPP0KJFC9588038/PzIy8vj9u3bLF68mCFDhjB+/Hh8fX3Zu3cvX3/9NXZ2dty6dUtV8PBpVVxczKlTp7C3t8fa2loVsFNSUlQjlcaNG4ezszMxMTHs3bsXNzc37OzsgLtT0QIDA3n77bdVK2dt376dFi1a4O7uTlpammqlO2XNp+p0dHTo3r17rW6jcmRAUlISu3fv5tlnnwXg8uXLbNq0iaNHj5KUlISvry/Dhw9n8eLFALz33nu0a9cOPT097ty5Q1paGo0bNwbg6NGjmJubc/DgQdWqfkrS+RGPQ/Whv9U7IUePHmXPnj18/vnnpKWlcfToUQYMGICenp7qgqac+lFZWYmVlRUODg789ttvjBkzBoDvvvuuxgqUQv1SU1PZvHkzeXl5DBkyRDV9pKioiCVLlhAZGYmlpSXNmzdn8ODBaGlpERUVxbhx43B1dSU7O5ugoCB69uzJoUOHOHnyJDdu3KCqqor333+fDRs24OnpqapdJ+qWkpIS9PT0ajxMgrsd5l27dtGyZUuGDh2KnZ0d7777Ljk5OSxbtozExERSU1PZuXMnffr0UU0B++STT1i2bBkzZ86kWbNmfPTRR/j5+WFrawtQr5NQZ8+eJTw8nPj4eHr37k1wcDB2dnaUlJSwdu1awsPDVTVi9u3bx8SJE6msrOStt97C3d2dpKQk7O3tVfs0MjKSM2fOYGhoyJAhQwgICEBLSwsnJyd1b+pjoxwZD9QYoXLw4EEuXrxIYGAg9vb2XLt2jW7duvH6669TVFREUVERBgYGODg4cOTIEVJTU2nRogUWFhYMHDiQl19+mcrKSkaOHMmnn36KmZnZfUfAiLrt9u3bFBcX15gSp5wutWnTJkpKSggJCcHe3p7U1FSCgoJwcXHh5s2blJaWYmNjQ6tWrYiNjeX27dsYGhqq6kQNHz4cJycnRo8ejY+PT60lg+/cucO2bdsIDw+nsrKSdu3aMWzYMHJycti4cSMZGRmMGDGCVq1akZaWRmJiIgMHDkRfX5/S0lJ0dXVxc3Pj5MmTrFy5kqlTpxIXF0dBQQH+/v610ua6SPIHd0mNqP9ReXk5X3zxBfPmzaNly5a8/PLLLFy4kPz8fNzc3KisrOT48eOMHz+eoUOHsnPnTo4cOYKPjw+hoaH07t0bDw8PfHx8WLVqFY6Ojvj6+lJSUkJ0dDSdOnXC3d0dCwsL1fDNp5HyJvfatWukpaXRpk0b1c3uL7/8wvfff4+NjQ3+/v40adKEkpISjhw5wqJFi2jfvj0uLi4YGBhgb29PZGQk4eHhxMbGMmfOHK5evapacli5isSTdufOHbZu3cp3333H+vXriY+PJyQkhI4dO3Ljxg3MzMxYvnw5VVVVfP311+Tm5uLv74+rqytwty7Wpk2b+OKLL9DR0VGtULBt2zaWLl1KYWEhH3zwAS+++KJ0eMRj8+eff5KVlfWX1Xv27t3L/Pnz6d27NyUlJcyePZtXX30VQ0NDImt4sTsAACAASURBVCIiVEVYL1y4gIWFhWrU4fnz57GysqKqqoqEhASCg4MBcHZ2xtLSUi3bKGpKS0vj1VdfZceOHTRp0oTS0lJWr15NmzZtsLGxITo6moyMDGbNmoWnpycLFy7k6tWrjB8/npYtW9KuXTvMzc25efMm27dvZ/DgwZiZmbFhwwZOnTpFt27dcHR0pGPHjqoHCKJuyMjIID09ndLSUn755RfVTZIydkyZMoWYmBj69etHbGwsBw8eVI2oCwsLw8vLi6lTp5Kdnc2xY8cYOHAgBgYGfPvtt7z77rt06tSJbt260a9fP3R1dev9tN28vDymTJnCDz/8wODBg/H392fXrl3ExsbSs2dP8vPzOXToEDNmzMDLy4stW7Zw/Phx+vXrx4ABAwgODsbf3x9ra2tiY2MxMzMjICCAmzdvkpSURN++fXFycsLCwqJO1NlKSUlh7dq1TJs2jePHj3Pz5k08PDyAuzd7b775JikpKbRt25bJkyfTqVMnDA0NWbduHSdPniQmJob58+dTVlZGSEgIUVFR7Ny5k2PHjlFcXPz/2LvzuCrq/fHjL5bDEUQUkE1WURYF2VdZlNxQFPfKzLLcssWuZX1LK8vUNM31uqa55FJqrrkhooiI4r4vgEsi4Aoqghy23x/+zlzJutd7Szbfz8ejR8LhDDPDmffMvOfzeb8ZOHAgAQEBvP/++3h6eir1N2vLqDHxn8XFxTFnzhymTZvGmTNnyMvLo0WLFpSVlbF3717GjBmDo6Mj3t7eDB48mJ49e6JWq/nll1/IzMxk9+7d/Pjjj5iYmNCyZUsOHDjA8uXL2bFjB+7u7vTs2ZMePXrQq1cv7Ozsnslnq7y8nP/7v//j+++/Jy8vj+TkZJYsWUJMTAzr16/nm2++oWnTplhaWipJECMjI1JTU4mIiMDc3Fx5MGBmZoatrS1JSUksWbKEpKQkevfujbe3txwX/4HkDyqSEVH/g7KyMvT19dHV1aVz584MHz4cgAEDBihFp48ePcrSpUtJTU0lNzeXoKAgZs+ejYODAxqNBltbWzIyMti/fz82NjZYWloC8Pbbb9f4hIN2ZNDjIy2aNGmCoaEh+/btU7Kz+/fv5/PPP1embgA4ODjg4eFBQUEBBgYGDBkyhOjoaLy8vPjiiy/Yt28fFy9eZPr06U/c7Py+BsCzVlxcTExMDA4ODgwaNAgvLy+6du1KkyZNKCkp4eDBg3zwwQd8+OGHANy4cYOzZ88yePDgCq2VIyMjuX37NuvWrePhw4e8//772NraUr9+fel2J/422houGo2GlJQUMjMzCQwMJCUlBVNTU9zd3UlOTmbfvn0kJCTg7OyMn58f6enpuLi4YGNjQ1xcHC+99BKHDx9m0qRJBAQEsH//fqysrPjmm2/o27cvffv2repNFX+gpKSEkpIS3n//fVq3bk1ubi7ffPMNe/fuxdvbmzNnzrB7927S0tLIysqibdu29O7dGwB/f3/g0XD8lJQUgoODUalUhIaG4uvrKwXHa6GSkhKlvlN2djaxsbEMHjyY2bNno6Ojo9x8lZWVYW1tzSuvvEJ6ejr79+/Hzc0NlUrFkSNHOHjwIDNmzAAejSbYu3cvDx8+pFWrVkyZMkWprWJmZlbFW1x9GBgY4OjoSPv27enevTsAt27dIjU1lYcPH3Lq1CkOHDjAK6+8Qt26dXnhhRf46quvlJHUGo2GzMxM9u7dy507d/Dy8sLIyKhWxufU1FRee+01hg0bxtdff83t27d566236NChAxYWFmzbto13330XHx8f4uLiyMrK4uDBg/Tp04elS5dibGxMYWEh27dvZ9WqVbz++uu88847ysNQbfkDKTz+/Fq+fDlff/01ixYtYtSoUezatYsvv/ySPn36oKurS1xcHF9++SWlpaX8/PPPAKSnp9O2bVul1phGo2Hx4sWcP3+emJgYBg8eTFxcHG3atFHKhTzr+ok6Ojq89tprODs7Y2RkxCeffMKyZcsYNWoUISEhREdHk52dzcKFCzlx4gTbtm3js88+o379+ixbtowRI0ZQt25dFi1ahLe3N4GBgYwZM4YHDx7UiIRHdSD5gydJIuo/eDyZ8nsdOnRg0aJFXLlyBUdHRxo3bqwMq/P19aWoqIiuXbsSGxurvOfy5cuYmJiwfv16fvnlFyIjI/n8889p0qRJjR7mW1hYiFqtZvz48VhaWjJ48GB0dHS4ePEilpaWGBsbExcXx+HDh3F2diY/P5/CwkJsbW0pLi6mvLwcAwMDLC0tcXZ2Ji0tjXfffZfu3bszf/58ysvL8fPzo02bNkrh5N8XB6zsfadSqfD09MTDw4OwsDAAXnzxReLj45kwYQInTpwgPT1dOcmsX7+eFi1aKFMO4NEJ7ty5cxw4cAA3Nzf69OmDSqWqlDpW4vmiPT7UajVBQUEcPnwYjUbDnj17yM/P5x//+Ac2NjZ4enpy584dUlNTcXJyoqioCCMjIyIiItiyZQsvvfQSH374IadOnSIlJYWxY8fKRXo1kpGRwZ07dwgMDAT+dQ6ztramdevWbNmyhdatW2NqaoqOjg7BwcHAoySBiYkJPXr0oHXr1srybt++TV5eHhMmTODmzZu0bNmSnj17Kq9LEqp2io+PJzExkVdffZVWrVpRXFxMfHw8ZmZmJCYmKsd9fHw833//PXv37sXV1ZXJkycrBVPDwsKoU6cOo0aN4vTp0/Tp0wcfHx/Ky8spLS1VbvKftyfo2mPyz64vjYyM8PT05OTJk1y8eFGZ5uPg4ECdOnWoU6cOarWa/v37KwXHAQ4ePEhgYCCTJk3i8uXLtG3blqFDhyp1n2qjoKAg9PX1efnll5VkZvPmzdm3bx9du3YlLS2NhQsX4uzsTPPmzVm7di0uLi7Ao/oqGRkZ7Ny5k507d/LGG29QXl6OlZUVo0ePrsrNElVEW3PnceHh4VhYWCiduNu2bctPP/3EiRMn8PT0JCsriwEDBuDv709UVBSjR49WlvHbb79x5swZEhISOH/+PJMnTwbAyclJKWFQmTw9PZV/t2vXjnHjxjFq1CgcHR35/vvvSU5OpkePHoSFhbF161YyMzMZNmwY8+fP54MPPiArK4vmzZsTHh4OQIMGDWpdR82/i+QPno5MzfsT2gK8f/Qh0n7P3t5eqbWxZcsWxo8fj52dHQYGBjRp0oTs7GwOHjyIlZUVGRkZjB07lhMnTtCmTRvc3NwYMGAA4eHhysmzpl2M3blzhzVr1jBt2jSuXLlCYGAgv/32G9euXSMzM5OxY8eyYcMGLly4QHh4OI0aNWL//v2Ympri7+/PokWL8PPzw97eHj09PfLz85XucocPH8bMzIzmzZsTFRWFv7+/cpA9XpuiqveZkZERy5cv56WXXgLgyJEj1K1bl+joaFJTUykoKMDV1ZU6deqwevVq2rVrx61bt5Q25uHh4cTExDB8+HAiIyPlqbD4W5SWlj5xfDx48IDZs2czduxYioqKOH/+PE5OTvTt25fU1FQOHTpEVFQUaWlpxMTEMHv2bG7dukWvXr2oW7cu5eXl7Nq1i9DQUExNTbGxsSEoKEhG7VUTxcXF6OnpsX79ehYuXEiPHj0qdF3RTonevHkzVlZWzJ07l/j4eLy9vXFxcaG8vJz09HRMTEzw8vJi27ZtTJ06FUNDQ/z8/HBzc+O9995TupyJ2u2bb76hdevWdO7cWTkvOzs7Y29vz7Zt2/joo48AsLGx4YcffmDGjBn06NEDCwsLsrKyOHDgAK6urrRs2ZLi4mJefvll2rRpg5eXFyqVqsZeNP9Vp06dwtTU9ImOSFqPFz7WFjWOi4tj/fr1FBcXY21tTUhICOfPn2fv3r00btyYnTt3Mm7cOAoKCggNDSU4OJi+ffvi5+enTCOrybQPHX+/v0pKStDV1eXEiROkpaURERHB9evXOXv2LN27d8fY2Jjs7Gzu3r3L8uXLiYyMxNzcnJSUFExMTLh06RLTp0/H0NCQt956q9Z1ChRPT9txsrS0FGdn5wqfgwYNGpCYmEhBQQFeXl7ExcVx7949Xn31VfLz80lLS8PZ2ZkJEybQrFkzdHV1Wbt2LY0bN+bQoUPs2LGDyMhIPvvss2pVqsDGxoaffvoJFxcX7O3t+f7773nppZfo1KkTFy5cYMOGDRgaGhIVFUVERATNmzfnrbfeomPHjnLd929I/uC/I4moP6G9ELhx4wYJCQnY2tpWqDKvnQZ269Yt1q5dS0hICN9++y25ubksXbqU4uJiBg0aRHl5uVLXqHPnzrz11lsYGhrW+KfI8fHx/N///R9qtZrXXnuNxo0bK53pdu/ezbVr1xgzZgwDBgzgxx9/pKysjNDQUI4fP87NmzeJjIyksLCQtWvXcufOHXbv3s3MmTMxMTEhLCyMtm3b4ujoqFx8PH5gV4cElJaTkxOLFy/m2LFjLFmyhKysLAYPHoy5uTl3797l7NmzuLq6cvPmTb788kvOnz+v1NDp1q0bLi4uUsxZ/G200++0bb21yQmAffv2sX37dhYvXkyzZs1IS0vjzJkzdO7cGVdXV7799luMjY2pX78+0dHRylStkJAQnJycMDU1pVevXs98+Lj432j/zhYWFqxbt47g4OAnLhbVajV79uxhw4YN9OzZk9DQUH755Rfi4+N54403MDMzY/v27cydO5fs7Gzat29P586d0dfXr1YX0OLZy8rKYtOmTaSlpbFz50727dtHYmIiffr0Yfbs2YSEhGBtbY1KpSI3N5dNmzaRkZHB6tWrWbBgAdbW1rRo0QJLS0u8vLywsrKq6k2qUtrY3KVLF+rVq4eXlxcnTpzg0KFDmJmZYWRkVKG8gJGRkdLRqk+fPkyZMoXMzEymT5+OtbU1MTEx1K1bl1WrVnHr1i369+/PK6+8gq6ubo2/vtT6/XWf1uNJKR0dHczNzZk4cSJ37txRRoNlZ2cTEBCAs7MzP//8M7m5uWRnZzNnzhzWrl2Lt7c3vr6+dOnShfDwcLmxfk5pP2P6+vokJCRw7949PDw8qFOnToXPWVlZGVOnTuXw4cNs3LiRO3fucPjwYV544QUaNWrEvHnzuH//Pnv37mXSpElkZ2cTHByMj48PHTp0wM3Nrdol31UqFZcvX+b06dO0bduW5ORkLl68SEZGBgkJCXTs2BE3NzecnJzQ0dGhYcOGz3XziKcl+YP/znOfiCovL3+itlB5eTlHjx5l+fLl/PDDDxw6dIi0tDTMzc2xsrKqcHKsU6cOJ0+eZMiQIdjY2BAQEECzZs0YOXIk3t7edOrUibZt29KtWzfc3NxqxUF8584d/vnPfzJo0CDefPNNGjVqhI2NDfXq1aNhw4YcOnSImzdv0rNnT+rUqaMUyPT19VXqRtja2tKhQwfs7Ow4cuQIBgYGfPDBB8p0Ej09vQp/l+qUfPo9be2G8ePHM3DgQKX4p4mJCZs2baJevXqEh4ejo6PDZ599xksvvYS7u3ut+CyIqvX7p8Q6OjqUlpaSnJzM559/rjxRsbKyIiEhgfv379O5c2dMTExo0qQJGzduJCgoCDs7O0pLS1m0aBH16tVTjs2AgABatmyJSqVS5rWLqlVWVvaH9fASEhIYPXo0ly5d4ty5cxgaGirT7rSfEwMDA/Ly8igrK2P48OF4eHgQHR3N2rVriYuL44033qBDhw506dKFnj174u7uXm3jrni2fHx8yMnJ4e7du0rdw927d1NcXExxcTFZWVlERUVx/fp12rVrh4uLCxkZGXh5eTF69GiCgoKe+3Pc4yN5tMeRgYEBK1aswMDAgOnTp3P9+nVWrVrFiy++WOFY09PTQ6PRcPv2bV544QWsrKwIDg6mfv36rF27lkaNGtGpUyc6depEhw4damWDAO1+u3nzJmvXruW3337Dzc2tQhIKHo0uWLlyJba2tixZsoTOnTuzYcMG9uzZQ5MmTXj11Ve5fPky+/bto23btnzxxRfY29tLbBPKZ+zs2bNcuHCBzMxMPD09MTc3r/D5sLa25qeffqJv375MmjSJVq1asXHjRpKSkvDw8GDw4MFcunSJ/Px83nvvPV5//XXq1atX7T9jpqam/POf/2TAgAH4+Phw4MABiouLGThwINHR0cqD8uq+HVVB8gd/j+c+EaUdPQD/mtpw9uxZpk6dyp07d1i6dCnt2rXjyJEjXLx4UUkoaA9KCwsLtmzZQmFhIc2bN0elUmFjY0OPHj2UzmiPt0SvCbQXTjdu3KC0tBS1Wl3hdW0xu08++QSVSkVpaSm6urrK/rt58yYFBQXY29tjYWGBnp4eqampmJub4+vry/r16zEzM6NZs2Y0atSIyMhIQkNDnyhwXlMCn7GxsVJfwMDAQJkWVa9ePerVq0dgYCDGxsYEBQXV6loNovJoj7nHj5GysjJSU1MZPnw4enp6Smvun376SRnhpFarlbno2dnZbNmyhbp16+Lr64uTkxMPHz7EwsJCmXLn6uqKgYFBjTkWnwePn7O07ty5w7x58+jYsSOvv/46eXl5bN++nR49elT4++np6aFSqVi3bh3+/v6Ym5tjYGBAWFgYrVu3xtzcHH19/Vr3xE389/T09AgNDaVNmza4u7sTGRmJm5sbixcv5sMPP2Tt2rX8+OOP7Nu3j44dO9KoUSNCQ0Np1qxZrb1g/m9prxU1Gg0JCQmYmpri5+fHxIkTady4MTNnziQmJoa5c+diYmJCs2bNKtyoqFQqzp49y4kTJ4iKigIe1T/SjrDQ/lxN9/sbOu114JEjR4iPj2fu3LkUFRWxefNm6tSpQ9OmTZXPmHZ63qVLl3j48CHt27fH2NiYNm3acOPGDdauXUu/fv2UwuO1+YZO/LmysrI/nN558+ZNXn/9dY4cOYKLiwurVq3Cw8OjQsITwNDQkDNnzgAo9ysRERFkZWXx22+/ERUVhY+PD2FhYTWqE6WlpSWbN2/G2dkZFxcX2rRpQ2RkpIwQfAqSP/h7PFeJqNLSUoAKRSLPnTvHvHnzmDNnDnl5eTg6OmJvb8/ly5fJysqie/fuqFQqCgoKOHjwIEFBQUq9FO2JMy8vDwMDAzw9PZUTXN26datyU/8SHR0dbt26xeDBg7G3t6dx48YVXj9+/DiZmZk0a9YMCwsL5cDSbruxsTFJSUnUr18fNzc3rK2t2bJlC6WlpYSHh9OiRQtatmwJ/OuC449q2tQUlpaWLF68GCMjI1q0aFEhQdC4ceMa/VkQ1UNOTg6ZmZnKxYH25HfhwgWSkpJo0qQJ+vr65OXlsWDBAl577TXat2+Pra0tKSkpqNVqfHx8iI+PJzs7m6CgIJKTk8nKyuLy5ct069YNQ0NDwsLClK6Wouppp/M8LiMjg1mzZhEXF0dJSQlNmzbl3LlzLFy4kEmTJqFSqQgPD2fevHl4e3s/MVJCX1+fc+fOYW5ujrOzM/AoZpuYmFTadomao7i4GLVazYMHD9i2bRt169bllVdeISAggOjoaN58801UKlVVr2aV0z4ceFxRURETJkxg2rRpXL16lRYtWmBtbc2RI0dQqVS88MILwKOOWmvXruWll16qUHTWyMiIBw8eYG5uXmF0Ym3Y33l5eRWmP2m3+c6dO8oDu3nz5rF9+3Y++eQT+vXrR1lZGSdPnsTOzg4LC4sKo80cHBwYPXo0Q4YMQU9PDwMDAwIDA5Wug+L5pv2c3Lp1i+zsbKW2zqZNm1CpVHz33XcEBARw8+ZNMjMzlfpqjyev9PX1mTBhAkOHDgUe3eeFhIQQEhJSZdv1V+no6NC7d+9aOaLy7yT5g2enVieift+ZRJsguH//Pmq1mvT0dMaOHUurVq0YNGgQq1evJj09nZYtW1JaWsqFCxdo2rQplpaWFBcXc+bMGUpKSmjevLlSvBPA29sbLy+vWvWUxcjIiGPHjlFeXo6rqytqtVq50Lp37x4nTpzAyMgIDw8PiouLlSB/+vRpXFxcOHToENnZ2TRv3py6devi4uJC69at0dfXV1oMw7+e5v1+dEdNY2xsjL29PXZ2dlW9KqKWKCkpUZoBrFy5El1dXSVJFBcXx5gxY0hMTKSwsJCDBw/SsGFDPDw8OHv2LCUlJQQHByvJqaSkJF599VXq16/Pli1bmDNnDrdv32bEiBH0799fptxVE9pzlfbp2u9j4qVLlxg5ciSenp4EBwfz5ZdfYmNjg7OzM4mJiYSEhCgdbOLj47l165Zys6tlaGhI27ZtpTOn+I9yc3PZsGEDs2bN4scff6S0tJRBgwZhZmam/Pe8e7wuHzxKPmmfYu/du5eTJ08ya9YsunfvrjxIMDAwYOXKlfTv3x8ANzc3xo8fz4svvqh0ToJH10cuLi40b968Rl8faRUVFaGrq8uKFSu4evWqsl2XLl1i/vz5jBs3jnPnzqHRaHBzc0OtVpOWloanpyeOjo7Ur1+f5ORkGjRogKurq3LdWVZWhrm5Obm5uXh6elK3bt1asb/Ef+/Ppq6fP3+er776ioULF3Ls2DGysrIIDAwkLi6OrKwsOnbsCDx6sLx8+XJCQkKwtLSs8Dmys7PDysoKV1fXWnW/J9d/T5L8QeWplYmogoIC1qxZw9WrV3FxcVE+TBs3bmTatGmsXbuWqKgobG1tadeuHbm5ucydO5e0tDRKSkpwcHDA1dWV48eP8+DBA3x8fNDT0yMjI4P79+/Xms4af9aJZMeOHcr+y8zMJCQkhPr16ysn/YYNG3L+/HlSUlKUmgU6Ojrcvn2b1atX06xZM+rVq6dMv9PT08PMzKxWDzFs1qyZJKHE3youLo64uDj69OnDp59+ire3t3ICy87Opl27dgwZMoSrV6+yceNG4NGQ8aKiIuLi4ujZs6fSnWrp0qWEhobi4+NDcHAwL774Ir1796Zhw4ZyEVINpKSkMGHCBDQajRIzNRoNcXFxZGRk0KRJE3R0dFi1ahWmpqa8//77ODk5oVarOXPmDI0bN+b27dskJSXRoUMHrly5QmpqKidPnqRz585PdM6qDecv8ezVqVOHa9eu0bhxYz799FNiYmKe++TT70cp6ujokJ+fz44dOxg+fDgXLlzA0NAQe3t7fv31V27cuEFsbCwajYaysjL09PRwcXFhxowZREREYGFhgYGBATt37lRGPtVG8+fPZ//+/fj6+uLt7Y2rqysFBQWo1WpWr16NqakpkyZNIj8/nzlz5hAYGIiLiwv79+/HxMQEDw8PTE1NOXbsGDdv3qRZs2bKyCnt36NVq1bP3WgC8WgUnfYc93hSWDttE2DVqlUYGBgwd+5cbG1tiY+P5/79+0RERDB16lSGDBkCPHpQM2XKFGxsbPD09Kxw36Knp4eHh8dznTSo7SR/UPlqVSJKe4FQXl6OlZUVfn5+yms7d+5k48aN9OnTh7fffltpP33o0CEWL17M4MGD6devH8nJyejo6BAWFkZ6ejopKSl06dIFIyMjvLy8iIyMrKrN+9uUl5cDf1wAfN++fUybNo3o6GgCAwP54Ycf8Pb2pmnTpsqTJ+2FVEpKCuvWrSM7O5sFCxawbNky3NzcCAwMVOYbS8AW4n/zePt0eDQ0WNt5w8HBgePHjzN8+HA0Gg2RkZGkpKTQvn17LCws2Lx5M40aNcLBwQEDAwMaNWqEm5sbhoaG1KtXr1a09K4trl+/zsiRI3n//feJjIxEV1eXhIQEPvroI27evMnx48c5cuQIAQEB7Nu3j/z8fKVeDMDGjRvp3bs3zZs3JykpiQULFrB9+3ZeeeUVBgwYgI2NTRVunajJtCNy3N3da/WDpKehvb78/TXThg0beP/993FxcaFHjx7o6OgwZ84c+vbty4ULFygtLcXX1xdDQ0Mlwaytm3nixAllJEaPHj3w8PCoik17JrS1rrQPOy9cuMClS5do3Lgxenp6fPXVV9y6dQsfHx+aNWuGgYEBY8aMYf/+/ejq6mJoaEhISAhXrlzh2rVrODk5Ub9+fXJzc7l9+zYtWrSoMHpMPF+uXbvGypUrGT9+PCUlJbi7u6NSqcjMzGTq1Kn88MMPZGZmYmlpiVqtZvHixURHR9O4cWOsrKx4+PAhp06donfv3iQkJJCWlkZ2drZSh8zf3x8XF5fnPu49LyR/UHVq/KNw7bxN+NfwQm29ok8//ZTU1FTg0cW6n58frVq1Uuall5WVcfr0aerWrYufnx/16tXj6tWr7Nmzh3v37tG+fXtGjBihfDhr4pOW8vJyioqKSE5OJi8vD/hXAiozM5O5c+eyePFiCgoKAFixYgV9+/alc+fOtG7dml69enH48GHu3bunvLe8vJyGDRsyfvx4Ro0aRXFxMd26dWPTpk289957ylMqbcJLCPHfCwgIYPXq1YwdO5YvvviC7777jjFjxnDnzh3KyspYt24dw4cPZ8qUKTg7O5OVlcWePXto1KgR3t7eZGdnA4+6osTGxj7RBUZUjdLS0gqx0crKikuXLrF161amTZvGzZs3SU5OplevXkyfPp1PP/0UPT09Vq5cSdeuXdm9ezeZmZkANGrUSIndjo6OTJkyhfHjx7N27Vo6deqkdLwRQvx3ysvL//D6Mjk5mWnTpimFi93c3MjJycHX15fQ0FB69+5NaWkpqamphIeHc+nSJRYsWEBhYSHLly/n22+/BWDMmDG89957yvIfb+9dk2ljm3Yqi3a/hYeHU1BQQFpaGqampjg6OpKTk0NBQQEGBgYsX76c8PBw1qxZQ/v27UlMTOTevXv4+/uTkZGhxLyYmBg++ugjrKysqmwbRdUaP3480dHRlJaW8sUXXzBw4ECMjIwoLCxkxowZmJubM2rUKO7evcu4ceNQq9UUFxej0WgoKSlBT0+PvLw85b5m8uTJODk5sWPHDvz8/FiwYAHdunV7olGTqF0kf1A91MgRUY9PJ3t8WolGo+GLL77g4cOHODo6kpqaSmFhIf7+/qSkpNC0aVPc3d2V+cPaZMzZs2fZunUrK1asoGPHjvTq8bKAdwAAIABJREFU1QsHBwdMTU2VOf018QZOu53Z2dmcPXuWFi1aKCOU5s2bx6JFi3B1deXGjRvExcURGBjIgQMHePDgAREREcCjff3jjz8SFRWFmZnZE22ILS0tCQ0NxcXFBaBC0fGauM+EqC7+qH363r17uXr1Ko6OjiQnJ1NeXo6dnR1r167FwsICgKCgICIiImrV0/Xa4PFaMo/XHli4cCHJyckUFRUxY8YM8vPz2b59OwEBAUqzA41Gw8GDB+nTpw/p6ens2bOHhIQEZs+ezcsvv0xQUJByASXdboT431y/fp3s7Gwlaa+9vtRoNNy9e5e3336btLQ0goODmThxIg0bNiQ4OJjdu3djaWmJp6cnKpWK7OxskpOT6dOnD1ZWVpw4cYKZM2dSXl5Ox44dsbe3x8TEpEZ11/oz2pt77cgR7XXfhQsX+OGHH7h16xaNGzfGzMyM48ePc/v2bQICAtBoNJw4cQIHBwdycnLYsWMH/fr1w9TUlJ07d3Lq1CmaNGlCaGgoHh4eeHt7V1i+eH5dvXqV69evM3nyZKytrSkoKKCkpIScnBx+/PFHRo8ejZ2dHd7e3iQkJFCvXj2aNGnCunXrMDY2plGjRqxfvx4PDw98fHyoX78+LVq0IDY2FhcXFylXUItJ/qD6qVFjDktLS58o4Hrs2DHi4uJ4++23ycvL4+jRo4wbN47i4mK8vLxISkqirKwMS0tLDh48iJ+fHw4ODpw/f567d+/StWtXLCwsyMjIoEOHDlhaWlbhFv51V69exd7evkLnFW03hNTUVPz8/CgsLKSsrIwxY8ZQWlrKV199RXFxMTk5OXTu3JmPP/6YDz74gDp16qBWq8nKyuLgwYM4Ojr+abcW7cEpU/GE+HuoVCo++OADAAoLCzE0NCQyMpJRo0YxfPhwXn/9df75z3+ya9cuYmNjefHFF5+omSGqzuNToOHRRU9xcTGbN29m165d+Pv78+KLL9K/f3+8vb356KOPgEcjpIqLi8nNzaWoqAi1Ws3FixeVIuSjR4/myJEjXLlyhREjRtT4c5YQVamwsJCtW7eyZcsW7t27R//+/XFxcSE/P589e/awZMkS3nvvPTIzM+nWrRvR0dFs376drKwszp49S7t27ejatSvr16/n5ZdfBh6N2unRowdFRUUEBwfj6+uLjo5Oreh2B49u2lQqFQ8ePGDDhg20adMGa2trNBoNBQUFfP3119y4cYPOnTuze/du0tLSGDFiBEFBQWzatImMjAw8PT1JSEjg1KlTdO3aFQcHB7744gvu3r1LSEgIY8eOJSAgAB0dHZo2bVrVmywqWX5+PsbGxn9YeLxDhw7Mnj2b5cuXc/r0aZKTk5k+fTpFRUV4eXmRlZWFqakpRkZGODg4cO7cOQYNGkRpaSk///wzs2fPJigoiK5du1bR1onKJvmD6qtaj4j67bfflDas8K/s5YEDBzh79ixNmjRBo9Fw5MgRJk+ejK6uLtbW1oSGhqKvr09RURFHjx7F0tKS6OhokpKS2L59Oz///DObNm3CwsICHx8f7O3t8fb2rrFD5y5fvsySJUuYMmUKOTk5hIWFoaury5UrV5gxYwaZmZmcOXOGjRs30qZNG27cuMHYsWPZt28fx48fp1evXnz66aeYm5vj4ODA4cOH2bNnD8uWLSM9PZ2uXbvSrl075Uboj8iNrxDPxu/bp5uZmfHCCy/g6OhI69at6d+/Pz4+PrXmJqeme7yl+ONxMSsri8GDB6Ojo0OPHj3Ys2cPp0+fVi5uVqxYoXTAKy4uZvv27eTk5HDz5k22bt1K+/btlbp7dnZ2SncoIcT/pri4mI4dO5KVlUX//v356KOPcHFxISMjg/Hjx3P8+HElgbJz506mTZtGcnIypaWlfPbZZ8TExABgbW3NzJkz6dSpE/Xr16dhw4bY29vTtGlT9PT00NfXrzUP6TQaDdHR0Xh6euLk5MT3339PcnIyP/30E7m5ubi6uuLn50ffvn0pKCjg119/5cqVK7i5ueHl5cXu3btRq9UEBgaSlpbGsWPHaNmyJTExMdSvX5+BAwfSsWNHbG1t5bryOXXnzh1mz55NREREhS6y2nOrkZERFy5c4Oeff2bo0KEMHz5cmYaufUgTFhaGnp4eK1asIDY2Fjs7O9zd3QkNDeXNN98kPDxcamXWYpI/qDmqVSJKG2Q0Gg3ffPMNX3zxBd7e3kqA2bJlC59//jnp6encvXuXAwcOEBAQQMeOHWnUqBFffvklpqamSncNfX19Ll68yOnTp2nXrh3h4eE4Ojri6+vLxx9/jI+PT9Vu8N9g4sSJfP3113h4eDB06FC6d+9OWVkZCxYsYNasWQQGBtK9e3fc3d3ZunUrDg4O+Pv7s2jRIkaOHMm7776rTKtLSkrCxsaGzp07Y2xsjLu7O++99x7+/v5KcTYhROX5o/bpAwcOpGHDhpSXlysjoETVycnJITMzk4YNG1Z4envhwgVWrlypTGE2MTEhMjKSFi1akJiYyPbt2ykoKMDGxgZHR0eys7M5cOCAUttJ2zHqwoUL9OvXjzZt2lTxlgpRu+jp6XH48GFatmxJt27dADh16hQAaWlp3Lhxg3feeYeSkhJu3LhBTk4Oy5Yto3Xr1jRs2JCDBw9SVFSEvb09586dw8rKCicnJ3R0dJQC77UtmaLdZ/fu3cPd3Z34+HiOHj3Kyy+/TP/+/albty66urp8+OGHXLhwgcGDB5ORkYGuri4hISGkpaVx4cIFAgMDqVu3LmZmZjRt2hQDAwOcnZ2lAPlzqKysrMKUKUNDQyZMmEBqaipLlizB0NAQNze3CseSrq4uhw8f5rPPPqNOnTqUlpbSoEEDTE1N2bhxI7t372bmzJm4uLgQExNDnTp1ACRhUEtJ/qDmqhaJqMLCQo4cOYKdnR3waAjdypUrlSdLbm5uqFQqdu7cSf/+/XnttdeIj49nz549uLq6Kl04UlNTiYiIYNKkSTRs2JBmzZqRl5dHYWEhfn5+qNVqrK2tlalqtUFWVhZ5eXlMnDgRc3Nz8vPzuX79Ojk5OcTFxTFx4kSlS9bBgwfJzc1VWrxv2bKF69evk5SUxLhx4ygoKCAoKIg6derg4OCgDIf+/UlCCFE5/l37dDkeq05JSQlr1qxh2rRprFy5El1dXaVOU3FxMaNGjWLbtm14eHiwdu1asrKyCAgIIDs7m9GjR9OkSRMGDhzIlStXKCwsJCgoiPr16zNhwgQGDx6MWq3G0tKS1q1b06FDBxwcHKp6k4WolQwNDZk7dy7p6elMmzaN8+fP06ZNG/T19bly5QrBwcHUq1cPMzMzduzYwYkTJ7h79y7z589n1apVNGnSBBcXF6Kjo5+b5gCGhoasWbOGbt260bJlS44dO0ZMTIzSoTMhIYGsrCwmT56Mvb0969at4/z587Ru3ZoGDRpQUlJC8+bNcXR0xM3NrdYUahf/G+3oYY1Gw9WrV7l//z4//fQT169fZ+bMmYSEhDzxHmtra5YtW4a7uzt2dnbKQyAbGxvCwsKwsLBg4MCBdOnSRUlCidpH8gc1X5XXiCopKSEmJoasrCyWLl2Kt7c3arWaevXqUVJSwq1bt7hx4waFhYXs2bOH3bt3o9FoCAgIYM6cOTRp0gR49PTZwcGBwYMH4+3tzcKFC3FxcaFz5861uvBcly5dmDdvHnPnzuXs2bOcO3eOkSNH4uHhgb+/P0ePHlVaRr7wwgusWbOGq1evMmjQIMLCwvj1118xNDRk5syZT1xEaZNPtXn/CVGd6ejoKO29RfURHx9PYmIir776Kq1ataKoqEipQXDo0CHs7e2ZMGECKSkpLF26FLVaTV5eHidOnECtVvPmm28CcPbsWa5evUqPHj3w9PRkwoQJSttzkGSjEM9a69atmTJlCoWFhcybN0/pxpafn4+JiQkpKSnExsZiaWnJ+PHjOXjwILt27SIqKooJEyY8l0mU1q1bM2HCBI4cOUJUVBSNGjUiMTERJycnzMzMKCws5N69eyxfvpycnBxUKhVhYWGUlJTg4+MjowmeU9puY7+fpnru3Dnmzp1LWloaQUFBjB49mpUrV9K7d28lufn7WlGGhoaEh4fzww8/EBwcXOFcaWlpKfV6ngOSP6gdqjwRpa+vT3h4OKmpqezatYusrCy6deuGm5sbAOfPnyc9PZ2WLVty+/ZtBg0aRK9evZT3nzlzBjs7O1avXk14eDgAwcHBBAcHV8n2VDZDQ0PCwsJYs2YNH3zwAZMnT0alUnHnzh1cXFxISUlRElERERFMnz6ds2fPYmtri5eXF15eXsqyfl9cV26ChBDiSatXr6Zt27a0atVK+Z724jo3N5d58+aRkJCAk5MTo0aNUmKwto7Xt99+y8WLF/H19SUgIECZLqCdHiSEqDz+/v7o6elhZWWl3PDa2tpib2/Pzp07iY2NBcDBwQEHBwd69uxZxWtc9Vq2bElcXBxRUVFERUWxatUq7t27h4GBAd7e3tSvX5/FixcTERHB+PHjlZG84vly/fp17t27h4uLi9LZ9ffmzZtHy5YtmTJlinLj36hRI9zd3VmwYAHvvvsuurq6T8zM6NGjB7/88gtAranBJp6e5A9qh2oxNU+lUnHw4EG6devGggULaNWqFQsXLmTYsGGcPXuWO3fuEBERwbVr1zh16hR16tQhMzOT8ePHc+7cOfz8/IiIiCAiIuK5nEKmq6vLiRMnGDVqFHp6epSVlWFkZERubi5JSUmEhIRgbGyMvr4+/v7+Tzw90D6B/31xXSGEEE/Kyspi06ZNpKWlER8fr4yS8PLyoqCggIyMDL7++mv69u2Lo6Mjly9f5tq1a0RERKBWq8nIyCA2NpbXX38dV1dX1Gp1VW+SEM8tCwsLFi1aRJs2bZR6mGq1mqKiIszMzJQmAeJfzM3NWbZsGR07dsTV1ZXz58+zcOFCVq5cSXBwMBEREfTo0QN/f38pCv2cKSwsZNOmTXz33XesX78eBwcHXFxcuH37Nj/99BMTJ04kPz8fCwsLTExMWL58Ofn5+eTn55Oenk56ejqurq6Ul5ezdOlSXnvtNc6cOfPEKCdra2uioqKqaCtFdSD5g5qvWiSiHBwcWLRoEd26dUNPT48LFy6wY8cOOnfuTL169Th+/DjOzs60bdsWgG3btpGamkpMTAxDhgyhQYMG1K9fH3g+R/E4OTmxaNEi7O3tlUKZ8Ki7yf3792nSpAmmpqYANGzY8In3SwJKCCGeno+PDzk5Ody9e5cmTZpQUlJCUlIS2dnZhIWFceXKFbZv346xsTErVqxgzpw51KlTh8DAQJo2bUpUVNRzU09GiOrO0tKSJUuWYGZmhqenp/J9R0dHPDw8JAn1B7T7rF69enh7e+Pj40NQUBD/+Mc/sLW1rerVE1Xk33WinDJlCkZGRgwbNowdO3awY8cOYmJicHBwICsrS0kSfPfddwQEBNCmTRu2bNnCihUriI+PJyIiAhMTk6reRFGNSP6g5tMp187HqmLafNioUaNYtWqVkk3X19dn5MiRtGvXjpdffhmAhw8fSvG53xk9ejR5eXlMnz5d+Z5kd4UQ4tkqLCzE0NCQw4cP8/HHH7N9+3bu3bvH3r17iYuLw8fHhy5duii1Z4QQ1c+6deuwsbH5w8LI4o/JPhN/ZNiwYfj5+dG/f38ATp48iZGRETY2Nvz222+sWLGCQ4cOkZOTw6ZNm55IXA4dOpS+ffsSHh7O1atXKSsrw9HRsQq2RNQEkj+o2apNIurUqVN8/PHHLF26FHNzc9LT03FyckKlUpGQkECLFi2wsLCQ5MqfOHPmDFu2bOH9999X6pBo/b7InxBCiL+uuLgYlUrFgwcP+PHHH7lx44YyRVoIIYR43uzevZsJEyYQEhLC8ePHsbGxYdSoURQVFTFx4kQiIiJ49dVX6dq1K7Gxsbzxxhvs3buXZcuWkZ2dTVBQEO+++64yk0OIf0fyBzVbtUlEAbRv354333xTyVwKIYQQ1VFubi5bt25lz549XL9+HScnJ959912lE4sQQgjxPIqNjaVZs2Z88MEHymjgyZMnk52dzXfffUdJSQl9+/bl3r17bNy4kSNHjpCdnU2nTp2ey06U4q+R/EHNVeVd8x43dOhQpVWn+O/9vuudEEKIZ6NBgwaYmpoSHR1Nx44dpeC4EEIIQcVOlCUlJejr6xMcHMy4ceMYM2YMly5dokOHDqhUKnR1daVTmfhLJH9Qc1WrEVFCCCGEEEIIIWqm06dP8/HHH7Nw4UKsra2V7x86dIh9+/YRFRVFixYtqnANhRDVgSSihBBCCCGEEEL8Ldq3b8+AAQN46aWXqnpVhBDVVLWamieEEEIIIYQQouaS6VJCiP9ERkQJIYQQQgghhBBCiEqhW9UrIIQQQgghhBBCCCGeD5KIEkIIIYQQQgghhBCVQhJRQgghhBBCCCGEEKJSSCJKCCGEEEIIIYQQQlQKSUQJIYQQQgghhBBCiEohiSghhBBCCCGEEEIIUSkkESWEEEIIIYQQQgghKoUkooQQQgghhBBCCCFEpZBElBBCCCGEEEIIIYSoFJKIEkIIIYQQQgghhBCVQhJRQgghhBBCCCGEEKJSSCJKCCGEEEIIIYQQQlQKSUQJIYQQQgghhBBCiEohiSghhBBCCCGEEEIIUSkkESWEEEIIIYQQQgghKoUkooQQQgghhBBCCCFEpZBElBBCCCGEEEIIIYSoFJKIEkIIIYQQQgghhBCVQhJRQgghhBBCCCGEEKJSSCJKCCGEEEIIIYQQQlQKSUQJIYQQQgghhBBCiEohiSghhBBCCCGEEEIIUSkkESWEEEIIIYQQQgghKoUkooQQQgghhBBCCCFEpZBElBBCCCGEEEIIIYSoFJKIEkIIIYQQQgghhBCVQhJRQgghhBBCCCGEEKJSSCJKCCGEEEIIIYQQQlQKSUQJIYQQQgghhBBCiEohiSghhBBCCCGEEEIIUSkkESWeyoEDB4iMjKyU35WZmYmbmxslJSWV8vuEEDWbxCchRHUl8UkIUZ1JjBJVRRJRNcQLL7yAl5cXvr6+tGzZkk8++YQHDx78z8ubOXMmI0aM+NvWr7y8nKVLl9K5c2d8fHyIjIxk2LBhnD9//m/7HU+7HlOnTiUiIgJ/f3/69etHWlqa8vr169cZOnQoQUFBREZGsnLlygrv//zzz+nQoQPu7u6sXbu2wmsXLlxgwIABBAcH4+bm9sTv7tevHy1atMDX1xdfX186dOjwbDZSiGpG4tPTr0dVxaeMjAxee+01/P39adeuHTt27Hg2GylENSPx6enX41nFJ4CrV68yZMgQfH19CQ4O5ttvv1Vek/gknmcSo55+PZ5ljFq8eDFhYWH4+fnx6aefotFolNemTZtGly5daN68OTNnznx2G/mckURUDTJ37lyOHj3KunXrOHXqFHPmzKnqVVKMGzeOpUuXMmrUKFJTU9m+fTtt27YlMTGxUtdj69at/PLLL6xYsYLU1FR8fHz4+OOPlddHjBiBnZ0dycnJzJ8/n6lTp7J//37ldXd3d7788kuaN2/+xLL19fWJjo5m3Lhxf/r7v/jiC44ePcrRo0fZvn3737txQlRjEp/+s6qKTyUlJbz99ttERUWRmprKmDFj+Oijj7h06dKz2VAhqhmJT//Zs4xPGo2GN954g5CQEJKTk9mzZw+xsbGAxCchQGLU03iWMSopKYn58+ezePFidu3aRWZmJjNmzFBed3R0ZMSIEbRq1erZbuRzRhJRNZCVlRURERFKFnjnzp3ExMQQEBBAv379yMjIUH52/vz5REREKCN0UlJS2LNnD/PmzWPr1q34+voqFwO//PILHTt2xNfXlzZt2vDTTz891fpcvnyZ5cuXM2XKFEJDQzEwMMDQ0JDY2FgGDx4MwP379/n4448JCQkhKiqK2bNnU1ZWBkBpaSkTJ04kODiYNm3aPBHY7t+/z8iRIwkPDyciIoKpU6dSWlr6h+uSmZmJv78/9vb26OnpERsbS3p6OgAPHjwgNTWVoUOHolKpcHd3p0OHDvzyyy/K+/v27UtoaChqtfqJZTs7O9O7d29cXFyear8I8TyS+FT94tPFixe5ceMG/fv3R09Pj9DQUPz8/NiwYcNT7UMhaguJT1UTn9atW4elpSVvvPEGRkZGqNVq3N3dAYlPQjxOYlTVxKj169fTq1cvXFxcqF+/Pm+//Tbr1q1TXu/evTutWrWibt26T7XfxNPRr+oVEP+97Oxs9uzZQ7t27bh06RIffvghs2bNIigoiMWLF/PWW2+xefNmMjMzWb58OWvWrMHKyorMzEzKyspwcHBgyJAhXLlyhcmTJyvLNTc3Z968edjb23Pw4EEGDRpEixYt8PDw+Lfrk5KSgrW1NV5eXn/6M19//TX3798nPj6evLw8BgwYgIWFBb1792bVqlXs2rWL9evXY2hoyHvvvVfhvZ988gnm5ubExcVRWFjIkCFDsLGx4eWXX37i98TExLBt2zYuXbqEnZ0d69atIyIiAng0pPPx/2v//fiwzr/qu+++Y/LkyTRu3Jjhw4cTHBz8ty1biJpA4lP1jU+Pe5bLFqK6kvhUNfHp2LFj2NraMnDgQE6ePImrqyufffbZH04j/m+XLURtIjGqamJUWloabdq0Ub52c3Pj1q1b5ObmYmpq+lTLEP89GRFVg7zzzjsEBATwyiuvEBgYyFtvvcWWLVto1aoVYWFhqFQqBgwYwMOHDzl69Ch6enpoNBoyMjIoLi7Gzs4OBweHP11+69atcXBwQEdHh6CgIMLCwjh06NB/XK+8vDwsLCz+9PXS0lK2bNnChx9+iLGxMXZ2drzxxhts3LgReDTU8vXXX8fGxoYGDRowZMgQ5b23bt0iMTGRkSNHYmRkhLm5Of3792fz5s1/+LssLCzw8/MjOjoab29vtm3bxqeffgqAsbExfn5+zJ49m6KiIk6fPq0Evr/DiBEjiI+PJykpiZdeeom33nqL33777W9ZthDVncSn6hufGjdujJmZGQsWLKC4uJi9e/dy8OBBHj58+JeXLURNIPGpauPT9evX2bJlC/369SMpKYlWrVrx9ttvo9FoJD4JgcSoqo5RBQUFGBsbK1/Xq1cP4C/V6hL/mYyIqkFmzZpFy5YtK3zvxo0bNGrUSPlaV1cXGxsbrl+/TnBwMCNHjmTmzJmkp6cTHh7OJ598gpWV1R8uPzExkVmzZnH58mXKysp4+PAhrq6u/3G9GjRowM2bN//09dzcXIqLiyusZ6NGjbh+/bqyDTY2NhVe08rKyqKkpITw8HDle2VlZRV+/nGzZs3i1KlTJCYm0rBhQzZu3Mjrr7/O5s2bMTQ0ZPLkyYwZM4ZWrVphb29PbGzs3/bUzdvbW/l39+7d+fXXX0lMTKRfv35/y/KFqM4kPj1SHeOTSqVi1qxZjB07lgULFuDp6Ul0dDQGBgZ/edlC1AQSnx6pqvikVqvx8/NT6qsMGDCAOXPmcPHiRdzd3SU+ieeexKhHqipGGRkZkZ+fr3yt/bdMxXu2ZERUDWdpaUlWVpbydXl5OdnZ2Uog6tKlCytXrmTXrl3o6OgowzR1dHQqLEej0TBs2DDefPNNkpOTOXToEJGRkRWGOP6Z0NBQcnJyOHny5B++bmpqikqlqrCej6+jhYUF2dnZFV7Tsra2xsDAgP3793Po0CEOHTrEkSNH/jRbfu7cOTp27Ii1tTX6+vr06NGDe/fuKXOIbW1tmTdvHvv372f16tXk5ub+2+Gmf4WOjs5T7T8haiuJTxVVZXxyd3dn2bJlHDhwgIULF5KZmfnMYp8QNYHEp4qeZXxyc3N7Yr89TuKTEE+SGFXRs4xRLi4uFboAnjt3joYNG8q0vGdMElE1XMeOHUlMTCQlJYXi4mJ++OEHDAwM8PX15eLFi6SkpKDRaDAwMECtVqOr++hPbm5uzrVr15RichqNBo1Gg5mZGfr6+iQmJpKcnPxU6+Dk5MQrr7zChx9+yIEDB9BoNBQVFbF582bmz5+Pnp4e0dHRTJ06lfz8fK5du8aiRYuUAnodO3bkxx9/JCcnh7t37zJ//nxl2ZaWloSFhTFhwgTy8/MpKyvjt99+IzU19Q/XpUWLFmzbto1bt25RVlbG+vXrKSkpwdHREXjUIjg/Px+NRsOGDRvYu3cvb7zxhvJ+7bqXl5dTUlJCUVGRso/Ky8spKiqiuLgYgKKiIqW1571790hKSqKoqIiSkhI2btzIoUOHlLnLQjyPJD5VVFXxCR5dVBUVFVFYWMjChQu5ceMGPXr0eKp9KERtJPGpomcZn2JjYzl+/Dj79u2jtLSUJUuWYGpqirOzMyDxSYg/IjGqomcZo7p27cqaNWtIT0/n3r17zJkzh+7duyvvLS4ufuK9f1ZUXTw9mZpXwzk7OzNp0iS+/vprrl+/TrNmzZg7dy4GBgZoNBq+++47MjIyUKlU+Pr6MmbMGACio6PZuHEjwcHBSsG3zz77jH/84x9oNBqioqJ44YUXnno9PvvsM5YuXcqYMWPIzMzExMQEf39/3nnnHQA+//xzvv76a9q2bYtaraZ379707NkTgBdffJHLly/TtWtX6taty4ABAyq02/z222+ZPHkynTp14sGDB9jb2zNo0KA/XI9BgwZx+/ZtunXrRkFBAY6OjsyYMQMTExPgUXvOuXPn8vDhQ5o1a8aCBQswMzNT3j9gwAAlAB49epTPP/+cpUuXEhwczLVr1yoUsvPy8sLW1paEhARKSkqYNm0aFy9eRE9PD2dnZ2bNmkXjxo2feh8KUdtIfKqoquITwIYNG1izZg0lJSX4+/uzaNEimfoinmsSnyp6lvFJu69Hjx7N7du38fDwYM6cOUoMkvgkxJMkRlX0LGNUZGQkAwcO5LXXXuPhw4d06NCBYcOGKe/9/PPPK3TRmzt3Lt98840kzP8inXKZOySEEEIIIYQQQgghKoFMzRPWhjd4AAAgAElEQVRCCCGEEEIIIYQQlUISUUIIIYQQQgghhBCiUkgiSgghhBBCCCGEEEJUihpdrPzhw4ecOnUKCwsL9PT0qnp1hHhulZaWcvPmTTw9PalTp05Vr061IPFJiOpDYlRFEp+EqD4kPlUk8UmI6uNZxqcanYg6deoUffv2rerVEEL8f8uXLycgIKCqV6NakPgkRPUjMeoRiU9CVD8Snx6R+CRE9fMs4lONTkRZWFgAj3aMtbV1Fa+NEM+vnJwc+vbtqxyTQuKTENWJxKiKJD4JUX1IfKpI4pMQ1cezjE81OhGlHa5pbW2NnZ1dFa+NEEKGUP+LxCchqh+JUY9IfBKi+pH49IjEJyGqn2cRn6RYuRBCCCGEEOL/sXfncVHV+x/HXzMjaGSIuCAqVw2XKHPFzEozVLSuht6b5Q9NtNB7W8wWKytDFMtQMzU1l8ylcMlKCFwwtcVWtTJ301xKWUyUyA1kht8fPpgrQTjIDDPDvJ+PB4/gLHM+5zi8+86Hs4iIiFSICjsjKiwsDG9vb6pWrQrAqFGj6Ny5M9u3bycmJobc3FwaNGjA5MmTqVWrVkWVJSIiIuKSTp8+zXPPPcevv/6Kt7c3jRo1Yvz48fj7+9OiRQuaN2+O0Xjpb4qTJk2iRYsWTq5YRERE5Moq9NK8GTNm0Lx5c+vPFouFZ599lokTJxIaGsrs2bOZMmUKEydOrMiyRERERFyOwWAgOjqajh07AhAfH8+UKVN49dVXAVi+fDnXXnutM0sUERERKbMyX5p36NAh1q1bx+7du8u98V27dlG1alXrHdgHDBjAunXryv26IlK52DN3RESc4WpyzM/Pz9qEAmjTpg1paWmOKE9EPJjGWSJS0cp0RlRCQgLLly+nefPm7Nq1i7CwMJ5//nmb1x81ahQFBQW0b9+ep59+mvT0dOrXr2+d7+/vj8ViITs7Gz8/vyLr5uTkkJOTU2RaRkZGWcoXETdU3twREXE2e+SYxWJh2bJlhIWFWac9+OCDmM1munTpwogRI/D29i62nsZPIlIajbNExBlKbUTt3r2bm266yfrzunXrWLVqFVWqVOHs2bNlCqqEhAQCAwPJy8vjlVdeYfz48fTo0cPmQhcvXszMmTNtXr4keRfNeHvpiRQVwZHH2pJ/EWMVL4e8thTljGNtz9xxZZ6YR+XZZ0/8vffEfa4sHJFjcXFx+Pj4MGjQIAA+++wzAgMDOXPmDM8++yyzZs3iqaeeKrbe1YyflE9l44m/q+XZ57z8i3h72PFypX2uDOMsT8soT9tf8QylNqKmTZtGUFAQTz/9NNWrV6du3bq88847tGzZku+++45GjRrZvKHAwEAAvL29iYyM5JFHHmHw4MFFTjE/deoURqOx2NlQAFFRUfTr16/ItIyMDAYOHGhzDd5eJiKfS7B5ebl6SyfZ/u9SVsYqXnw/Kdphry//0/65tyt8m/bMHVfmiXlUnlzwxN97Z/z+iX3YO8fi4+M5evQoc+bMsd6cvHBcVb16dfr378/ChQtLXPdqxk/Kp7JRPpWNdxUvhiwcacdqXN+iodOdXYJVZRhneVpGOfJzlYizlHqPqPnz5xMaGsqDDz5IYmIiY8eO5Y8//mDhwoXk5OQwY8YMmzZy7tw5/vzzTwAKCgpYs2YNISEhtGzZkgsXLrBt2zbg0k03e/XqVeJr+Pr60rBhwyJf9erVK8u+iogbsFfuiIg4iz1zbOrUqezatYtZs2ZZL737448/uHDhAgD5+fmkpqYSEhJS4voaP4nI5TTOEhFXcMV7RN1zzz106dKF6dOns2rVKl5++WWaNm1apo1kZWUxYsQIzGYzFouF4OBgxo4di9FoZNKkSYwdO5bc3FwaNGjA5MmTr3pnRKRysEfuiIg4kz1y7MCBA8ydO5fGjRszYMAAABo2bEh0dDQxMTEYDAby8/Np27YtI0d61hkmInL1NM4SEWe7YiNq9+7d/PbbbwwYMIC8vDxiYmJo06YNTzzxBNWqVbNpI0FBQSQmJpY4r127diQnJ5etahGp1OyROyIizmSPHGvWrBn79+8vcZ7GTiJytTTOEhFnK/XSvPj4eJ588knWr1/Po48+ytatW0lISCAoKIj777+f9evXV1SdIuIh7JU78fHxhIWF0aJFC37++WcATp8+zbBhw+jZsyd9+vTh8ccf59SpUyWuP3r0aLp06UJERAQRERG89dZbdttHEancNH4SEVelfBIRV1BqI+qjjz5i1apVTJ06lZUrV/LRRx9hMBj4v//7PxYuXMjGjRsrqk4R8RD2yp1u3bqRkJBAgwYNrNMMBgPR0dGkpqaSnJxMUFAQU6ZM+dvXGD58OElJSSQlJfHII4+Ue99ExDNo/CQirkr5JCKuoNRL8xo3bszq1avp2LEjX331FU2aNLHOq1WrFvHx8Q4vUEQ8i71yJzQ0tNg0Pz8/OnbsaP25TZs2LFu2rNw15+TkkJOTU2RaRkZGuV9XRNyTxk8i4qqUTyLiCkptRE2fPp25c+eyYcMGmjdvTmxsbAWVJSKeqqJyx2KxsGzZMsLCwv52mYULF7JixQqCgoJ45plnCA4OLnG5xYsXM3PmTIfUKSLuR+MnEXFVyicRcQWlNqLq1avH2LFjK6oWEZEKy524uDh8fHwYNGhQifOfeuop6tSpg9FoJDExkejoaDZs2IDJZCq2bFRUFP369SsyLSMjg4EDBzqkdhFxbRo/iYirUj6JiCso9R5RIiKVUXx8PEePHmXatGkYjSXHYEBAgHVe3759OXfu3N9ebufr60vDhg2LfNWrV89h9YuIiIiIiLgrNaJExKNMnTqVXbt2MWvWLLy9vf92uczMTOv3mzdvxmg0EhAQUBElioiIiIiIVFqlXponIuKuJkyYwPr16zl58iRDhw7Fz8+PadOmMXfuXBo3bsyAAQMAaNiwIbNmzQIgIiKCefPmERAQwPPPP09WVhYGg4Hq1avz1ltvUaWKIlNERERERKQ8yvSpymKxcPLkSerWreuoekREirja3BkzZgxjxowpNn3//v1/u05SUpL1+0WLFpVpeyIif0fjJxFxVconEXEGmy7Ny8nJ4ZlnnqFVq1aEh4cDsHHjRt544w2HFicinku5IyLuTjkmIq5K+SQizmRTI2rs2LFUr16dTZs24eXlBUDbtm1Zu3atQ4sTEc+l3BERd6ccExFXVd58On36NMOGDaNnz5706dOHxx9/nFOnTgGwfft27r33Xnr27MlDDz1EVlaWw/ZDRNyTTZfmffPNN2zevBkvLy8MBgMA/v7+ChURcRjljoi4O+WYiLiq8uaTwWAgOjqajh07ApeeSDxlyhQmTJjAs88+y8SJEwkNDWX27NlMmTKFiRMnOmxfRMT92HRG1HXXXcfp06eLTEtLS6NOnToOKUpERLkjIu5OOSYirqq8+eTn52dtQgG0adOGtLQ0du3aRdWqVQkNDQVgwIABrFu3rsTXyMnJ4dixY0W+MjIyrnKPRMSd2HRGVP/+/XniiSd48sknsVgs/Pjjj0ydOtX61CkREXtT7oiIu1OOiYirsmc+WSwWli1bRlhYGOnp6dSvX986z9/fH4vFQnZ2Nn5+fkXWW7x4MTNnziz3voiI+7GpETVs2DCqVq3K+PHjyc/P58UXX+SBBx4gKirK0fWJiIdS7oiIu1OOiYirsmc+xcXF4ePjw6BBg/jkk09sXi8qKop+/foVmZaRkcHAgQPLXIOIuBebGlEGg4GoqCgNnESkwih3RMTdKcdExFXZK5/i4+M5evQoc+bMwWg0EhgYSFpamnX+qVOnMBqNxc6GAvD19cXX17dc2xcR92TTPaLmzZvHjh07ikzbsWMH8+fPd0hRIiLKHRFxd8oxEXFV9sinqVOnsmvXLmbNmoW3tzcALVu25MKFC2zbtg2A5cuX06tXL/sVLiKVgk2NqCVLltC0adMi04KDg1m8eLFDihIRUe6IiLtTjomIqypvPh04cIC5c+dy4sQJBgwYQEREBI899hhGo5FJkyYxbtw4wsPD2bp1K88884wjdkFE3JhNl+ZdvHiRKlWKLurl5UVeXp5DihIRUe6IiLtTjomIqypvPjVr1oz9+/eXOK9du3YkJyeXu0YRqbxsOiPqpptuYunSpUWmLV++nBtvvLHMG5w5cyYtWrTg559/BmD79u3ce++99OzZk4ceeoisrKwyv6aIVD72zB0REWcob46dPn2aYcOG0bNnT/r06cPjjz/OqVOnAI2fRKR8NM4SEWey6YyoF154gaFDh/Lxxx8TFBTEb7/9xu+//87ChQvLtLHdu3ezfft2GjRoAFx61Oezzz7LxIkTCQ0NZfbs2UyZMoWJEyeWfU9EpFKxV+6IiDhLeXPMYDAQHR1Nx44dgUs3BZ4yZQoTJkzQ+ElEykXjLBFxJpsaUc2aNSM1NZVPP/2UjIwMwsPD6dq1K9dee63NG8rLy2P8+PG8/vrrDB48GIBdu3ZRtWpVQkNDARgwYADdunXTQEpE7JI7IiLOVN4c8/PzszahANq0acOyZcs0fhKRctM4S0ScyaZGFMC1115L7969r3pD06dP595776Vhw4bWaenp6dSvX9/6s7+/PxaLhezs7GKP+MzJySEnJ6fItIyMjKuuR0RcX3lzR0TE2eyVYxaLhWXLlhEWFqbxk4jYhcZZIuIsNjWifvvtN6ZNm8bevXs5d+5ckXmfffbZFdf/8ccf2bVrF6NGjbqqIgEWL17MzJkzr3p9EXEv5c0dERFns2eOxcXF4ePjw6BBg/jkk09sXk/jJxEpicZZIuJMNjWiRo0aRVBQEM8//zzXXHNNmTeydetWfvnlF7p16wZc+kvcww8/zIMPPkhaWpp1uVOnTmE0Gov9NQ8gKiqKfv36FZmWkZHBwIEDy1yPiLi+8uaOiIiz2SvH4uPjOXr0KHPmzMFoNBIYGKjxk4iUi8ZZIuJMNjWiDhw4wLJlyzAabXrIXjHDhw9n+PDh1p/DwsKYM2cOTZs25f3332fbtm2EhoayfPlyevXqVeJr+Pr64uvre1XbFxH3U97cERFxNnvk2NSpU9m1axfz5s3D29sbgJYtW3LhwgWNn0TkqmmcJSLOZFPydOjQgT179th/40YjkyZNYty4cYSHh7N161aeeeYZu29HRNxPeXMnPj6esLAwWrRowc8//2ydfvjwYR544AF69uzJAw88wJEjR0pc32w2M27cOLp3706PHj1YuXLlVdciIp6pvDl24MAB5s6dy4kTJxgwYAARERE89thjGj+JSLk56vOdiIgtbDojqkGDBkRHR9OjRw9q165dZN7IkSPLvNFNmzZZv2/Xrh3Jycllfg0RqdzKmzvdunVj8ODBxS4/GTt2LJGRkURERJCUlERMTAxLliwptn5ycjK//vor69evJzs7m759+9KpU6ciD1wQESlNeXOsWbNm7N+/v8R5Gj+JSHnY+/OdiEhZ2NSIOn/+PHfddRf5+fl60oqIVIjy5k7hY80vl5WVxZ49e1i4cCEAvXv3Ji4ujlOnTuHv719k2TVr1tC/f3+MRiP+/v50796ddevWER0dfXU7JCIeR+MnEXFVyicRcSabGlETJ050dB0iIkU4InfS09MJCAjAZDIBYDKZqFu3Lunp6cUaUX99PHpgYODfDtT0eHQRKYnGTyLiqpRPIuJMNjWiAH755RfWrVtHVlYWMTExHDp0iLy8PG644QZH1iciHsxdckePRxeRv+MuOSYinkf5JCLOYtPNyteuXcvAgQPJzMwkMTERgLNnz/Laa685tDgR8VyOyJ3AwEAyMzMxm83ApRuSnzhxgsDAwBKXvfzx6Onp6dSrV6/E142KimLjxo1FvhISEq66ThGpHDR+EhFXpXwSEWey6YyoGTNmsGjRIm644QbWrl0LwA033MC+ffscWpyIeC5H5E6tWrUICQkhJSWFiIgIUlJSCAkJKXZZHkCvXr1YuXIl4eHhZGdns2HDhr9tLunx6CJSEo2fRMRVKZ9ExJlsOiPq1KlTtGjRAgCDwWD9b+H3IiL2Vt7cmTBhAl26dCEjI4OhQ4fyz3/+E4DY2Fjee+89evbsyXvvvce4ceOs6wwbNoydO3cCEBERQcOGDQkPD+f+++/nscceIygoyJ67KCKVnMZPIuKqlE8i4kw2nRF10003kZSURN++fa3TVq9eTatWrRxWmIh4tvLmzpgxYxgzZkyx6cHBwaxcubLEdebPn2/93mQyFWlSiYiUlcZPIuKqlE8i4kw2NaJeeuklHn74YT744APOnTvHww8/zOHDh3nnnXccXZ+IeCjljoi4O+WYiLgq5ZOIOJNNjajg4GDWrl3Lp59+SteuXQkMDKRr165ce+21jq5PRDyUckdE3J1yTERclfJJRJzJpkYUwDXXXMM999zjyFpERIpQ7oiIu1OOiYirUj6JiLP8bSMqMjLSppvV6RHlImIvyh0RcXfKMRFxVconEXEVf9uI6t+/f0XWISKi3BERt6ccExFXpXwSEVfxt42ofv36VWQdIiLKHRFxe8oxEXFV9s6n+Ph4UlNTOX78OMnJyTRv3hyAsLAwvL29qVq1KgCjRo2ic+fOdt22iLg3m+8RdfLkSXbs2MHp06cpKCiwTr/vvvscUpiIiHJHRNydckxEXFV586lbt24MHjyYgQMHFps3Y8YMa2NKROSvbGpEbdiwgWeffZZGjRpx8OBBmjZtyoEDB2jXrp0GUiLiEModEXF3yjERcVX2yKfQ0FAHVynlZcm/iLGKl7PLqFDl2ee8/It4e9jxctY+29SImjZtGq+++ip33303HTp0IDExkQ8//JCDBw86uj4R8VDKHRFxd8oxEXFVjs6nUaNGUVBQQPv27Xn66afx9fUttkxOTg45OTlFpmVkZNhl+3KJsYoX30+KdnYZFar9c29f9breVbwYsnCkHatxfYuGTnfKdo22LJSWlsbdd99dZFq/fv1ITEx0SFEiIsodEXF3yjERcVWOzKeEhAQ+/vhjPvzwQwoKChg/fnyJyy1evJhu3boV+SrpMj8RqXxsOiOqVq1anDx5ktq1a9OgQQN+/PFHatasicVicXR9IuKhlDsi4u6UYyLiqhyZT4GBgQB4e3sTGRnJI488UuJyUVFRxW6gnpGRoWaUiAewqRHVv39/vv/+e3r27MmQIUMYPHgwRqORoUOHOro+EfFQyh0RcXfKMRFxVY7Kp3PnzmE2m7nuuusoKChgzZo1hISElLisr69viZfsiUjlZ1Mjavjw4dbv+/btyy233ML58+cJDg62eUOPPvoox44dw2g04uPjw8svv0xISAiHDx9m9OjRZGdn4+fnR3x8PI0bNy7zjohI5WKP3BERcSZ75Jgejy4ijmCPfJowYQLr16/n5MmTDB06FD8/P+bMmcOIESMwm81YLBaCg4MZO3asI3ZBRNyYTY2oRYsW0bt3b2rXrg1A/fr1y7yh+Ph4rrvuOuDSUxpefPFFVq1axdixY4mMjCQiIoKkpCRiYmJYsmRJmV9fRCoXe+SOiIgz2SPH9Hh0EXEEe+TTmDFjGDNmTLHpug+eiFyJTTcr37JlC926dWPIkCF8+OGHnDlzpswbKmxCAZw5cwaDwUBWVhZ79uyhd+/eAPTu3Zs9e/Zw6tSpMr++iFQu9sgdERFnskeOhYaGWu+3IiJiLxpniYgz2XRG1OzZs8nJySE1NZWkpCTi4uLo3Lkzffr0ITw83OaNvfTSS3z11VcUFBTw9ttvk56eTkBAACaTCQCTyUTdunVJT0/H39+/yLp6vKeIZ7FX7oiIOIujc0yPRxeRq6Vxlog4k01nRMGlm8n179+fJUuWsGbNGs6ePcvIkSPLtLFXXnmFzz77jKeeeopJkyaVaV093lPE89gjd0REnMlROabHo4tIeWmcJSLOYtMZUYW2bdvG6tWrSU1Nxc/PjxEjRlzVRvv27UtMTAz16tUjMzMTs9mMyWTCbDZz4sSJEk9B1+M9RTyTvXLncseOHeOxxx6z/vznn39y5swZtmzZUmS5N998k6VLl1K3bl0A2rVrpxtuikiZOSLH9Hh0EbEHR+STiMiV2NSIio+PZ926dRgMBu6++24WLFjwt4/hLMnZs2fJycmxDpo2bdpEjRo1qFWrFiEhIaSkpBAREUFKSgohISHFLssDPd5TxNOUN3dK07BhQ5KSkqw/v/LKK5jN5hKX7du3L88//7xdtisinsVROabHo4tIeTlynCUiciU2NaLOnz/P5MmTCQ0NvaqNnD9/npEjR3L+/HmMRiM1atRgzpw5GAwGYmNjGT16NLNnz8bX15f4+Pir2oaIVC7lzR1b5eXlkZyczIIFCxy6HRHxPPbIMT0eXUQcoaLGWSIiJbGpERUbGwtAeno6mZmZtGnTpkwbqV27Nu+//36J84KDg1m5cmWZXk9EKr/y5o6tNm3aREBAADfddFOJ81evXs2XX35JnTp1GDFiBG3bti22jG4GLCIlsUeO6fHoIuIIFTXOEhEpiU2NqPT0dJ566in27duHwWDgxx9/ZN26dWzevJlXXnnF0TWKiAeqqNz58MMP+fe//13ivAEDBvDf//4XLy8vvvrqKx599FHWrFlDzZo1iyy3ePFiZs6cabeaRKRy0PhJRFyV8klEnMmmp+a9/PLLdO3alR9++IEqVS71rm6//Xa+/vprhxYnIp6rInInMzOTrVu30qdPnxLn16lTBy8vL+u2AwMDOXDgQLHloqKi2LhxY5GvhIQEu9UpIu5J4ycRcVXKJxFxJpvOiNq5cyfz5s3DaDRiMBgAuO666/jzzz8dWpyIeK6KyJ1Vq1Zx5513FjvDqVBmZiYBAQEA7N27l+PHj9OkSZNiy+lmwCJSEo2fRMRVKZ9ExJlsOiOqVq1aHD16tMi0gwcPWp+CJyJibxWRO6tWrSp2Wd6wYcPYuXMnAFOnTqV3797ce++9jBkzhkmTJlGnTh27bV9EKjeNn0TEVSmfRMSZbDoj6qGHHuK///0vw4cPJz8/n5SUFObOncuwYcMcXZ+IeKiKyJ3U1NRi0+bPn2/9Xk/xFJHy0PhJRFyV8klEnMmmRtR9992Hn58fK1asIDAwkMTEREaOHEn37t0dXZ+IeCjljoi4O+WYiLgq5ZOIONMVG1Fms5khQ4awYMECBZOIVAjljoi4O+WYiLgq5ZOIONsV7xFlMpk4duwYFoulIuoREVHuiIjbU46JiKtSPomIs9l0s/LHHnuM2NhYjh8/jtlsxmKxWL9ERBxBuSMi7k45JiKuSvkkIs5k0z2ixowZA0BSUpJ1WkFBAQaDgb179zqmMhHxaModkauXl38R7ypezi6jQrniPivHRMRVKZ9ExJlsakRt3LjR0XWIiBSh3BG5et5VvBiycKSzy6hQi4ZOd3YJxSjHRMRVKZ9ExJlKbUQVFBTw/vvvc+DAAW688Ub+9a9/VVRdIuKhlDsi4u6UYyLiqpRPIuIKSr1HVHx8PG+++Sa///47U6dOZcaMGRVVl4h4KOWOiLg75ZiIuCrlk4i4glIbUWvXruXdd99l+vTpLFq0iJSUlIqqS0Q8lHJHRNydckxEXJXySURcQamNqD///JMmTZoA0LRpU/74448KKUpEPJdyR0TcnXJMRFyV8klEXMEV7xH122+/WX82m81FfgYICgpyTGUi4pGUOyLi7pRjIuKq7JlP8fHxpKamcvz4cZKTk2nevDkAhw8fZvTo0WRnZ+Pn50d8fDyNGze22z6IiPsrtRF1/vx5wsPDKSgosE7r0aOH9Xs93lNE7E25IyLuTjkmIq7KnvnUrVs3Bg8ezMCBA4tMHzt2LJGRkURERJCUlERMTAxLliyxzw6ISKVQaiNq3759FVWHiAig3BER96ccExFXZc98Cg0NLTYtKyuLPXv2sHDhQgB69+5NXFwcp06dwt/f327bFhH3VmojSkRERERERMQW6enpBAQEYDKZADCZTNStW5f09PRijaicnBxycnKKTMvIyKiwWkXEeSqkEXX69Gmee+45fv31V7y9vWnUqBHjx4/H39+f7du3ExMTQ25uLg0aNGDy5MnUqlWrIsoSERERcWm6B4uIVFaLFy9m5syZzi5DRJyg1Kfm2YvBYCA6OprU1FSSk5MJCgpiypQpWCwWnn32WWJiYkhNTSU0NJQpU6ZUREkiIiIiLq9bt24kJCTQoEGDItML78GSmppKZGQkMTExTqpQROR/AgMDyczMxGw2A5duhn7ixAkCAwOLLRsVFcXGjRuLfCUkJFR0ySLiBBXSiPLz86Njx47Wn9u0aUNaWhq7du2iatWq1uuLBwwYwLp16yqiJBERERGXFxoaWuwDXOE9WHr37g1cugfLnj17OHXqlDNKFBGxqlWrFiEhIaSkpACQkpJCSEhIifeH8vX1pWHDhkW+6tWrV9Eli4gT2NSIWrx4sd0GNxaLhWXLlhEWFkZ6ejr169e3zvP398disZCdnV1svZycHI4dO1bkS9cQi1Re9swdERFncFSOlXYPlr/S+ElESmKPfJowYQJdunQhIyODoUOH8s9//hOA2NhY3nvvPXr27Ml7773HuHHj7FGyiFQiNt0j6ttvv2XatGnccsstRERE0L17d7y9va9qg3Fxcfj4+DBo0CA++eQTm9fTNcQinsWeuVOSsLAwvL29qVq1KgCjRo2ic+fORZY5f/48L7zwArt378ZkMvH8889z11132a0GEancHJ1jttD4SURKYo98GjNmDGPGjCk2PTg4mJUrV9qrVBGphGxqRL311lucPn2aNWvWsHjxYsaOHUt4eDh9+/alQ4cONm8sPj6eo0ePMmfOHIxGI4GBgaSlpVnnnzp1CqPRiJ+fX7F1o6Ki6NevX5FpGRkZDBw40Obti4j7sFfulGbGjBnWG/+WZMGCBVSvXp1PPvmEI0eOMHDgQNavX8+1115rl+2LSOXmqBy7/B4sJpPpivdg0c7/bRMAACAASURBVPhJRP6qIsZZIiJ/x+Z7RNWsWZOBAweyYsUK3n33XXbu3MngwYMJCwvjrbfe4uzZs6WuP3XqVHbt2sWsWbOs3faWLVty4cIFtm3bBsDy5cvp1atXievrGmIRz1Pe3CmvtWvX8sADDwDQuHFjWrZsyRdffOHQbYpI5eKIHNM9WETEHpw9zhIRz2XTGVGFvvnmGz7++GM2btxIy5YtiY6Opn79+ixZsoRhw4axdOnSEtc7cOAAc+fOpXHjxgwYMACAhg0bMmvWLCZNmsTYsWPJzc2lQYMGTJ48ufx7JSKVxtXmji1GjRpFQUEB7du35+mnn8bX17fI/LS0tCJPqgoMDCzx3io5OTnk5OQUmaZ7sIhIofLk2IQJE1i/fj0nT55k6NCh+Pn5sXr1amJjYxk9ejSzZ8/G19eX+Pj4CtwjEaksHDnOEhH5OzY1ouLj41m9ejXXXXcdERERJCcnExAQYJ3funVrbrnllr9dv1mzZuzfv7/Eee3atSM5ObmMZYtIZVfe3LmShIQEAgMDycvL45VXXmH8+PFMmTLlql5L92ARkZLYI8d0DxYRcQRHj7NEREpjUyMqNzeXmTNn0qpVqxLne3l58cEHH9i1MBHxbI7OncJ7qXh7exMZGckjjzxSbJn69etz/Phx6+Uu6enpdOzYsdhyugeLiJRE4ycRcVXKJxFxpiveI8psNvPFF19www03lLpccHCw3YoSEc/m6Nw5d+4cf/75JwAFBQWsWbOGkJCQYsv16tWLFStWAHDkyBF27txZ7Ml6oHuwiEhxGj+JiKtSPomIs12xEWUymTCZTOTm5lZEPSIiDs+drKwsHnzwQfr06UPv3r05fPgwY8eOBSAiIoLMzEwAHn74YXJycujRowf/+c9/GD9+PNWrV3dITSJSuWj8JCKuSvkkIs5m06V5gwcP5sknn+Q///kP9erVw2AwWOcFBQU5rDgR8VyOzJ2goCASExNLnJeUlGT93sfHhxkzZpRrWyLiuTR+EhFXpXwSEWeyqREVFxcHwFdffVVkusFgYO/evfavSkQ8nnJHRNydckxEXJXySUScyaZG1L59+xxdh4hIEcodEXF3yjERcVXKJxFxJpsaUYXS0tLIzMykXr161idOiYg4knJHRNydckxEXJXySUScwaZG1IkTJ3j66afZvn07fn5+ZGdn07p1a6ZOnUpAQICjaxQRD6TcERF3pxwTEVelfBIRZ7riU/MAYmNjueGGG9iyZQtffvklW7ZsISQkxPqUKRERe1PuiIi7U46JiKtSPomIM9l0RtT333/P9OnT8fLyAi49Seq5556jc+fODi1ORDyXckdE3J1yTERclfJJRJzJpjOiatSowS+//FJk2qFDh/D19XVIUSIiyh0RcXfKMRFxVconEXEmm86Iio6OZsiQIdx3333Ur1+ftLQ0PvroI0aOHOno+kTEQyl3RMTdKcdExFUpn0TEmWxqRN1///0EBQWRkpLC/v37qVu3Lq+//jqdOnVydH0i4qGUOyLi7pRjIuKqlE8i4kw2NaIAOnXqpGASkQql3BERd6ccExFXpXwSEWexqRE1ffr0Eqd7e3tTr149OnfuTO3ate1amIh4NuWOiLg75ZiIuCrlk4g4k003Kz9y5Ajz58/nu+++49dff+W7775j/vz57N27l2XLltG9e3e++OILR9cqIh5EuSMi7k45JiKuSvkkIs5k0xlRFouFN954gx49elinbdiwgZSUFN5//31WrVrF66+/TpcuXRxWqIh4FuWOiLg75ZiIuCrlk4g4k01nRH355ZeEhYUVmXbXXXdZu+T33nsvv/32m/2rExGPpdwREXenHBMRV+XofAoLC6NXr15EREQQERHB5s2by1WviFQuNjWi/vGPf7Bs2bIi05YvX84//vEPAE6fPs0111xj/+pExGMpd0TE3SnHRMRVVUQ+zZgxg6SkJJKSkujcuXO5XktEKhebLs2bMGECI0aMYP78+QQEBJCZmYnJZOLNN98E4PDhw4wcOdKhhYqIZ1HuiIi7U46JiKtSPomIM9nUiLrppptITU3lp59+4sSJE9SpU4c2bdrg5eUFQIcOHejQocPfrh8fH09qairHjx8nOTmZ5s2bA5cCbvTo0WRnZ+Pn50d8fDyNGzcu/16JiNsrb+6IiDibo3MsLCwMb29vqlatCsCoUaN01oGI2KQixlmjRo2ioKCA9u3b8/TTT+Pr61tkfk5ODjk5OUWmZWRklGubIuIebGpE/VWHDh04d+4cFy9exMfH54rLd+vWjcGDBzNw4MAi08eOHUtkZCQREREkJSURExPDkiVLrqYkEankypo7pTl9+jTPPfccv/76K97e3jRq1Ijx48fj7+9fZLnRo0fz9ddfU7NmTQB69erFI488Uq5ti4jnsmeOFZoxY4b1D3wiIlfL3vmUkJBAYGAgeXl5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XbqUpk2bcuTIEbKzs3n55Zfp0aMHU6ZM4fTp03Tv3p19+/aRnp7OnXfeidFoxGKxUKNGDRo1akRaWhpNmjShdevWXa1iTwAAIABJREFUlfoDnK0Kz864/BLLTp060bVrV+rWrUu1atX4/PPPyc3NpXfv3tx00020bduWRo0acebMGRYuXMiIESNo2bIl58+f5/PPPyc8PJzRo0dz/fXXO3nvxJ42bdrE7NmzOXLkCC1atKBWrVosXryY3r17U716dRYsWEBubi4xMTHUrl2bhQsXUrt2berUqcPu3bsJCAigSZMm1ocbmEwmOnToQO3atUlNTaVZs2Y899xzdO3a1bk7aieXN/0L/5g0Y8YMli5dypAhQ4iJieHChQssXbqUTp06cfHiRQ4ePEjjxo2pWbMm+/fvZ/Xq1bRt25YmTZpw8uRJevXqRWRkJAMHDqRGjRpO3kPHq6z5pEZUBfvwww/5/vvvefbZZzGZTFy8eJFq1aphMplo2rQpq1atYty4cdSsWZOLFy9SvXp12rRpQ15eHt999x0NGzakXr16hIaG0rp1a7p160Z0dDTt27dXE0pK/KvmyZMn8fHxYdGiRbz11luEhoYybtw4qlWrho+PD+PGjePTTz/l/vvvp1q1auzcudP6IXfOnDlER0cDly5r6dChA/Xq1cNoNFb6a9elfPRe/J+/PkK38I8SRqOR7777jpiYGHJzcxk+fDg33HADQUFBvP/++8TFxXHTTTdx/fXXs3btWu6//34CAwN59dVXefzxxwFo3rw5NWrUoGXLlnh5eeHn5+f2jZW/vm/WrFnDBx98QNu2bcnKyiIlJYW+ffty++23A5dO5U9MTGTlypV07tyZNWvWcODAAeuHgi1btnDLLbdQvXp1ateuTYsWLYo9TUYqp7/+Ff7ChQusX7+eZs2asXXrVl544QWGDh3KyJEj8fX1xWw289prr3Hdddfxxhtv8Oeff/LVV18RERGBl5cXb731Fv369eOaa67h5ptvpm/fvg65v9LlZxAA+Pv7k5ycTJMmTWjSpAmfffYZ3377Lb1792batGn89NNPbNy4kYSEBHr16kV0dDTVq1enRo0aJCQkEB4ejo+Pj/X1atSowfLly7nrrrto3LixRz0ivvByzMv312w2s2bNGl577TUOHTpE1apVqV+/Pj///DO//PILd911FwDXXHMN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PBw/Pz9+9atf8fzzz1NSUsIrr7wCwI4dO9i0aRMjR44kNjaWkJAQoqKicDqdrFmzhsLCQmbNmsUvf/lL7Ha76zzVRc3h/4uTK4QSEZG6ohpRIiIiIiL1wBjjCoTgahiUn5+PxWJhx44dZGRk0KhRI5544gkAevXqRWFhoev4iRMnkpycjJ+fH4888gipqan8/Oc/Z8yYMXz++ef0798fgLCwMNq3b1/j3Op4JyIi9cVirn33ExERERGRH813bYHLysrij3/8I9OmTSMgIIB169bRq1cvhg0bBsDevXv5zW9+w/79+wGoqqqiY8eOfPjhh7Rp04aKigoOHTpETEwMDRs2rLNrEhER+V9oRZSIiIiIyI/M4XAANbfAXb58mVWrVrF161YAAgMDiYqK4sCBA7Rr146WLVuyZ88e1/F9+vTB4XDw6aefAuDp6cnIkSPJy8sDwMvLi3vuuYeGDRvidDrR/5tFRORWpCBKREREROQmO336dI3OdNXFwTMzM13hkoeHB4WFhRw4cACA0NBQoqOjOXr0KGVlZXTp0oVLly6Rm5vrepyBAweyadMm19dLlixxFSG/ltVq1dY7ERG5JalYuYiIiIjITVBUVMRf//pX/vnPf1JZWcmMGTPo06cPAMePH2fmzJn4+vrSvHlzNmzYwOuvv869997LX/7yF86cOUNERAQRERFcuXKFrKwsunbtStu2bZk8eTIBAQFMmzaNefPm4e3tXeO8Dofjhi54IiIityoFUSIiIiIiP1BFRQVvvPEG33zzDbNmzSI2NrbGiqiNGzfy8MMPM378eJxOJ2PHjiU5OZnhw4ezfft29uzZw6RJk7DZbHz11Vds2bKFnj178tRTT9G9e3fi4+Px9fWt9dwKoURE5HaiIEpERERE5Aey2+188MEH7Nu3D7i6Ssnf39/1/VOnThEREQFc3TY3depUVq5cyWOPPUa3bt146623KCoq4tChQ4wcOZJWrVrhcDjw9fXl/vvvB8DpdGK1qrKGiIjc3hREiYiIiIj8QH5+foSHh/Piiy9is9mwWCx4e3sTFBTEhAkT6NmzJ9nZ2a7jQ0JCsNlslJWVMW7cOJxOJ6dOneKpp56iS5cutZ5DIZSIiNwJLEbtNEREREREfrBDhw6xZs0aAgICCA4O5uzZs/zrX/9i7ty5tGrViunTp/Pcc8/RvHlzVq1axQMPPMDYsWNrfSxjjIqNi4jIHUlBlIiIiIjITVZSUoKvry/PPPMMTZo04Xe/+x0fffQRqampHDt2jFGjRjFq1Ci8vLxcP1P9sVwBlIiI3Mm0NU9ERERE5CapruPk6+tLYWEhVquVzp07A5CQkEDfvn3x9Kz9I7gCKBERcQcKokREREREbgJjDKdOnWLbtm1kZmZSWFhIt27dSEhIcB3j6emJMQZjjGo+iYiIW1IQJSIiIiJyE1gsFpo2bYqHhwc//elPXd3uajtOq59ERMRdqUaUiIiIiMiPxOl0KngSERG5hoIoEREREZGbTF3vREREaqeN6SIiIiIiN5lCKBERkdopiBIRERERERERkTqhIEpEREREREREROqEgigREREREREREakTCqJERERERERERKROKIgSEREREREREZE6oSBKRERERERERETqxP8BEas9p8tF9aAAAAAASUVORK5CYII=\n",
"text/plain": [
"
"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 390
},
"id": "o5beBd7E7P1L",
"outputId": "5857fbc3-0d57-49bd-a04c-5d2dd0b864c9"
},
"source": [
"# Now let's only look at the recommended venues (most popular)\r\n",
"\r\n",
"# First subset the popular venues from the most popular cluster\r\n",
"rec_venues = pop_venues.loc[pop_venues['Postal Code'].isin(rec_subset['Venue_Postal_Code'])]\r\n",
"\r\n",
"# list venues\r\n",
"rec_venues"
],
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"