{
"cells": [
{
"cell_type": "markdown",
"id": "6358e4f7",
"metadata": {},
"source": [
"## Introduction"
]
},
{
"cell_type": "markdown",
"id": "9951a94f",
"metadata": {},
"source": [
"Let's start by loading *pandas*. To make sure that the data was successfully loaded, we will use the .head() function to visualize the headers and the first five observations.\n",
"\n",
"Don't worry about understanding what the different columns are telling us yet, because that's exactly what we will be doing in the following section."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "d8e9c035",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "89418f80",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 1108.0 \n",
" 7080 \n",
" 98 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 1 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.886500 \n",
" \n",
" \n",
" 2 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 11 \n",
" 0.80 \n",
" 11.41 \n",
" 968.0 \n",
" 3660 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 30.5 \n",
" 0.800570 \n",
" \n",
" \n",
" 3 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 12 \n",
" 0.80 \n",
" 11.41 \n",
" 968.0 \n",
" 3660 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 30.5 \n",
" 0.800570 \n",
" \n",
" \n",
" 4 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 6 \n",
" 0.80 \n",
" 25.90 \n",
" 1170.0 \n",
" 1920 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800382 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"0 1/1/2015 Quarter1 sweing Thursday 8 0.80 \n",
"1 1/1/2015 Quarter1 finishing Thursday 1 0.75 \n",
"2 1/1/2015 Quarter1 sweing Thursday 11 0.80 \n",
"3 1/1/2015 Quarter1 sweing Thursday 12 0.80 \n",
"4 1/1/2015 Quarter1 sweing Thursday 6 0.80 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"0 26.16 1108.0 7080 98 0.0 0 \n",
"1 3.94 NaN 960 0 0.0 0 \n",
"2 11.41 968.0 3660 50 0.0 0 \n",
"3 11.41 968.0 3660 50 0.0 0 \n",
"4 25.90 1170.0 1920 50 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"0 0 59.0 0.940725 \n",
"1 0 8.0 0.886500 \n",
"2 0 30.5 0.800570 \n",
"3 0 30.5 0.800570 \n",
"4 0 56.0 0.800382 "
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.read_csv(\"garments_worker_productivity.csv\")\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"id": "9d943f47",
"metadata": {},
"source": [
"## Dataset Exploration"
]
},
{
"cell_type": "markdown",
"id": "f760c79b",
"metadata": {},
"source": [
"In this section we will perform an Exploratory Data Analysis (EDA) on the dataset.\n",
"\n",
"We won't change anything yet, as it is important to first understand what the dataset is telling us, along with its structure and general characteristics.\n",
"\n",
"Let's start by getting the dataset's *shape*, where the first value indicates the number of observations and the second one the number of columns."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "ed02aa0c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(1197, 15)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.shape"
]
},
{
"cell_type": "markdown",
"id": "6c2cdc41",
"metadata": {},
"source": [
"Now let's explore the column numbers, how many non-null observations each one has, and their respective data types (*dtypes*).\n",
"\n",
"In *pandas*, remember that an \"object\" dtype means the observations of that specific column are treated as strings/text."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "1e0aa0e2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"RangeIndex: 1197 entries, 0 to 1196\n",
"Data columns (total 15 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 date 1197 non-null object \n",
" 1 quarter 1197 non-null object \n",
" 2 department 1197 non-null object \n",
" 3 day 1197 non-null object \n",
" 4 team 1197 non-null int64 \n",
" 5 targeted_productivity 1197 non-null float64\n",
" 6 smv 1197 non-null float64\n",
" 7 wip 691 non-null float64\n",
" 8 over_time 1197 non-null int64 \n",
" 9 incentive 1197 non-null int64 \n",
" 10 idle_time 1197 non-null float64\n",
" 11 idle_men 1197 non-null int64 \n",
" 12 no_of_style_change 1197 non-null int64 \n",
" 13 no_of_workers 1197 non-null float64\n",
" 14 actual_productivity 1197 non-null float64\n",
"dtypes: float64(6), int64(5), object(4)\n",
"memory usage: 140.4+ KB\n"
]
}
],
"source": [
"df.info()"
]
},
{
"cell_type": "markdown",
"id": "e03a370d",
"metadata": {},
"source": [
"We will now get general statistics about the numerical columns.\n",
"\n",
"Remember that *std* stands for Standard Deviation, and the percentages represent percentiles. *min* and *max* indicate the maximum values on every column, so these are particularly useful to detect outliers."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "8c430179",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 1197.000000 \n",
" 1197.000000 \n",
" 1197.000000 \n",
" 691.000000 \n",
" 1197.000000 \n",
" 1197.000000 \n",
" 1197.000000 \n",
" 1197.000000 \n",
" 1197.000000 \n",
" 1197.000000 \n",
" 1197.000000 \n",
" \n",
" \n",
" mean \n",
" 6.426901 \n",
" 0.729632 \n",
" 15.062172 \n",
" 1190.465991 \n",
" 4567.460317 \n",
" 38.210526 \n",
" 0.730159 \n",
" 0.369256 \n",
" 0.150376 \n",
" 34.609858 \n",
" 0.735091 \n",
" \n",
" \n",
" std \n",
" 3.463963 \n",
" 0.097891 \n",
" 10.943219 \n",
" 1837.455001 \n",
" 3348.823563 \n",
" 160.182643 \n",
" 12.709757 \n",
" 3.268987 \n",
" 0.427848 \n",
" 22.197687 \n",
" 0.174488 \n",
" \n",
" \n",
" min \n",
" 1.000000 \n",
" 0.070000 \n",
" 2.900000 \n",
" 7.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 2.000000 \n",
" 0.233705 \n",
" \n",
" \n",
" 25% \n",
" 3.000000 \n",
" 0.700000 \n",
" 3.940000 \n",
" 774.500000 \n",
" 1440.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 9.000000 \n",
" 0.650307 \n",
" \n",
" \n",
" 50% \n",
" 6.000000 \n",
" 0.750000 \n",
" 15.260000 \n",
" 1039.000000 \n",
" 3960.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 34.000000 \n",
" 0.773333 \n",
" \n",
" \n",
" 75% \n",
" 9.000000 \n",
" 0.800000 \n",
" 24.260000 \n",
" 1252.500000 \n",
" 6960.000000 \n",
" 50.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 0.000000 \n",
" 57.000000 \n",
" 0.850253 \n",
" \n",
" \n",
" max \n",
" 12.000000 \n",
" 0.800000 \n",
" 54.560000 \n",
" 23122.000000 \n",
" 25920.000000 \n",
" 3600.000000 \n",
" 300.000000 \n",
" 45.000000 \n",
" 2.000000 \n",
" 89.000000 \n",
" 1.120437 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" team targeted_productivity smv wip \\\n",
"count 1197.000000 1197.000000 1197.000000 691.000000 \n",
"mean 6.426901 0.729632 15.062172 1190.465991 \n",
"std 3.463963 0.097891 10.943219 1837.455001 \n",
"min 1.000000 0.070000 2.900000 7.000000 \n",
"25% 3.000000 0.700000 3.940000 774.500000 \n",
"50% 6.000000 0.750000 15.260000 1039.000000 \n",
"75% 9.000000 0.800000 24.260000 1252.500000 \n",
"max 12.000000 0.800000 54.560000 23122.000000 \n",
"\n",
" over_time incentive idle_time idle_men \\\n",
"count 1197.000000 1197.000000 1197.000000 1197.000000 \n",
"mean 4567.460317 38.210526 0.730159 0.369256 \n",
"std 3348.823563 160.182643 12.709757 3.268987 \n",
"min 0.000000 0.000000 0.000000 0.000000 \n",
"25% 1440.000000 0.000000 0.000000 0.000000 \n",
"50% 3960.000000 0.000000 0.000000 0.000000 \n",
"75% 6960.000000 50.000000 0.000000 0.000000 \n",
"max 25920.000000 3600.000000 300.000000 45.000000 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"count 1197.000000 1197.000000 1197.000000 \n",
"mean 0.150376 34.609858 0.735091 \n",
"std 0.427848 22.197687 0.174488 \n",
"min 0.000000 2.000000 0.233705 \n",
"25% 0.000000 9.000000 0.650307 \n",
"50% 0.000000 34.000000 0.773333 \n",
"75% 0.000000 57.000000 0.850253 \n",
"max 2.000000 89.000000 1.120437 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "markdown",
"id": "8cb84cb2",
"metadata": {},
"source": [
"We can see, for instance, that the *actual_productivity* column actually surpasses the limit of 1 that was indicated on the dataset description!\n",
"\n",
"Also, the maximum *wip* (Work in Progress) value is 23122. This means there is an observation where the number of unfinished items for products is 23122!\n",
"\n",
"In addition, we can conclude that time management in this factory is pretty efficient, since we barely have idle time and idle men. It appears there was either a single or a reduced number of incidents where production was stopped.\n",
"\n",
"There are a lot of other interesting facts that you can discover by carefully examining the describe() table, and we encourage you to keep looking for them! It's always important to understand what the dataset is telling us to avoid confusions during subsequent steps in the process.\n",
"\n",
"- - -\n",
"\n",
"In the next subsections, we will explore every column individually. \n",
"\n",
"One important note: since exploration is an open-ended activity, consider all the following pieces of code as guidance. They aren't mandatory, and you're always free to write the ones you prefer. But still, we strongly recommend to use them, as we believe that they allow to not only discover important insights, but also to ensure that the data is coherent in the different columns."
]
},
{
"cell_type": "markdown",
"id": "ea3fb9bd",
"metadata": {},
"source": [
"### \"date\" column"
]
},
{
"cell_type": "markdown",
"id": "60fbeb3a",
"metadata": {},
"source": [
"We can also use the head() function on single columns to see the first five values..."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "63c39f65",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 1/1/2015\n",
"1 1/1/2015\n",
"2 1/1/2015\n",
"3 1/1/2015\n",
"4 1/1/2015\n",
"Name: date, dtype: object"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"date\"].head()"
]
},
{
"cell_type": "markdown",
"id": "ac4dd4a7",
"metadata": {},
"source": [
"... and tail() to see the last five ones."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "5aee2775",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1192 3/11/2015\n",
"1193 3/11/2015\n",
"1194 3/11/2015\n",
"1195 3/11/2015\n",
"1196 3/11/2015\n",
"Name: date, dtype: object"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"date\"].tail()"
]
},
{
"cell_type": "markdown",
"id": "b33c6fde",
"metadata": {},
"source": [
"Also, it's useful to select a number of random observations to get a general idea of the data in the column. In this case, we will choose 20, but you can use any number you prefer.\n",
"\n",
"One important clarification: although the sample() method returns random observations, in this case, to ensure reproducibility, we've set up the \"random_state\" parameter to always get the same observations, therefore when making your own explorations make sure to remove it."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "bfeeb482",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"959 2/26/2015\n",
"464 1/27/2015\n",
"672 2/8/2015\n",
"321 1/19/2015\n",
"282 1/17/2015\n",
"307 1/18/2015\n",
"609 2/4/2015\n",
"1123 3/8/2015\n",
"877 2/22/2015\n",
"950 2/26/2015\n",
"692 2/10/2015\n",
"51 1/4/2015\n",
"505 1/29/2015\n",
"554 2/1/2015\n",
"801 2/16/2015\n",
"1017 3/2/2015\n",
"340 1/20/2015\n",
"732 2/12/2015\n",
"616 2/4/2015\n",
"806 2/17/2015\n",
"Name: date, dtype: object"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"date\"].sample(20, random_state = 14)"
]
},
{
"cell_type": "markdown",
"id": "abb86a94",
"metadata": {},
"source": [
"### \"quarter\" column\n",
"\n",
"This column's title is pretty peculiar, in the sense that when we say \"quarter\", we are usually referring to part of a year. But here, it's actually referring to part of a month.\n",
"\n",
"This teaches us a valuable lesson: never make assumptions about the data based purely on the title of a column! It's always a good idea to keep a dataset's description close at hand to refresh our memory if we need to.\n",
"\n",
"Let's use the value_counts() method to see how many observations per week we have:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "77625a06",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Quarter1 360\n",
"Quarter2 335\n",
"Quarter4 248\n",
"Quarter3 210\n",
"Quarter5 44\n",
"Name: quarter, dtype: int64"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"quarter\"].value_counts()"
]
},
{
"cell_type": "markdown",
"id": "2efa1f07",
"metadata": {},
"source": [
"Interestingly, we see there are 44 observations with a \"Quarter 5\" classification. Let's specifically explore them by using a mask on our dataset:"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "0704721b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 498 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1416.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 499 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 4 \n",
" 0.80 \n",
" 4.30 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.989000 \n",
" \n",
" \n",
" 500 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 1287.0 \n",
" 6840 \n",
" 100 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.950186 \n",
" \n",
" \n",
" 501 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 4 \n",
" 0.80 \n",
" 22.52 \n",
" 1444.0 \n",
" 6900 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 0.900800 \n",
" \n",
" \n",
" 502 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 10 \n",
" 0.80 \n",
" 22.52 \n",
" 1088.0 \n",
" 6720 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.900130 \n",
" \n",
" \n",
" 503 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 6 \n",
" 0.50 \n",
" 2.90 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.899000 \n",
" \n",
" \n",
" 504 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 8 \n",
" 0.65 \n",
" 4.15 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.877552 \n",
" \n",
" \n",
" 505 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 11 \n",
" 0.60 \n",
" 2.90 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.864583 \n",
" \n",
" \n",
" 506 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 10 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.856950 \n",
" \n",
" \n",
" 507 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.853667 \n",
" \n",
" \n",
" 508 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 22.94 \n",
" 1579.0 \n",
" 6960 \n",
" 81 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 0.850362 \n",
" \n",
" \n",
" 509 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 9 \n",
" 0.70 \n",
" 29.12 \n",
" 1170.0 \n",
" 6960 \n",
" 53 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 0.850170 \n",
" \n",
" \n",
" 510 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 5 \n",
" 0.65 \n",
" 20.79 \n",
" 1015.0 \n",
" 7080 \n",
" 81 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.800474 \n",
" \n",
" \n",
" 511 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.773333 \n",
" \n",
" \n",
" 512 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 12 \n",
" 0.75 \n",
" 15.26 \n",
" 1436.0 \n",
" 4200 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 35.0 \n",
" 0.750647 \n",
" \n",
" \n",
" 513 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 12 \n",
" 0.75 \n",
" 4.08 \n",
" NaN \n",
" 1080 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 9.0 \n",
" 0.634667 \n",
" \n",
" \n",
" 514 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 11 \n",
" 0.60 \n",
" 20.10 \n",
" 1601.0 \n",
" 4320 \n",
" 46 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 51.0 \n",
" 0.600598 \n",
" \n",
" \n",
" 515 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 6 \n",
" 0.50 \n",
" 18.79 \n",
" 717.0 \n",
" 3960 \n",
" 23 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 33.0 \n",
" 0.500118 \n",
" \n",
" \n",
" 516 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" finishing \n",
" Thursday \n",
" 3 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.492500 \n",
" \n",
" \n",
" 517 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 7 \n",
" 0.65 \n",
" 23.54 \n",
" 830.0 \n",
" 6600 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 55.0 \n",
" 0.487920 \n",
" \n",
" \n",
" 518 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 1136.0 \n",
" 6960 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 1.000457 \n",
" \n",
" \n",
" 519 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1397.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 520 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 2 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 521 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 3 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 522 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 4 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 523 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 10 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 524 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 1800 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 15.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 525 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 9 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 240 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 2.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 526 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 12 \n",
" 0.75 \n",
" 4.08 \n",
" NaN \n",
" 1080 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 9.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 527 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 5 \n",
" 0.70 \n",
" 3.94 \n",
" NaN \n",
" 240 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 2.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 528 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 7 \n",
" 0.70 \n",
" 3.94 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 529 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 8 \n",
" 0.65 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 530 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 11 \n",
" 0.65 \n",
" 3.94 \n",
" NaN \n",
" 600 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 5.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 531 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" finishing \n",
" Saturday \n",
" 6 \n",
" 0.60 \n",
" 3.94 \n",
" NaN \n",
" 1200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.971867 \n",
" \n",
" \n",
" 532 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 10 \n",
" 0.80 \n",
" 22.52 \n",
" 1116.0 \n",
" 6720 \n",
" 93 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.920237 \n",
" \n",
" \n",
" 533 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 4 \n",
" 0.80 \n",
" 22.52 \n",
" 1432.0 \n",
" 6660 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 0.900537 \n",
" \n",
" \n",
" 534 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 9 \n",
" 0.75 \n",
" 29.12 \n",
" 1082.0 \n",
" 6840 \n",
" 81 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.850611 \n",
" \n",
" \n",
" 535 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 1 \n",
" 0.75 \n",
" 22.94 \n",
" 1502.0 \n",
" 6960 \n",
" 81 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 0.850362 \n",
" \n",
" \n",
" 536 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 12 \n",
" 0.75 \n",
" 15.26 \n",
" 1209.0 \n",
" 4200 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 35.0 \n",
" 0.750647 \n",
" \n",
" \n",
" 537 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 5 \n",
" 0.70 \n",
" 50.89 \n",
" 282.0 \n",
" 5880 \n",
" 56 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.656764 \n",
" \n",
" \n",
" 538 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 11 \n",
" 0.65 \n",
" 20.10 \n",
" 1417.0 \n",
" 6480 \n",
" 49 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 54.0 \n",
" 0.650148 \n",
" \n",
" \n",
" 539 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 6 \n",
" 0.60 \n",
" 18.79 \n",
" 799.0 \n",
" 3960 \n",
" 23 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 33.0 \n",
" 0.600711 \n",
" \n",
" \n",
" 540 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 7 \n",
" 0.70 \n",
" 23.54 \n",
" 1109.0 \n",
" 6720 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.388830 \n",
" \n",
" \n",
" 541 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 8 \n",
" 0.50 \n",
" 23.54 \n",
" 1144.0 \n",
" 6480 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 54.0 \n",
" 0.286985 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"498 1/29/2015 Quarter5 sweing Thursday 2 0.80 \n",
"499 1/29/2015 Quarter5 finishing Thursday 4 0.80 \n",
"500 1/29/2015 Quarter5 sweing Thursday 3 0.80 \n",
"501 1/29/2015 Quarter5 sweing Thursday 4 0.80 \n",
"502 1/29/2015 Quarter5 sweing Thursday 10 0.80 \n",
"503 1/29/2015 Quarter5 finishing Thursday 6 0.50 \n",
"504 1/29/2015 Quarter5 finishing Thursday 8 0.65 \n",
"505 1/29/2015 Quarter5 finishing Thursday 11 0.60 \n",
"506 1/29/2015 Quarter5 finishing Thursday 10 0.80 \n",
"507 1/29/2015 Quarter5 finishing Thursday 1 0.75 \n",
"508 1/29/2015 Quarter5 sweing Thursday 1 0.75 \n",
"509 1/29/2015 Quarter5 sweing Thursday 9 0.70 \n",
"510 1/29/2015 Quarter5 sweing Thursday 5 0.65 \n",
"511 1/29/2015 Quarter5 finishing Thursday 2 0.80 \n",
"512 1/29/2015 Quarter5 sweing Thursday 12 0.75 \n",
"513 1/29/2015 Quarter5 finishing Thursday 12 0.75 \n",
"514 1/29/2015 Quarter5 sweing Thursday 11 0.60 \n",
"515 1/29/2015 Quarter5 sweing Thursday 6 0.50 \n",
"516 1/29/2015 Quarter5 finishing Thursday 3 0.80 \n",
"517 1/29/2015 Quarter5 sweing Thursday 7 0.65 \n",
"518 1/31/2015 Quarter5 sweing Saturday 3 0.80 \n",
"519 1/31/2015 Quarter5 sweing Saturday 2 0.80 \n",
"520 1/31/2015 Quarter5 finishing Saturday 2 0.80 \n",
"521 1/31/2015 Quarter5 finishing Saturday 3 0.80 \n",
"522 1/31/2015 Quarter5 finishing Saturday 4 0.80 \n",
"523 1/31/2015 Quarter5 finishing Saturday 10 0.80 \n",
"524 1/31/2015 Quarter5 finishing Saturday 1 0.75 \n",
"525 1/31/2015 Quarter5 finishing Saturday 9 0.75 \n",
"526 1/31/2015 Quarter5 finishing Saturday 12 0.75 \n",
"527 1/31/2015 Quarter5 finishing Saturday 5 0.70 \n",
"528 1/31/2015 Quarter5 finishing Saturday 7 0.70 \n",
"529 1/31/2015 Quarter5 finishing Saturday 8 0.65 \n",
"530 1/31/2015 Quarter5 finishing Saturday 11 0.65 \n",
"531 1/31/2015 Quarter5 finishing Saturday 6 0.60 \n",
"532 1/31/2015 Quarter5 sweing Saturday 10 0.80 \n",
"533 1/31/2015 Quarter5 sweing Saturday 4 0.80 \n",
"534 1/31/2015 Quarter5 sweing Saturday 9 0.75 \n",
"535 1/31/2015 Quarter5 sweing Saturday 1 0.75 \n",
"536 1/31/2015 Quarter5 sweing Saturday 12 0.75 \n",
"537 1/31/2015 Quarter5 sweing Saturday 5 0.70 \n",
"538 1/31/2015 Quarter5 sweing Saturday 11 0.65 \n",
"539 1/31/2015 Quarter5 sweing Saturday 6 0.60 \n",
"540 1/31/2015 Quarter5 sweing Saturday 7 0.70 \n",
"541 1/31/2015 Quarter5 sweing Saturday 8 0.50 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"498 22.52 1416.0 6840 113 0.0 0 \n",
"499 4.30 NaN 1200 0 0.0 0 \n",
"500 22.52 1287.0 6840 100 0.0 0 \n",
"501 22.52 1444.0 6900 88 0.0 0 \n",
"502 22.52 1088.0 6720 88 0.0 0 \n",
"503 2.90 NaN 1200 0 0.0 0 \n",
"504 4.15 NaN 960 0 0.0 0 \n",
"505 2.90 NaN 960 0 0.0 0 \n",
"506 3.94 NaN 1200 0 0.0 0 \n",
"507 3.94 NaN 1200 0 0.0 0 \n",
"508 22.94 1579.0 6960 81 0.0 0 \n",
"509 29.12 1170.0 6960 53 0.0 0 \n",
"510 20.79 1015.0 7080 81 0.0 0 \n",
"511 3.94 NaN 1200 0 0.0 0 \n",
"512 15.26 1436.0 4200 45 0.0 0 \n",
"513 4.08 NaN 1080 0 0.0 0 \n",
"514 20.10 1601.0 4320 46 0.0 0 \n",
"515 18.79 717.0 3960 23 0.0 0 \n",
"516 3.94 NaN 960 0 0.0 0 \n",
"517 23.54 830.0 6600 0 0.0 0 \n",
"518 22.52 1136.0 6960 113 0.0 0 \n",
"519 22.52 1397.0 6840 113 0.0 0 \n",
"520 3.94 NaN 1200 0 0.0 0 \n",
"521 3.94 NaN 960 0 0.0 0 \n",
"522 3.94 NaN 1200 0 0.0 0 \n",
"523 3.94 NaN 1200 0 0.0 0 \n",
"524 3.94 NaN 1800 0 0.0 0 \n",
"525 3.94 NaN 240 0 0.0 0 \n",
"526 4.08 NaN 1080 0 0.0 0 \n",
"527 3.94 NaN 240 0 0.0 0 \n",
"528 3.94 NaN 1200 0 0.0 0 \n",
"529 3.94 NaN 960 0 0.0 0 \n",
"530 3.94 NaN 600 0 0.0 0 \n",
"531 3.94 NaN 1200 0 0.0 0 \n",
"532 22.52 1116.0 6720 93 0.0 0 \n",
"533 22.52 1432.0 6660 88 0.0 0 \n",
"534 29.12 1082.0 6840 81 0.0 0 \n",
"535 22.94 1502.0 6960 81 0.0 0 \n",
"536 15.26 1209.0 4200 45 0.0 0 \n",
"537 50.89 282.0 5880 56 0.0 0 \n",
"538 20.10 1417.0 6480 49 0.0 0 \n",
"539 18.79 799.0 3960 23 0.0 0 \n",
"540 23.54 1109.0 6720 0 0.0 0 \n",
"541 23.54 1144.0 6480 0 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"498 0 57.0 1.000230 \n",
"499 0 10.0 0.989000 \n",
"500 0 57.0 0.950186 \n",
"501 0 57.5 0.900800 \n",
"502 0 56.0 0.900130 \n",
"503 0 10.0 0.899000 \n",
"504 0 8.0 0.877552 \n",
"505 0 8.0 0.864583 \n",
"506 0 10.0 0.856950 \n",
"507 0 10.0 0.853667 \n",
"508 0 58.0 0.850362 \n",
"509 0 58.0 0.850170 \n",
"510 0 59.0 0.800474 \n",
"511 0 10.0 0.773333 \n",
"512 0 35.0 0.750647 \n",
"513 0 9.0 0.634667 \n",
"514 0 51.0 0.600598 \n",
"515 0 33.0 0.500118 \n",
"516 0 8.0 0.492500 \n",
"517 0 55.0 0.487920 \n",
"518 0 58.0 1.000457 \n",
"519 0 57.0 1.000230 \n",
"520 0 10.0 0.971867 \n",
"521 0 8.0 0.971867 \n",
"522 0 10.0 0.971867 \n",
"523 0 10.0 0.971867 \n",
"524 0 15.0 0.971867 \n",
"525 0 2.0 0.971867 \n",
"526 0 9.0 0.971867 \n",
"527 0 2.0 0.971867 \n",
"528 0 10.0 0.971867 \n",
"529 0 8.0 0.971867 \n",
"530 0 5.0 0.971867 \n",
"531 0 10.0 0.971867 \n",
"532 0 56.0 0.920237 \n",
"533 0 57.5 0.900537 \n",
"534 0 57.0 0.850611 \n",
"535 0 58.0 0.850362 \n",
"536 0 35.0 0.750647 \n",
"537 0 59.0 0.656764 \n",
"538 0 54.0 0.650148 \n",
"539 0 33.0 0.600711 \n",
"540 0 56.0 0.388830 \n",
"541 0 54.0 0.286985 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"quarter\"] == \"Quarter5\"]"
]
},
{
"cell_type": "markdown",
"id": "7c84edfa",
"metadata": {},
"source": [
"If we check the \"dates\" column, we can see that \"Quarter 5\" always comprises observations where the date is either 29th or 31st."
]
},
{
"cell_type": "markdown",
"id": "4bd610cc",
"metadata": {},
"source": [
"### \"department\" column"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "99031f7e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"sweing 691\n",
"finishing 257\n",
"finishing 249\n",
"Name: department, dtype: int64"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"department\"].value_counts()"
]
},
{
"cell_type": "markdown",
"id": "87695e4f",
"metadata": {},
"source": [
"We can see there is a problem with this column: we have two distinct \"finishing\" values. Cases like this one usually happen when there is a \"hidden\" space in the content of the observations. There is a practical way to explore this, by getting the unique() values on a single column:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "02e394e0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['sweing', 'finishing ', 'finishing'], dtype=object)"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"department\"].unique()"
]
},
{
"cell_type": "markdown",
"id": "ec462458",
"metadata": {},
"source": [
"Indeed, we see that we have 'finishing ' (with a trailing space) and 'finishing' (without a space), so we will need to fix this problem later, during the Data Cleaning step."
]
},
{
"cell_type": "markdown",
"id": "010e0ece",
"metadata": {},
"source": [
"### \"day\" column"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "cd18facd",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Wednesday 208\n",
"Sunday 203\n",
"Tuesday 201\n",
"Thursday 199\n",
"Monday 199\n",
"Saturday 187\n",
"Name: day, dtype: int64"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"day\"].value_counts()"
]
},
{
"cell_type": "markdown",
"id": "111dc4d3",
"metadata": {},
"source": [
"Interestingly, there are no Friday observations. This doesn't necessarily mean that we have missing information; for instance, it could simply mean that the factory is closed on Fridays. \n",
"\n",
"But definitely it's excellent that we're now aware of this fact, and you can always write down these kind of discoveries to always keep them in mind for future steps."
]
},
{
"cell_type": "markdown",
"id": "c580aa2d",
"metadata": {},
"source": [
"### \"team\" column"
]
},
{
"cell_type": "markdown",
"id": "fa49a8e8",
"metadata": {},
"source": [
"Since it's possible to concatenate methods or functions, for this column we will organize the value counts by sorting the team numbers in ascending order.\n",
"\n",
"Therefore, the left column of numbers represents the team number, and the right column the number of observations associated with it."
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "156110ba",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 105\n",
"2 109\n",
"3 95\n",
"4 105\n",
"5 93\n",
"6 94\n",
"7 96\n",
"8 109\n",
"9 104\n",
"10 100\n",
"11 88\n",
"12 99\n",
"Name: team, dtype: int64"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"team\"].value_counts().sort_index()"
]
},
{
"cell_type": "markdown",
"id": "42a731c1",
"metadata": {},
"source": [
"### \"targeted_productivity\" & \"actual_productivity\" columns"
]
},
{
"cell_type": "markdown",
"id": "ebe8a414",
"metadata": {},
"source": [
"A good approach in this case could be to check these two columns together.\n",
"\n",
"For instance, let's check the observations where the productivity was higher than expected."
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "c0209fdd",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 1108.0 \n",
" 7080 \n",
" 98 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 1 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.886500 \n",
" \n",
" \n",
" 2 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 11 \n",
" 0.80 \n",
" 11.41 \n",
" 968.0 \n",
" 3660 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 30.5 \n",
" 0.800570 \n",
" \n",
" \n",
" 3 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 12 \n",
" 0.80 \n",
" 11.41 \n",
" 968.0 \n",
" 3660 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 30.5 \n",
" 0.800570 \n",
" \n",
" \n",
" 4 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 6 \n",
" 0.80 \n",
" 25.90 \n",
" 1170.0 \n",
" 1920 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800382 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 1187 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 4 \n",
" 0.75 \n",
" 26.82 \n",
" 1054.0 \n",
" 7080 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.750051 \n",
" \n",
" \n",
" 1188 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 5 \n",
" 0.70 \n",
" 26.82 \n",
" 992.0 \n",
" 6960 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.700557 \n",
" \n",
" \n",
" 1189 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 8 \n",
" 0.70 \n",
" 30.48 \n",
" 914.0 \n",
" 6840 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.700505 \n",
" \n",
" \n",
" 1190 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 6 \n",
" 0.70 \n",
" 23.41 \n",
" 1128.0 \n",
" 4560 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 38.0 \n",
" 0.700246 \n",
" \n",
" \n",
" 1191 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 7 \n",
" 0.65 \n",
" 30.48 \n",
" 935.0 \n",
" 6840 \n",
" 26 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.650596 \n",
" \n",
" \n",
"
\n",
"
869 rows × 15 columns
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"0 1/1/2015 Quarter1 sweing Thursday 8 0.80 \n",
"1 1/1/2015 Quarter1 finishing Thursday 1 0.75 \n",
"2 1/1/2015 Quarter1 sweing Thursday 11 0.80 \n",
"3 1/1/2015 Quarter1 sweing Thursday 12 0.80 \n",
"4 1/1/2015 Quarter1 sweing Thursday 6 0.80 \n",
"... ... ... ... ... ... ... \n",
"1187 3/11/2015 Quarter2 sweing Wednesday 4 0.75 \n",
"1188 3/11/2015 Quarter2 sweing Wednesday 5 0.70 \n",
"1189 3/11/2015 Quarter2 sweing Wednesday 8 0.70 \n",
"1190 3/11/2015 Quarter2 sweing Wednesday 6 0.70 \n",
"1191 3/11/2015 Quarter2 sweing Wednesday 7 0.65 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"0 26.16 1108.0 7080 98 0.0 0 \n",
"1 3.94 NaN 960 0 0.0 0 \n",
"2 11.41 968.0 3660 50 0.0 0 \n",
"3 11.41 968.0 3660 50 0.0 0 \n",
"4 25.90 1170.0 1920 50 0.0 0 \n",
"... ... ... ... ... ... ... \n",
"1187 26.82 1054.0 7080 45 0.0 0 \n",
"1188 26.82 992.0 6960 30 0.0 0 \n",
"1189 30.48 914.0 6840 30 0.0 0 \n",
"1190 23.41 1128.0 4560 40 0.0 0 \n",
"1191 30.48 935.0 6840 26 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"0 0 59.0 0.940725 \n",
"1 0 8.0 0.886500 \n",
"2 0 30.5 0.800570 \n",
"3 0 30.5 0.800570 \n",
"4 0 56.0 0.800382 \n",
"... ... ... ... \n",
"1187 0 59.0 0.750051 \n",
"1188 1 58.0 0.700557 \n",
"1189 1 57.0 0.700505 \n",
"1190 1 38.0 0.700246 \n",
"1191 1 57.0 0.650596 \n",
"\n",
"[869 rows x 15 columns]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"actual_productivity\"] > df[\"targeted_productivity\"]]"
]
},
{
"cell_type": "markdown",
"id": "be3215cc",
"metadata": {},
"source": [
"We can see that in ~75% of all observations, workers were productive and managed to surpass the target productivity threshold.\n",
"\n",
"And now, what about the observations where the actual productivity was exactly equal to the target productivity?"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "38cc7a92",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 163 \n",
" 1/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Saturday \n",
" 10 \n",
" 0.8 \n",
" 28.08 \n",
" 1082.0 \n",
" 10530 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 0.8 \n",
" \n",
" \n",
" 182 \n",
" 1/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Sunday \n",
" 2 \n",
" 0.8 \n",
" 28.08 \n",
" 805.0 \n",
" 10530 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 0.8 \n",
" \n",
" \n",
" 183 \n",
" 1/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Sunday \n",
" 10 \n",
" 0.8 \n",
" 28.08 \n",
" 762.0 \n",
" 10530 \n",
" 38 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 0.8 \n",
" \n",
" \n",
" 207 \n",
" 1/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Monday \n",
" 2 \n",
" 0.8 \n",
" 28.08 \n",
" 737.0 \n",
" 10530 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 0.8 \n",
" \n",
" \n",
" 229 \n",
" 1/13/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 2 \n",
" 0.8 \n",
" 28.08 \n",
" 723.0 \n",
" 10530 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 0.8 \n",
" \n",
" \n",
" 855 \n",
" 2/19/2015 \n",
" Quarter3 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.7 \n",
" 29.40 \n",
" 1116.0 \n",
" 6240 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.7 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"163 1/10/2015 Quarter2 sweing Saturday 10 0.8 \n",
"182 1/11/2015 Quarter2 sweing Sunday 2 0.8 \n",
"183 1/11/2015 Quarter2 sweing Sunday 10 0.8 \n",
"207 1/12/2015 Quarter2 sweing Monday 2 0.8 \n",
"229 1/13/2015 Quarter2 sweing Tuesday 2 0.8 \n",
"855 2/19/2015 Quarter3 sweing Thursday 8 0.7 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"163 28.08 1082.0 10530 63 0.0 0 \n",
"182 28.08 805.0 10530 63 0.0 0 \n",
"183 28.08 762.0 10530 38 0.0 0 \n",
"207 28.08 737.0 10530 63 0.0 0 \n",
"229 28.08 723.0 10530 50 0.0 0 \n",
"855 29.40 1116.0 6240 0 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"163 0 58.5 0.8 \n",
"182 0 58.5 0.8 \n",
"183 0 58.5 0.8 \n",
"207 0 58.5 0.8 \n",
"229 0 58.5 0.8 \n",
"855 2 57.0 0.7 "
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"targeted_productivity\"] == df[\"actual_productivity\"]]"
]
},
{
"cell_type": "markdown",
"id": "08aa1655",
"metadata": {},
"source": [
"Only six observations. As expected, they were going to be very few, as it's hard to find an exact match between the targeted productivity values and the actual ones.\n",
"\n",
"And finally, we should check the observations where the actual productivity failed to meet the target."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "19516cd4",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 11 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 10 \n",
" 0.75 \n",
" 19.31 \n",
" 578.0 \n",
" 6480 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 54.0 \n",
" 0.712205 \n",
" \n",
" \n",
" 12 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 5 \n",
" 0.80 \n",
" 11.41 \n",
" 668.0 \n",
" 3660 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 30.5 \n",
" 0.707046 \n",
" \n",
" \n",
" 14 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" finishing \n",
" Thursday \n",
" 8 \n",
" 0.75 \n",
" 2.90 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.676667 \n",
" \n",
" \n",
" 15 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" finishing \n",
" Thursday \n",
" 4 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 2160 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 18.0 \n",
" 0.593056 \n",
" \n",
" \n",
" 16 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" finishing \n",
" Thursday \n",
" 7 \n",
" 0.80 \n",
" 2.90 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.540729 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 1192 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" finishing \n",
" Wednesday \n",
" 10 \n",
" 0.75 \n",
" 2.90 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.628333 \n",
" \n",
" \n",
" 1193 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" finishing \n",
" Wednesday \n",
" 8 \n",
" 0.70 \n",
" 3.90 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.625625 \n",
" \n",
" \n",
" 1194 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" finishing \n",
" Wednesday \n",
" 7 \n",
" 0.65 \n",
" 3.90 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.625625 \n",
" \n",
" \n",
" 1195 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" finishing \n",
" Wednesday \n",
" 9 \n",
" 0.75 \n",
" 2.90 \n",
" NaN \n",
" 1800 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 15.0 \n",
" 0.505889 \n",
" \n",
" \n",
" 1196 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" finishing \n",
" Wednesday \n",
" 6 \n",
" 0.70 \n",
" 2.90 \n",
" NaN \n",
" 720 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 6.0 \n",
" 0.394722 \n",
" \n",
" \n",
"
\n",
"
322 rows × 15 columns
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"11 1/1/2015 Quarter1 sweing Thursday 10 0.75 \n",
"12 1/1/2015 Quarter1 sweing Thursday 5 0.80 \n",
"14 1/1/2015 Quarter1 finishing Thursday 8 0.75 \n",
"15 1/1/2015 Quarter1 finishing Thursday 4 0.75 \n",
"16 1/1/2015 Quarter1 finishing Thursday 7 0.80 \n",
"... ... ... ... ... ... ... \n",
"1192 3/11/2015 Quarter2 finishing Wednesday 10 0.75 \n",
"1193 3/11/2015 Quarter2 finishing Wednesday 8 0.70 \n",
"1194 3/11/2015 Quarter2 finishing Wednesday 7 0.65 \n",
"1195 3/11/2015 Quarter2 finishing Wednesday 9 0.75 \n",
"1196 3/11/2015 Quarter2 finishing Wednesday 6 0.70 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"11 19.31 578.0 6480 45 0.0 0 \n",
"12 11.41 668.0 3660 50 0.0 0 \n",
"14 2.90 NaN 960 0 0.0 0 \n",
"15 3.94 NaN 2160 0 0.0 0 \n",
"16 2.90 NaN 960 0 0.0 0 \n",
"... ... ... ... ... ... ... \n",
"1192 2.90 NaN 960 0 0.0 0 \n",
"1193 3.90 NaN 960 0 0.0 0 \n",
"1194 3.90 NaN 960 0 0.0 0 \n",
"1195 2.90 NaN 1800 0 0.0 0 \n",
"1196 2.90 NaN 720 0 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"11 0 54.0 0.712205 \n",
"12 0 30.5 0.707046 \n",
"14 0 8.0 0.676667 \n",
"15 0 18.0 0.593056 \n",
"16 0 8.0 0.540729 \n",
"... ... ... ... \n",
"1192 0 8.0 0.628333 \n",
"1193 0 8.0 0.625625 \n",
"1194 0 8.0 0.625625 \n",
"1195 0 15.0 0.505889 \n",
"1196 0 6.0 0.394722 \n",
"\n",
"[322 rows x 15 columns]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"targeted_productivity\"] > df[\"actual_productivity\"]]"
]
},
{
"cell_type": "markdown",
"id": "19171069",
"metadata": {},
"source": [
"Although far fewer than the number of productive days, there are still a lot of observations where productivity targets weren't met. Around ~25% of the total number of observations, actually.\n",
"\n",
"And now, we should focus exclusively on the \"actual_productivity\" column to check all the observations where the range was higher than 1, despite the description indicating that 1 was the maximum possible value."
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "618e39fa",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 337 \n",
" 1/20/2015 \n",
" Quarter3 \n",
" finishing \n",
" Tuesday \n",
" 5 \n",
" 0.70 \n",
" 4.15 \n",
" NaN \n",
" 1440 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 1.033570 \n",
" \n",
" \n",
" 437 \n",
" 1/26/2015 \n",
" Quarter4 \n",
" finishing \n",
" Monday \n",
" 3 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 1800 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 1.059621 \n",
" \n",
" \n",
" 456 \n",
" 1/27/2015 \n",
" Quarter4 \n",
" sweing \n",
" Tuesday \n",
" 2 \n",
" 0.75 \n",
" 22.52 \n",
" 1635.0 \n",
" 6840 \n",
" 119 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 457 \n",
" 1/27/2015 \n",
" Quarter4 \n",
" sweing \n",
" Tuesday \n",
" 3 \n",
" 0.75 \n",
" 22.52 \n",
" 1299.0 \n",
" 6840 \n",
" 119 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 477 \n",
" 1/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Wednesday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1559.0 \n",
" 6840 \n",
" 90 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 478 \n",
" 1/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 1350.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 498 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1416.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 518 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 1136.0 \n",
" 6960 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 1.000457 \n",
" \n",
" \n",
" 519 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1397.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 542 \n",
" 2/1/2015 \n",
" Quarter1 \n",
" finishing \n",
" Sunday \n",
" 8 \n",
" 0.65 \n",
" 4.15 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 1.011562 \n",
" \n",
" \n",
" 543 \n",
" 2/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1396.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000671 \n",
" \n",
" \n",
" 544 \n",
" 2/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 1 \n",
" 0.80 \n",
" 22.94 \n",
" 1582.0 \n",
" 3060 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 1.000402 \n",
" \n",
" \n",
" 561 \n",
" 2/2/2015 \n",
" Quarter1 \n",
" sweing \n",
" Monday \n",
" 1 \n",
" 0.80 \n",
" 22.94 \n",
" 16882.0 \n",
" 7020 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 1.000602 \n",
" \n",
" \n",
" 580 \n",
" 2/3/2015 \n",
" Quarter1 \n",
" finishing \n",
" Tuesday \n",
" 2 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 2400 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 20.0 \n",
" 1.001417 \n",
" \n",
" \n",
" 581 \n",
" 2/3/2015 \n",
" Quarter1 \n",
" sweing \n",
" Tuesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1500.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000019 \n",
" \n",
" \n",
" 599 \n",
" 2/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Wednesday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1263.0 \n",
" 6900 \n",
" 100 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.050281 \n",
" \n",
" \n",
" 600 \n",
" 2/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 968.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 618 \n",
" 2/5/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1300.0 \n",
" 6780 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.5 \n",
" 1.000446 \n",
" \n",
" \n",
" 619 \n",
" 2/5/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1485.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000019 \n",
" \n",
" \n",
" 636 \n",
" 2/7/2015 \n",
" Quarter1 \n",
" finishing \n",
" Saturday \n",
" 2 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 3000 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 25.0 \n",
" 1.050667 \n",
" \n",
" \n",
" 637 \n",
" 2/7/2015 \n",
" Quarter1 \n",
" sweing \n",
" Saturday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1186.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 1.000019 \n",
" \n",
" \n",
" 655 \n",
" 2/8/2015 \n",
" Quarter2 \n",
" sweing \n",
" Sunday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1233.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000019 \n",
" \n",
" \n",
" 674 \n",
" 2/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 2 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 2160 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 18.0 \n",
" 1.057963 \n",
" \n",
" \n",
" 692 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" finishing \n",
" Tuesday \n",
" 12 \n",
" 0.80 \n",
" 4.08 \n",
" NaN \n",
" 1080 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 9.0 \n",
" 1.004889 \n",
" \n",
" \n",
" 711 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" finishing \n",
" Wednesday \n",
" 4 \n",
" 0.70 \n",
" 4.15 \n",
" NaN \n",
" 1800 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 15.0 \n",
" 1.033156 \n",
" \n",
" \n",
" 712 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" finishing \n",
" Wednesday \n",
" 12 \n",
" 0.80 \n",
" 4.08 \n",
" NaN \n",
" 1080 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 9.0 \n",
" 1.020000 \n",
" \n",
" \n",
" 713 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1557.0 \n",
" 0 \n",
" 90 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000345 \n",
" \n",
" \n",
" 714 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1498.0 \n",
" 0 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000066 \n",
" \n",
" \n",
" 730 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1397.0 \n",
" 0 \n",
" 138 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.100484 \n",
" \n",
" \n",
" 731 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" finishing \n",
" Thursday \n",
" 4 \n",
" 0.70 \n",
" 4.15 \n",
" NaN \n",
" 1800 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 15.0 \n",
" 1.096633 \n",
" \n",
" \n",
" 732 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1327.0 \n",
" 0 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000345 \n",
" \n",
" \n",
" 749 \n",
" 2/14/2015 \n",
" Quarter2 \n",
" sweing \n",
" Saturday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1416.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 766 \n",
" 2/15/2015 \n",
" Quarter3 \n",
" finishing \n",
" Sunday \n",
" 1 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 1.120437 \n",
" \n",
" \n",
" 767 \n",
" 2/15/2015 \n",
" Quarter3 \n",
" finishing \n",
" Sunday \n",
" 2 \n",
" 0.80 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 1.108125 \n",
" \n",
" \n",
" 768 \n",
" 2/15/2015 \n",
" Quarter3 \n",
" sweing \n",
" Sunday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1420.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 785 \n",
" 2/16/2015 \n",
" Quarter3 \n",
" sweing \n",
" Monday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1422.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 803 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1445.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"337 1/20/2015 Quarter3 finishing Tuesday 5 0.70 \n",
"437 1/26/2015 Quarter4 finishing Monday 3 0.75 \n",
"456 1/27/2015 Quarter4 sweing Tuesday 2 0.75 \n",
"457 1/27/2015 Quarter4 sweing Tuesday 3 0.75 \n",
"477 1/28/2015 Quarter4 sweing Wednesday 2 0.80 \n",
"478 1/28/2015 Quarter4 sweing Wednesday 3 0.80 \n",
"498 1/29/2015 Quarter5 sweing Thursday 2 0.80 \n",
"518 1/31/2015 Quarter5 sweing Saturday 3 0.80 \n",
"519 1/31/2015 Quarter5 sweing Saturday 2 0.80 \n",
"542 2/1/2015 Quarter1 finishing Sunday 8 0.65 \n",
"543 2/1/2015 Quarter1 sweing Sunday 2 0.80 \n",
"544 2/1/2015 Quarter1 sweing Sunday 1 0.80 \n",
"561 2/2/2015 Quarter1 sweing Monday 1 0.80 \n",
"580 2/3/2015 Quarter1 finishing Tuesday 2 0.80 \n",
"581 2/3/2015 Quarter1 sweing Tuesday 1 0.80 \n",
"599 2/4/2015 Quarter1 sweing Wednesday 2 0.80 \n",
"600 2/4/2015 Quarter1 sweing Wednesday 3 0.80 \n",
"618 2/5/2015 Quarter1 sweing Thursday 2 0.80 \n",
"619 2/5/2015 Quarter1 sweing Thursday 1 0.80 \n",
"636 2/7/2015 Quarter1 finishing Saturday 2 0.80 \n",
"637 2/7/2015 Quarter1 sweing Saturday 2 0.80 \n",
"655 2/8/2015 Quarter2 sweing Sunday 2 0.80 \n",
"674 2/9/2015 Quarter2 finishing Monday 2 0.80 \n",
"692 2/10/2015 Quarter2 finishing Tuesday 12 0.80 \n",
"711 2/11/2015 Quarter2 finishing Wednesday 4 0.70 \n",
"712 2/11/2015 Quarter2 finishing Wednesday 12 0.80 \n",
"713 2/11/2015 Quarter2 sweing Wednesday 2 0.80 \n",
"714 2/11/2015 Quarter2 sweing Wednesday 1 0.80 \n",
"730 2/12/2015 Quarter2 sweing Thursday 1 0.80 \n",
"731 2/12/2015 Quarter2 finishing Thursday 4 0.70 \n",
"732 2/12/2015 Quarter2 sweing Thursday 2 0.80 \n",
"749 2/14/2015 Quarter2 sweing Saturday 1 0.80 \n",
"766 2/15/2015 Quarter3 finishing Sunday 1 0.80 \n",
"767 2/15/2015 Quarter3 finishing Sunday 2 0.80 \n",
"768 2/15/2015 Quarter3 sweing Sunday 1 0.80 \n",
"785 2/16/2015 Quarter3 sweing Monday 1 0.80 \n",
"803 2/17/2015 Quarter3 sweing Tuesday 1 0.80 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"337 4.15 NaN 1440 0 0.0 0 \n",
"437 3.94 NaN 1800 0 0.0 0 \n",
"456 22.52 1635.0 6840 119 0.0 0 \n",
"457 22.52 1299.0 6840 119 0.0 0 \n",
"477 22.52 1559.0 6840 90 0.0 0 \n",
"478 22.52 1350.0 6840 113 0.0 0 \n",
"498 22.52 1416.0 6840 113 0.0 0 \n",
"518 22.52 1136.0 6960 113 0.0 0 \n",
"519 22.52 1397.0 6840 113 0.0 0 \n",
"542 4.15 NaN 960 0 0.0 0 \n",
"543 22.52 1396.0 6900 113 0.0 0 \n",
"544 22.94 1582.0 3060 113 0.0 0 \n",
"561 22.94 16882.0 7020 113 0.0 0 \n",
"580 3.94 NaN 2400 0 0.0 0 \n",
"581 22.52 1500.0 6900 113 0.0 0 \n",
"599 22.52 1263.0 6900 100 0.0 0 \n",
"600 22.52 968.0 6840 113 0.0 0 \n",
"618 22.52 1300.0 6780 113 0.0 0 \n",
"619 22.52 1485.0 6900 113 0.0 0 \n",
"636 3.94 NaN 3000 0 0.0 0 \n",
"637 22.52 1186.0 6900 113 0.0 0 \n",
"655 22.52 1233.0 6900 113 0.0 0 \n",
"674 3.94 NaN 2160 0 0.0 0 \n",
"692 4.08 NaN 1080 0 0.0 0 \n",
"711 4.15 NaN 1800 0 0.0 0 \n",
"712 4.08 NaN 1080 0 0.0 0 \n",
"713 22.52 1557.0 0 90 0.0 0 \n",
"714 22.52 1498.0 0 113 0.0 0 \n",
"730 22.52 1397.0 0 138 0.0 0 \n",
"731 4.15 NaN 1800 0 0.0 0 \n",
"732 22.52 1327.0 0 113 0.0 0 \n",
"749 22.52 1416.0 6840 113 0.0 0 \n",
"766 3.94 NaN 960 0 0.0 0 \n",
"767 3.94 NaN 960 0 0.0 0 \n",
"768 22.52 1420.0 6840 113 0.0 0 \n",
"785 22.52 1422.0 6840 113 0.0 0 \n",
"803 22.52 1445.0 6840 113 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"337 0 8.0 1.033570 \n",
"437 0 10.0 1.059621 \n",
"456 0 57.0 1.000230 \n",
"457 0 57.0 1.000230 \n",
"477 0 57.0 1.000230 \n",
"478 0 57.0 1.000230 \n",
"498 0 57.0 1.000230 \n",
"518 0 58.0 1.000457 \n",
"519 0 57.0 1.000230 \n",
"542 0 8.0 1.011562 \n",
"543 0 57.5 1.000671 \n",
"544 0 58.5 1.000402 \n",
"561 0 58.5 1.000602 \n",
"580 0 20.0 1.001417 \n",
"581 0 57.5 1.000019 \n",
"599 0 57.5 1.050281 \n",
"600 0 57.0 1.000230 \n",
"618 0 56.5 1.000446 \n",
"619 0 57.5 1.000019 \n",
"636 0 25.0 1.050667 \n",
"637 0 58.0 1.000019 \n",
"655 0 57.5 1.000019 \n",
"674 0 18.0 1.057963 \n",
"692 0 9.0 1.004889 \n",
"711 0 15.0 1.033156 \n",
"712 0 9.0 1.020000 \n",
"713 0 57.5 1.000345 \n",
"714 0 57.0 1.000066 \n",
"730 0 57.0 1.100484 \n",
"731 0 15.0 1.096633 \n",
"732 0 57.5 1.000345 \n",
"749 0 57.0 1.000230 \n",
"766 0 8.0 1.120437 \n",
"767 0 8.0 1.108125 \n",
"768 0 57.0 1.000230 \n",
"785 0 57.0 1.000230 \n",
"803 0 57.0 1.000230 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"actual_productivity\"] > 1]"
]
},
{
"cell_type": "markdown",
"id": "1727c5d2",
"metadata": {},
"source": [
"### \"wip\" column\n",
"\n",
"This column records the number of unfinished items for products.\n",
"\n",
"It's also the only column with missing observations, so if we want to check the observations that do contain information, we can filter them with the notnull() method:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "06d42764",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 1108.0 \n",
" 7080 \n",
" 98 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 2 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 11 \n",
" 0.80 \n",
" 11.41 \n",
" 968.0 \n",
" 3660 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 30.5 \n",
" 0.800570 \n",
" \n",
" \n",
" 3 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 12 \n",
" 0.80 \n",
" 11.41 \n",
" 968.0 \n",
" 3660 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 30.5 \n",
" 0.800570 \n",
" \n",
" \n",
" 4 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 6 \n",
" 0.80 \n",
" 25.90 \n",
" 1170.0 \n",
" 1920 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800382 \n",
" \n",
" \n",
" 5 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 7 \n",
" 0.80 \n",
" 25.90 \n",
" 984.0 \n",
" 6720 \n",
" 38 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800125 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 1187 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 4 \n",
" 0.75 \n",
" 26.82 \n",
" 1054.0 \n",
" 7080 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.750051 \n",
" \n",
" \n",
" 1188 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 5 \n",
" 0.70 \n",
" 26.82 \n",
" 992.0 \n",
" 6960 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.700557 \n",
" \n",
" \n",
" 1189 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 8 \n",
" 0.70 \n",
" 30.48 \n",
" 914.0 \n",
" 6840 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.700505 \n",
" \n",
" \n",
" 1190 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 6 \n",
" 0.70 \n",
" 23.41 \n",
" 1128.0 \n",
" 4560 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 38.0 \n",
" 0.700246 \n",
" \n",
" \n",
" 1191 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 7 \n",
" 0.65 \n",
" 30.48 \n",
" 935.0 \n",
" 6840 \n",
" 26 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.650596 \n",
" \n",
" \n",
"
\n",
"
691 rows × 15 columns
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"0 1/1/2015 Quarter1 sweing Thursday 8 0.80 \n",
"2 1/1/2015 Quarter1 sweing Thursday 11 0.80 \n",
"3 1/1/2015 Quarter1 sweing Thursday 12 0.80 \n",
"4 1/1/2015 Quarter1 sweing Thursday 6 0.80 \n",
"5 1/1/2015 Quarter1 sweing Thursday 7 0.80 \n",
"... ... ... ... ... ... ... \n",
"1187 3/11/2015 Quarter2 sweing Wednesday 4 0.75 \n",
"1188 3/11/2015 Quarter2 sweing Wednesday 5 0.70 \n",
"1189 3/11/2015 Quarter2 sweing Wednesday 8 0.70 \n",
"1190 3/11/2015 Quarter2 sweing Wednesday 6 0.70 \n",
"1191 3/11/2015 Quarter2 sweing Wednesday 7 0.65 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"0 26.16 1108.0 7080 98 0.0 0 \n",
"2 11.41 968.0 3660 50 0.0 0 \n",
"3 11.41 968.0 3660 50 0.0 0 \n",
"4 25.90 1170.0 1920 50 0.0 0 \n",
"5 25.90 984.0 6720 38 0.0 0 \n",
"... ... ... ... ... ... ... \n",
"1187 26.82 1054.0 7080 45 0.0 0 \n",
"1188 26.82 992.0 6960 30 0.0 0 \n",
"1189 30.48 914.0 6840 30 0.0 0 \n",
"1190 23.41 1128.0 4560 40 0.0 0 \n",
"1191 30.48 935.0 6840 26 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"0 0 59.0 0.940725 \n",
"2 0 30.5 0.800570 \n",
"3 0 30.5 0.800570 \n",
"4 0 56.0 0.800382 \n",
"5 0 56.0 0.800125 \n",
"... ... ... ... \n",
"1187 0 59.0 0.750051 \n",
"1188 1 58.0 0.700557 \n",
"1189 1 57.0 0.700505 \n",
"1190 1 38.0 0.700246 \n",
"1191 1 57.0 0.650596 \n",
"\n",
"[691 rows x 15 columns]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"wip\"].notnull()]"
]
},
{
"cell_type": "markdown",
"id": "ca2ea4ce",
"metadata": {},
"source": [
"Alternatively: if we want to see the null/missing values, we would use the isnull() method instead."
]
},
{
"cell_type": "markdown",
"id": "365fd3bd",
"metadata": {},
"source": [
"### \"over_time\" column\n",
"\n",
"This column records the amount of overtime by each team in minutes. It has a wide range of values, as we already confirmed with the describe() method.\n",
"\n",
"You might notice that we will be invoking the describe() method more frequently. We do this so that you don't have to scroll up all the time to see the original table at the beginning of this Notebook."
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "3b0f4434",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 1197.000000\n",
"mean 4567.460317\n",
"std 3348.823563\n",
"min 0.000000\n",
"25% 1440.000000\n",
"50% 3960.000000\n",
"75% 6960.000000\n",
"max 25920.000000\n",
"Name: over_time, dtype: float64"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"over_time\"].describe()"
]
},
{
"cell_type": "markdown",
"id": "9692947d",
"metadata": {},
"source": [
"Considering these results, it might be interesting to check the observations where the overtime surpasses a certain threshold. As always, you're free to set the number you consider most convenient, but as an example, here we will use the value of the 50% percentile:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "121aceb0",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 1108.0 \n",
" 7080 \n",
" 98 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 5 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 7 \n",
" 0.80 \n",
" 25.90 \n",
" 984.0 \n",
" 6720 \n",
" 38 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800125 \n",
" \n",
" \n",
" 7 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 3 \n",
" 0.75 \n",
" 28.08 \n",
" 795.0 \n",
" 6900 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 0.753683 \n",
" \n",
" \n",
" 8 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.75 \n",
" 19.87 \n",
" 733.0 \n",
" 6000 \n",
" 34 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 55.0 \n",
" 0.753098 \n",
" \n",
" \n",
" 9 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 28.08 \n",
" 681.0 \n",
" 6900 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 0.750428 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 1187 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 4 \n",
" 0.75 \n",
" 26.82 \n",
" 1054.0 \n",
" 7080 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.750051 \n",
" \n",
" \n",
" 1188 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 5 \n",
" 0.70 \n",
" 26.82 \n",
" 992.0 \n",
" 6960 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.700557 \n",
" \n",
" \n",
" 1189 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 8 \n",
" 0.70 \n",
" 30.48 \n",
" 914.0 \n",
" 6840 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.700505 \n",
" \n",
" \n",
" 1190 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 6 \n",
" 0.70 \n",
" 23.41 \n",
" 1128.0 \n",
" 4560 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 38.0 \n",
" 0.700246 \n",
" \n",
" \n",
" 1191 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 7 \n",
" 0.65 \n",
" 30.48 \n",
" 935.0 \n",
" 6840 \n",
" 26 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.650596 \n",
" \n",
" \n",
"
\n",
"
597 rows × 15 columns
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"0 1/1/2015 Quarter1 sweing Thursday 8 0.80 \n",
"5 1/1/2015 Quarter1 sweing Thursday 7 0.80 \n",
"7 1/1/2015 Quarter1 sweing Thursday 3 0.75 \n",
"8 1/1/2015 Quarter1 sweing Thursday 2 0.75 \n",
"9 1/1/2015 Quarter1 sweing Thursday 1 0.75 \n",
"... ... ... ... ... ... ... \n",
"1187 3/11/2015 Quarter2 sweing Wednesday 4 0.75 \n",
"1188 3/11/2015 Quarter2 sweing Wednesday 5 0.70 \n",
"1189 3/11/2015 Quarter2 sweing Wednesday 8 0.70 \n",
"1190 3/11/2015 Quarter2 sweing Wednesday 6 0.70 \n",
"1191 3/11/2015 Quarter2 sweing Wednesday 7 0.65 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"0 26.16 1108.0 7080 98 0.0 0 \n",
"5 25.90 984.0 6720 38 0.0 0 \n",
"7 28.08 795.0 6900 45 0.0 0 \n",
"8 19.87 733.0 6000 34 0.0 0 \n",
"9 28.08 681.0 6900 45 0.0 0 \n",
"... ... ... ... ... ... ... \n",
"1187 26.82 1054.0 7080 45 0.0 0 \n",
"1188 26.82 992.0 6960 30 0.0 0 \n",
"1189 30.48 914.0 6840 30 0.0 0 \n",
"1190 23.41 1128.0 4560 40 0.0 0 \n",
"1191 30.48 935.0 6840 26 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"0 0 59.0 0.940725 \n",
"5 0 56.0 0.800125 \n",
"7 0 57.5 0.753683 \n",
"8 0 55.0 0.753098 \n",
"9 0 57.5 0.750428 \n",
"... ... ... ... \n",
"1187 0 59.0 0.750051 \n",
"1188 1 58.0 0.700557 \n",
"1189 1 57.0 0.700505 \n",
"1190 1 38.0 0.700246 \n",
"1191 1 57.0 0.650596 \n",
"\n",
"[597 rows x 15 columns]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"over_time\"] > 3960]"
]
},
{
"cell_type": "markdown",
"id": "83ac56aa",
"metadata": {},
"source": [
"As expected, almost half of the observations in the dataset feature a significant overtime among teams.\n",
"\n",
"Let's explore the columns without overtime."
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "4f53dcdd",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 684 \n",
" 2/9/2015 \n",
" Quarter2 \n",
" sweing \n",
" Monday \n",
" 11 \n",
" 0.75 \n",
" 10.05 \n",
" 103.0 \n",
" 0 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 54.0 \n",
" 0.750648 \n",
" \n",
" \n",
" 694 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 10 \n",
" 0.80 \n",
" 22.52 \n",
" 1268.0 \n",
" 0 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.900632 \n",
" \n",
" \n",
" 695 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1546.0 \n",
" 0 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.900471 \n",
" \n",
" \n",
" 696 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 813.0 \n",
" 0 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.900471 \n",
" \n",
" \n",
" 697 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1512.0 \n",
" 0 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.899984 \n",
" \n",
" \n",
" 713 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1557.0 \n",
" 0 \n",
" 90 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000345 \n",
" \n",
" \n",
" 714 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1498.0 \n",
" 0 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000066 \n",
" \n",
" \n",
" 718 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 10 \n",
" 0.80 \n",
" 22.52 \n",
" 598.0 \n",
" 0 \n",
" 75 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.850365 \n",
" \n",
" \n",
" 730 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1397.0 \n",
" 0 \n",
" 138 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.100484 \n",
" \n",
" \n",
" 732 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1327.0 \n",
" 0 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000345 \n",
" \n",
" \n",
" 790 \n",
" 2/16/2015 \n",
" Quarter3 \n",
" sweing \n",
" Monday \n",
" 5 \n",
" 0.80 \n",
" 30.10 \n",
" 461.0 \n",
" 0 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.800980 \n",
" \n",
" \n",
" 818 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 8 \n",
" 0.60 \n",
" 29.40 \n",
" 179.0 \n",
" 0 \n",
" 23 \n",
" 5.0 \n",
" 30 \n",
" 2 \n",
" 58.0 \n",
" 0.600983 \n",
" \n",
" \n",
" 822 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 10 \n",
" 0.65 \n",
" 18.22 \n",
" 741.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 35 \n",
" 1 \n",
" 49.0 \n",
" 0.302117 \n",
" \n",
" \n",
" 828 \n",
" 2/18/2015 \n",
" Quarter3 \n",
" sweing \n",
" Wednesday \n",
" 5 \n",
" 0.80 \n",
" 30.10 \n",
" 511.0 \n",
" 0 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.800980 \n",
" \n",
" \n",
" 834 \n",
" 2/18/2015 \n",
" Quarter3 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.70 \n",
" 30.10 \n",
" 1057.0 \n",
" 0 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.700603 \n",
" \n",
" \n",
" 860 \n",
" 2/19/2015 \n",
" Quarter3 \n",
" sweing \n",
" Thursday \n",
" 7 \n",
" 0.75 \n",
" 30.10 \n",
" 444.0 \n",
" 0 \n",
" 0 \n",
" 5.0 \n",
" 20 \n",
" 1 \n",
" 59.0 \n",
" 0.611141 \n",
" \n",
" \n",
" 966 \n",
" 2/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Saturday \n",
" 11 \n",
" 0.80 \n",
" 11.61 \n",
" 954.0 \n",
" 0 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.800779 \n",
" \n",
" \n",
" 996 \n",
" 3/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 11 \n",
" 0.80 \n",
" 11.61 \n",
" 347.0 \n",
" 0 \n",
" 50 \n",
" 4.0 \n",
" 20 \n",
" 0 \n",
" 57.0 \n",
" 0.682433 \n",
" \n",
" \n",
" 1011 \n",
" 3/2/2015 \n",
" Quarter1 \n",
" sweing \n",
" Monday \n",
" 11 \n",
" 0.80 \n",
" 11.61 \n",
" 632.0 \n",
" 0 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.800309 \n",
" \n",
" \n",
" 1027 \n",
" 3/3/2015 \n",
" Quarter1 \n",
" sweing \n",
" Tuesday \n",
" 11 \n",
" 0.80 \n",
" 11.41 \n",
" 601.0 \n",
" 0 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800702 \n",
" \n",
" \n",
" 1053 \n",
" 3/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Wednesday \n",
" 11 \n",
" 0.80 \n",
" 11.41 \n",
" 433.0 \n",
" 0 \n",
" 38 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800702 \n",
" \n",
" \n",
" 1128 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 11 \n",
" 0.80 \n",
" 2.90 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.960625 \n",
" \n",
" \n",
" 1129 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 12 \n",
" 0.80 \n",
" 4.60 \n",
" NaN \n",
" 0 \n",
" 1080 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 9.0 \n",
" 0.902963 \n",
" \n",
" \n",
" 1130 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 5 \n",
" 0.60 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 2880 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 12.0 \n",
" 0.864343 \n",
" \n",
" \n",
" 1133 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 9 \n",
" 0.75 \n",
" 2.90 \n",
" NaN \n",
" 0 \n",
" 3600 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 15.0 \n",
" 0.841000 \n",
" \n",
" \n",
" 1137 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 3 \n",
" 0.80 \n",
" 4.60 \n",
" NaN \n",
" 0 \n",
" 1440 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 12.0 \n",
" 0.795417 \n",
" \n",
" \n",
" 1138 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 4 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.795388 \n",
" \n",
" \n",
" 1139 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.794567 \n",
" \n",
" \n",
" 1143 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 2 \n",
" 0.70 \n",
" 3.90 \n",
" NaN \n",
" 0 \n",
" 1200 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.682500 \n",
" \n",
" \n",
" 1148 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 10 \n",
" 0.70 \n",
" 2.90 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.477292 \n",
" \n",
" \n",
" 1149 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 8 \n",
" 0.65 \n",
" 3.90 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.264062 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"684 2/9/2015 Quarter2 sweing Monday 11 0.75 \n",
"694 2/10/2015 Quarter2 sweing Tuesday 10 0.80 \n",
"695 2/10/2015 Quarter2 sweing Tuesday 1 0.80 \n",
"696 2/10/2015 Quarter2 sweing Tuesday 3 0.80 \n",
"697 2/10/2015 Quarter2 sweing Tuesday 2 0.80 \n",
"713 2/11/2015 Quarter2 sweing Wednesday 2 0.80 \n",
"714 2/11/2015 Quarter2 sweing Wednesday 1 0.80 \n",
"718 2/11/2015 Quarter2 sweing Wednesday 10 0.80 \n",
"730 2/12/2015 Quarter2 sweing Thursday 1 0.80 \n",
"732 2/12/2015 Quarter2 sweing Thursday 2 0.80 \n",
"790 2/16/2015 Quarter3 sweing Monday 5 0.80 \n",
"818 2/17/2015 Quarter3 sweing Tuesday 8 0.60 \n",
"822 2/17/2015 Quarter3 sweing Tuesday 10 0.65 \n",
"828 2/18/2015 Quarter3 sweing Wednesday 5 0.80 \n",
"834 2/18/2015 Quarter3 sweing Wednesday 3 0.70 \n",
"860 2/19/2015 Quarter3 sweing Thursday 7 0.75 \n",
"966 2/28/2015 Quarter4 sweing Saturday 11 0.80 \n",
"996 3/1/2015 Quarter1 sweing Sunday 11 0.80 \n",
"1011 3/2/2015 Quarter1 sweing Monday 11 0.80 \n",
"1027 3/3/2015 Quarter1 sweing Tuesday 11 0.80 \n",
"1053 3/4/2015 Quarter1 sweing Wednesday 11 0.80 \n",
"1128 3/9/2015 Quarter2 finishing Monday 11 0.80 \n",
"1129 3/9/2015 Quarter2 finishing Monday 12 0.80 \n",
"1130 3/9/2015 Quarter2 finishing Monday 5 0.60 \n",
"1133 3/9/2015 Quarter2 finishing Monday 9 0.75 \n",
"1137 3/9/2015 Quarter2 finishing Monday 3 0.80 \n",
"1138 3/9/2015 Quarter2 finishing Monday 4 0.75 \n",
"1139 3/9/2015 Quarter2 finishing Monday 1 0.75 \n",
"1143 3/9/2015 Quarter2 finishing Monday 2 0.70 \n",
"1148 3/9/2015 Quarter2 finishing Monday 10 0.70 \n",
"1149 3/9/2015 Quarter2 finishing Monday 8 0.65 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"684 10.05 103.0 0 45 0.0 0 \n",
"694 22.52 1268.0 0 88 0.0 0 \n",
"695 22.52 1546.0 0 88 0.0 0 \n",
"696 22.52 813.0 0 88 0.0 0 \n",
"697 22.52 1512.0 0 88 0.0 0 \n",
"713 22.52 1557.0 0 90 0.0 0 \n",
"714 22.52 1498.0 0 113 0.0 0 \n",
"718 22.52 598.0 0 75 0.0 0 \n",
"730 22.52 1397.0 0 138 0.0 0 \n",
"732 22.52 1327.0 0 113 0.0 0 \n",
"790 30.10 461.0 0 0 0.0 0 \n",
"818 29.40 179.0 0 23 5.0 30 \n",
"822 18.22 741.0 0 0 8.0 35 \n",
"828 30.10 511.0 0 0 0.0 0 \n",
"834 30.10 1057.0 0 40 0.0 0 \n",
"860 30.10 444.0 0 0 5.0 20 \n",
"966 11.61 954.0 0 50 0.0 0 \n",
"996 11.61 347.0 0 50 4.0 20 \n",
"1011 11.61 632.0 0 50 0.0 0 \n",
"1027 11.41 601.0 0 50 0.0 0 \n",
"1053 11.41 433.0 0 38 0.0 0 \n",
"1128 2.90 NaN 0 960 0.0 0 \n",
"1129 4.60 NaN 0 1080 0.0 0 \n",
"1130 3.94 NaN 0 2880 0.0 0 \n",
"1133 2.90 NaN 0 3600 0.0 0 \n",
"1137 4.60 NaN 0 1440 0.0 0 \n",
"1138 3.94 NaN 0 960 0.0 0 \n",
"1139 3.94 NaN 0 960 0.0 0 \n",
"1143 3.90 NaN 0 1200 0.0 0 \n",
"1148 2.90 NaN 0 960 0.0 0 \n",
"1149 3.90 NaN 0 960 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"684 0 54.0 0.750648 \n",
"694 0 56.0 0.900632 \n",
"695 0 57.0 0.900471 \n",
"696 0 57.0 0.900471 \n",
"697 0 57.0 0.899984 \n",
"713 0 57.5 1.000345 \n",
"714 0 57.0 1.000066 \n",
"718 0 56.0 0.850365 \n",
"730 0 57.0 1.100484 \n",
"732 0 57.5 1.000345 \n",
"790 0 59.0 0.800980 \n",
"818 2 58.0 0.600983 \n",
"822 1 49.0 0.302117 \n",
"828 0 59.0 0.800980 \n",
"834 1 58.0 0.700603 \n",
"860 1 59.0 0.611141 \n",
"966 2 58.0 0.800779 \n",
"996 0 57.0 0.682433 \n",
"1011 0 57.0 0.800309 \n",
"1027 0 56.0 0.800702 \n",
"1053 0 56.0 0.800702 \n",
"1128 0 8.0 0.960625 \n",
"1129 0 9.0 0.902963 \n",
"1130 0 12.0 0.864343 \n",
"1133 0 15.0 0.841000 \n",
"1137 0 12.0 0.795417 \n",
"1138 0 8.0 0.795388 \n",
"1139 0 8.0 0.794567 \n",
"1143 0 10.0 0.682500 \n",
"1148 0 8.0 0.477292 \n",
"1149 0 8.0 0.264062 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"over_time\"] == 0]"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "cdcf7ae3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"31"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df[df[\"over_time\"] == 0])"
]
},
{
"cell_type": "markdown",
"id": "e230e2f9",
"metadata": {},
"source": [
"We have only 31 total observations without overtime!\n",
"\n",
"What happens if we contrast the \"over_time\" column with the ones related to productivity. For instance, how many observations we have where the productivity standards were met without overtime?"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "bea196e9",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 684 \n",
" 2/9/2015 \n",
" Quarter2 \n",
" sweing \n",
" Monday \n",
" 11 \n",
" 0.75 \n",
" 10.05 \n",
" 103.0 \n",
" 0 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 54.0 \n",
" 0.750648 \n",
" \n",
" \n",
" 694 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 10 \n",
" 0.80 \n",
" 22.52 \n",
" 1268.0 \n",
" 0 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.900632 \n",
" \n",
" \n",
" 695 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1546.0 \n",
" 0 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.900471 \n",
" \n",
" \n",
" 696 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 813.0 \n",
" 0 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.900471 \n",
" \n",
" \n",
" 697 \n",
" 2/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1512.0 \n",
" 0 \n",
" 88 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.899984 \n",
" \n",
" \n",
" 713 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1557.0 \n",
" 0 \n",
" 90 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000345 \n",
" \n",
" \n",
" 714 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1498.0 \n",
" 0 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000066 \n",
" \n",
" \n",
" 718 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 10 \n",
" 0.80 \n",
" 22.52 \n",
" 598.0 \n",
" 0 \n",
" 75 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.850365 \n",
" \n",
" \n",
" 730 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1397.0 \n",
" 0 \n",
" 138 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.100484 \n",
" \n",
" \n",
" 732 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1327.0 \n",
" 0 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000345 \n",
" \n",
" \n",
" 790 \n",
" 2/16/2015 \n",
" Quarter3 \n",
" sweing \n",
" Monday \n",
" 5 \n",
" 0.80 \n",
" 30.10 \n",
" 461.0 \n",
" 0 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.800980 \n",
" \n",
" \n",
" 818 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 8 \n",
" 0.60 \n",
" 29.40 \n",
" 179.0 \n",
" 0 \n",
" 23 \n",
" 5.0 \n",
" 30 \n",
" 2 \n",
" 58.0 \n",
" 0.600983 \n",
" \n",
" \n",
" 828 \n",
" 2/18/2015 \n",
" Quarter3 \n",
" sweing \n",
" Wednesday \n",
" 5 \n",
" 0.80 \n",
" 30.10 \n",
" 511.0 \n",
" 0 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.800980 \n",
" \n",
" \n",
" 834 \n",
" 2/18/2015 \n",
" Quarter3 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.70 \n",
" 30.10 \n",
" 1057.0 \n",
" 0 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.700603 \n",
" \n",
" \n",
" 966 \n",
" 2/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Saturday \n",
" 11 \n",
" 0.80 \n",
" 11.61 \n",
" 954.0 \n",
" 0 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.800779 \n",
" \n",
" \n",
" 1011 \n",
" 3/2/2015 \n",
" Quarter1 \n",
" sweing \n",
" Monday \n",
" 11 \n",
" 0.80 \n",
" 11.61 \n",
" 632.0 \n",
" 0 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 0.800309 \n",
" \n",
" \n",
" 1027 \n",
" 3/3/2015 \n",
" Quarter1 \n",
" sweing \n",
" Tuesday \n",
" 11 \n",
" 0.80 \n",
" 11.41 \n",
" 601.0 \n",
" 0 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800702 \n",
" \n",
" \n",
" 1053 \n",
" 3/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Wednesday \n",
" 11 \n",
" 0.80 \n",
" 11.41 \n",
" 433.0 \n",
" 0 \n",
" 38 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.800702 \n",
" \n",
" \n",
" 1128 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 11 \n",
" 0.80 \n",
" 2.90 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.960625 \n",
" \n",
" \n",
" 1129 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 12 \n",
" 0.80 \n",
" 4.60 \n",
" NaN \n",
" 0 \n",
" 1080 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 9.0 \n",
" 0.902963 \n",
" \n",
" \n",
" 1130 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 5 \n",
" 0.60 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 2880 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 12.0 \n",
" 0.864343 \n",
" \n",
" \n",
" 1133 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 9 \n",
" 0.75 \n",
" 2.90 \n",
" NaN \n",
" 0 \n",
" 3600 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 15.0 \n",
" 0.841000 \n",
" \n",
" \n",
" 1138 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 4 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.795388 \n",
" \n",
" \n",
" 1139 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.794567 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"684 2/9/2015 Quarter2 sweing Monday 11 0.75 \n",
"694 2/10/2015 Quarter2 sweing Tuesday 10 0.80 \n",
"695 2/10/2015 Quarter2 sweing Tuesday 1 0.80 \n",
"696 2/10/2015 Quarter2 sweing Tuesday 3 0.80 \n",
"697 2/10/2015 Quarter2 sweing Tuesday 2 0.80 \n",
"713 2/11/2015 Quarter2 sweing Wednesday 2 0.80 \n",
"714 2/11/2015 Quarter2 sweing Wednesday 1 0.80 \n",
"718 2/11/2015 Quarter2 sweing Wednesday 10 0.80 \n",
"730 2/12/2015 Quarter2 sweing Thursday 1 0.80 \n",
"732 2/12/2015 Quarter2 sweing Thursday 2 0.80 \n",
"790 2/16/2015 Quarter3 sweing Monday 5 0.80 \n",
"818 2/17/2015 Quarter3 sweing Tuesday 8 0.60 \n",
"828 2/18/2015 Quarter3 sweing Wednesday 5 0.80 \n",
"834 2/18/2015 Quarter3 sweing Wednesday 3 0.70 \n",
"966 2/28/2015 Quarter4 sweing Saturday 11 0.80 \n",
"1011 3/2/2015 Quarter1 sweing Monday 11 0.80 \n",
"1027 3/3/2015 Quarter1 sweing Tuesday 11 0.80 \n",
"1053 3/4/2015 Quarter1 sweing Wednesday 11 0.80 \n",
"1128 3/9/2015 Quarter2 finishing Monday 11 0.80 \n",
"1129 3/9/2015 Quarter2 finishing Monday 12 0.80 \n",
"1130 3/9/2015 Quarter2 finishing Monday 5 0.60 \n",
"1133 3/9/2015 Quarter2 finishing Monday 9 0.75 \n",
"1138 3/9/2015 Quarter2 finishing Monday 4 0.75 \n",
"1139 3/9/2015 Quarter2 finishing Monday 1 0.75 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"684 10.05 103.0 0 45 0.0 0 \n",
"694 22.52 1268.0 0 88 0.0 0 \n",
"695 22.52 1546.0 0 88 0.0 0 \n",
"696 22.52 813.0 0 88 0.0 0 \n",
"697 22.52 1512.0 0 88 0.0 0 \n",
"713 22.52 1557.0 0 90 0.0 0 \n",
"714 22.52 1498.0 0 113 0.0 0 \n",
"718 22.52 598.0 0 75 0.0 0 \n",
"730 22.52 1397.0 0 138 0.0 0 \n",
"732 22.52 1327.0 0 113 0.0 0 \n",
"790 30.10 461.0 0 0 0.0 0 \n",
"818 29.40 179.0 0 23 5.0 30 \n",
"828 30.10 511.0 0 0 0.0 0 \n",
"834 30.10 1057.0 0 40 0.0 0 \n",
"966 11.61 954.0 0 50 0.0 0 \n",
"1011 11.61 632.0 0 50 0.0 0 \n",
"1027 11.41 601.0 0 50 0.0 0 \n",
"1053 11.41 433.0 0 38 0.0 0 \n",
"1128 2.90 NaN 0 960 0.0 0 \n",
"1129 4.60 NaN 0 1080 0.0 0 \n",
"1130 3.94 NaN 0 2880 0.0 0 \n",
"1133 2.90 NaN 0 3600 0.0 0 \n",
"1138 3.94 NaN 0 960 0.0 0 \n",
"1139 3.94 NaN 0 960 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"684 0 54.0 0.750648 \n",
"694 0 56.0 0.900632 \n",
"695 0 57.0 0.900471 \n",
"696 0 57.0 0.900471 \n",
"697 0 57.0 0.899984 \n",
"713 0 57.5 1.000345 \n",
"714 0 57.0 1.000066 \n",
"718 0 56.0 0.850365 \n",
"730 0 57.0 1.100484 \n",
"732 0 57.5 1.000345 \n",
"790 0 59.0 0.800980 \n",
"818 2 58.0 0.600983 \n",
"828 0 59.0 0.800980 \n",
"834 1 58.0 0.700603 \n",
"966 2 58.0 0.800779 \n",
"1011 0 57.0 0.800309 \n",
"1027 0 56.0 0.800702 \n",
"1053 0 56.0 0.800702 \n",
"1128 0 8.0 0.960625 \n",
"1129 0 9.0 0.902963 \n",
"1130 0 12.0 0.864343 \n",
"1133 0 15.0 0.841000 \n",
"1138 0 8.0 0.795388 \n",
"1139 0 8.0 0.794567 "
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[(df[\"over_time\"] == 0) & (df[\"actual_productivity\"] > df[\"targeted_productivity\"])]"
]
},
{
"cell_type": "markdown",
"id": "f1bc1362",
"metadata": {},
"source": [
"It's clear now that it's a rare event to meet targets without putting in overtime!"
]
},
{
"cell_type": "markdown",
"id": "fd515c99",
"metadata": {},
"source": [
"### \"incentive\" column\n",
"\n",
"This column is about the financial incentives that motivate a particular course of action. The information we got by using the describe() method was the following:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "3f5885c6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 1197.000000\n",
"mean 38.210526\n",
"std 160.182643\n",
"min 0.000000\n",
"25% 0.000000\n",
"50% 0.000000\n",
"75% 50.000000\n",
"max 3600.000000\n",
"Name: incentive, dtype: float64"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"incentive\"].describe()"
]
},
{
"cell_type": "markdown",
"id": "30fae2a8",
"metadata": {},
"source": [
"We can see that workers barely have incentives. How many observations don't feature any kind of incentive?"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "c7de2e6d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"604"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df[df[\"incentive\"] == 0])"
]
},
{
"cell_type": "markdown",
"id": "55fc46cf",
"metadata": {},
"source": [
"That's more than half of the entire dataset!\n",
"\n",
"And since incentives only appear for the 75% percentile (which isn't the same to say that they appear exactly on this percentile, by the way), let's see how many observations include incentives greater than 50:"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "ab8c0cae",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 1108.0 \n",
" 7080 \n",
" 98 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 27 \n",
" 1/3/2015 \n",
" Quarter1 \n",
" sweing \n",
" Saturday \n",
" 12 \n",
" 0.80 \n",
" 26.16 \n",
" 844.0 \n",
" 7080 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.800319 \n",
" \n",
" \n",
" 32 \n",
" 1/3/2015 \n",
" Quarter1 \n",
" sweing \n",
" Saturday \n",
" 10 \n",
" 0.75 \n",
" 19.31 \n",
" 610.0 \n",
" 6480 \n",
" 56 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 54.0 \n",
" 0.787300 \n",
" \n",
" \n",
" 45 \n",
" 1/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 9 \n",
" 0.80 \n",
" 26.16 \n",
" 1278.0 \n",
" 7080 \n",
" 60 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.850569 \n",
" \n",
" \n",
" 46 \n",
" 1/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 7 \n",
" 0.80 \n",
" 25.90 \n",
" 1227.0 \n",
" 7020 \n",
" 60 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.5 \n",
" 0.850436 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 1156 \n",
" 3/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 4 \n",
" 0.75 \n",
" 26.82 \n",
" 1104.0 \n",
" 5880 \n",
" 65 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.850084 \n",
" \n",
" \n",
" 1158 \n",
" 3/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 12 \n",
" 0.80 \n",
" 15.26 \n",
" 1069.0 \n",
" 4080 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 34.0 \n",
" 0.800402 \n",
" \n",
" \n",
" 1159 \n",
" 3/10/2015 \n",
" Quarter2 \n",
" sweing \n",
" Tuesday \n",
" 3 \n",
" 0.80 \n",
" 30.10 \n",
" 756.0 \n",
" 6960 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.800072 \n",
" \n",
" \n",
" 1178 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 12 \n",
" 0.80 \n",
" 15.26 \n",
" 470.0 \n",
" 4080 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 34.0 \n",
" 0.800402 \n",
" \n",
" \n",
" 1179 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.80 \n",
" 30.10 \n",
" 735.0 \n",
" 6960 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.800072 \n",
" \n",
" \n",
"
\n",
"
231 rows × 15 columns
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"0 1/1/2015 Quarter1 sweing Thursday 8 0.80 \n",
"27 1/3/2015 Quarter1 sweing Saturday 12 0.80 \n",
"32 1/3/2015 Quarter1 sweing Saturday 10 0.75 \n",
"45 1/4/2015 Quarter1 sweing Sunday 9 0.80 \n",
"46 1/4/2015 Quarter1 sweing Sunday 7 0.80 \n",
"... ... ... ... ... ... ... \n",
"1156 3/10/2015 Quarter2 sweing Tuesday 4 0.75 \n",
"1158 3/10/2015 Quarter2 sweing Tuesday 12 0.80 \n",
"1159 3/10/2015 Quarter2 sweing Tuesday 3 0.80 \n",
"1178 3/11/2015 Quarter2 sweing Wednesday 12 0.80 \n",
"1179 3/11/2015 Quarter2 sweing Wednesday 3 0.80 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"0 26.16 1108.0 7080 98 0.0 0 \n",
"27 26.16 844.0 7080 63 0.0 0 \n",
"32 19.31 610.0 6480 56 0.0 0 \n",
"45 26.16 1278.0 7080 60 0.0 0 \n",
"46 25.90 1227.0 7020 60 0.0 0 \n",
"... ... ... ... ... ... ... \n",
"1156 26.82 1104.0 5880 65 0.0 0 \n",
"1158 15.26 1069.0 4080 63 0.0 0 \n",
"1159 30.10 756.0 6960 63 0.0 0 \n",
"1178 15.26 470.0 4080 63 0.0 0 \n",
"1179 30.10 735.0 6960 63 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"0 0 59.0 0.940725 \n",
"27 0 59.0 0.800319 \n",
"32 0 54.0 0.787300 \n",
"45 0 59.0 0.850569 \n",
"46 0 56.5 0.850436 \n",
"... ... ... ... \n",
"1156 0 59.0 0.850084 \n",
"1158 0 34.0 0.800402 \n",
"1159 1 58.0 0.800072 \n",
"1178 0 34.0 0.800402 \n",
"1179 1 58.0 0.800072 \n",
"\n",
"[231 rows x 15 columns]"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"incentive\"] > 50]"
]
},
{
"cell_type": "markdown",
"id": "b0a94356",
"metadata": {},
"source": [
"The number is pretty small, only a third with respect to the number of observations without incentives. What happens if we only include observations with an incentive higher than 100?"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "d1f7e3cb",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 456 \n",
" 1/27/2015 \n",
" Quarter4 \n",
" sweing \n",
" Tuesday \n",
" 2 \n",
" 0.75 \n",
" 22.52 \n",
" 1635.0 \n",
" 6840 \n",
" 119 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 457 \n",
" 1/27/2015 \n",
" Quarter4 \n",
" sweing \n",
" Tuesday \n",
" 3 \n",
" 0.75 \n",
" 22.52 \n",
" 1299.0 \n",
" 6840 \n",
" 119 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 478 \n",
" 1/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 1350.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 498 \n",
" 1/29/2015 \n",
" Quarter5 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1416.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 518 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 1136.0 \n",
" 6960 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 1.000457 \n",
" \n",
" \n",
" 519 \n",
" 1/31/2015 \n",
" Quarter5 \n",
" sweing \n",
" Saturday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1397.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 543 \n",
" 2/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1396.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000671 \n",
" \n",
" \n",
" 544 \n",
" 2/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 1 \n",
" 0.80 \n",
" 22.94 \n",
" 1582.0 \n",
" 3060 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 1.000402 \n",
" \n",
" \n",
" 561 \n",
" 2/2/2015 \n",
" Quarter1 \n",
" sweing \n",
" Monday \n",
" 1 \n",
" 0.80 \n",
" 22.94 \n",
" 16882.0 \n",
" 7020 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.5 \n",
" 1.000602 \n",
" \n",
" \n",
" 581 \n",
" 2/3/2015 \n",
" Quarter1 \n",
" sweing \n",
" Tuesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1500.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000019 \n",
" \n",
" \n",
" 600 \n",
" 2/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.80 \n",
" 22.52 \n",
" 968.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 601 \n",
" 2/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Wednesday \n",
" 10 \n",
" 0.80 \n",
" 22.52 \n",
" 1108.0 \n",
" 6720 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.999995 \n",
" \n",
" \n",
" 618 \n",
" 2/5/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1300.0 \n",
" 6780 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.5 \n",
" 1.000446 \n",
" \n",
" \n",
" 619 \n",
" 2/5/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1485.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000019 \n",
" \n",
" \n",
" 620 \n",
" 2/5/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 10 \n",
" 0.80 \n",
" 22.52 \n",
" 1039.0 \n",
" 6720 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 56.0 \n",
" 0.999995 \n",
" \n",
" \n",
" 637 \n",
" 2/7/2015 \n",
" Quarter1 \n",
" sweing \n",
" Saturday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1186.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 1.000019 \n",
" \n",
" \n",
" 655 \n",
" 2/8/2015 \n",
" Quarter2 \n",
" sweing \n",
" Sunday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1233.0 \n",
" 6900 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000019 \n",
" \n",
" \n",
" 714 \n",
" 2/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1498.0 \n",
" 0 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000066 \n",
" \n",
" \n",
" 730 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1397.0 \n",
" 0 \n",
" 138 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.100484 \n",
" \n",
" \n",
" 732 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 2 \n",
" 0.80 \n",
" 22.52 \n",
" 1327.0 \n",
" 0 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 1.000345 \n",
" \n",
" \n",
" 749 \n",
" 2/14/2015 \n",
" Quarter2 \n",
" sweing \n",
" Saturday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1416.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 768 \n",
" 2/15/2015 \n",
" Quarter3 \n",
" sweing \n",
" Sunday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1420.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 785 \n",
" 2/16/2015 \n",
" Quarter3 \n",
" sweing \n",
" Monday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1422.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 803 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 1 \n",
" 0.80 \n",
" 22.52 \n",
" 1445.0 \n",
" 6840 \n",
" 113 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.0 \n",
" 1.000230 \n",
" \n",
" \n",
" 1128 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 11 \n",
" 0.80 \n",
" 2.90 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.960625 \n",
" \n",
" \n",
" 1129 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 12 \n",
" 0.80 \n",
" 4.60 \n",
" NaN \n",
" 0 \n",
" 1080 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 9.0 \n",
" 0.902963 \n",
" \n",
" \n",
" 1130 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 5 \n",
" 0.60 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 2880 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 12.0 \n",
" 0.864343 \n",
" \n",
" \n",
" 1133 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 9 \n",
" 0.75 \n",
" 2.90 \n",
" NaN \n",
" 0 \n",
" 3600 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 15.0 \n",
" 0.841000 \n",
" \n",
" \n",
" 1137 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 3 \n",
" 0.80 \n",
" 4.60 \n",
" NaN \n",
" 0 \n",
" 1440 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 12.0 \n",
" 0.795417 \n",
" \n",
" \n",
" 1138 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 4 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.795388 \n",
" \n",
" \n",
" 1139 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.794567 \n",
" \n",
" \n",
" 1143 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 2 \n",
" 0.70 \n",
" 3.90 \n",
" NaN \n",
" 0 \n",
" 1200 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 10.0 \n",
" 0.682500 \n",
" \n",
" \n",
" 1148 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 10 \n",
" 0.70 \n",
" 2.90 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.477292 \n",
" \n",
" \n",
" 1149 \n",
" 3/9/2015 \n",
" Quarter2 \n",
" finishing \n",
" Monday \n",
" 8 \n",
" 0.65 \n",
" 3.90 \n",
" NaN \n",
" 0 \n",
" 960 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.264062 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"456 1/27/2015 Quarter4 sweing Tuesday 2 0.75 \n",
"457 1/27/2015 Quarter4 sweing Tuesday 3 0.75 \n",
"478 1/28/2015 Quarter4 sweing Wednesday 3 0.80 \n",
"498 1/29/2015 Quarter5 sweing Thursday 2 0.80 \n",
"518 1/31/2015 Quarter5 sweing Saturday 3 0.80 \n",
"519 1/31/2015 Quarter5 sweing Saturday 2 0.80 \n",
"543 2/1/2015 Quarter1 sweing Sunday 2 0.80 \n",
"544 2/1/2015 Quarter1 sweing Sunday 1 0.80 \n",
"561 2/2/2015 Quarter1 sweing Monday 1 0.80 \n",
"581 2/3/2015 Quarter1 sweing Tuesday 1 0.80 \n",
"600 2/4/2015 Quarter1 sweing Wednesday 3 0.80 \n",
"601 2/4/2015 Quarter1 sweing Wednesday 10 0.80 \n",
"618 2/5/2015 Quarter1 sweing Thursday 2 0.80 \n",
"619 2/5/2015 Quarter1 sweing Thursday 1 0.80 \n",
"620 2/5/2015 Quarter1 sweing Thursday 10 0.80 \n",
"637 2/7/2015 Quarter1 sweing Saturday 2 0.80 \n",
"655 2/8/2015 Quarter2 sweing Sunday 2 0.80 \n",
"714 2/11/2015 Quarter2 sweing Wednesday 1 0.80 \n",
"730 2/12/2015 Quarter2 sweing Thursday 1 0.80 \n",
"732 2/12/2015 Quarter2 sweing Thursday 2 0.80 \n",
"749 2/14/2015 Quarter2 sweing Saturday 1 0.80 \n",
"768 2/15/2015 Quarter3 sweing Sunday 1 0.80 \n",
"785 2/16/2015 Quarter3 sweing Monday 1 0.80 \n",
"803 2/17/2015 Quarter3 sweing Tuesday 1 0.80 \n",
"1128 3/9/2015 Quarter2 finishing Monday 11 0.80 \n",
"1129 3/9/2015 Quarter2 finishing Monday 12 0.80 \n",
"1130 3/9/2015 Quarter2 finishing Monday 5 0.60 \n",
"1133 3/9/2015 Quarter2 finishing Monday 9 0.75 \n",
"1137 3/9/2015 Quarter2 finishing Monday 3 0.80 \n",
"1138 3/9/2015 Quarter2 finishing Monday 4 0.75 \n",
"1139 3/9/2015 Quarter2 finishing Monday 1 0.75 \n",
"1143 3/9/2015 Quarter2 finishing Monday 2 0.70 \n",
"1148 3/9/2015 Quarter2 finishing Monday 10 0.70 \n",
"1149 3/9/2015 Quarter2 finishing Monday 8 0.65 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"456 22.52 1635.0 6840 119 0.0 0 \n",
"457 22.52 1299.0 6840 119 0.0 0 \n",
"478 22.52 1350.0 6840 113 0.0 0 \n",
"498 22.52 1416.0 6840 113 0.0 0 \n",
"518 22.52 1136.0 6960 113 0.0 0 \n",
"519 22.52 1397.0 6840 113 0.0 0 \n",
"543 22.52 1396.0 6900 113 0.0 0 \n",
"544 22.94 1582.0 3060 113 0.0 0 \n",
"561 22.94 16882.0 7020 113 0.0 0 \n",
"581 22.52 1500.0 6900 113 0.0 0 \n",
"600 22.52 968.0 6840 113 0.0 0 \n",
"601 22.52 1108.0 6720 113 0.0 0 \n",
"618 22.52 1300.0 6780 113 0.0 0 \n",
"619 22.52 1485.0 6900 113 0.0 0 \n",
"620 22.52 1039.0 6720 113 0.0 0 \n",
"637 22.52 1186.0 6900 113 0.0 0 \n",
"655 22.52 1233.0 6900 113 0.0 0 \n",
"714 22.52 1498.0 0 113 0.0 0 \n",
"730 22.52 1397.0 0 138 0.0 0 \n",
"732 22.52 1327.0 0 113 0.0 0 \n",
"749 22.52 1416.0 6840 113 0.0 0 \n",
"768 22.52 1420.0 6840 113 0.0 0 \n",
"785 22.52 1422.0 6840 113 0.0 0 \n",
"803 22.52 1445.0 6840 113 0.0 0 \n",
"1128 2.90 NaN 0 960 0.0 0 \n",
"1129 4.60 NaN 0 1080 0.0 0 \n",
"1130 3.94 NaN 0 2880 0.0 0 \n",
"1133 2.90 NaN 0 3600 0.0 0 \n",
"1137 4.60 NaN 0 1440 0.0 0 \n",
"1138 3.94 NaN 0 960 0.0 0 \n",
"1139 3.94 NaN 0 960 0.0 0 \n",
"1143 3.90 NaN 0 1200 0.0 0 \n",
"1148 2.90 NaN 0 960 0.0 0 \n",
"1149 3.90 NaN 0 960 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"456 0 57.0 1.000230 \n",
"457 0 57.0 1.000230 \n",
"478 0 57.0 1.000230 \n",
"498 0 57.0 1.000230 \n",
"518 0 58.0 1.000457 \n",
"519 0 57.0 1.000230 \n",
"543 0 57.5 1.000671 \n",
"544 0 58.5 1.000402 \n",
"561 0 58.5 1.000602 \n",
"581 0 57.5 1.000019 \n",
"600 0 57.0 1.000230 \n",
"601 0 56.0 0.999995 \n",
"618 0 56.5 1.000446 \n",
"619 0 57.5 1.000019 \n",
"620 0 56.0 0.999995 \n",
"637 0 58.0 1.000019 \n",
"655 0 57.5 1.000019 \n",
"714 0 57.0 1.000066 \n",
"730 0 57.0 1.100484 \n",
"732 0 57.5 1.000345 \n",
"749 0 57.0 1.000230 \n",
"768 0 57.0 1.000230 \n",
"785 0 57.0 1.000230 \n",
"803 0 57.0 1.000230 \n",
"1128 0 8.0 0.960625 \n",
"1129 0 9.0 0.902963 \n",
"1130 0 12.0 0.864343 \n",
"1133 0 15.0 0.841000 \n",
"1137 0 12.0 0.795417 \n",
"1138 0 8.0 0.795388 \n",
"1139 0 8.0 0.794567 \n",
"1143 0 10.0 0.682500 \n",
"1148 0 8.0 0.477292 \n",
"1149 0 8.0 0.264062 "
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"incentive\"] > 100]"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "0f36bf3c",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"34"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df[df[\"incentive\"] > 100])"
]
},
{
"cell_type": "markdown",
"id": "2618c546",
"metadata": {},
"source": [
"We only have 34 observations that meet this criteria."
]
},
{
"cell_type": "markdown",
"id": "ae3d77c9",
"metadata": {},
"source": [
"## \"idle_time\" & \"idle_men\" column\n",
"\n",
"It would be nice to check all the observations where there were interruptions in the production process."
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "00ee2880",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 615 \n",
" 2/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Wednesday \n",
" 5 \n",
" 0.65 \n",
" 30.10 \n",
" 326.0 \n",
" 5820 \n",
" 0 \n",
" 90.0 \n",
" 10 \n",
" 0 \n",
" 58.5 \n",
" 0.650835 \n",
" \n",
" \n",
" 617 \n",
" 2/4/2015 \n",
" Quarter1 \n",
" sweing \n",
" Wednesday \n",
" 4 \n",
" 0.35 \n",
" 30.10 \n",
" 287.0 \n",
" 6060 \n",
" 23 \n",
" 150.0 \n",
" 15 \n",
" 0 \n",
" 55.5 \n",
" 0.350706 \n",
" \n",
" \n",
" 650 \n",
" 2/7/2015 \n",
" Quarter1 \n",
" sweing \n",
" Saturday \n",
" 7 \n",
" 0.70 \n",
" 24.26 \n",
" 658.0 \n",
" 6960 \n",
" 0 \n",
" 270.0 \n",
" 45 \n",
" 0 \n",
" 58.0 \n",
" 0.662270 \n",
" \n",
" \n",
" 654 \n",
" 2/7/2015 \n",
" Quarter1 \n",
" sweing \n",
" Saturday \n",
" 8 \n",
" 0.70 \n",
" 24.26 \n",
" 652.0 \n",
" 6840 \n",
" 0 \n",
" 300.0 \n",
" 37 \n",
" 0 \n",
" 57.0 \n",
" 0.365319 \n",
" \n",
" \n",
" 775 \n",
" 2/15/2015 \n",
" Quarter3 \n",
" sweing \n",
" Sunday \n",
" 8 \n",
" 0.70 \n",
" 30.10 \n",
" 507.0 \n",
" 5880 \n",
" 40 \n",
" 2.0 \n",
" 10 \n",
" 1 \n",
" 59.0 \n",
" 0.700573 \n",
" \n",
" \n",
" 798 \n",
" 2/16/2015 \n",
" Quarter3 \n",
" sweing \n",
" Monday \n",
" 8 \n",
" 0.70 \n",
" 30.10 \n",
" 7.0 \n",
" 7080 \n",
" 27 \n",
" 2.0 \n",
" 10 \n",
" 2 \n",
" 59.0 \n",
" 0.621972 \n",
" \n",
" \n",
" 818 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 8 \n",
" 0.60 \n",
" 29.40 \n",
" 179.0 \n",
" 0 \n",
" 23 \n",
" 5.0 \n",
" 30 \n",
" 2 \n",
" 58.0 \n",
" 0.600983 \n",
" \n",
" \n",
" 822 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 10 \n",
" 0.65 \n",
" 18.22 \n",
" 741.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 35 \n",
" 1 \n",
" 49.0 \n",
" 0.302117 \n",
" \n",
" \n",
" 841 \n",
" 2/18/2015 \n",
" Quarter3 \n",
" sweing \n",
" Wednesday \n",
" 10 \n",
" 0.70 \n",
" 19.68 \n",
" 1119.0 \n",
" 5640 \n",
" 0 \n",
" 8.0 \n",
" 35 \n",
" 1 \n",
" 47.0 \n",
" 0.303574 \n",
" \n",
" \n",
" 843 \n",
" 2/18/2015 \n",
" Quarter3 \n",
" sweing \n",
" Wednesday \n",
" 8 \n",
" 0.65 \n",
" 29.40 \n",
" 962.0 \n",
" 4560 \n",
" 0 \n",
" 4.5 \n",
" 30 \n",
" 2 \n",
" 57.0 \n",
" 0.251399 \n",
" \n",
" \n",
" 848 \n",
" 2/19/2015 \n",
" Quarter3 \n",
" sweing \n",
" Thursday \n",
" 5 \n",
" 0.80 \n",
" 30.10 \n",
" 276.0 \n",
" 600 \n",
" 63 \n",
" 3.5 \n",
" 15 \n",
" 0 \n",
" 59.5 \n",
" 0.799983 \n",
" \n",
" \n",
" 860 \n",
" 2/19/2015 \n",
" Quarter3 \n",
" sweing \n",
" Thursday \n",
" 7 \n",
" 0.75 \n",
" 30.10 \n",
" 444.0 \n",
" 0 \n",
" 0 \n",
" 5.0 \n",
" 20 \n",
" 1 \n",
" 59.0 \n",
" 0.611141 \n",
" \n",
" \n",
" 880 \n",
" 2/22/2015 \n",
" Quarter4 \n",
" sweing \n",
" Sunday \n",
" 7 \n",
" 0.75 \n",
" 30.10 \n",
" 627.0 \n",
" 6960 \n",
" 0 \n",
" 3.5 \n",
" 20 \n",
" 1 \n",
" 58.0 \n",
" 0.393549 \n",
" \n",
" \n",
" 882 \n",
" 2/22/2015 \n",
" Quarter4 \n",
" sweing \n",
" Sunday \n",
" 5 \n",
" 0.80 \n",
" 30.10 \n",
" 450.0 \n",
" 5700 \n",
" 0 \n",
" 4.5 \n",
" 25 \n",
" 0 \n",
" 60.0 \n",
" 0.307501 \n",
" \n",
" \n",
" 996 \n",
" 3/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 11 \n",
" 0.80 \n",
" 11.61 \n",
" 347.0 \n",
" 0 \n",
" 50 \n",
" 4.0 \n",
" 20 \n",
" 0 \n",
" 57.0 \n",
" 0.682433 \n",
" \n",
" \n",
" 1001 \n",
" 3/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Sunday \n",
" 7 \n",
" 0.80 \n",
" 30.10 \n",
" 934.0 \n",
" 6960 \n",
" 0 \n",
" 3.5 \n",
" 15 \n",
" 0 \n",
" 58.0 \n",
" 0.579511 \n",
" \n",
" \n",
" 1046 \n",
" 3/3/2015 \n",
" Quarter1 \n",
" sweing \n",
" Tuesday \n",
" 2 \n",
" 0.40 \n",
" 15.28 \n",
" 157.0 \n",
" 5400 \n",
" 0 \n",
" 6.5 \n",
" 30 \n",
" 1 \n",
" 45.0 \n",
" 0.302770 \n",
" \n",
" \n",
" 1085 \n",
" 3/5/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 7 \n",
" 0.80 \n",
" 30.10 \n",
" 834.0 \n",
" 1200 \n",
" 0 \n",
" 4.0 \n",
" 40 \n",
" 0 \n",
" 59.0 \n",
" 0.366054 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"615 2/4/2015 Quarter1 sweing Wednesday 5 0.65 \n",
"617 2/4/2015 Quarter1 sweing Wednesday 4 0.35 \n",
"650 2/7/2015 Quarter1 sweing Saturday 7 0.70 \n",
"654 2/7/2015 Quarter1 sweing Saturday 8 0.70 \n",
"775 2/15/2015 Quarter3 sweing Sunday 8 0.70 \n",
"798 2/16/2015 Quarter3 sweing Monday 8 0.70 \n",
"818 2/17/2015 Quarter3 sweing Tuesday 8 0.60 \n",
"822 2/17/2015 Quarter3 sweing Tuesday 10 0.65 \n",
"841 2/18/2015 Quarter3 sweing Wednesday 10 0.70 \n",
"843 2/18/2015 Quarter3 sweing Wednesday 8 0.65 \n",
"848 2/19/2015 Quarter3 sweing Thursday 5 0.80 \n",
"860 2/19/2015 Quarter3 sweing Thursday 7 0.75 \n",
"880 2/22/2015 Quarter4 sweing Sunday 7 0.75 \n",
"882 2/22/2015 Quarter4 sweing Sunday 5 0.80 \n",
"996 3/1/2015 Quarter1 sweing Sunday 11 0.80 \n",
"1001 3/1/2015 Quarter1 sweing Sunday 7 0.80 \n",
"1046 3/3/2015 Quarter1 sweing Tuesday 2 0.40 \n",
"1085 3/5/2015 Quarter1 sweing Thursday 7 0.80 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"615 30.10 326.0 5820 0 90.0 10 \n",
"617 30.10 287.0 6060 23 150.0 15 \n",
"650 24.26 658.0 6960 0 270.0 45 \n",
"654 24.26 652.0 6840 0 300.0 37 \n",
"775 30.10 507.0 5880 40 2.0 10 \n",
"798 30.10 7.0 7080 27 2.0 10 \n",
"818 29.40 179.0 0 23 5.0 30 \n",
"822 18.22 741.0 0 0 8.0 35 \n",
"841 19.68 1119.0 5640 0 8.0 35 \n",
"843 29.40 962.0 4560 0 4.5 30 \n",
"848 30.10 276.0 600 63 3.5 15 \n",
"860 30.10 444.0 0 0 5.0 20 \n",
"880 30.10 627.0 6960 0 3.5 20 \n",
"882 30.10 450.0 5700 0 4.5 25 \n",
"996 11.61 347.0 0 50 4.0 20 \n",
"1001 30.10 934.0 6960 0 3.5 15 \n",
"1046 15.28 157.0 5400 0 6.5 30 \n",
"1085 30.10 834.0 1200 0 4.0 40 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"615 0 58.5 0.650835 \n",
"617 0 55.5 0.350706 \n",
"650 0 58.0 0.662270 \n",
"654 0 57.0 0.365319 \n",
"775 1 59.0 0.700573 \n",
"798 2 59.0 0.621972 \n",
"818 2 58.0 0.600983 \n",
"822 1 49.0 0.302117 \n",
"841 1 47.0 0.303574 \n",
"843 2 57.0 0.251399 \n",
"848 0 59.5 0.799983 \n",
"860 1 59.0 0.611141 \n",
"880 1 58.0 0.393549 \n",
"882 0 60.0 0.307501 \n",
"996 0 57.0 0.682433 \n",
"1001 0 58.0 0.579511 \n",
"1046 1 45.0 0.302770 \n",
"1085 0 59.0 0.366054 "
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"idle_time\"] > 0]"
]
},
{
"cell_type": "markdown",
"id": "527371b2",
"metadata": {},
"source": [
"We see that the factory rarely suffers from interruptions, with only 18 observations where something like this happened."
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "73fcc86b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"18"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df[(df[\"idle_time\"] > 0)])"
]
},
{
"cell_type": "markdown",
"id": "80532782",
"metadata": {},
"source": [
"And now, just as a \"sanity check\", let's see if we have observations where there was idle time but without idle men, which would be incoherent:"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "1054cd1b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [date, quarter, department, day, team, targeted_productivity, smv, wip, over_time, incentive, idle_time, idle_men, no_of_style_change, no_of_workers, actual_productivity]\n",
"Index: []"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[(df[\"idle_time\"] > 0) & (df[\"idle_men\"] == 0)]"
]
},
{
"cell_type": "markdown",
"id": "77472015",
"metadata": {},
"source": [
"Luckily we don't have incorrect observations in this sense.\n",
"\n",
"Another \"sanity check\" is to see if the number of observations with idle men is similar to the number of observations with idle time."
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "4cfe8320",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"18"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df[(df[\"idle_men\"] > 0)])"
]
},
{
"cell_type": "markdown",
"id": "b06f556c",
"metadata": {},
"source": [
"Both columns match, so we don't have anything to worry about here. We can confirm that by re-checking the above table."
]
},
{
"cell_type": "markdown",
"id": "565ec2e0",
"metadata": {},
"source": [
"## \"no_of_style_change\" column"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "bbf396d7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"count 1197.000000\n",
"mean 0.150376\n",
"std 0.427848\n",
"min 0.000000\n",
"25% 0.000000\n",
"50% 0.000000\n",
"75% 0.000000\n",
"max 2.000000\n",
"Name: no_of_style_change, dtype: float64"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"no_of_style_change\"].describe()"
]
},
{
"cell_type": "markdown",
"id": "6221d36e",
"metadata": {},
"source": [
"We have another pretty uniform column here. Since the number of changes in the style of a particular product was pretty much 0 in most cases, it would be nice to have an idea of how many observations did feature these changes:"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "8c5a02b6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 634 \n",
" 2/5/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 4 \n",
" 0.50 \n",
" 30.10 \n",
" 417.0 \n",
" 6360 \n",
" 23 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 53.0 \n",
" 0.500720 \n",
" \n",
" \n",
" 651 \n",
" 2/7/2015 \n",
" Quarter1 \n",
" sweing \n",
" Saturday \n",
" 4 \n",
" 0.60 \n",
" 30.10 \n",
" 486.0 \n",
" 6780 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.600224 \n",
" \n",
" \n",
" 671 \n",
" 2/8/2015 \n",
" Quarter2 \n",
" sweing \n",
" Sunday \n",
" 4 \n",
" 0.65 \n",
" 30.10 \n",
" 712.0 \n",
" 6780 \n",
" 44 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 56.5 \n",
" 0.568260 \n",
" \n",
" \n",
" 683 \n",
" 2/9/2015 \n",
" Quarter2 \n",
" sweing \n",
" Monday \n",
" 4 \n",
" 0.70 \n",
" 30.10 \n",
" 767.0 \n",
" 3300 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.790003 \n",
" \n",
" \n",
" 689 \n",
" 2/9/2015 \n",
" Quarter2 \n",
" sweing \n",
" Monday \n",
" 7 \n",
" 0.35 \n",
" 30.10 \n",
" 842.0 \n",
" 6960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.350302 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 1185 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 2 \n",
" 0.75 \n",
" 16.10 \n",
" 971.0 \n",
" 5400 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 45.0 \n",
" 0.750141 \n",
" \n",
" \n",
" 1188 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 5 \n",
" 0.70 \n",
" 26.82 \n",
" 992.0 \n",
" 6960 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.700557 \n",
" \n",
" \n",
" 1189 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 8 \n",
" 0.70 \n",
" 30.48 \n",
" 914.0 \n",
" 6840 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.700505 \n",
" \n",
" \n",
" 1190 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 6 \n",
" 0.70 \n",
" 23.41 \n",
" 1128.0 \n",
" 4560 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 38.0 \n",
" 0.700246 \n",
" \n",
" \n",
" 1191 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 7 \n",
" 0.65 \n",
" 30.48 \n",
" 935.0 \n",
" 6840 \n",
" 26 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 57.0 \n",
" 0.650596 \n",
" \n",
" \n",
"
\n",
"
114 rows × 15 columns
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"634 2/5/2015 Quarter1 sweing Thursday 4 0.50 \n",
"651 2/7/2015 Quarter1 sweing Saturday 4 0.60 \n",
"671 2/8/2015 Quarter2 sweing Sunday 4 0.65 \n",
"683 2/9/2015 Quarter2 sweing Monday 4 0.70 \n",
"689 2/9/2015 Quarter2 sweing Monday 7 0.35 \n",
"... ... ... ... ... ... ... \n",
"1185 3/11/2015 Quarter2 sweing Wednesday 2 0.75 \n",
"1188 3/11/2015 Quarter2 sweing Wednesday 5 0.70 \n",
"1189 3/11/2015 Quarter2 sweing Wednesday 8 0.70 \n",
"1190 3/11/2015 Quarter2 sweing Wednesday 6 0.70 \n",
"1191 3/11/2015 Quarter2 sweing Wednesday 7 0.65 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"634 30.10 417.0 6360 23 0.0 0 \n",
"651 30.10 486.0 6780 30 0.0 0 \n",
"671 30.10 712.0 6780 44 0.0 0 \n",
"683 30.10 767.0 3300 50 0.0 0 \n",
"689 30.10 842.0 6960 0 0.0 0 \n",
"... ... ... ... ... ... ... \n",
"1185 16.10 971.0 5400 45 0.0 0 \n",
"1188 26.82 992.0 6960 30 0.0 0 \n",
"1189 30.48 914.0 6840 30 0.0 0 \n",
"1190 23.41 1128.0 4560 40 0.0 0 \n",
"1191 30.48 935.0 6840 26 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"634 1 53.0 0.500720 \n",
"651 1 57.0 0.600224 \n",
"671 1 56.5 0.568260 \n",
"683 1 57.0 0.790003 \n",
"689 1 58.0 0.350302 \n",
"... ... ... ... \n",
"1185 1 45.0 0.750141 \n",
"1188 1 58.0 0.700557 \n",
"1189 1 57.0 0.700505 \n",
"1190 1 38.0 0.700246 \n",
"1191 1 57.0 0.650596 \n",
"\n",
"[114 rows x 15 columns]"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"no_of_style_change\"] == 1]"
]
},
{
"cell_type": "markdown",
"id": "059ac397",
"metadata": {},
"source": [
"And also, considering the maximum value was 2, let's get the observations with this criteria as well:"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "946e09cb",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 744 \n",
" 2/12/2015 \n",
" Quarter2 \n",
" sweing \n",
" Thursday \n",
" 11 \n",
" 0.50 \n",
" 11.41 \n",
" 1039.0 \n",
" 2280 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 55.0 \n",
" 0.500123 \n",
" \n",
" \n",
" 761 \n",
" 2/14/2015 \n",
" Quarter2 \n",
" sweing \n",
" Saturday \n",
" 11 \n",
" 0.60 \n",
" 11.41 \n",
" 1039.0 \n",
" 2280 \n",
" 23 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 55.0 \n",
" 0.600448 \n",
" \n",
" \n",
" 777 \n",
" 2/15/2015 \n",
" Quarter3 \n",
" sweing \n",
" Sunday \n",
" 11 \n",
" 0.65 \n",
" 11.41 \n",
" 700.0 \n",
" 2640 \n",
" 23 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 53.0 \n",
" 0.650224 \n",
" \n",
" \n",
" 798 \n",
" 2/16/2015 \n",
" Quarter3 \n",
" sweing \n",
" Monday \n",
" 8 \n",
" 0.70 \n",
" 30.10 \n",
" 7.0 \n",
" 7080 \n",
" 27 \n",
" 2.0 \n",
" 10 \n",
" 2 \n",
" 59.0 \n",
" 0.621972 \n",
" \n",
" \n",
" 799 \n",
" 2/16/2015 \n",
" Quarter3 \n",
" sweing \n",
" Monday \n",
" 11 \n",
" 0.70 \n",
" 11.41 \n",
" 680.0 \n",
" 2160 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 54.0 \n",
" 0.565972 \n",
" \n",
" \n",
" 813 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 11 \n",
" 0.70 \n",
" 11.41 \n",
" 1054.0 \n",
" 3420 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 56.0 \n",
" 0.700614 \n",
" \n",
" \n",
" 818 \n",
" 2/17/2015 \n",
" Quarter3 \n",
" sweing \n",
" Tuesday \n",
" 8 \n",
" 0.60 \n",
" 29.40 \n",
" 179.0 \n",
" 0 \n",
" 23 \n",
" 5.0 \n",
" 30 \n",
" 2 \n",
" 58.0 \n",
" 0.600983 \n",
" \n",
" \n",
" 826 \n",
" 2/18/2015 \n",
" Quarter3 \n",
" sweing \n",
" Wednesday \n",
" 11 \n",
" 0.70 \n",
" 11.41 \n",
" 685.0 \n",
" 3360 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 56.0 \n",
" 0.821113 \n",
" \n",
" \n",
" 843 \n",
" 2/18/2015 \n",
" Quarter3 \n",
" sweing \n",
" Wednesday \n",
" 8 \n",
" 0.65 \n",
" 29.40 \n",
" 962.0 \n",
" 4560 \n",
" 0 \n",
" 4.5 \n",
" 30 \n",
" 2 \n",
" 57.0 \n",
" 0.251399 \n",
" \n",
" \n",
" 854 \n",
" 2/19/2015 \n",
" Quarter3 \n",
" sweing \n",
" Thursday \n",
" 11 \n",
" 0.70 \n",
" 11.41 \n",
" 653.0 \n",
" 3480 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.700540 \n",
" \n",
" \n",
" 855 \n",
" 2/19/2015 \n",
" Quarter3 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.70 \n",
" 29.40 \n",
" 1116.0 \n",
" 6240 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.700000 \n",
" \n",
" \n",
" 874 \n",
" 2/22/2015 \n",
" Quarter4 \n",
" sweing \n",
" Sunday \n",
" 8 \n",
" 0.70 \n",
" 29.40 \n",
" 1146.0 \n",
" 6840 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.700614 \n",
" \n",
" \n",
" 876 \n",
" 2/22/2015 \n",
" Quarter4 \n",
" sweing \n",
" Sunday \n",
" 11 \n",
" 0.75 \n",
" 11.41 \n",
" 834.0 \n",
" 3480 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.672141 \n",
" \n",
" \n",
" 878 \n",
" 2/22/2015 \n",
" Quarter4 \n",
" sweing \n",
" Sunday \n",
" 3 \n",
" 0.70 \n",
" 30.10 \n",
" 1041.0 \n",
" 8160 \n",
" 33 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.626578 \n",
" \n",
" \n",
" 893 \n",
" 2/23/2015 \n",
" Quarter4 \n",
" sweing \n",
" Monday \n",
" 11 \n",
" 0.75 \n",
" 11.41 \n",
" 826.0 \n",
" 2820 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.750294 \n",
" \n",
" \n",
" 895 \n",
" 2/23/2015 \n",
" Quarter4 \n",
" sweing \n",
" Monday \n",
" 8 \n",
" 0.70 \n",
" 29.40 \n",
" 1094.0 \n",
" 6840 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.700614 \n",
" \n",
" \n",
" 896 \n",
" 2/23/2015 \n",
" Quarter4 \n",
" sweing \n",
" Monday \n",
" 3 \n",
" 0.70 \n",
" 29.40 \n",
" 1228.0 \n",
" 6960 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.700362 \n",
" \n",
" \n",
" 911 \n",
" 2/24/2015 \n",
" Quarter4 \n",
" sweing \n",
" Tuesday \n",
" 11 \n",
" 0.75 \n",
" 11.61 \n",
" 698.0 \n",
" 3360 \n",
" 34 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.750437 \n",
" \n",
" \n",
" 912 \n",
" 2/24/2015 \n",
" Quarter4 \n",
" sweing \n",
" Tuesday \n",
" 3 \n",
" 0.75 \n",
" 29.40 \n",
" 1172.0 \n",
" 5340 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 60.0 \n",
" 0.750177 \n",
" \n",
" \n",
" 916 \n",
" 2/24/2015 \n",
" Quarter4 \n",
" sweing \n",
" Tuesday \n",
" 8 \n",
" 0.70 \n",
" 29.40 \n",
" 1079.0 \n",
" 4560 \n",
" 40 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.700519 \n",
" \n",
" \n",
" 929 \n",
" 2/25/2015 \n",
" Quarter4 \n",
" sweing \n",
" Wednesday \n",
" 7 \n",
" 0.80 \n",
" 30.10 \n",
" 786.0 \n",
" 7080 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 59.0 \n",
" 0.800116 \n",
" \n",
" \n",
" 932 \n",
" 2/25/2015 \n",
" Quarter4 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.75 \n",
" 29.40 \n",
" 1283.0 \n",
" 6960 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.750207 \n",
" \n",
" \n",
" 935 \n",
" 2/25/2015 \n",
" Quarter4 \n",
" sweing \n",
" Wednesday \n",
" 10 \n",
" 0.70 \n",
" 21.82 \n",
" 1653.0 \n",
" 6240 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 52.0 \n",
" 0.700058 \n",
" \n",
" \n",
" 946 \n",
" 2/26/2015 \n",
" Quarter4 \n",
" sweing \n",
" Thursday \n",
" 11 \n",
" 0.80 \n",
" 11.61 \n",
" 816.0 \n",
" 2820 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.800517 \n",
" \n",
" \n",
" 950 \n",
" 2/26/2015 \n",
" Quarter4 \n",
" sweing \n",
" Thursday \n",
" 3 \n",
" 0.75 \n",
" 29.40 \n",
" 1244.0 \n",
" 6840 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.750474 \n",
" \n",
" \n",
" 952 \n",
" 2/26/2015 \n",
" Quarter4 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.75 \n",
" 29.40 \n",
" 916.0 \n",
" 6960 \n",
" 56 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.750207 \n",
" \n",
" \n",
" 957 \n",
" 2/26/2015 \n",
" Quarter4 \n",
" sweing \n",
" Thursday \n",
" 4 \n",
" 0.80 \n",
" 30.10 \n",
" 437.0 \n",
" 7080 \n",
" 32 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 59.0 \n",
" 0.495618 \n",
" \n",
" \n",
" 961 \n",
" 2/26/2015 \n",
" Quarter4 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.35 \n",
" 26.66 \n",
" 1164.0 \n",
" 6600 \n",
" 23 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 55.0 \n",
" 0.378895 \n",
" \n",
" \n",
" 966 \n",
" 2/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Saturday \n",
" 11 \n",
" 0.80 \n",
" 11.61 \n",
" 954.0 \n",
" 0 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.800779 \n",
" \n",
" \n",
" 970 \n",
" 2/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Saturday \n",
" 3 \n",
" 0.75 \n",
" 29.40 \n",
" 1144.0 \n",
" 4440 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.750717 \n",
" \n",
" \n",
" 972 \n",
" 2/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Saturday \n",
" 8 \n",
" 0.75 \n",
" 29.40 \n",
" 792.0 \n",
" 4560 \n",
" 56 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.750426 \n",
" \n",
" \n",
" 979 \n",
" 2/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Saturday \n",
" 1 \n",
" 0.50 \n",
" 26.66 \n",
" 1448.0 \n",
" 6840 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 57.0 \n",
" 0.550350 \n",
" \n",
" \n",
" 980 \n",
" 2/28/2015 \n",
" Quarter4 \n",
" sweing \n",
" Saturday \n",
" 4 \n",
" 0.50 \n",
" 26.66 \n",
" 556.0 \n",
" 6960 \n",
" 23 \n",
" 0.0 \n",
" 0 \n",
" 2 \n",
" 58.0 \n",
" 0.500258 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"744 2/12/2015 Quarter2 sweing Thursday 11 0.50 \n",
"761 2/14/2015 Quarter2 sweing Saturday 11 0.60 \n",
"777 2/15/2015 Quarter3 sweing Sunday 11 0.65 \n",
"798 2/16/2015 Quarter3 sweing Monday 8 0.70 \n",
"799 2/16/2015 Quarter3 sweing Monday 11 0.70 \n",
"813 2/17/2015 Quarter3 sweing Tuesday 11 0.70 \n",
"818 2/17/2015 Quarter3 sweing Tuesday 8 0.60 \n",
"826 2/18/2015 Quarter3 sweing Wednesday 11 0.70 \n",
"843 2/18/2015 Quarter3 sweing Wednesday 8 0.65 \n",
"854 2/19/2015 Quarter3 sweing Thursday 11 0.70 \n",
"855 2/19/2015 Quarter3 sweing Thursday 8 0.70 \n",
"874 2/22/2015 Quarter4 sweing Sunday 8 0.70 \n",
"876 2/22/2015 Quarter4 sweing Sunday 11 0.75 \n",
"878 2/22/2015 Quarter4 sweing Sunday 3 0.70 \n",
"893 2/23/2015 Quarter4 sweing Monday 11 0.75 \n",
"895 2/23/2015 Quarter4 sweing Monday 8 0.70 \n",
"896 2/23/2015 Quarter4 sweing Monday 3 0.70 \n",
"911 2/24/2015 Quarter4 sweing Tuesday 11 0.75 \n",
"912 2/24/2015 Quarter4 sweing Tuesday 3 0.75 \n",
"916 2/24/2015 Quarter4 sweing Tuesday 8 0.70 \n",
"929 2/25/2015 Quarter4 sweing Wednesday 7 0.80 \n",
"932 2/25/2015 Quarter4 sweing Wednesday 3 0.75 \n",
"935 2/25/2015 Quarter4 sweing Wednesday 10 0.70 \n",
"946 2/26/2015 Quarter4 sweing Thursday 11 0.80 \n",
"950 2/26/2015 Quarter4 sweing Thursday 3 0.75 \n",
"952 2/26/2015 Quarter4 sweing Thursday 8 0.75 \n",
"957 2/26/2015 Quarter4 sweing Thursday 4 0.80 \n",
"961 2/26/2015 Quarter4 sweing Thursday 1 0.35 \n",
"966 2/28/2015 Quarter4 sweing Saturday 11 0.80 \n",
"970 2/28/2015 Quarter4 sweing Saturday 3 0.75 \n",
"972 2/28/2015 Quarter4 sweing Saturday 8 0.75 \n",
"979 2/28/2015 Quarter4 sweing Saturday 1 0.50 \n",
"980 2/28/2015 Quarter4 sweing Saturday 4 0.50 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"744 11.41 1039.0 2280 0 0.0 0 \n",
"761 11.41 1039.0 2280 23 0.0 0 \n",
"777 11.41 700.0 2640 23 0.0 0 \n",
"798 30.10 7.0 7080 27 2.0 10 \n",
"799 11.41 680.0 2160 30 0.0 0 \n",
"813 11.41 1054.0 3420 30 0.0 0 \n",
"818 29.40 179.0 0 23 5.0 30 \n",
"826 11.41 685.0 3360 30 0.0 0 \n",
"843 29.40 962.0 4560 0 4.5 30 \n",
"854 11.41 653.0 3480 30 0.0 0 \n",
"855 29.40 1116.0 6240 0 0.0 0 \n",
"874 29.40 1146.0 6840 40 0.0 0 \n",
"876 11.41 834.0 3480 0 0.0 0 \n",
"878 30.10 1041.0 8160 33 0.0 0 \n",
"893 11.41 826.0 2820 0 0.0 0 \n",
"895 29.40 1094.0 6840 40 0.0 0 \n",
"896 29.40 1228.0 6960 30 0.0 0 \n",
"911 11.61 698.0 3360 34 0.0 0 \n",
"912 29.40 1172.0 5340 45 0.0 0 \n",
"916 29.40 1079.0 4560 40 0.0 0 \n",
"929 30.10 786.0 7080 50 0.0 0 \n",
"932 29.40 1283.0 6960 45 0.0 0 \n",
"935 21.82 1653.0 6240 0 0.0 0 \n",
"946 11.61 816.0 2820 50 0.0 0 \n",
"950 29.40 1244.0 6840 45 0.0 0 \n",
"952 29.40 916.0 6960 56 0.0 0 \n",
"957 30.10 437.0 7080 32 0.0 0 \n",
"961 26.66 1164.0 6600 23 0.0 0 \n",
"966 11.61 954.0 0 50 0.0 0 \n",
"970 29.40 1144.0 4440 45 0.0 0 \n",
"972 29.40 792.0 4560 56 0.0 0 \n",
"979 26.66 1448.0 6840 30 0.0 0 \n",
"980 26.66 556.0 6960 23 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"744 2 55.0 0.500123 \n",
"761 2 55.0 0.600448 \n",
"777 2 53.0 0.650224 \n",
"798 2 59.0 0.621972 \n",
"799 2 54.0 0.565972 \n",
"813 2 56.0 0.700614 \n",
"818 2 58.0 0.600983 \n",
"826 2 56.0 0.821113 \n",
"843 2 57.0 0.251399 \n",
"854 2 58.0 0.700540 \n",
"855 2 57.0 0.700000 \n",
"874 2 57.0 0.700614 \n",
"876 2 58.0 0.672141 \n",
"878 2 58.0 0.626578 \n",
"893 2 58.0 0.750294 \n",
"895 2 57.0 0.700614 \n",
"896 2 58.0 0.700362 \n",
"911 2 57.0 0.750437 \n",
"912 2 60.0 0.750177 \n",
"916 2 58.0 0.700519 \n",
"929 2 59.0 0.800116 \n",
"932 2 58.0 0.750207 \n",
"935 2 52.0 0.700058 \n",
"946 2 57.0 0.800517 \n",
"950 2 57.0 0.750474 \n",
"952 2 58.0 0.750207 \n",
"957 2 59.0 0.495618 \n",
"961 2 55.0 0.378895 \n",
"966 2 58.0 0.800779 \n",
"970 2 57.0 0.750717 \n",
"972 2 58.0 0.750426 \n",
"979 2 57.0 0.550350 \n",
"980 2 58.0 0.500258 "
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"no_of_style_change\"] == 2]"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "9912a033",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"33"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df[df[\"no_of_style_change\"] == 2])"
]
},
{
"cell_type": "markdown",
"id": "d123450c",
"metadata": {},
"source": [
"Only 33 observations in the whole dataset included two changes of style."
]
},
{
"cell_type": "markdown",
"id": "d473159a",
"metadata": {},
"source": [
"## \"no_of_workers\" column\n",
"\n",
"For this column, an interesting option could be to explore different observations that surpass a certain number of workers in each team. An alternative could be to inspect the observations where teams are very small.\n",
"\n",
"Let's use the 75% percentile (57) as a threshold."
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "5571ae76",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 1108.0 \n",
" 7080 \n",
" 98 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 7 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 3 \n",
" 0.75 \n",
" 28.08 \n",
" 795.0 \n",
" 6900 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 0.753683 \n",
" \n",
" \n",
" 9 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 28.08 \n",
" 681.0 \n",
" 6900 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 0.750428 \n",
" \n",
" \n",
" 10 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 9 \n",
" 0.70 \n",
" 28.08 \n",
" 872.0 \n",
" 6900 \n",
" 44 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 57.5 \n",
" 0.721127 \n",
" \n",
" \n",
" 17 \n",
" 1/1/2015 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 4 \n",
" 0.65 \n",
" 23.69 \n",
" 861.0 \n",
" 7200 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 60.0 \n",
" 0.521180 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 1179 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 3 \n",
" 0.80 \n",
" 30.10 \n",
" 735.0 \n",
" 6960 \n",
" 63 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.800072 \n",
" \n",
" \n",
" 1180 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 11 \n",
" 0.80 \n",
" 11.41 \n",
" 560.0 \n",
" 3420 \n",
" 50 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 58.0 \n",
" 0.800035 \n",
" \n",
" \n",
" 1186 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 1 \n",
" 0.75 \n",
" 26.82 \n",
" 1322.0 \n",
" 7080 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.750051 \n",
" \n",
" \n",
" 1187 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 4 \n",
" 0.75 \n",
" 26.82 \n",
" 1054.0 \n",
" 7080 \n",
" 45 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.750051 \n",
" \n",
" \n",
" 1188 \n",
" 3/11/2015 \n",
" Quarter2 \n",
" sweing \n",
" Wednesday \n",
" 5 \n",
" 0.70 \n",
" 26.82 \n",
" 992.0 \n",
" 6960 \n",
" 30 \n",
" 0.0 \n",
" 0 \n",
" 1 \n",
" 58.0 \n",
" 0.700557 \n",
" \n",
" \n",
"
\n",
"
248 rows × 15 columns
\n",
"
"
],
"text/plain": [
" date quarter department day team targeted_productivity \\\n",
"0 1/1/2015 Quarter1 sweing Thursday 8 0.80 \n",
"7 1/1/2015 Quarter1 sweing Thursday 3 0.75 \n",
"9 1/1/2015 Quarter1 sweing Thursday 1 0.75 \n",
"10 1/1/2015 Quarter1 sweing Thursday 9 0.70 \n",
"17 1/1/2015 Quarter1 sweing Thursday 4 0.65 \n",
"... ... ... ... ... ... ... \n",
"1179 3/11/2015 Quarter2 sweing Wednesday 3 0.80 \n",
"1180 3/11/2015 Quarter2 sweing Wednesday 11 0.80 \n",
"1186 3/11/2015 Quarter2 sweing Wednesday 1 0.75 \n",
"1187 3/11/2015 Quarter2 sweing Wednesday 4 0.75 \n",
"1188 3/11/2015 Quarter2 sweing Wednesday 5 0.70 \n",
"\n",
" smv wip over_time incentive idle_time idle_men \\\n",
"0 26.16 1108.0 7080 98 0.0 0 \n",
"7 28.08 795.0 6900 45 0.0 0 \n",
"9 28.08 681.0 6900 45 0.0 0 \n",
"10 28.08 872.0 6900 44 0.0 0 \n",
"17 23.69 861.0 7200 0 0.0 0 \n",
"... ... ... ... ... ... ... \n",
"1179 30.10 735.0 6960 63 0.0 0 \n",
"1180 11.41 560.0 3420 50 0.0 0 \n",
"1186 26.82 1322.0 7080 45 0.0 0 \n",
"1187 26.82 1054.0 7080 45 0.0 0 \n",
"1188 26.82 992.0 6960 30 0.0 0 \n",
"\n",
" no_of_style_change no_of_workers actual_productivity \n",
"0 0 59.0 0.940725 \n",
"7 0 57.5 0.753683 \n",
"9 0 57.5 0.750428 \n",
"10 0 57.5 0.721127 \n",
"17 0 60.0 0.521180 \n",
"... ... ... ... \n",
"1179 1 58.0 0.800072 \n",
"1180 0 58.0 0.800035 \n",
"1186 0 59.0 0.750051 \n",
"1187 0 59.0 0.750051 \n",
"1188 1 58.0 0.700557 \n",
"\n",
"[248 rows x 15 columns]"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"no_of_workers\"] > 57]"
]
},
{
"cell_type": "markdown",
"id": "8359954c",
"metadata": {},
"source": [
"Also, as a \"sanity check\", we can verify if there are incorrect observations with teams of 0 people."
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "04e4a5b7",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" date \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
"Empty DataFrame\n",
"Columns: [date, quarter, department, day, team, targeted_productivity, smv, wip, over_time, incentive, idle_time, idle_men, no_of_style_change, no_of_workers, actual_productivity]\n",
"Index: []"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"no_of_workers\"] == 0]"
]
},
{
"cell_type": "markdown",
"id": "f5a3b8e2",
"metadata": {},
"source": [
"## Dataset Cleaning (I)"
]
},
{
"cell_type": "markdown",
"id": "23630dab",
"metadata": {},
"source": [
"After properly exploring all the columns, we're now finally able to start cleaning and preparing the data for our Decision Tree model!\n",
"\n",
"Let's start with the \"department\" column where we found a trailing space that generated two different \"finishing\" values."
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "129e68d7",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['sweing', 'finishing ', 'finishing'], dtype=object)"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"department\"].unique()"
]
},
{
"cell_type": "markdown",
"id": "240ca8d9",
"metadata": {},
"source": [
"With the following code, we'll select the observations where \"finishing\" has a trailing space at the end, and then we'll remove it by replacing it with the correctly formatted word. \n",
"\n",
"Therefore, the values will be merged and now we will also get the correct value counts."
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "a4266dad",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"sweing 691\n",
"finishing 506\n",
"Name: department, dtype: int64"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df[\"department\"] == \"finishing \", \"department\"] = \"finishing\"\n",
"df[\"department\"].value_counts()"
]
},
{
"cell_type": "markdown",
"id": "574e93be",
"metadata": {},
"source": [
"- - -\n",
"\n",
"Regarding the \"date\" column, while it provides useful information (that observations take place in a three month period, from January 1, 2015 to March 11, 2015), it would've been better if the column included observations for the twelve months in a year. In this way it would have potentially offered more predictive power; for instance, by detecting seasonal tendencies (i.e. by revealing that workers tend to decrease productivity during winter).\n",
"\n",
"It's possible that you might want to still keep the column, despite the short period it covers, and in that case you're welcome to explore that possibility!"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "3c4085f9",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" idle_time \n",
" idle_men \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" Quarter1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 1108.0 \n",
" 7080 \n",
" 98 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 1 \n",
" Quarter1 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0.0 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.886500 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter department day team targeted_productivity smv wip \\\n",
"0 Quarter1 sweing Thursday 8 0.80 26.16 1108.0 \n",
"1 Quarter1 finishing Thursday 1 0.75 3.94 NaN \n",
"\n",
" over_time incentive idle_time idle_men no_of_style_change \\\n",
"0 7080 98 0.0 0 0 \n",
"1 960 0 0.0 0 0 \n",
"\n",
" no_of_workers actual_productivity \n",
"0 59.0 0.940725 \n",
"1 8.0 0.886500 "
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop(\"date\", axis = 1)\n",
"df.head(2)"
]
},
{
"cell_type": "markdown",
"id": "5b0d5fec",
"metadata": {},
"source": [
"- - -\n",
"\n",
"The same applies to the \"quarter\" column, in the sense that this isn't something set in stone: for this one, we decided to merge the \"quarter5\" values into the \"quarter4\" ones. This is because we will be creating \"dummies\" for the \"quarter\" column, and since \"quarter5\" only features 44 observations and covers two days (January 29th and 31st), it may be a bit unnecessary to generate a whole column for such a small amount of observations.\n",
"\n",
"However, if you want to keep the \"quarter5\" classification and see what's the outcome during the Machine Learning phase, feel free to try it!"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "ccb30109",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Quarter1 360\n",
"Quarter2 335\n",
"Quarter4 292\n",
"Quarter3 210\n",
"Name: quarter, dtype: int64"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df[\"quarter\"] == \"Quarter5\", \"quarter\"] = \"Quarter4\"\n",
"df[\"quarter\"].value_counts()"
]
},
{
"cell_type": "markdown",
"id": "8c61071d",
"metadata": {},
"source": [
"In addition, it's unnecessary to feature the words \"quarter\" for every value, when we can simply use integers."
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "4b0882e3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 360\n",
"2 335\n",
"4 292\n",
"3 210\n",
"Name: quarter, dtype: int64"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.loc[df[\"quarter\"] == \"Quarter1\", \"quarter\"] = 1\n",
"df.loc[df[\"quarter\"] == \"Quarter2\", \"quarter\"] = 2\n",
"df.loc[df[\"quarter\"] == \"Quarter3\", \"quarter\"] = 3\n",
"df.loc[df[\"quarter\"] == \"Quarter4\", \"quarter\"] = 4\n",
"df[\"quarter\"].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "d96f4c0e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"RangeIndex: 1197 entries, 0 to 1196\n",
"Data columns (total 1 columns):\n",
" # Column Non-Null Count Dtype\n",
"--- ------ -------------- -----\n",
" 0 quarter 1197 non-null int64\n",
"dtypes: int64(1)\n",
"memory usage: 9.5 KB\n"
]
}
],
"source": [
"df[\"quarter\"] = df[\"quarter\"].astype(\"int\")\n",
"df[[\"quarter\"]].info()"
]
},
{
"cell_type": "markdown",
"id": "e6c53f32",
"metadata": {},
"source": [
"- - -\n",
"\n",
"We will get rid of the \"idle_time\" & \"idle_men\" columns, as there are only 18 observations with non-zero values. Therefore they are pretty uniform columns and they barely add any information."
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "4d680928",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" wip \n",
" over_time \n",
" incentive \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 1108.0 \n",
" 7080 \n",
" 98 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" NaN \n",
" 960 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.886500 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter department day team targeted_productivity smv wip \\\n",
"0 1 sweing Thursday 8 0.80 26.16 1108.0 \n",
"1 1 finishing Thursday 1 0.75 3.94 NaN \n",
"\n",
" over_time incentive no_of_style_change no_of_workers \\\n",
"0 7080 98 0 59.0 \n",
"1 960 0 0 8.0 \n",
"\n",
" actual_productivity \n",
"0 0.940725 \n",
"1 0.886500 "
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop([\"idle_time\", \"idle_men\"], axis = 1)\n",
"df.head(2)"
]
},
{
"cell_type": "markdown",
"id": "b17ee055",
"metadata": {},
"source": [
"We will also delete the \"wip\" column. It has too many empty observations, and we can't tell if an empty\n",
"cell is equal to zero unfinished products or if it's simply missing information. Due to this uncertainty, the column should be removed."
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "ac0d964c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" over_time \n",
" incentive \n",
" no_of_style_change \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 7080 \n",
" 98 \n",
" 0 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" 960 \n",
" 0 \n",
" 0 \n",
" 8.0 \n",
" 0.886500 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter department day team targeted_productivity smv \\\n",
"0 1 sweing Thursday 8 0.80 26.16 \n",
"1 1 finishing Thursday 1 0.75 3.94 \n",
"\n",
" over_time incentive no_of_style_change no_of_workers \\\n",
"0 7080 98 0 59.0 \n",
"1 960 0 0 8.0 \n",
"\n",
" actual_productivity \n",
"0 0.940725 \n",
"1 0.886500 "
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop(\"wip\", axis = 1)\n",
"df.head(2)"
]
},
{
"cell_type": "markdown",
"id": "c02abcf1",
"metadata": {},
"source": [
"Finally, we will remove the \"no_of_style_change\" column, due to only 147 observations where there are changes. Also, they were only one or two style changes."
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "5a26478f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" over_time \n",
" incentive \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 7080 \n",
" 98 \n",
" 59.0 \n",
" 0.940725 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" 960 \n",
" 0 \n",
" 8.0 \n",
" 0.886500 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter department day team targeted_productivity smv \\\n",
"0 1 sweing Thursday 8 0.80 26.16 \n",
"1 1 finishing Thursday 1 0.75 3.94 \n",
"\n",
" over_time incentive no_of_workers actual_productivity \n",
"0 7080 98 59.0 0.940725 \n",
"1 960 0 8.0 0.886500 "
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df.drop(\"no_of_style_change\", axis = 1)\n",
"df.head(2)"
]
},
{
"cell_type": "markdown",
"id": "61ab2213",
"metadata": {},
"source": [
"- - -\n",
"\n",
"After finishing with all the column deletions, let's focus on the \"no_of_workers\" column, which features floats instead of integers. We should fix this because we can't have 1.25 workers; it's either 1 or 2."
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "e9a42b65",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" over_time \n",
" incentive \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 7080 \n",
" 98 \n",
" 59 \n",
" 0.940725 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" 960 \n",
" 0 \n",
" 8 \n",
" 0.886500 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter department day team targeted_productivity smv \\\n",
"0 1 sweing Thursday 8 0.80 26.16 \n",
"1 1 finishing Thursday 1 0.75 3.94 \n",
"\n",
" over_time incentive no_of_workers actual_productivity \n",
"0 7080 98 59 0.940725 \n",
"1 960 0 8 0.886500 "
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"no_of_workers\"] = df[\"no_of_workers\"].astype(\"int\")\n",
"df.head(2)"
]
},
{
"cell_type": "markdown",
"id": "cfe5dba8",
"metadata": {},
"source": [
"- - -\n",
"\n",
"Also, \"actual_productivity\" should feature two decimals, just like \"targeted_productivity\"."
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "b3d5cdec",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" over_time \n",
" incentive \n",
" no_of_workers \n",
" actual_productivity \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" sweing \n",
" Thursday \n",
" 8 \n",
" 0.80 \n",
" 26.16 \n",
" 7080 \n",
" 98 \n",
" 59 \n",
" 0.94 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" finishing \n",
" Thursday \n",
" 1 \n",
" 0.75 \n",
" 3.94 \n",
" 960 \n",
" 0 \n",
" 8 \n",
" 0.89 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter department day team targeted_productivity smv \\\n",
"0 1 sweing Thursday 8 0.80 26.16 \n",
"1 1 finishing Thursday 1 0.75 3.94 \n",
"\n",
" over_time incentive no_of_workers actual_productivity \n",
"0 7080 98 59 0.94 \n",
"1 960 0 8 0.89 "
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"actual_productivity\"] = df[\"actual_productivity\"].round(2)\n",
"df.head(2)"
]
},
{
"cell_type": "markdown",
"id": "0b4e8d6d",
"metadata": {},
"source": [
"- - -\n",
"\n",
"The following step is crucial: since we are building a Classification Tree and not a Regression Tree, our target column \"actual_productivity\" must be categorical, not numerical.\n",
"\n",
"To accomplish this, we will create a new column called \"productive\". It will feature boolean values indicating if the productivity targets were achieved for each observation in the dataset."
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "d49793cf",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" department \n",
" day \n",
" team \n",
" targeted_productivity \n",
" smv \n",
" over_time \n",
" incentive \n",
" no_of_workers \n",
" actual_productivity \n",
" productive \n",
" \n",
" \n",
" \n",
" \n",
" 959 \n",
" 4 \n",
" finishing \n",
" Thursday \n",
" 10 \n",
" 0.70 \n",
" 2.90 \n",
" 3360 \n",
" 0 \n",
" 8 \n",
" 0.41 \n",
" False \n",
" \n",
" \n",
" 464 \n",
" 4 \n",
" finishing \n",
" Tuesday \n",
" 8 \n",
" 0.65 \n",
" 3.94 \n",
" 960 \n",
" 0 \n",
" 8 \n",
" 0.85 \n",
" True \n",
" \n",
" \n",
" 672 \n",
" 2 \n",
" sweing \n",
" Sunday \n",
" 7 \n",
" 0.70 \n",
" 24.26 \n",
" 6960 \n",
" 0 \n",
" 58 \n",
" 0.36 \n",
" False \n",
" \n",
" \n",
" 321 \n",
" 3 \n",
" sweing \n",
" Monday \n",
" 6 \n",
" 0.80 \n",
" 11.41 \n",
" 4380 \n",
" 50 \n",
" 31 \n",
" 0.80 \n",
" True \n",
" \n",
" \n",
" 282 \n",
" 3 \n",
" finishing \n",
" Saturday \n",
" 9 \n",
" 0.80 \n",
" 3.94 \n",
" 1800 \n",
" 0 \n",
" 10 \n",
" 0.83 \n",
" True \n",
" \n",
" \n",
" 307 \n",
" 3 \n",
" sweing \n",
" Sunday \n",
" 10 \n",
" 0.70 \n",
" 22.52 \n",
" 10080 \n",
" 40 \n",
" 56 \n",
" 0.70 \n",
" True \n",
" \n",
" \n",
" 609 \n",
" 1 \n",
" finishing \n",
" Wednesday \n",
" 9 \n",
" 0.75 \n",
" 3.94 \n",
" 960 \n",
" 0 \n",
" 8 \n",
" 0.76 \n",
" True \n",
" \n",
" \n",
" 1123 \n",
" 2 \n",
" sweing \n",
" Sunday \n",
" 8 \n",
" 0.60 \n",
" 30.48 \n",
" 6720 \n",
" 0 \n",
" 56 \n",
" 0.60 \n",
" True \n",
" \n",
" \n",
" 877 \n",
" 4 \n",
" sweing \n",
" Sunday \n",
" 9 \n",
" 0.70 \n",
" 18.79 \n",
" 3240 \n",
" 30 \n",
" 57 \n",
" 0.63 \n",
" False \n",
" \n",
" \n",
" 950 \n",
" 4 \n",
" sweing \n",
" Thursday \n",
" 3 \n",
" 0.75 \n",
" 29.40 \n",
" 6840 \n",
" 45 \n",
" 57 \n",
" 0.75 \n",
" True \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter department day team targeted_productivity smv \\\n",
"959 4 finishing Thursday 10 0.70 2.90 \n",
"464 4 finishing Tuesday 8 0.65 3.94 \n",
"672 2 sweing Sunday 7 0.70 24.26 \n",
"321 3 sweing Monday 6 0.80 11.41 \n",
"282 3 finishing Saturday 9 0.80 3.94 \n",
"307 3 sweing Sunday 10 0.70 22.52 \n",
"609 1 finishing Wednesday 9 0.75 3.94 \n",
"1123 2 sweing Sunday 8 0.60 30.48 \n",
"877 4 sweing Sunday 9 0.70 18.79 \n",
"950 4 sweing Thursday 3 0.75 29.40 \n",
"\n",
" over_time incentive no_of_workers actual_productivity productive \n",
"959 3360 0 8 0.41 False \n",
"464 960 0 8 0.85 True \n",
"672 6960 0 58 0.36 False \n",
"321 4380 50 31 0.80 True \n",
"282 1800 0 10 0.83 True \n",
"307 10080 40 56 0.70 True \n",
"609 960 0 8 0.76 True \n",
"1123 6720 0 56 0.60 True \n",
"877 3240 30 57 0.63 False \n",
"950 6840 45 57 0.75 True "
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"productive\"] = df[\"actual_productivity\"] >= df[\"targeted_productivity\"]\n",
"df.sample(10, random_state = 14)"
]
},
{
"cell_type": "markdown",
"id": "47ef8e93",
"metadata": {},
"source": [
"- - -\n",
"\n",
"We have removed a number of columns by this point. Let's see which ones still remain."
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "47db8f79",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['quarter', 'department', 'day', 'team', 'targeted_productivity', 'smv',\n",
" 'over_time', 'incentive', 'no_of_workers', 'actual_productivity',\n",
" 'productive'],\n",
" dtype='object')"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.columns"
]
},
{
"cell_type": "markdown",
"id": "87a53552",
"metadata": {},
"source": [
"To finish with this part of the data cleaning process, we will reorder the columns to make the dataset easier to read."
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "e25eedc5",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" day \n",
" department \n",
" team \n",
" no_of_workers \n",
" targeted_productivity \n",
" actual_productivity \n",
" productive \n",
" over_time \n",
" smv \n",
" incentive \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" Thursday \n",
" sweing \n",
" 8 \n",
" 59 \n",
" 0.80 \n",
" 0.94 \n",
" True \n",
" 7080 \n",
" 26.16 \n",
" 98 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" Thursday \n",
" finishing \n",
" 1 \n",
" 8 \n",
" 0.75 \n",
" 0.89 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" \n",
" \n",
" 2 \n",
" 1 \n",
" Thursday \n",
" sweing \n",
" 11 \n",
" 30 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 3660 \n",
" 11.41 \n",
" 50 \n",
" \n",
" \n",
" 3 \n",
" 1 \n",
" Thursday \n",
" sweing \n",
" 12 \n",
" 30 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 3660 \n",
" 11.41 \n",
" 50 \n",
" \n",
" \n",
" 4 \n",
" 1 \n",
" Thursday \n",
" sweing \n",
" 6 \n",
" 56 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 1920 \n",
" 25.90 \n",
" 50 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter day department team no_of_workers targeted_productivity \\\n",
"0 1 Thursday sweing 8 59 0.80 \n",
"1 1 Thursday finishing 1 8 0.75 \n",
"2 1 Thursday sweing 11 30 0.80 \n",
"3 1 Thursday sweing 12 30 0.80 \n",
"4 1 Thursday sweing 6 56 0.80 \n",
"\n",
" actual_productivity productive over_time smv incentive \n",
"0 0.94 True 7080 26.16 98 \n",
"1 0.89 True 960 3.94 0 \n",
"2 0.80 True 3660 11.41 50 \n",
"3 0.80 True 3660 11.41 50 \n",
"4 0.80 True 1920 25.90 50 "
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = df[[\"quarter\", \"day\", \"department\", \"team\", \"no_of_workers\", \"targeted_productivity\", \n",
" \"actual_productivity\", \"productive\", \"over_time\", \"smv\", \"incentive\"]]\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"id": "030680e3",
"metadata": {},
"source": [
"## Dataset Cleaning (II)"
]
},
{
"cell_type": "markdown",
"id": "0bb2f88c",
"metadata": {},
"source": [
"We will now apply categorical encoding to the \"department\" column, which includes binary values. We'll transform them into booleans:"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "69e1340a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" quarter \n",
" day \n",
" dept_sweing \n",
" team \n",
" no_of_workers \n",
" targeted_productivity \n",
" actual_productivity \n",
" productive \n",
" over_time \n",
" smv \n",
" incentive \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" Thursday \n",
" 1 \n",
" 8 \n",
" 59 \n",
" 0.80 \n",
" 0.94 \n",
" True \n",
" 7080 \n",
" 26.16 \n",
" 98 \n",
" \n",
" \n",
" 1 \n",
" 1 \n",
" Thursday \n",
" 0 \n",
" 1 \n",
" 8 \n",
" 0.75 \n",
" 0.89 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" \n",
" \n",
" 2 \n",
" 1 \n",
" Thursday \n",
" 1 \n",
" 11 \n",
" 30 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 3660 \n",
" 11.41 \n",
" 50 \n",
" \n",
" \n",
" 3 \n",
" 1 \n",
" Thursday \n",
" 1 \n",
" 12 \n",
" 30 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 3660 \n",
" 11.41 \n",
" 50 \n",
" \n",
" \n",
" 4 \n",
" 1 \n",
" Thursday \n",
" 1 \n",
" 6 \n",
" 56 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 1920 \n",
" 25.90 \n",
" 50 \n",
" \n",
" \n",
" 5 \n",
" 1 \n",
" Thursday \n",
" 1 \n",
" 7 \n",
" 56 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 6720 \n",
" 25.90 \n",
" 38 \n",
" \n",
" \n",
" 6 \n",
" 1 \n",
" Thursday \n",
" 0 \n",
" 2 \n",
" 8 \n",
" 0.75 \n",
" 0.76 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" \n",
" \n",
" 7 \n",
" 1 \n",
" Thursday \n",
" 1 \n",
" 3 \n",
" 57 \n",
" 0.75 \n",
" 0.75 \n",
" True \n",
" 6900 \n",
" 28.08 \n",
" 45 \n",
" \n",
" \n",
" 8 \n",
" 1 \n",
" Thursday \n",
" 1 \n",
" 2 \n",
" 55 \n",
" 0.75 \n",
" 0.75 \n",
" True \n",
" 6000 \n",
" 19.87 \n",
" 34 \n",
" \n",
" \n",
" 9 \n",
" 1 \n",
" Thursday \n",
" 1 \n",
" 1 \n",
" 57 \n",
" 0.75 \n",
" 0.75 \n",
" True \n",
" 6900 \n",
" 28.08 \n",
" 45 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" quarter day dept_sweing team no_of_workers targeted_productivity \\\n",
"0 1 Thursday 1 8 59 0.80 \n",
"1 1 Thursday 0 1 8 0.75 \n",
"2 1 Thursday 1 11 30 0.80 \n",
"3 1 Thursday 1 12 30 0.80 \n",
"4 1 Thursday 1 6 56 0.80 \n",
"5 1 Thursday 1 7 56 0.80 \n",
"6 1 Thursday 0 2 8 0.75 \n",
"7 1 Thursday 1 3 57 0.75 \n",
"8 1 Thursday 1 2 55 0.75 \n",
"9 1 Thursday 1 1 57 0.75 \n",
"\n",
" actual_productivity productive over_time smv incentive \n",
"0 0.94 True 7080 26.16 98 \n",
"1 0.89 True 960 3.94 0 \n",
"2 0.80 True 3660 11.41 50 \n",
"3 0.80 True 3660 11.41 50 \n",
"4 0.80 True 1920 25.90 50 \n",
"5 0.80 True 6720 25.90 38 \n",
"6 0.76 True 960 3.94 0 \n",
"7 0.75 True 6900 28.08 45 \n",
"8 0.75 True 6000 19.87 34 \n",
"9 0.75 True 6900 28.08 45 "
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"department\"].replace({\"finishing\": 0, \"sweing\": 1}, inplace = True)\n",
"df.rename(columns = {\"department\": \"dept_sweing\"}, inplace = True) # Also changing column's name here\n",
"df.head(10)"
]
},
{
"cell_type": "markdown",
"id": "a29ba179",
"metadata": {},
"source": [
"The \"department\" column is now called \"dept_sweing\" and its values have to be interpreted in boolean terms: if it's 1 (or \"True\"), it means the observation belongs to the \"sweing\" department; if it's 0 (\"False\"), then it belongs to the \"finishing\" department."
]
},
{
"cell_type": "markdown",
"id": "5bb6f9db",
"metadata": {},
"source": [
"- - -\n",
"\n",
"For the \"quarter\" column, we will use \"dummies\", because if we leave the numbers as they currently are, the Decision Tree would believe that quarter 4 is greater than quarter 1, for example. \n",
"\n",
"In other words, since they are categories instead of ordinal values, every category must have its own column, and the boolean process that we described for the previous column applies here. In case this isn't clear, we will be examining an example after performing the necessary data transformations.\n",
"\n",
"The following code creates the dummies and also removes the original \"quarter\" column. The prefix parameter adds a \"q_\" prefix to all columns, so we can easily identify which ones are the dummies. Hence, the result will be to add four new columns to our dataset: \"q_1\", \"q_2\", \"q_3\" and \"q_4\"."
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "a2b31edc",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" day \n",
" dept_sweing \n",
" team \n",
" no_of_workers \n",
" targeted_productivity \n",
" actual_productivity \n",
" productive \n",
" over_time \n",
" smv \n",
" incentive \n",
" q_1 \n",
" q_2 \n",
" q_3 \n",
" q_4 \n",
" \n",
" \n",
" \n",
" \n",
" 959 \n",
" Thursday \n",
" 0 \n",
" 10 \n",
" 8 \n",
" 0.70 \n",
" 0.41 \n",
" False \n",
" 3360 \n",
" 2.90 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" \n",
" \n",
" 464 \n",
" Tuesday \n",
" 0 \n",
" 8 \n",
" 8 \n",
" 0.65 \n",
" 0.85 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" \n",
" \n",
" 672 \n",
" Sunday \n",
" 1 \n",
" 7 \n",
" 58 \n",
" 0.70 \n",
" 0.36 \n",
" False \n",
" 6960 \n",
" 24.26 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 321 \n",
" Monday \n",
" 1 \n",
" 6 \n",
" 31 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 4380 \n",
" 11.41 \n",
" 50 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" \n",
" \n",
" 282 \n",
" Saturday \n",
" 0 \n",
" 9 \n",
" 10 \n",
" 0.80 \n",
" 0.83 \n",
" True \n",
" 1800 \n",
" 3.94 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" \n",
" \n",
" 307 \n",
" Sunday \n",
" 1 \n",
" 10 \n",
" 56 \n",
" 0.70 \n",
" 0.70 \n",
" True \n",
" 10080 \n",
" 22.52 \n",
" 40 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" \n",
" \n",
" 609 \n",
" Wednesday \n",
" 0 \n",
" 9 \n",
" 8 \n",
" 0.75 \n",
" 0.76 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 1123 \n",
" Sunday \n",
" 1 \n",
" 8 \n",
" 56 \n",
" 0.60 \n",
" 0.60 \n",
" True \n",
" 6720 \n",
" 30.48 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 877 \n",
" Sunday \n",
" 1 \n",
" 9 \n",
" 57 \n",
" 0.70 \n",
" 0.63 \n",
" False \n",
" 3240 \n",
" 18.79 \n",
" 30 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" \n",
" \n",
" 950 \n",
" Thursday \n",
" 1 \n",
" 3 \n",
" 57 \n",
" 0.75 \n",
" 0.75 \n",
" True \n",
" 6840 \n",
" 29.40 \n",
" 45 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" day dept_sweing team no_of_workers targeted_productivity \\\n",
"959 Thursday 0 10 8 0.70 \n",
"464 Tuesday 0 8 8 0.65 \n",
"672 Sunday 1 7 58 0.70 \n",
"321 Monday 1 6 31 0.80 \n",
"282 Saturday 0 9 10 0.80 \n",
"307 Sunday 1 10 56 0.70 \n",
"609 Wednesday 0 9 8 0.75 \n",
"1123 Sunday 1 8 56 0.60 \n",
"877 Sunday 1 9 57 0.70 \n",
"950 Thursday 1 3 57 0.75 \n",
"\n",
" actual_productivity productive over_time smv incentive q_1 q_2 \\\n",
"959 0.41 False 3360 2.90 0 0 0 \n",
"464 0.85 True 960 3.94 0 0 0 \n",
"672 0.36 False 6960 24.26 0 0 1 \n",
"321 0.80 True 4380 11.41 50 0 0 \n",
"282 0.83 True 1800 3.94 0 0 0 \n",
"307 0.70 True 10080 22.52 40 0 0 \n",
"609 0.76 True 960 3.94 0 1 0 \n",
"1123 0.60 True 6720 30.48 0 0 1 \n",
"877 0.63 False 3240 18.79 30 0 0 \n",
"950 0.75 True 6840 29.40 45 0 0 \n",
"\n",
" q_3 q_4 \n",
"959 0 1 \n",
"464 0 1 \n",
"672 0 0 \n",
"321 1 0 \n",
"282 1 0 \n",
"307 1 0 \n",
"609 0 0 \n",
"1123 0 0 \n",
"877 0 1 \n",
"950 0 1 "
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.concat([df, pd.get_dummies(df[\"quarter\"], prefix = \"q\")], axis = 1) \\\n",
" .drop([\"quarter\"], axis = 1)\n",
"df.sample(10, random_state = 14)"
]
},
{
"cell_type": "markdown",
"id": "3af1b6e7",
"metadata": {},
"source": [
"The best way to interpret these new columns is by looking at an example. Let's focus on the first observation (959): we see that it has a \"1\" in the \"q_4\" column and \"0\" in all the others. This means the observation belongs to the fourth quarter.\n",
"\n",
"We can see that dummies will always have a \"1\" in a column to designate the category to which the observation belongs, and the rest of the columns will only contain \"0\" values.\n",
"\n",
"Let's now repeat this process for the \"day\" column. Remember that for this one there are no \"Friday\" observations."
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "e215bd49",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" dept_sweing \n",
" team \n",
" no_of_workers \n",
" targeted_productivity \n",
" actual_productivity \n",
" productive \n",
" over_time \n",
" smv \n",
" incentive \n",
" q_1 \n",
" q_2 \n",
" q_3 \n",
" q_4 \n",
" Monday \n",
" Saturday \n",
" Sunday \n",
" Thursday \n",
" Tuesday \n",
" Wednesday \n",
" \n",
" \n",
" \n",
" \n",
" 959 \n",
" 0 \n",
" 10 \n",
" 8 \n",
" 0.70 \n",
" 0.41 \n",
" False \n",
" 3360 \n",
" 2.90 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 464 \n",
" 0 \n",
" 8 \n",
" 8 \n",
" 0.65 \n",
" 0.85 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" \n",
" \n",
" 672 \n",
" 1 \n",
" 7 \n",
" 58 \n",
" 0.70 \n",
" 0.36 \n",
" False \n",
" 6960 \n",
" 24.26 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 321 \n",
" 1 \n",
" 6 \n",
" 31 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 4380 \n",
" 11.41 \n",
" 50 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 282 \n",
" 0 \n",
" 9 \n",
" 10 \n",
" 0.80 \n",
" 0.83 \n",
" True \n",
" 1800 \n",
" 3.94 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 307 \n",
" 1 \n",
" 10 \n",
" 56 \n",
" 0.70 \n",
" 0.70 \n",
" True \n",
" 10080 \n",
" 22.52 \n",
" 40 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 609 \n",
" 0 \n",
" 9 \n",
" 8 \n",
" 0.75 \n",
" 0.76 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" \n",
" \n",
" 1123 \n",
" 1 \n",
" 8 \n",
" 56 \n",
" 0.60 \n",
" 0.60 \n",
" True \n",
" 6720 \n",
" 30.48 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 877 \n",
" 1 \n",
" 9 \n",
" 57 \n",
" 0.70 \n",
" 0.63 \n",
" False \n",
" 3240 \n",
" 18.79 \n",
" 30 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 950 \n",
" 1 \n",
" 3 \n",
" 57 \n",
" 0.75 \n",
" 0.75 \n",
" True \n",
" 6840 \n",
" 29.40 \n",
" 45 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" dept_sweing team no_of_workers targeted_productivity \\\n",
"959 0 10 8 0.70 \n",
"464 0 8 8 0.65 \n",
"672 1 7 58 0.70 \n",
"321 1 6 31 0.80 \n",
"282 0 9 10 0.80 \n",
"307 1 10 56 0.70 \n",
"609 0 9 8 0.75 \n",
"1123 1 8 56 0.60 \n",
"877 1 9 57 0.70 \n",
"950 1 3 57 0.75 \n",
"\n",
" actual_productivity productive over_time smv incentive q_1 q_2 \\\n",
"959 0.41 False 3360 2.90 0 0 0 \n",
"464 0.85 True 960 3.94 0 0 0 \n",
"672 0.36 False 6960 24.26 0 0 1 \n",
"321 0.80 True 4380 11.41 50 0 0 \n",
"282 0.83 True 1800 3.94 0 0 0 \n",
"307 0.70 True 10080 22.52 40 0 0 \n",
"609 0.76 True 960 3.94 0 1 0 \n",
"1123 0.60 True 6720 30.48 0 0 1 \n",
"877 0.63 False 3240 18.79 30 0 0 \n",
"950 0.75 True 6840 29.40 45 0 0 \n",
"\n",
" q_3 q_4 Monday Saturday Sunday Thursday Tuesday Wednesday \n",
"959 0 1 0 0 0 1 0 0 \n",
"464 0 1 0 0 0 0 1 0 \n",
"672 0 0 0 0 1 0 0 0 \n",
"321 1 0 1 0 0 0 0 0 \n",
"282 1 0 0 1 0 0 0 0 \n",
"307 1 0 0 0 1 0 0 0 \n",
"609 0 0 0 0 0 0 0 1 \n",
"1123 0 0 0 0 1 0 0 0 \n",
"877 0 1 0 0 1 0 0 0 \n",
"950 0 1 0 0 0 1 0 0 "
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.concat([df, pd.get_dummies(df[\"day\"], prefix= None)], axis=1) \\\n",
" .drop([\"day\"], axis=1)\n",
"df.sample(10, random_state = 14)"
]
},
{
"cell_type": "markdown",
"id": "6de14598",
"metadata": {},
"source": [
"The \"team\" column will also receive the same treatment. Given that there are 12 teams, these dummies will constitute the group with the highest number of added columns. In other words, we will be adding 12 columns to our dataset because of this transformation process in particular."
]
},
{
"cell_type": "code",
"execution_count": 57,
"id": "cf81887b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" dept_sweing \n",
" no_of_workers \n",
" targeted_productivity \n",
" actual_productivity \n",
" productive \n",
" over_time \n",
" smv \n",
" incentive \n",
" q_1 \n",
" q_2 \n",
" ... \n",
" team_3 \n",
" team_4 \n",
" team_5 \n",
" team_6 \n",
" team_7 \n",
" team_8 \n",
" team_9 \n",
" team_10 \n",
" team_11 \n",
" team_12 \n",
" \n",
" \n",
" \n",
" \n",
" 959 \n",
" 0 \n",
" 8 \n",
" 0.70 \n",
" 0.41 \n",
" False \n",
" 3360 \n",
" 2.90 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 464 \n",
" 0 \n",
" 8 \n",
" 0.65 \n",
" 0.85 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 672 \n",
" 1 \n",
" 58 \n",
" 0.70 \n",
" 0.36 \n",
" False \n",
" 6960 \n",
" 24.26 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 321 \n",
" 1 \n",
" 31 \n",
" 0.80 \n",
" 0.80 \n",
" True \n",
" 4380 \n",
" 11.41 \n",
" 50 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 282 \n",
" 0 \n",
" 10 \n",
" 0.80 \n",
" 0.83 \n",
" True \n",
" 1800 \n",
" 3.94 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 307 \n",
" 1 \n",
" 56 \n",
" 0.70 \n",
" 0.70 \n",
" True \n",
" 10080 \n",
" 22.52 \n",
" 40 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 609 \n",
" 0 \n",
" 8 \n",
" 0.75 \n",
" 0.76 \n",
" True \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 1123 \n",
" 1 \n",
" 56 \n",
" 0.60 \n",
" 0.60 \n",
" True \n",
" 6720 \n",
" 30.48 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 877 \n",
" 1 \n",
" 57 \n",
" 0.70 \n",
" 0.63 \n",
" False \n",
" 3240 \n",
" 18.79 \n",
" 30 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 950 \n",
" 1 \n",
" 57 \n",
" 0.75 \n",
" 0.75 \n",
" True \n",
" 6840 \n",
" 29.40 \n",
" 45 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
"
\n",
"
10 rows × 30 columns
\n",
"
"
],
"text/plain": [
" dept_sweing no_of_workers targeted_productivity actual_productivity \\\n",
"959 0 8 0.70 0.41 \n",
"464 0 8 0.65 0.85 \n",
"672 1 58 0.70 0.36 \n",
"321 1 31 0.80 0.80 \n",
"282 0 10 0.80 0.83 \n",
"307 1 56 0.70 0.70 \n",
"609 0 8 0.75 0.76 \n",
"1123 1 56 0.60 0.60 \n",
"877 1 57 0.70 0.63 \n",
"950 1 57 0.75 0.75 \n",
"\n",
" productive over_time smv incentive q_1 q_2 ... team_3 team_4 \\\n",
"959 False 3360 2.90 0 0 0 ... 0 0 \n",
"464 True 960 3.94 0 0 0 ... 0 0 \n",
"672 False 6960 24.26 0 0 1 ... 0 0 \n",
"321 True 4380 11.41 50 0 0 ... 0 0 \n",
"282 True 1800 3.94 0 0 0 ... 0 0 \n",
"307 True 10080 22.52 40 0 0 ... 0 0 \n",
"609 True 960 3.94 0 1 0 ... 0 0 \n",
"1123 True 6720 30.48 0 0 1 ... 0 0 \n",
"877 False 3240 18.79 30 0 0 ... 0 0 \n",
"950 True 6840 29.40 45 0 0 ... 1 0 \n",
"\n",
" team_5 team_6 team_7 team_8 team_9 team_10 team_11 team_12 \n",
"959 0 0 0 0 0 1 0 0 \n",
"464 0 0 0 1 0 0 0 0 \n",
"672 0 0 1 0 0 0 0 0 \n",
"321 0 1 0 0 0 0 0 0 \n",
"282 0 0 0 0 1 0 0 0 \n",
"307 0 0 0 0 0 1 0 0 \n",
"609 0 0 0 0 1 0 0 0 \n",
"1123 0 0 0 1 0 0 0 0 \n",
"877 0 0 0 0 1 0 0 0 \n",
"950 0 0 0 0 0 0 0 0 \n",
"\n",
"[10 rows x 30 columns]"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.concat([df, pd.get_dummies(df[\"team\"], prefix= \"team\")], axis=1) \\\n",
" .drop([\"team\"], axis=1)\n",
"df.sample(10, random_state = 14)"
]
},
{
"cell_type": "markdown",
"id": "98a3b166",
"metadata": {},
"source": [
"Congratulations, we have finished the Data Cleaning phase! As expected, this was the most time-consuming section. Now let's build our tree."
]
},
{
"cell_type": "markdown",
"id": "7e61ab44",
"metadata": {},
"source": [
"- - -\n",
"\n",
"## Building the Tree"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "ba589aa2",
"metadata": {},
"outputs": [],
"source": [
"# Importing required libraries\n",
"\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.tree import plot_tree"
]
},
{
"cell_type": "code",
"execution_count": 59,
"id": "7fb4ca1a",
"metadata": {},
"outputs": [],
"source": [
"# Feature and target columns\n",
"\n",
"X = df.drop([\"actual_productivity\", \"productive\"], axis = 1)\n",
"y = df[\"productive\"]"
]
},
{
"cell_type": "markdown",
"id": "b57ed476",
"metadata": {},
"source": [
"For the X variable, we removed the column \"actual_productivity\", because it would've been the target column for a Regression Tree. As for \"productive\", it's the target column we will use here, so we took it out from \"X\" and it became \"y\"."
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "1b8a5081",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" dept_sweing \n",
" no_of_workers \n",
" targeted_productivity \n",
" over_time \n",
" smv \n",
" incentive \n",
" q_1 \n",
" q_2 \n",
" q_3 \n",
" q_4 \n",
" ... \n",
" team_3 \n",
" team_4 \n",
" team_5 \n",
" team_6 \n",
" team_7 \n",
" team_8 \n",
" team_9 \n",
" team_10 \n",
" team_11 \n",
" team_12 \n",
" \n",
" \n",
" \n",
" \n",
" 0 \n",
" 1 \n",
" 59 \n",
" 0.80 \n",
" 7080 \n",
" 26.16 \n",
" 98 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
" 1 \n",
" 0 \n",
" 8 \n",
" 0.75 \n",
" 960 \n",
" 3.94 \n",
" 0 \n",
" 1 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" ... \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" 0 \n",
" \n",
" \n",
"
\n",
"
2 rows × 28 columns
\n",
"
"
],
"text/plain": [
" dept_sweing no_of_workers targeted_productivity over_time smv \\\n",
"0 1 59 0.80 7080 26.16 \n",
"1 0 8 0.75 960 3.94 \n",
"\n",
" incentive q_1 q_2 q_3 q_4 ... team_3 team_4 team_5 team_6 team_7 \\\n",
"0 98 1 0 0 0 ... 0 0 0 0 0 \n",
"1 0 1 0 0 0 ... 0 0 0 0 0 \n",
"\n",
" team_8 team_9 team_10 team_11 team_12 \n",
"0 1 0 0 0 0 \n",
"1 0 0 0 0 0 \n",
"\n",
"[2 rows x 28 columns]"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Sanity check: first two observations of \"X\"\n",
"\n",
"X[:2]"
]
},
{
"cell_type": "code",
"execution_count": 61,
"id": "9d9aea03",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0 True\n",
"1 True\n",
"Name: productive, dtype: bool"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Sanity check: first two observations of \"y\"\n",
"\n",
"y[:2]"
]
},
{
"cell_type": "code",
"execution_count": 62,
"id": "6c024ea2",
"metadata": {},
"outputs": [],
"source": [
"# Dividing in training and test sets with train_test_split\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, shuffle = True, random_state = 24)"
]
},
{
"cell_type": "markdown",
"id": "996af800",
"metadata": {},
"source": [
"The previous step is critical when working with *scikit-learn*: we divide the dataset into a Training Subset to fit it to our algorithm, and a Test Subset to predict its target labels and later calculate how predictive it is."
]
},
{
"cell_type": "code",
"execution_count": 63,
"id": "2fcba5fa",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"DecisionTreeClassifier(max_depth=3, random_state=24)"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Instantiating and fitting the Decision Tree Classifier\n",
"\n",
"tree = DecisionTreeClassifier(max_depth = 3, random_state = 24)\n",
"\n",
"tree.fit(X_train, y_train)"
]
},
{
"cell_type": "markdown",
"id": "1e0db47f",
"metadata": {},
"source": [
"To ensure that the visualization of our Tree is legible and to avoid overfitting, we set a \"max_depth\" of 3 so that the Tree only has 3 levels.\n",
"\n",
"Now we will make the predictions on the test set. They will be stored in a variable that we will then use to determine the algorithm's accuracy."
]
},
{
"cell_type": "code",
"execution_count": 64,
"id": "db7b35b3",
"metadata": {},
"outputs": [],
"source": [
"y_pred = tree.predict(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 65,
"id": "011a110d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.85\n"
]
}
],
"source": [
"from sklearn.metrics import accuracy_score\n",
"\n",
"print(\"Accuracy:\", round(accuracy_score(y_test,y_pred), 2))"
]
},
{
"cell_type": "markdown",
"id": "853c95c0",
"metadata": {},
"source": [
"Consider that we rounded the accuracy to only feature two decimals, otherwise it's the norm to get values with several decimals.\n",
"\n",
"- - -\n",
"\n",
"## Visualizing and Evaluating the Tree\n",
"\n",
"We will use [plot_tree](https://scikit-learn.org/stable/modules/generated/sklearn.tree.plot_tree.html) to generate this visualization.\n",
"\n",
"Note that we used the \"filled\" parameter to assign a color to each predicted class in order to make it easier to see them."
]
},
{
"cell_type": "code",
"execution_count": 66,
"id": "eae72542",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([False, True])"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tree.classes_ # We'll transform them to [\"Unproductive\", \"Productive\"]"
]
},
{
"cell_type": "code",
"execution_count": 67,
"id": "a2266d16",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABGoAAAHBCAYAAAAxVF2MAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOzdd3RURRvH8e+kF0IJEFrovffeexEUQUAUFBEUERAsKKgoKKgoKtIEVBCkS5EiRXpHioD03gIESAik1/v+sbwLmNADm8Dvcw7n5O7Mnfvc1WxmnzvFWJaFiIiIiIiIiIg4npOjAxARERERERERERslakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUggXRwcgIiIiD8bV3fN8XExUFkfHISmHi5tHYGx0ZFZHxyEiIiL3zliW5egYRERE5AEYY6yPVgY7OgxJQT6v54tlWcbRcYiIiMi909QnEREREREREZEUQokaEREREREREZEUQmvUiIiICOO71qLTyKW4uns+0utu+X0MJeo/h3eGzABsnz+BuOhIKrfp/kjjuFfrJn/N3pVzcHJ2wcnZhbpdPiJ/xfp3LPuvQxuXsGLsJyTEx5GtUGla9B2Jq4fXo7wVERERSWG0Ro2IiEgql5rXqBnRvjTthkzDL2+xR3pdy7KICg3BM22G+zr/6NYV5CpZFVcPLwKP7mFS7+b0/n0/ru6ety27UUxkGKM6VODl4Yvw9c/Pwm96kdbPn1ov9X3g+9MaNSIiIqmXpj6JiIgIn9fzJSYyDLAlT1ZPGMKEHo0Y0b40W+eOt9e7dPIgU95rxbguNRj7anV2LZ0GQGjQeX7/9GV+eaMBY1+tzvop39rPuVV7638bRmjQeWZ/+grju9bi4okDrJn4JcvHfAzAqI4VCDy6x97O1jnjmP/VmwAEnTrMtA/a8PMb9RnXpSY7F0+5q/u8eHw/K3/6jNEvVWTfmj/u+/3KX7G+feSLX77igEXk1eA7lt3oyJblZCtcBl///ACUa/EK+1bNve+YRERE5PGgqU8iIiKSSFxUJK+MXEbI+VOM7Vyd0k3a4+LmwcyPO1Cn84cUq9MSgIgrtgTE/C/foEaH98hduhrxsTH89m5LshcuS74KdW/ZXo0O7/DPokm0/nRCkiNqSjVqx+6l02jYfTAAu679nBAfx9zBr9Hyw7FkylWI6IhQfu5WH//iFcmUq1Cidq5eDGDvitnsXTkHV08vitdrTacRS/BOnwmAiycOMG/wa0m+D3nL16FBt0G3fa92L5tOhmx5SZs5xz2VXb1whnRZctqP0/n5c/ViwG2vJSIiIo8/JWpEREQkkWL1WgGQPmsuPHzScfXiWaz4eBLi4+xJGgCvdL7ERIZzcucGIkKC7K9HR4Rx6dQhe6ImqfaSSqrcqFSj9kx4syH1Xx/IpVOHiA6/Sq5SVbl08iCXTh1i7mdd7HXjY6O5dPJQojYPrF3A7wM7UbJBW9p8/hvp/PwTXSdzniJ0Hb/23t6ga07u2sCaCUN4ceiceyoTERERuRUlakRERCQRFzd3+89OTs4kxMfdsq5lJYAxdB6zAmcX1wdu7//SZfEnU+7CHNmynJO71lOq8fMYY8Cy8Erne1fJlbzla/PU29+xZ8VsZvRvT7G6z1K8bisyZM9jr3O/I2rO7P2beUNep+1nU8iYq+Bdl/1fWj9/Tuxcbz++cuFMkiNvRERE5MmiRI2IiIjclUy5CuHk7MK+1fNumvrklc6XXCWrsnHa99Ts+B5gSzo4u7iSxjfLbdt09/YhOvzqLctLNW7Pzj8nc/bgP7wychkAGXMVxNXdi93LZlCqUTsALp06hE/GrLh7p/1P+2kp+9RLlH3qJa5ePMvelbOZ/WknnF1dqfPqR+QtV/u+RtScPbCDOZ+9ynOfTiRbodJ3XXaj/JXqs3TE+wSfOYqvf352LJhw02glEREReTIpUSMiIiJ3xcnZhbaf/caSH95n3eSvMcaJKm17UKpRO1p+OJZloz5k7KvVAXD3TEPzviPumKip+OxrLBjaE1d3T1p+OC5RedFaLVg6oi/ZCpcjXRZ/exztBk9l2aj+bJ45goT4eLwz+NH6k19ue620mbNTtV1PqrbryaWTB4mOCLvPdwIWD3+PuOgo/vz2bftrz/T7Eb98xW5btn3+BEKDzlHnlf64e/nQ7O3vmN6/PVZCPFkLlKTKm1/cd0wiIiLyeND23CIiIqlcat6eWx4Obc8tIiKSeml7bhERERERERGRFEKJGhERERERERGRFEKJGhERERERERGRFEKLCYuIiMhDNb5rLTqNXIqru+dt6037oC2Ne36Fb468yXLddZO/ZteSaQCUbtLeviPVjayEBCb2akJsVCQAaTJmoVmfb0mfNRen92xhyfDr54SHXCJNBj+6jFsNwM7FU/h79hgS4uPJkC0PT38wGs+0GZIldhEREXlyaTFhERGRVE6LCSd2ctdGlo7oyyuj/gJgwpsNadxzKLlLV0tUNyrsKh5pbNt6/z37R07u2kibQZMS1Zv5cQdylqhs3zVqyrut6DJ+Dd7pM7Fu8jeEXjpLsz7fPtwbu0taTFhERCT10tQnEREReWD7185nzMuVGf9abdZP+ZbP6/kSE2nb/vrGn0e0L83qCUOY0KMRI9qXZuvc8fY2RrQvzYXj+5Ilnn2r51KyYTtc3T1xdfekZMN27Fs9N8m6/0/SAERHhGKcEuc3wi9f5Ni2VZRs2A6AC8f3k6VACbzTZwKgQOWG7Fn+e7LELiIiIk82TX0SERGRBxJ++SJ/ftuHV0Yuw9c/P1tmjb5t/bioSF4ZuYyQ86cY27k6pZu0x80zzS3rR4VdYXKfFkmWZcpThGc/HJfo9auBZ8hdurr9OF0Wf07t3nTLa0z7oC3nD+/GK50vLwydnah897Lp5KtQlzS+fgBkyV+Cc4d2cvncSdJnzcXeFb8TExlG5NXLmv4kIiIiD0SJGhEREXkgAfu2kbVgKXz98wNQumkH/hrz0S3rF6vXCoD0WXPh4ZOOqxfPkilXoVvW90iTjq7j1yZv0P/R/suZWAkJbJj6Het/G0bT3t/cVL5ryVTqdRlgP86YswCN3hzC3EGvgoHCNZ4CwMnZ+aHGKSIiIo8/JWpERETkgVhYwN0vh+Li5m7/2cnJmYT4uNvWv58RNWmz+HMl8LT9+ErgGdL65bjtdYyTE2WadWB0x4o3JWrO7NtK5NXLFKjS8Kb6xeu1pni91gAE7N+OT6ZsuHunRURERORBKFEjIiIiDyRH0Qos/LonwQHH8M2Rj91LpyZr+/czoqZo7WdYNvIDKrTsAsC/f82gcc+vEtULD7mEMU54pfMFYP/qP/DLW/SmOrsWT6FUo3Y4Od/cbQoLDiSNbxbiYqJY++uXVGnb455iFBEREUmKEjUiIiLyQNL4+tG09zCm93ser3S+FKzaBCcXV1zdvRwWU54yNShcozljO1cHLEo2bGdfs+bQhsUc2rSY5u/+QHjwBeZ/9SYJ8bFYlkX6rLl5pv9Yezux0ZHsWz2PV0YuTXSNBUN7cCXwNPGxsRSr24pKrV5/VLcnIiIijzFtzy0iIpLKpYTtuaMjQnH38gFg5+Ip7Fz8G51+WOzQmJ5k2p5bREQk9dKIGhEREXlgW+eMY/+aP0iIj8PDJwPN3/ne0SGJiIiIpEoaUSMiIpLKpYQRNZKyaESNiIhI6uXk6ABERERERERERMRGiRoRERF55Cb1acHhTYkX6H1U/v1rJuO61GBwg8xsnTv+prLYqAjmDOrMqA7lGfNy5ZvivF3Zf+1Y+CujOpRn5IvlWDK8L1ZCAgBnD/7D+K61+PGVKuxaOs1ef9eSqaz/bVgy36mIiIikNkrUiIiIyBMnS4ESPPvRT5So/1yisk0zR+LmlYY3f9tOu8FTWfjNW8REht2x7EaXz51k3aShdBq5lDcnbyM44Cj/Lp8JwMZp39Oox5d0Hr2CdZOGAhBxJZidi6dQtV3Ph3jXIiIikhpoMWEREZEnVGxUBPO/7M7FkwdwcnYlY84CtP5kAmHBgcz9vCvR4aHExURRsEoj6r8+EIA1E78k6PRhosNDCT5zlGyFSlOtfW/+GvMxVwJPU6Rmcxp0GwTYRs1kzV+C80f3EHrxLEXrtKRel48TxREdfpW/xnzEhaP7iIuNIneZGjR8YzBOzs6s/fUr9q6cg4ubOxhDx2/n45Em3QPfu1/eYgAYp8TPrPatmsvTH4wGwNc/P9kKl+HIluUUq9PytmU3OrDmDwpXfwrv9JkAKPvUS+xaMpVSjZ7HydmVuOgI4mKiMU7OAKwYO4A6nT/E2dXtge9NREREUjclakRERJ5QR7euJDLsCt0mbAYgMjQEAI806Wg3eCpunmmIj4tlat/nOPr3cvJXagDAuUO7eHXMStw8vfnp9TqsHD+Q9l/OJCE+jpEvlqVc85fx9c8PwMWTB+nwzVziYqKY0KMxOYtXomDVxjfF8deYj8hVqjrN3/0BKyGBuYNfY+fi3yha+xk2zxxFnzkHcXX3JDoiFFd3z0T3cWz7alb8OCDJeyzV6Hkqt+l+T+/L1QsBpMuS036czs+fqxcD7lh2oysXAkiXxd9+nPaGejU7vsuf371DbFQEDV4fyMldGzBOTuQuXe2e4hQREZHHkxI1IiIiT6gs+UsQdOoQi4e/R+7S1SlYpREACfHxLP/xE87s/RuwCAu+wPkje+yJmvwV6uGRJi0AfvmKkyV/cduIF9zJmLMAl88etydqSjVuj5OzC26eaShetxUn/lmbKFFzaOMSzh7YwZZZowCIjY4kbebsuHv5kDFnAf4Y8jr5KtanYNXGuHv5JLqPfOXrkG/82of0LiW/zHmK8PLwRQDEx8bw27vP0vaz39jy+xjO7NmCdwY/Gnb/XKNrREREnlBK1IiIiDyhMmTPQ7eJmzmxYy1H/l7Oqp8/5/Wf17Pl99FEhYXQefRfuLh5sGhYb+Jiouzn2ZIyNk7Ozri4ediPjZMzCfHxSV7PsiwwSewYbVm0GfQbGbLnSVT0yqhlnN6zhRP/rOXnbvVo/+UssuQvflOd5B5Rk9YvB1cCT9unLV25cIbcZWrcsexG6fxycCXwjP346oUzpM2cI1G9DdO+p+xTHYkMDeHQxsV0/HY+ayZ+wb/LZ1Gm6Yv3FLeIiIg8HrSYsIiIyBPq6sUAnJycKVzjKRp1H0xEyCUir14mKuwKaXyz4OLmwdWLZzm0cfF9X+Pfv2aQEB9HTGQ4+9f8QZ4yNRPVKVitCRunfW9P8ERcCeLyuZNER4QSHnKJ3KWrU7tTPzLnKcLFE/sTnZ+vfB26jl+b5L97TdIAFK39DDsWTAQg+MxRzh38h/yV6t+x7EZFaj3NwQ2LCA+5hJWQwD+LJlH0P+vYBJ85SsC+bZRq9DyxURGALYlljBOxkeH3HLeIiIg8HjSiRkRE5Al14dg+Vo63LfxrJcRT/YU++GTKRsVnX2fOwFcY/1pt0mbOQZ6yte77GlkLlua3d58l9NI5itZ+JtG0J4BGbw5hxdhPGd+1JhiDi6s7Dd8cgrOLC79/8jJxMVFYCQlkLViaIjWb33csN9qzYjYrxg4gKuwKhzb8ycZp3/PC0NlkzlOEqu16suCrNxnVoTzGyZlmb39nn3J1u7LVE4bgkzEb5Z9+hQzZ81Cj43tMeNM2nSxfhbqUbND2phiWjf6QRm8OASBL/uJkyJ6bsZ2r4ZkuI20GTU6W+xQREZHUx1iW5egYRERE5AEYY6yPVgY7OoxEJvVpQdW2PZJMzsjD9Xk9XyzLSmKemYiIiKR0mvokIiIiIiIiIpJCaOqTiIiIPBQvfbfA0SGIiIiIpDoaUSMiIiIiIiIikkJoRI2IiIgAKWNNmflfvcnx7aspUrMFjXt+CcChjUtYMfYTEuLjyFaoNC36jsTVw+um86yEBGYP7MSF4wdwcXPHO0Mmmvb+Ft8ceQHbvV29cMa+8G/FVq8n2v5619JpLPjqTdoNnnZX70FY8AX++KIbVwJP4+LmwVPvfEeOohUS1Vs5biBHt66wH186dZj6r39KpVav218LD7nEuFerk7NkFZ779Ff768d3rGXluE+JjY4E4NmPxpMlfwn2r/mDNRO/IPzyJd6Zd+SOsYqIiEjqoUSNiIiIpCjV2vem4rNdAYiJDGPRsN68PHwRvv75WfhNLzbNHEmtl/omOq9Uo/YUrNoY4+TE1rnj+fPbPnQYNs9e3rjHl7dMwFy9GMA/CyaSo1jiRMutrPppELlKVaNmx3c59e9m5g1+ne6Tt2HMzWv41nvtE+q99glgS8iMaF+aYv/ZqnvJ9++Sv1IDYiLDbojpLAu/6cULX84iY66CxEZHkhAXC9i2Cc9WuCw/d6t31/GKiIhI6qCpTyIiIo+ZdZO/Ztmo/vbjiCvBDGuZn5jIcI7vWMOEHo0Y/1ptxr5anb0rZyfZxqQ+LTi8aWmSx6FB5/n905f55Y0GjH21OuunfPvQ7uXIluVkK1wGX//8AJRr8Qr7Vs1NVM84OVGoelOMk61r41+8IlcCT9/1dRYN60PDNwfj7Op+1+fsW/0H5Z9+BYBcJavg4ubOuYP/3Pacf/+aQd5ytUnjm+X6a8tn4Z3Bj9ylq99Ud/v8XyjZsC0ZcxUEwNXdE3fvtHcdn4iIiKROGlEjIiLymCnVqD0T3mxIg26DcHJ2Ye+K3ylUrSlunt5kLVial4cvxsnZmbDgC/zcrS75KtbH0yf9Xbc//8s3qNHhPXKXrkZ8bAy/vduS7IXLkq9C3ZvqXTxxgHmDX0uyjbzl69Cg26A7XuvqhTOky5LTfpzOz5+rFwPueN7WueMpVK3JTa8tHzuAlT8NIkv+EtTr+glpM2cHYPsfv5A5T5Ekpy3dSsSVYMDCK11G+2tp/fy5eiGA7EXK3fK8XUumUueV60m00Evn2DJrNC99v4D9a+bfVPfSiYOky5qTyW8/Q1RYCHnK1KBulwG4uN19MklERERSHyVqREREHjPpsviTKXdhjmz+i0LVm7Jr6TQavTkEgIiQSywc2pPggKM4ObsQGRpC0OnD+BereFdtx0SGc3LnBiJCguyvRUeEcenUoUSJmsx5itB1/Nrku7G7tGn6DwSdOkSHYX/YX3um3xjS+fmTEB/PhqnfMeezV+n0w2IunzvJP4sm8fKIxQ89roD924kIuUSBKo3sry0a1pv6r3+Km2eaRPUT4uM4s+dvXvh6Dq7uHswd3JWN04cnOe1LREREHh9K1IiIiDyGSjVuz+5l00ifPTfR4VfJVaoqAIu/f5dC1Zrw3KBJGGMY/VJF4mKiE53v5OyClZBgP46PiQLAshLAGDqPWYGzi+ttY0iOETVp/fw5sXO9/fjKhTOkzZzjlvW3zh3PnpWz6fDNvJsWHE7n53/tvpyp1Pp11v76FVZCAgH7thIadJ4fO1UBbAsEL/ymF3W7fEyZph1ueR2vdL4ARFwJso+quXrhDGn9bh3briVTKNmg7U3v25l9W7n4dS/AlgSLi4li2gdtaf/lTNJlyUm2ImXxSGOb7lSsTkt2L5txy/ZFRETk8aBEjYiIyGOoaK0WLB/zEZtnjqJU4/b216PCrpAuay6MMRzbtorggGNJnp8hex7OHtxBoepNuXjiAOeP7AHA3cuHXCWrsnHa99Ts+B5gS544u7jetO4KJM+ImvyV6rN0xPsEnzmKr39+diyYkGgh3v/bsXAiOxZOpMOwP/BMm8H+ekJ8HBFXgknj6wfA3pWz8ctXDOPkRIn6z1Gi/nP2uv/d+Wrl+EH4ZMpmX9z4RkVrP8P2+RPsiwnHRkeRrVCZJGOLjY5k78o5dBqx5KbX3/3j+vu/a8lUDm9eat/1qXj91qz6+XOqt++Nk4srR7euJEv+End+00RERCRVU6JGRETkMeTq4WWb9rRkKj2m7LS/Xq/rABYPf4+N077HL19xsuQrnuT51Z5/i9kDX+Ho3yvwy1eMrAVL2stafjiWZaM+ZOyrtsVv3T3T0LzviESJmuTg7uVDs7e/Y3r/9lgJ8WQtUJIqb34B2NZ3md6vHV3HryU6IpQ/v3uHdFlyMvW9VgA4u7rRefRy4mKimdH/eeLjYrAsC59M2Wj10U93df0Lx/aSrVDpJMvqdR3AvCHd2L1sOq7uHjzTb4x9MeOF3/SiUNWmFKreFIAD6xaSKVdBMucpctf3nrNEZQpUbsj412phnJzJWrA01V/oc9fni4iISOpkLMtydAwiIiLyAIwx1kcrgx0dRrKY/9WbZCtUJskRLI+alZDAhB6NeGXkMnsCJiUJOX+Kn7vV4515RxKVfV7PF8uyTBKniYiISAqX8nodIiIi8sRy9/Zh69xxLB3xgaNDwTg50Xn08hSZpNm/5g9mfNge7wyZHR2KiIiIJDONqBEREUnlHqcRNZI8NKJGREQk9Up5j4hEREQkRRjRvjQXju9zdBg3CTl/isENMjO+ay3GdanBhB6NOH/k3wdud1KfFhzetPS+z9+1ZCpBp69PQTq0YTHLfxzwwHGJiIjIk0eLCYuIiEiq4pEmnX03qb9n/8jCoT3pMm71TXUS4uNwcn503ZxdS6fhlS4jGXMWAKBQ9esLCYuIiIjcCyVqREREnnBn9v7N8rGfEBMRBkD91weSv2K9m+psnjmSvavmkhAfh4ubO017DyNrgZLERkUw/8vuXDx5ACdnVzLmLEDrTyYQdOow84e+SWxUJFZCPKUat6dqu57JHnve8nVY9fPngG0EUJlmHTjxzzrSZ8tN4x5fsOSH9zl38B8ASjZsR7X2bwFw8cQBFgztQUJcHJnyFCY+Jsre5oj2pWk3ZBp+eYslOr508iBLR/Yj/PIFLMuiStseWAkJnDu4k6UjP2D1L4Op320QoRfP2rfa/u2dllRs9RqFqzcD4NDGJWz5fTQdv51PaNB5lo54n6uBAcTGRFK8XmtqvPh2sr9PIiIiknooUSMiIvIEi7x6mVkDXuK5gb+Ss0RlEuLjiY4ITVSvZKPnqdK2BwDHtq9m8Xdv88qovzi6dSWRYVfoNmGzrb3QEAC2zf+ZApUbUrPjeze9/l+/f/oylwOOJ1nWaeRSXN09bxv//jV/kKXA9a3Dw4IC6fjtfABWjPsUy7J47ecNxESEMqFHY/zyFaNA5Yb88cUbVGz1GqUbt+fMvq382uvOo18S4uOY+XEH6nT+kGJ1WgIQcSUYr3S+7F42napte1CwamPANhXq/0o1bs/updPtiZrdS6dSuskLAMz/8g1qdHiP3KWrER8bw2/vtiR74bLkq1D3jvGIiIjI40mJGhERkSfYmX1byZS7MDlLVAbAydkZT5/0ieqdP7ST9VO+Iyr0MsbJiaDTRwHIkr8EQacOsXj4e+QuXZ2CVRoBkKtUNZb/OID42Bhyl6lJnrI1k7z+c5/+es8xR4VdYXzXWliWRYZseXj6/VH2spKN2tl/Pr59DY16fIExBnfvtBSv15rjO9aQs0RlLp7YT6mGtrr+xSraR8/cTtCpwyTEx9mTNABe6XzveF7RWi34a/SHRFwJAgwnd23k6Q/GEBMZzsmdG4gICbLXjY4I49KpQ0rUiIiIPMGUqBEREXmS3cXuj/GxMfz+6Su89P1CshUqTeilcwxvWxyADNnz0G3iZk7sWMuRv5ez6ufPef3n9RSt9TT+xSpybNsqNk77nl1LptCy/9hEbd/PiJob16j5LzdP75vuzfxn3yODsf90K07OLlgJ19+XuJhoW3Pc306Zrh5eFKrelL0rZgO29WvcPL1tI5eMofOYFTi7uN5X2yIiIvL4UaJGREQklTLGOAH1H6QN/+KVuPTNW5zZ+zf+xSvZpz7dOKomLiaKhPg40vrlAGDbH7/Yy65eDMDTJwOFazxFvgp1+b5NMSKvXiY2OpIM2fJQuskL+PrnY8HQpNenuZ8RNXcrb4U6/LNoMv7FKxMTGca+VXNo0G0Q7t5p8ctblD0rfqdkw7YE7N9+0+5WGbLn4ezBHWTJX5zjO9YQfvkCAJlyFcLJ2YV9q+clmvrk7uVDVPjVW8ZSuvELLBvVH4BGPb4AwN3Lh1wlq7Jx2vf2KWJXLpzB2cWVNL5ZHsZbIiIiIqmAEjUiIiKpjDEmJ9AJ6AyEPEhbnmkz8NzAX/lrzEfERkVgjBP1uw0iX/k69jru3mmp/Uo/fnmjPmn9/ClQuYG97MKxfawcPwgAKyGe6i/0wSdTNtZP+ZY9y2fh7OqGwdDozSEPEuZ9qdnxXZb88D7jXq0O2BYTzl/JFvvTH4xmwdAebJk1mqyFSpOjaAX7eXU6f8j8r7qzc9Ek/EtUJq2fP2AbadP2s99Y8sP7rJv8NcY4UaVtD0o1ake55i+z/McBbJ45kvqvD0wUS65SVe1r/+QqWcX+essPx7Js1IeMvRaju2camvcdkSyJGmPMFOAnYI1lWQkP3KCIiIg8Esa6iyHPIiIi4ljGGDegOdAFqAJMB36yLGuHMcb6aGWwQ+OTlOXzer4AbwFdAU/gZ+BXy7LOOjIuERERuTMnRwcgIiIit2aMKWKM+Ro4he2L93TA37Ks7pZl7XBsdJKSWZb1A1AKeAHIC+w1xsw3xjxtjNGoahERkRRKiRoREZEUxhjjbYx52RizDlgNJAC1LcuqbVnWJMuyIhwboaQWls3flmW9BuQE5gLvA6eMMV8YYwo4NkIRERH5LyVqREREUgBjU8EY8yNwGmgDDANyWpb1vmVZBx0boaR2lmWFWZY1wbKs6kADwA3YaIxZZYx50RiTeIstEREReeSUqBEREXEgY4yvMaYn8A8wEzgDlLIsq7llWfMsy4p1bITyOLIsa59lWe8A/sAooCNwxhgz0hhTxqHBiYiIPOG0mLCIiMgjdm1b7drYFgZ+CliMbXeeVfezO4+ru+f5uJgo7ecsdi5uHoGx0ZFZ7+UcY0xuru8mdhHbAsRTLcu6kvwRioiIyK0oUSMiIvKIGGOyY/si/CoQAYwHpliWFeTIuERuZIxxxjY1qgvQEPgDWyJxvaWOo4iIyEOnRI2IiMhDZIxxBZphS87UBGZh+9K7VV96JaUzxmTGNi2qC+DM9W2+Ax0amIiIyGNMiRoREZGHwBhTENsUkk7AMWzJmVmWZYU5Mi6R+2GMMUBVbAnHVsAqbEmbpZZlxTkyNhERkceNEjUiIiLJ5NquOa2xjT4oBkwCfrYsa79DAxNJRsaYtEA7bP+f5wAmAL9YlnXcoYGJiIg8JpSoEREReUDGmLLYRhq0B7ZiGz0z37KsGIcGJvKQGWNKYvt/vwOwE9v/+/Msy4pyZFwiIiKpmRI1IiIi98EYkx5bYqYLkAn4BZhgWdYpR8Yl4gjGGA+gJbakTRlgCrbRZP86MCwREZFUSYkaERGRu3RtnY6a2JIzTwPLsK3TsdyyrHhHxiaSUhhj8gGvXPsXgG2UzXTLskIdGpiIiEgqoUSNiIjIHRhjsgIvYRstEI/ti+dky7IuOjQwkRTs2jbfjbElNusCc7H97mzSjmciIiK3pkSNiIhIEowxLlz/klkHmIPtS+ZmfckUuTdKdoqIiNw9JWpERERucG3axv+31f7/tI0ZlmVddWRcIo+Da9MHa2BLgD4D/IXtd0zTB0VERK5RokZERJ54NyyE2gXbQqi/oYVQRR4qY0w64AVso2wyY9vme4JlWScdGpiIiIiDKVEjIiJPrGtbC3cBXgT+wbYwsLYWFnnEtMW9iIjIdUrUiIjIE8UY4wM8jy1Bk4PrT/GPOTQwEcEY4wm0wvb7WRyYjG102z6HBiYiIvIIKVEjIiKPvWvrYlTF9uXvWWAVtif2S7UuhkjKZIwpwPX1oo5jG/E207KsMEfGJSIi8rApUSMiIo8tY0xmoCO2BI0zti96kyzLOu/QwETkrl3bga0Ztt/jmsAsbInWrdqBTUREHkdK1IiIyGPFGOMMNMD2pa4h8Ae2L3Xr9aVOJHUzxuQAXsa2nk0Ett/t3yzLCnJoYCIiIslIiRoREXksGGNyA69c+3cR2xe4aZZlXXFoYCKS7IwxTkBtbAnZp4DF2EbMrbQsK8GRsYmIiDwoJWpERCTVMsa4AU9j+7JWEZiGbeHRfxwamIg8MsYYX2zbfHcF0mJL2Ey0LOuMQwMTERG5T0rUiIhIqmOMKYZt6kNHYC+20TNzLMuKdGhgIuIw1xYNL48tcdsW2ITts2GhZVmxjoxNRETkXihRIyIiqYIxJg22L1+vAnmBicAvlmUdcWRcIpLyGGO8geewJW0KAr9iG213yKGBiYiI3AUlakREJMW69oS8IrYvW22AddiekP9pWVacI2MTkdTBGFME2zbfLwMHsX2G/G5ZVoRDAxMREbkFJWpERCTFMcZkBDpgS9B4Yltz4lfLss46NDARSbWurWnVHNvnShVgOvCTZVk7HBqYiIjIfyhRIyIiKcK1XVzqYZva1BRYiC1Bs0a7uIhIcjLG5AQ6Yfu8uYxtlM1Uy7IuOzIuERERUKJGREQczBjjz/UvTFewfWGaoi9MIvKwXUsQ18f2+dMEWMD1BLE6ySIi4hBK1IiIyCNnjHHl+hSEqsAMbAmaHfpyJCKOYIzJxPUpl+5cn3J5zqGBiYjIE0eJGhEReWSMMYWwPbl+GTiE7YvQ75ZlhTs0MBGRa64tYl4JW8LmOWAttkTyYi1iLiIij4ISNSIi8lAZY7y4vk1uYWzb5P5iWdYBhwYmInIHxhgfoC22BHNuYCK2z6+jjoxLREQeb0rUiIjIQ2GMKYctOfM8sAnb6JmFlmXFODQwEZH7YIwpji1h0xH4F9somzmWZUU5NDAREXnsKFEjIiLJxhiTAXgBW4ImA7bkzETLsk47NDARkWRijHEHnsb2OVcemIZtm+9dDg1MREQeG0rUiIjIA7m2nkNtbE+aWwBLsCVoVmhbbRF5nBlj8gCvXPsXiG2UzXTLsq44Mi4REUndlKgREZH7YozJhm1R4FeBaGxfUH6zLOuSQwMTEXnEjDHOQENso2waAPOwfSZu0E52IiJyr5SoERGRu2aMcQGaYvsyUgv4HduXkb/1ZUREBIwxfsBL2JLYBtsIw0mWZQU6NDAREUk1lKgREZE7MsbkBzoDnYCT2L54zLQsK9SRcYmIpFTXpoVWw5bYfhZYgS2xvcyyrHhHxiYiIimbEjUiIpIkY4wH0Arbl4ySwGTgZ8uy9jo0MBGRVMYYkxbbDnhdgGzABGzbfJ9wZFwiIpIyKVEjIiI3McaUxvZloj2wHdsT4PmWZUU7NDARkcfAtc/YV7HtkLcD22fsH/qMFRGR/1OiRkREMMak4/rT3izYnvZO0NNeEZGH49qoxWexfe6WAn7DNmpxj0MDExERh1OiRkTkCXVt/YTq2L4ktASWY3uy+5fWTxAReXSurQP2/22+T2FbB2yG1gETEXkyKVEjIvKEMcZk4fqOJBa25Mxky7IuODQwEZEn3LWd9ZpgS6DXBmZj+4zeop31RESeHErUiIg8AYwxzkAjbJ3/+sBcbJ3/jer8i4ikPMaYbNiS6l2AGK4n1S85NDAREXnolKgREXmMGWPyYNtW+xXgHLaO/nTLsq46Mi4REbk716ap1sI2CvJpYCm2qVHLLctKcGRsIiLycChRIyLymDHGuAPPYHsKWw6Ygm2Byt0ODUxERB6IMSY9tt2iugC+wC/YFn4/7ci4REQkeSlRIyLymDDGlMD2xLUDsBvb6Jm5lmVFOTQwERFJdsaYctg+858H/sb2mb/AsqwYhwYmIiIPTIkaEZFUzBjjA7TD1lnPhW1b7V8syzrm0MBEROSRMMZ4Aa2xjbIpAkzCNorygEMDExGR+6ZEjYhIKnNtvYLK2DrlrYHV2NYrWGJZVpwDQxMREQcyxhTCti7Zy8BRbKNsZlmWFe7QwERE5J4oUSPyCHl4ep6PjorK4ug4JOVw9/AIjIqMzHrja8YYD6CAZVl7/vN6JqAjtgSNG7YO+K+WZZ1/VPGKiEjKZ4xxBZ7CNtqyOjAL29+Mbcm105+zm8f5hNho9WkeQ06u7oHxMVFZ71xTRB4WJWpEHiFjjLX3QrSjw5AUpLifO5Zlmf8fX9tG+3cgwLKsHsYYJ6ABts52Y2A+ts72Om2rLSIid2KMyQF0wvZ3JBTb35AplmUFP2C7VqPJ5x48QElxlnXMdlPfREQePSdHByAiIjbXpjSNBtIA3xpjBgDHgC+ANUAey7JesixrrZI0IiJyNyzLCrAsazBQAHgbqAocM8ZMNcbUu/ZAQEREUhB9MIuIpByDgPqABWwFsgCtLMsqb1nWaMuyQhwZnIiIpF6WZSVYlrXCsqwXgPzAZuB74LAx5sNrI2/sjDFFjTHPOyBUEZEnnoujAxARuRtzp/3KpB9/wDg5kZAQz3MdOtOha48k644fPpSFs6cRHxdHyXKVGDhsNG7u7vzz9ya++fQDrl4NAaB2g6a8PWAITk6Oz1lfGz3zEXARCAH6A6eAfQ4MS0REHkOWZQUBPxhjRgAVsK19tscYsx7b1Kg/gavA18YYLMua7rhoU66AtdM5uWQcxjhhJcSTo86L5G7cBYBL/67myKwvCD19gFwNO1P4hU+SbCMhNpp/vuvE1eO7AKg75vqf/ciLp1n/blXS+Bexv1b+g5m4+fjetkxEUj8lakTkkbAsiyshl0mf4f46EA2bP0vL51/CGEN4WCjP1CpHxWq1KVy85E31Nqz6iz/nzGDa4vV4ennxyTvd+XXsD3Tt9R5pfNIyZORP5M5XkJjoaDq3bsLC36fxdNsXk+MWH9R0bGsHAGQFqgEtgQvAdgfFJCIij7Fr02i3AluNMe8AbYD3gB+BX4FuwC/GmEuWZS13XKQPh2VZxIWH4Jomw32dn6XiU2Sv2Q5jDHGRYWzsVwffotXwyVUML7/cFOv8DYFbF5EQe5v1CZ2cydPsDVx9fNn+ZdtExS5eaak6OOm3/nZlIpK6KVEj8gSIjIigf89XOXJwHy4uruQtUIhvf5rK3xvW8MWH71CyXEV2b9+Ci4srX46awOhvPufwgb1kze7P8AkzMcbQoFwBFm7YTYaMmQAYOqAvaXzS0v29j2577SMH9rFw9jSWzp/NK9370Pblrvd1D2l80t50P3GxsdiWdLnZwb27KVelOl7e3gDUrNeYUV8Pomuv9yhYtLi9npu7O0VLlubsmVP3FU9ysyzrEHDI0XGIiMiTybKsMGACMMEYUxTb4sMTgABgtjGmqWVZG5PrevHREewZ+xZhAQcxzq54Z8tP6Z7jCN6/kQOTPyZd/jJcObID4+xCyW4jOTp3GGFnDuCRMTule/2CMbC2dwWqD12Hm09GAA5O/RQXDx/yt3rnttcOO3OQcxtnE/j3QnI360bOei/d1z24ePpcv5+YSKz4OLjWN/HKkheACzuWwm0SNU7OLmQsUYvIi6fvKwYReTwpUSPyBNiw6i+uhlxmwXrbsNorIZftZccO7WfIiJ8Z9O0YPnu/F6+1a87UxWvJmt2fbu2f5s+5M3iuQ2fqNWnBojnT6dC1B3Fxcfw5dyZTFq1O8nrnz57hzzkz+HPuTDy9vGn2bFumLFqDb6bMABw5uJ++3ZLuFFWrXZ93P/0yybKVSxbw/eCPOX3iGL0//IxCxUokqlOsdDl+/+0XLgddwiddepbO/52zpxMnY4IuXuCvhfMYM3Xe7d46ERGRJ1FTIAOwDSiMbZH7hUCyzau59O9qYiOuUP2rtQDEhofYy8LPHqLE68Mp/uow9k/sx/ah7an86UI8fLOz4+sXOb95Lv51XsSvXBPObZxL7sZdSIiP4/ymeVQasCDJ60UFn+Xcpnmc3zQXZ3cvslZ9lkoD5uOW1vYAKizgIP+OfjPJc31L1KJw+wFJll3YsZTDM4cQeeEkBdv0wydn0ft/U5IQFxnG5gGNsSyLrFVakqfZG/YHVbcrE5HUTYkakSdA4eIlOX7kEJ+934tK1WtTq0FTe1meAoUoWrI0AMVKleXcmVNkze5vOy5djlPHjwLQ8vmOfPHhO3To2oN1K5aQr1BhcuTKk+hafy2cR59Xn6fFcy8wYtLvZMuRM1GdAoWLMmfV1nu+j3pNWlCvSQvOnjlFr5fbUKtBE/IWKHxTnSo169K+cze6tn0Kd3cPKteqi4ur6011wsNC6fFSazq98RZFS5a55zhEREQecyHAJiAQOH/tX2ByXsAnV3HCzx5h/8R+ZChajcxl6tvLvLLmJ21u28MYnzwliQw6g4dvdgDS5i1FROAJALLXasuByR+Tu3EXLu1aiXf2gnhmTtzvCNy6iF0jupKtWmvK9pmIR8YcieqkyVH4vqYR+ZVrjF+5xkReOsPO718hU5n6eGcrcM/tJMU9vR+1hu/APV0moq9cYud3L+PqnQ7/Oi/etkxEUj8lakSeADnz5GPBhl1sXruSdSuW8v3gj5m3ZgcA7u4e9npOzs643XDs7ORMdFwkAOWr1CA8LJRD+/Ywb/pkWrZLekRM1dr1+HTYaBbNmUH3F5+lacs2NG3Zhpx58tnr3O+Imv/L7p+LkmUrsGbZn4kSNQAdX+tJx9d6ArDkj9/JV/D6QnuRERF0f/FZqtVuQKfufW57HRERkSeRZVm/POxrePnlpvpXawneu45Lu1dyZNYXVB2yEgBnN3d7PePkjJPr9WOcnLFiogDIULgK8VHhhJ7ez9l1M8heM/EaLwAZS9SiWOevObdxLjuGvUTWKk+TtUpLvPxy2+vc74ia//PM5E+6/GW5+M/yZEvUOLm6457Odu/u6TKRrVorQg5txb/Oi7ctE5HUT4kakSfA+bNnSJfel/rNnqFanYbULZWHKyHB99zO0207MHHM92zfvJ4vR01Isk4an7Q816Ezz3XoTOC5AP6cM4M+r7bH1c2Nt/oNpEqtevc1oubY4QP2hMvloEv8vWENDZ5qmWTdi4HnyZwlK1dCLvPTD1/zxjv9AYiOiuLNjs9Sqnwlen6Q9O4LIiIi8vBFBZ/F1Ts9fhWakrFkbdb0KnvT9Ke7la3Gc5z880cuH9xMyW4jkqzj4umDf50X8a/zIlHB5zi/aR67fuiCk4sbBdp8QMbiNe9rRE342cN4Zy8IQExoEMH7NuJXodk938OtRF+5hKt3OpxcXImPjuDCjmVkLtvgjmUikvopUSPyBDi8fw/ffmZb9DchIZ4uvfrilzU7J44evqd2nmnXgcYVCvNs+5fx9PK6Y/0s2XLwyptv88qbb3P00H7Cw8LuK36AmZN+YuPq5bi4uGJZFi+8+gbV6zYEYMbEcVw4f86efOnathkJCQnExcbywqtvUL/ZMwDMnjKBrRvWEhIczIZVfwHQ+OnWvN7ng/uOS0RERO5d6On9HJ4xBAArIZ68LXrikSErEeeP3VM72Wu0Zd3blclR63mc3e/cN/HwzUaep94gz1NvEBZwiPio8PuKH+D0yskE7VmDk7Otb5Kr4StkKlkHgMsHt7B71BvERYYCFuc3/0HxLsPIVKoup1f8SnRIIAVa9wVg84AmRAWfIzb8Cmt6lSNTqboU7zKMkENbODL7a4yTM1Z8LJnLNCRXw84Aty0TkdTP2HblE5FHwRhj7b1wmy0a5YlT3M8dy7K08p+IiKQqxhir0eRzjg5DHoJlHbOpbyLiYE6ODkBERERERERERGyUqBERERERERERSSGUqBERERERERERSSGUqBERu1Z1KxIVGXnHet3aP82p40eT7bpjhg2hScUiNKlYhDHDhtyx/kdvvUZxP/ebFieeO+1Xnq1dnqdrlqF7h2cJuWzb1SohIYEXmtbi2ToVeLZOBV5r15yAUyeSLXYRERFxjE0fNiA+5s79lh1fv0hE4Ilku+7Red+y7p0qrHunCkfnfXvLertHd2dNzzIs65iNuP8sWnyrsvBzR9k6pDXr+9Zgwwd12DOu913do4g8XpSoERG7Oau24uHpecd6P06bT668+ZPlmts2rWPZ/NnMW/sP89b+w7L5s9m2ad0t669auhBjbl7f7uih/fzwxaf8PHsJ89ftpFS5Sgwf/DEATk5OjJ2xgLmrtzF39TZq1m/M0AF9kyV2ERERcZyqg5fj7Hbnfku596bglSVPslwz+MAmAv9eSLUvVlHti1UE/r2Q4AObkqybo/YLVPk86S2/b1Xm5OJG4Rc+pcbQ9VQbspL4mEhO/DkmWWIXkdRDiRqRJ8yyBXNpXq0kretVYtz3X900MuXGnxuWL8SILwfyQtNaNCxfiCk/j7a30bB8IQ7v35ss8SyeN4un276Ih6cnHp6ePN32RRbPm5Vk3ZDgIMZ8M5i+g4be9PqRA/soUqIUvpkyA1CrQRMWzp5uL/dJm87+c1hoKMZJH30iIiKpQeDWhazvW4NNHzXk2PzhN41AufHntX0qcmT2ULYMbM7aPhU59dcv9jbW9qlI6OkDyRPP5vlkr94GZzdPnN08yV69DYGb5ydZN2PxGriny3RPZZ6Zc5I2T0kAjJMT6fKVJepSQLLELiKph4ujAxCRRyfo4gU+fbc70xavJXe+gvz64/Db1o+KjGDq4rUEnDrBM7XK0bLdS3inSXPL+levhNCpZcMkywoULsbQH39N9Pq5gNNUql7bfpzNPxfbNq9Pso3PP3iL7u99dFPiBaBw8ZLs3bmDMyePkyNXHhbNnk5EeBghl4NJn8EXsE3X2rd7JxkyZmT8zEW3vW8RERFxvOgrl9j3S18qfbIQ76z5OLl47G3rx0dHUvmThURePM3GfnXIXrMdLh7et6wfG36FbUNaJ1nmnaMQpbqPTvR6ZFAAGYpWsx97ZMrB5YOb7/KO7k18TCQBa6dRsG3/h9K+iKRcStSIPEF2bd9CsZJlyJ2vIACtXuh022lATZ9tC0COXHlIlz4DgefOkK9gkVvWT5suPXNWbU3eoK9ZOn82rq5u1Gn0VKKyPPkL8cHgYbzzWgeMMdRv+jQALi7XP+J+nDafhIQExg8fyo/ffsGAoSMeSpwiIiKSPK4c3Y5P7pJ4Z80HQPba7Tk49dNb1s9a5RnANirFxTs90cFnccle8Jb1Xb3TUXVw0lOTHC0hPo7do97At1gN/Mo1dnQ4IvKIKVEj8iSxrETru9yOu7uH/WcnZ2fi4+JvW/9+RtRky5GTs6dP2o/PnTlF1uz+ieptWb+aLetX07B8Iftrz9Qqy4/T5lOgcFGaPduWZtcSS7t3bCVLthyk8Ul7UxtOTk60eqETzaoUV6JGREQkpbMs7qHbgpPr9X6LcXIiIf72/Zb7GVHjmTEHUZfO2I+jLgXg4Zv97oO8C1ZCPP+OeRNXr3QU6fh5srYtIqmDEjUiT5BS5SvzUe/XOXnsCLnzFWDe9EnJ2v79jKhp/HRrvuj/Nu07vwHA/JlT6P/Fd4nqDRg64qbkSnE/d/5Y+499KtbFwPNkzpKV6KgoRg0dRKfuvQEIvnQRJycn0vtmBGDZgtkUKlrifm5PREREHqF0Bcqz96e3iQg8jleWvJxdNyNZ27+fETVZKrfgwOSPyNmwEwBnN8xK1mSKlZDAnnFvYZycKd7123t6wCYijw8lakSeIJn8svDJ1yPp/mJL0vtmok7jp3BxdcXTy8thMVWqXpsGT7WkZa2yWJbF0207ULFaLQBWLlnA6qWLGPTdj3ds56O3unL2zCliY2Jo+mxbOnTtAcClC4F82KsLcbGxWFjkyJWHL0dPeKj3JCIiIg/OPV1minb6ih3fdMTNx5fMZRtinF3vaqenh8W3aDX8KjRjY7+6YFlkq9EG32tr1lzYsZSLO5ZRvMswAHYO78yVozsB2NC3Bmn8C1O+7/Tbll3avZJzG2aTxr8Imz+2TXlKX7AiRTt98WhvVEQcyliW5egYRJ4Yxhhr74Voh8YQHhaKdxofAOZO+5XZUyby28JVDo3pSVbczx3LsvS4TEREUhVjjNVo8rmHfp24yDBcPG2jZwPWTidgzVQqfZz0LkuSPJZ1zKa+iYiDaUSNyBPmt/GjWDp/NvHxcaRL78vAbxPPvxYRERFJCU4t+4nAvxeSEB+Ha5r0FOv8jaNDEhF56DSiRuQRSgkjaiRl0YgaERFJjR7ViBp59DSiRsTxnBwdgIikLp1aNmT1skUOu37/nl2oVzofrepWpFXdioz97kt72YJZU3m2dnlKZfNiys+3Hyk0a/LPNKlUlCYVi/D5B2+RkJAAwJ6d22lVtyItapRm3vTJ9vpzp0+66VoiIiKS8m0d3IqL//zl6DAI3r+RZS/l4NRfv9hfCz93hK1DnmNj/3ps7F+PoH/X3PL8M6t+Y907VVn3ThX2/9of61q/5cqxnWz6sAEb3q9FwLqZ9voBa2dw7I/vH9r9iMjDpUSNiKQ6r/Z6lzmrtjJn1VZe7/OB/fUiJUrz9bjfeKrV87c9/8zJ44z5ZjBT/1zLn1v2cfLYERbMmgrATz98Tf8h3zJj6UbGfGPbxSEkOIi5U3/llTfffng3JSIiIo+luMgwDk3/nEyl6930+p5xfchRqx3VhqykdK+f2DO+D/HREYnOj7hwiqNzv6XyJwuo8fVGIgKPcW7j7wAcXziSwh0/o/LAJRyba1vEOCY0mIC108jzVPeHf3Mi8lBojRqRVCgyIoL+PV/lyMF9uLi4krdAIb79aSoXA8/zXreXCA+9SnR0FLUaNOXdT2y7BIwa+hnHjxwkLPQqJ44epnjpcnTp9R5DP3mfc6dP0uCplrz7qW3ESKeWDSlcohQH9+zm/NkzNHnmOXp/+FmiOMJCrzJ0QF8O7vuXmKgoKtWoTd9BX+Ps7Mzorz/nz7kzcHP3wBjDhLnLSJsu/UN9XwoWLQ6Acbp9DnrZgjnUa9oC30yZAXiu46vMm/Yrz7TrgIurK5GREcRER+Hk7AzANwP70avfp7i5uT3U+EVERB5H8dER7Bn7FmEBBzHOrnhny0/pnuOIDrnA7tFvEBcZSkJsNJlLN6BQ+48BODLnGyLOHiEuMpTw88dIm7cUeZv34ODUgUQFncGvQjMKtx8A2EbN+OQuTujJvUQFnyNr5RYUbNs/URxxkaEcnPIpoaf3kRAbjW/RahR+cSDGyZmjc4ZxbvNcnF09wBgq9PsdV+90yXL/B6d+Qp6nunPpPyN7Qk/tJVOpugB4Z82Ha5r0XNq9kiwVm99UL3DrQvzKN8EtbSYActTpwNm108leoy1Ozq4kxESSEBuFcbL1Ww5N/4wCz72Pk4v6LSKplRI1IqnQhlV/cTXkMgvW7wLgSshlANKmS8+oyXPwTpOG2NhYXmvXnHUrl1Kznm17x727djDzr014eafhufqV+fazDxk7bT5xcXE0rliYNi+9Su58BQE4dnA/P/2+mOioKF58qhZlKlahTqOnbopj6IC+VKhak0Hf/UhCQgJ933iZOVMn0qhFKyaM/o51+87g4elJeFgo7h6Jt9LctGYFX3/6QaLXAZ5p14GXu72VZNmkMcOZNekncubOR++PPiN/oaL39P6dCzhNdv9c9uNsOXJyPuAMAN3e7s+g93oQGRHOu598wdaNa3FycqJC1Zr3dA0RERGxufTvamIjrlD9q7UAxIaHAODilZayb0/CxcObhLhYtg9tz6XdK8lUyjby5OqJ3VQetAQXD282fdSIwzMHU/69KSTEx7Pu7Ur41+2Ad9Z8AIQHHKL8BzNJiI3m74HNSV+wIpnLNrwpjoNTPiVDkSoU7zIMKyGBf8e8ScCaaWSp1JwTi8dQZ9S/OLt5EhcZhpObR6L7CNqzlkPTBiV5j9lrtCF309cTvX5x1wriwq+StVLzRImatHlLcW7TXHI37srV47sIP3eUyEtnErURFRSARyZ/+7FnxhxEBZ8FIF/L3uyb8D7x0REUev5jgvdvxBgnfItUTTJOEUkdlKgRSYUKFy/J8SOH+Oz9XlSqXptaDZoCEB8fz7CBH/DP1s1gWVy6GMiBPbvtiZrqdRvik9b2dKhwsZIULl4SN3d33NzdyZO/EKdOHLMnap5p1xEXFxdc0qShacu2bFm3OlGiZtXShfy7YysTx3wPQFRkBFmz5SCNT1ryFijE+907UaNeI+o0ambfEvxGVWvXZ86qrfd072/1H0jmLNlwcnLijxm/8frzT7N06wGcr41+eVAFChdl0vwVAMTExNDluab88OssJo39gX/+3kTGzH70HfS1RteIiIjcJZ9cxQk/e4T9E/uRoWg1MpepD4CVkMChaYMIObwNsIgOuUDoyb32RE3GknVw9Up7rY2i+OQsjpOrO06u4J0tP5EXTtgTNbbRJS44ObuQtcozBO9bnyhRc2HHUq4c+4eTi8cCEB8TibtvNlw8ffDOlp9/x/QgU6m6ZC7b0L4l+I0ylqhF1cHL7/q+Y8OvcHjGEMq/PyPJ8hKvDefglE84u3YG3jkKkaFQJZycXe+6fYA0OQpT6aN5ACTExbDty7aU7T2Bk0vGEXJoK27pMlP4xU81ukYklVGiRiQVypknHws27GLz2pWsW7GU7wd/zLw1O/j1x+FcvRLC9CXrcffw4JN33iAmKsp+nrv79adDTs7OuHlcP3Z2diY+Li7J61mWhTGJF/+3LIsffp1Fzjz5EpVNXbyOf/7eyJZ1q2nToCpjpy+gcPGSN9W5nxE1WbLluKnOVwPeI/DsGbLnzJ1kO0nJliMnZ8+csh+fCzhN1hz+ier99MPXtH7xFa6GXGblkoVMnLuMkV8NYtHsaTzb/uW7vp6IiMiTzMsvN9W/Wkvw3nVc2r2SI7O+oOqQlZxc8iNx4Veo/OkinN082Pvzu8THXt8d08nV3f6zMc44ud1w7OSMFR+f9AUtC5Lot4BFmd4T8PJL3Geo9MkiQg79TfC+DWz+uDHl3puKT65iN9W51xE1YWcOEB0SyJZPbQ/UYkODubjzL2LDQsj/7Nt4+eWmbJ+J9vob3q+Fd/aCidr2yJiDqBtG2kQGBeDhmz1RveMLRuJf5wViw69wYcdSKvafzZHZX3Nu4xxy1Lr9+n0ikrIoUSOSCp0/e4Z06X2p3+wZqtVpSN1SebgSEkzolRAyZcmKu4cHgecCWLV4Ie06vXZf15g/awpNWrYhJjqapfNn81b/gYnq1G3cnJ9GfM2AoSNxdnbmctAlwsNCyZAxExHhYVSsVouK1Wqxa9tmDh/YmyhRcz8jagLPBdiTNetXLsPZ2Rm/G5I3d6Nh82d5+ZkGdH/3I9L7ZuT3yT8nWoD45LHD7N6+he7vfsjBvf/aE1VOTk5EhIfd0/VERESeZFHBZ3H1To9fhaZkLFmbNb3KEhseQlzEVdzS++Hs5kFU8Dku7liKf/37exBydsPvZKnyDAmxMZz/eyEF2yR+EORXtjHHF4yg2CtfYZyciQkNIi4yHDcfX+Kjw/EtWg3fotW4cmQbYWcOJErU3OuImgyFK1N39B778Z6xb5E2X2lyNewMQPSVS7ilzYgxhoC1M3Bydce3eOKp1lkqPsXWz58l/7Nv45rGl4DVv5G1aqub6oSfP8aVI9vJ/+zbhJ7aB9j6LcY4ER8Vftcxi0jKoESNSCp0eP8evv3sIwASEuLp0qsvflmz06Hrm/Tp8gKt61Uiaw5/Kteqe9/XKFaqLF2ea0rguQAaP9060bQngA8+/4ZhA/vRqm4FjDG4ubnz/mff4OLqSu/OzxMdGUmClUCxkmVp+FTL+47lRv17vErQpQsY40Qan7SMnDQbFxfbR9miOTMYNrAfV69cZtWSBfz8wzeMm7mIAoWLMuLLgfhlzUa7Tq+RM08+ur3djxea2jpD1eo0oEWbF266zlcfv8cHn38D2Kaa5cydl2dqlSWDbyaGT5yJiIiI3J3Q0/s5PGMIAFZCPHlb9MQjQ1ZyNXqVXSNeY9NHDfHwzZ5kkuJupc1Tku1ftiX68nmyVGqeaNoTQOEOgzg0/TM29q+PMQYnVzcKvzgIJxcXdg7vQkJsFFZCAmnzlMSvQrP7juVuXfxnKScWjgJj8PTLTZm3frE/GDoyeyju6bOQs/7LePnlJl/L3mwZaFtkOGOJ2mSv3vqmtg5O+YTCHWyjfXxyFcPLLzcbPqiDm48vZXr/goikLsayLEfHIPLEMMZYey9E37mig3Vq2ZBO3XsnmZyR5FXczx3LspIany0iIpJiGWOsRpPPOToMwLbrU55mbySZnJF7t6xjNvVNRBzs9nvYioiIiIiIiIjII6OpTyKSyMR5f925koiIiEgKUPHDOY4OQUQkWWlEjYiIiIiIiIhICqFEjYiIiIiIiIhICqFEjUgq1KllQ1YvW+TQGPr37EK90vkY0r+P/bVVSxfSvFpJmlQqyjtdXyQyIuK2bcybPpnifu5J3ktSZRNGfctTVUtQIovHPd3/pQuBdG3TjGZVivNsnQrs3v53kvXmTp9ElQJ+tKpbkVZ1K9Lr5TZ3VRYeFka/NzvTsnY5mlcryYRR39rLli6YQ4sapaleJPtdxysiIvKk2Dq4FRf/ceyU6z1j32JNr3IcmPSR/bULO5axvm8N1r1TlV0jXyc+Ouk+TfSVi2z/qh3r36vOxv71CTmyw15mJSRw5PevrpXVY8c3He4qntu1eaO4qHD+/bEnG/vVZX3fGpxYNCZRnZirl1j9Zkl2/tDF/tr5vxey4f1arHqjWKL6IpIyKFEjIvft1V7v0n/Id4AtWfHJ290Z9dsclvy9H+80PkwY/d0tzz1/9gyzJv1E6fKV77qsQrVajJ4yjwpV7237zu8Hf0z5qjX5c/NePvpyOH3feJlb7XhXpVY95qzaypxVW/nh11l3VTZ++Fe4urkxd/V2Zv61mfmzprJr2xYAGrdoxY9T/7ineEVEROTRytuiB0Ve+hywJUD2/fIuZd+eRM1hm3DxSMOJP39M8rzDM4eQoXAVany9gaIvD+HfMW/a+xgnl44j/NxRqn2xmmpDVlK86637RXfb5o2Ozx+Ok4sbVYespMqgZZzd8DshR7bfVGf/xH5kKl3/pteyVmpOuXen3FUsIuIYStSIONCYYUP48uN37cchwUFUK5yNiPBwNq9dyQtNa9G6XiVa1i7Hn3NnJtnGf0fX3Hh8MfAcvTs/T7vG1WlZuxzjvv/qod3L+pVLKVGmHLnzFQSg7ctdWfLHrFvW//Sd7rz/2de4ubvfdVnJshXIna/APce25I/fafdyVwDKV6mOu4cHe3Zuv8NZd+/g3t1Ur9sQYwxe3t5UrFaThbOnJVv7IiIiKd3Red9y4LcB9uOY0GBWvVGMuKgIgvauY8vA5mz6qCEb+9Xl3KZ5Sbbx39E1Nx5HhwSy84cubP6kKRv71eXY/OEP7V4u7VpJ2ryl8c6aDwD/eh05vyXphy6BW+bjX/8lADIUroyTqztXj+8C4OTisRRs9yFOLq4AuKfLfFfXv12bNwo9tY+MJetgjMHFwwvfIlU5t/H6wsrnNszGLV1mMhSpepd3LiIphXZ9EnGgZ9p1oH2Tmrz7yZe4uLiwaM506jVpgZe3N0VLlWXywlU4Oztz6UIgbRtWpXrdhqRLn+Gu2+/3Zme6vdOfClVrEhMTw6utm1CiTHmq1WlwU70jB/fTt9tLSbZRrXZ93v30yzte69yZU2Tzz2U/zpYjJ+cDziRZd/qEsRQoXIxS5SvdU9n9CAkOAiwyZMyUKLaSZSskqr9t0zpa1a1IGp+0vNrzHWo3bHbHsmKlyrFswRzqNX2asKtX2LDqL/IUKJQs8YuIiKQG2Wu0ZcunT1Go/QCcnF04v2kumcs1xsXDi7R5SlLp4z8wTs5EX7nI5o8bk6lUHVy90991+//+2It8LXvjW6QqCXExbPuiDenyliFjydo31QsLOMi/o99Msg3fErUo3H5AkmU3igoKwDOjv/3YI6M/UUFnE9WLCQ3GsizcfDLaX/PMmIOooAC8s+UnJjSYwC3zCdy2GOPkRN7mPfAr3+S2175dm+nylbmpbtq8pQjcuhC/8k2Ii7zKpX9X450tv+0eLp/nxJKxVPxwLoF/L7zjPYtIyqJEjYgDZffPRf7CRVi7fDH1mrRg3vTJfPD5NwBcDrrIx2+9xsnjR3B2duFKSDAnjhyidIXEU4WSEhEeztaNawkOunT9tbBQjh0+kChRU6BwUeas2pp8N3YbZ04e5/fffuG3havvqexRqNOwGU2faYOHpyf7/93J6+1aMGHeMvIXKnrbsi693uObgR/QtmFVfDNmomK1WlwODnLIPYiIiDiCZyZ/0uQoxKVdK/Ar15iAdTMo0mEQADFXg9g7vg/h54/j5OxCbPhlws8dJX2B8nfVdlxUBJcPbOTg5KAbXgsj7OzhRImaNDkKU3Xw8uS7sfuUEBeLFReDZSVQZeCfRAQe5+/PniGNfxG8suRJlmvkbd6DQ9M+Y/OAJrilzYhv0arEhAYDsO/ndyn0/Me4eHgny7VE5NFSokbEwVq2e4k/ZvxGztz5CL16hfJVagAwqG9P6jZuzvCJMzHG0KxKcaKjoxKd7+zsTEJCgv34/3UsKwGMYcayjbi6ut42huQYUZPNPxd/b1hjPz4XcJqsOfwT1du5bQsXzp+jRY3SAFy6cJ4BvbvR+6PPcHP3uGVZqxc63TGGpKT3tT2Ruhx0yT6q5lax3TjqpmjJMpStXI1/d2wjf6Gity3z9PLi469+sJcP6tuTfIWK3Fe8IiIiqVX2mm05u24mnplzExcRSobCVQDYP/EDMpdrROm3fsEYw/r3qpMQG53ofOPsYuu/XGOvYyUAhsoDF9unEd1Kcoyo8ciYg+D9G+zHUUFn8MiYeFMANx9fAGJCg+wjYCKDAvDImAM3H1+cPbzJVq01AF5Z8pI2d0muntxz20TN7dr8L2d3L4p2+sJ+vG/iB3hnt01BDzmynbCf3gYgPiqc+Jgodnz9IuXe09o0IqmBEjUiDtaw+bMM/aQvE0Z/R8vnrydLQq9cIUfO3Bhj2Lh6OaeOH03y/Jx58rFn53bqNWnBkYP7ObDHNofZO40P5atU56cfvuaNd/oDtgSFi4srmbNkvamN5BhRU6NeIwZ/0JuTxw6TO19BZv46niZPP5eoXvPWz9O89fP2404tG9Kpe2/qNHrKXn6rstv57vOP8MuWnRdf7Z6orFGL1sz4dTzd3u7H9s0biI6MpHjpconqBZ4LIEs2W0fo7OmT7N7+N93e7nfHsrDQq7i4uOLh6cnBvf+y4s/5zFq+6Y4xi4iIPE6yVHyKg1M/5eSfY8hRs6399diIK3hmyokxhqB/1xAReDzJ8738cnP12E78yjUmLOAgoaf2AuDimYYMhStzfOEI8re0JR+iggIwzq64p/e7qY3kGFGTqVRdDkzqT/j5Y3hnzceZlZPJWunpJOtmrdSCMysmka9lHy4f3EJCbBRp85SylVVpSdDuVfjX60j0lUuEnt6Hj39hAA7PGIy7bzZyNex8T23eKC4yFOPsgrObJ6Gn9nFh22KqfLYUgHo/7rfXC1g7g4s7/6JMr58e6H0RkUdHiRoRB/P08qJekxbMnfYrS7cdtL/e56PP+ez9Xvz0wzcUKlaCQsVKJnn+qz3f5e0uL7B+xVIKFStJ0RJl7GVfjf6Vrwa8R8vatqSEt7cPnw0fmyhRkxy80/jw6bBRdH/xWeLj4ylasgwffD4MgAvnz9Kt/TMPnAz6ZeQwfhs/iuCgi3zYqyvu7h7MX7+TND5pObTvX4olkXwB23v5QfdO/DFjMh4ennwxagJOTra11Af06Uadxk9Rr0kLpv3yIyuXLMDZ2fbR+Fb/QRQtWQbgtmWnTxznna4v4Ozigru7B1+NmYhfVm3HLSIiTxZndy/8yjUhYO10an67xf56obYfsv/XfhxfOBKfnEXxyZn0ttB5mvdg14iuXNq9kjQ5i+GTu4S9rOQbozg45RM29qtru5ZHGkp0/TZRoiY5uHimoVjnr/ln2EtYCfGkzV2C3B0+A2xrv/zzTQd7Mqhguw/598cenH13Fk5uHpR8fQTmWh+jYNt+7BnXh5PLfsYYQ4E2/ewjXkJP78cnb+kkr3+7Nvf+9A6ZyzXCr1xjIi6cZPfI1zFOzji5ulPyjVF4ZEj+Pp6IPHrmVlvUikjyM8ZYey8kHuqbGvXv2YXiZcolOYLlUUtISOCFZrWY+udaewImJQk4dYK2jaqx4UDihQiL+7ljWZZxQFgiIiL3zRhjNZp8ztFhJIs9Y98ibb7SSY5ueRishAS2DGxO5U8W2hMwj1rkxdNsHtCYumP2JSpb1jGb+iYiDpbyvtGISKrgkzYtU8aPYkj/Po4OBScnJ6YvWZ8ikzRLF8zhzY6tyJg5+Z/4iYiIyINz8fLh1LKfOTDpo0dyPePkRJWBfzosSXP+74X88+1LuN3lduEi8uhpRI3II/SwRtQ0LF+I0b/NpWDR4sne9v0KOHWCppWLUaBIcayEBDy9vPl46AiKlkx6mO/dupd1a5Iyd/okylasQp78tu2zVy5ZwI7NG+5qweSHQSNqREQkNXqQETVr+1Sk7NuT8cmZchbej7x4mvXvViWNfxEsK+HaQr1fkvaG6Vf3Y+vgVuRp9gaZyza8r/MD1s4gfcEK9m23L+xYyuWDW+5qUeT7pRE1Io6nNWpE5KHxSZfevi7N5HEj+Lj3a/y+YstNdeLi4nBxeXQfRX9Mn0wG34z2RE29Ji2o16TFI7u+iIiIpEwuXmnta8+cXDqeveP7UPXzv26qkxAfh5Pzo+u3nF03AzcfX3uixq9cY/zKNX5k1xcRx1CiRiQV2bl1M98M7Ed4WCgA737yBdXr3vyEZuLo7/hz3izi4+Jwd/ewj2KJjIigf89XOXJwHy4uruQtUIhvf5rK8SMH+bBnVyIjI0hIiKdlu4688ubbyR571doNGD7E9vSnYflCtHqhE1vWryZn7rx88PkwhvTvw56d2wBo8dyLdOn1LmDbOvyjt7oSFxtL/kJFb9qi/L8jiW48PnpoP19++A6XLgRiYdHpjT5YVgJ7dm7ni/5v88MXn/Lep19y/lwAa5b9yfe/TKdz68Z06PIm9ZradnZYtXQhv/74AxPnLuNi4DkG9+vDuYDTREdF0uzZdrzW+/1kf59EREQeFyGHt3Fo+iDiIsMBKNT+YzKVrHNTnRN//sj5zfOwEuJxcnW3j2KJj45gz9i3CAs4iHF2xTtbfkr3HEf4uSPsGdeb+OhIrIR4ctRsR56n3kj22DOWqMXhmbatr9f2qUiO2u0J3rcBr8y5KdzxMw5M+pArx3YCkL3Gc+Rt3gOwbQ++Z1wfrPhY0uQodNM25P8dSXTjcVjAIQ7+9jHRVy6CZZG72RtgJXD1+C4OTP6II79/RaH2A4gKPmffwWnbF23I1ehV/Mo3AeDCjmWcXDKWiv1nEx0SyP5JHxIVFEBCTBRZq7Yk39NvJfv7JCIPhxI1IqlEyOVgenVqy/AJMyhbqSrx8fGEhV5NVO/pth3o1N22bsymNSsY1LcH0xavY8Oqv7gacpkF623bd18JuQzA9AljqdmgiX0L7/+//l+9Oz9/yy3Cp/65Fg9Pz9vGv2z+bIrcsCPVxcBzTJy7DIBhg/qTkJDAvDU7CA8L5YVmtShcvAQ16zeh35uv8GKXN2n5fEd2bdtCh+Z1bnsdsI3S6fnSc7zVfxCNn24NQEhwEOl9M/LHjN9umjo1d/ok+3kt273EHzN+sydq5k2fzLPXtkzv92Znur3TnwpVaxITE8OrrZtQokx5qtVpcMd4REREnjSxYZfZObwzZXr9TPpCFbES4omLDE1UL3uN58jTrBsAQXvWsn/C+1T+dBGX/l1NbMQVqn+11tZeeAgAp5dPJFPpevZtuv//+n/t/KELkYEnkiyr9MkCnN1u328J3LKQtHmuT3uKDrlAxf6zATg0/XMsK4FqX6wiPiqMLQObkyZnUTKXrs+/P/YkV6Mu5KjZlpAj2/l7UNLbet8oIT6Ond+/QoHnPiBrZdso35jQYNx8fDm7buZNU6cC1s6wn5e9ZlvOrp9pT9ScXTeDHLXaAfDvj73I17I3vkWqkhAXw7Yv2pAubxkylqx9x3hExPGUqBFJJXZt20z+wkUpW6kqAM7OzqRLnyFRvb27dzD++6FcCQnGyThx4thhAAoXL8nxI4f47P1eVKpem1oNmgJQvkpNvhn4PrGxMVSqXpvKNeokef3vf5l+zzGHXgmhVd2KWJZFztx5GfzDeHvZM2072H/evHYlH3w+DGMMaXzS0uzZdmxas5Kylapx+MBenm77IgClK1SmYNE7zxU/ceQQ8XFx9iQNQHrfjHc8r2HzZ/lqwHtcDrqEMYZtm9bxxchfiAgPZ+vGtQQHXbLXjQgL5djhA0rUiIiIJCHkyHa8sxcifaGKABgnZ1y90yeqd/XEbo7N/4HYsBCMkxMR548B4JOrOOFnj7B/Yj8yFK1G5jL1AchQpAoHpw7CioslQ9Hq+BarnuT1y/T66Z5jjou4yqYPG2BZFl5+uSjx2nB7WfYabew/B+1dS5EOn2GMwcXTh2xVWhK8dx0ZClUi7MxBsld/DoD0Bcrjk7PoHa8bce4oVnycPUkD4Obje8fzslR8ioNTPiEmNAgwXD6wiRKvjyAuKoLLBzZycHLQ9XuLCiPs7GElakRSCSVqRFKJu1n4OyYmhj6d2zNp/gqKlSrLhfNnqVsqLwA58+RjwYZdbF67knUrlvL94I+Zt2YHjVo8S5mKldmwejk///A1c6f+yldjJiZq+35G1Ny4Rs1/eXmnuenejLl5zbr/H//39Rs5OzuTkJBgP46OirK3dz88vbyo16QFf861Pa2q16QFXt7etqlmxjBj2UZcXV3vq20REZEnyl38LU6Ii2HXD12p+NFc0uYpRdTl86ztVRYAL7/cVP9qLcF713Fp90qOzPqCqkNWkqVic9IVqEDQv2s4sXAEZ9dOo+QboxK1fT8jam5co+a/nN29b763RP2TO/dbjJMLWNf7Lf+fFnW//RZndy/8yjXh/KZ5APiVa4KLhxdxkWGAofLAxTi5qN8ikhqlvL1sRSRJZSpW5ejB/ezcuhmA+Pj4RNOUYqKjiI+PI2t2fwCmTRhrLzt/9gxOTs7Ub/YM73/2DZeDLnElJJiTx46QyS8rzz7/Em+8+xH//pN0YuX7X6YzZ9XWJP/dadrTnVStXZ/ZUyZgWRbhYaEsnjeTKrXrkcYnLQWLFGfRbNtont07tnJ4/x77eTnz5LOva7N57UqCLgYCkLdgYZxdXFg6f7a9bkiw7amSt48PYVcTTxn7v5bPd2Te9MnMmz6ZltemPXmn8aF8ler89MPX9nrnAk5zMfD8A923iIjI4yp9wQqEnz1EyGHb32krIT7RNKWE2GishHg8fLMDtmlN/xcVfBbj5IRfhaYUfnEgMaFBxIaHEBF4HPd0fuSo1Y58z75jXyfmv8r0+omqg5cn+e9O057uJGOJ2gSsnoplWcRFhnFu8x9kLFETF08f0vgX5tymOQBcOfoPoaf328/zypLbHm/Q3nXEXLkIgHf2AhhnF85vWWCvGxMaDICLpw9xEbfut2Sv1ZaAdTMIWDeD7NemPbl4piFD4cocXzjCXi8qKIDokAsPdN8i8uhoRI1IKpE+gy/DJ8xg6IC+REaEY5yceO/TL6lau769ThqftPToO4B2jauTLUdOata/vivA4f17+PazjwBISIinS6+++GXNzrjvv2Lh7Gm4urphjKHf4GGP/N66vd2fwf1607J2OcC2mHDNerbYh4z8hY/e6sqvPw6nWOlylCpf2X5er34D6d/zVX7/7RfKVqxKNv9cALi4uDBi0u8M7tebMcMGY4wTr3Tvw9NtX6RNx1f55tMPmDD6O9795ItEsZSvUsO+9k/5KteHU381+le+GvCePUZvbx8+Gz6WzFmyPpw3RUREJBVzTZOBMr1+5uDUT4mPjsAYJwq1H0DGErXsdVw8fcjf6j02f9IUj4w5yFSqnr0s9PR+Ds8YAtiSPHlb9MQjQ1aOzR/OuY1zcHJxA6Bwh0GP9saAfC37cODX/mzsVxewrbPz/9hLvP4De8b14eTisaTNW4r0Bcrbzyvw3AfsGduLgNVTSF+oIh4ZcwDg5OxCmd4TODDpQ47N+xaME3madSN7jTb41+3AwWkDObH4Rwo9/3GiWDIUrkJ8ZNi1n6/3kUq+MYqDUz6xx+jskYYSXb/FPb3fw3lTRCRZmfsdaici984YY+29EH3nivLEKO7njmVZtx4nLSIikgIZY6xGk885Ogx5CJZ1zKa+iYiDaeqTiIiIiIiIiEgKoUSNiIiIiIiIiEgKoUSNiIiIiIiIiEgKoUSNiIiIiIiIiEgKoUSNiIiIiIiIiEgKoV2fRB4hD0/P89FRUVkcHYekHO4eHoFRkZHa41tERFIVZzeP8wmx0erTPIacXN0D42Oi1DcRcSAlakRSOWOMG/Ad0AhoZVnWvw4O6bFgjPEAhgO1sL2v+x0ckoiISKqnfsvDoX6LyONFU59EUjFjjD+wBsgBVFBnJ/lYlhVlWdbrwFBgrTGmjaNjEhERSc2u9VvWon5LslO/ReTxokSNSCpljKkHbAX+wPbk5IqDQ3osWZY1AWgMfGWMGWaMcXV0TCIiIqnNDf2Weajf8tCo3yLyeNDUJ5FUxhhjgPeAPkAHy7JWODikJ4Ixxhf4DUgDtLUs67yDQxIREUnxrvVb+gK9Ub/lkVG/RSR104gakVTEGJMOmA20Biqps/PoWJYVDDQHVgDbjTE1HBySiIhIinZDv6UV6rc8Uuq3iKRuStSIpBLGmBLYhgyfB2pZlnXawSE9cSzLSrAsayDQBZhtjHnr2pNCERERucEN/ZZA1G9xCPVbRFIvTX0SSQWMMe2BH4B3LMua5Oh4BIwxebE9JTwEdLEsK8zBIYmIiKQI6rekPOq3iKQuGlEjkoIZY9yMMcOBz4AG6uykHJZlHQeqA+HAFmNMYQeHJCIi4lDX+i0/oH5LiqN+i0jqokSNSApljMkOrATyARUty9rl4JDkPyzLirQs61XgO2C9MaaVo2MSERFxhGv9llVAXtRvSZHUbxFJPZSoEUmBjDG1sc3rXgI8Y1nWZQeHJLdhWdZPQFPgW2PMUGOMi6NjEhEReVSu9Vu2AYtRvyXFU79FJOXTGjUiKci1Bd7exrb99kuWZS1zcEhyD4wxmYApgBvwvGVZgQ4OSURE5KFRvyV1U79FJOXSiBqRFMIY4wPMBJ4HKquzk/pYlnUJaAasB7YZY6o6OCQREZGHQv2W1E/9FpGUS4kakRTAGFMU+BsIBmpalnXSwSHJfbIsK96yrI+B7sAfxpge2gpTREQeJzf0Wy6jfkuqpn6LSMqkqU8iDmaMaQOMBt63LOsXR8cjyccYkx/bVph7gNctywp3cEgiIiIPxBjTFhiF+i2PHfVbRFIOjagRcRBjjKsxZhjwFdBYnZ3Hj2VZR4FqQDyw2RhT0MEhiYiI3Jdr/ZZvgS9Rv+WxpH6LSMqhRI2IAxhjsgIrgGJABcuydjg4JHlILMuKADphe/q4wRjzjGMjEhERuTfGmGzY+i1FUb/lsaZ+i0jKoESNyCNmjKmBbQvLlcBTlmUFOzgkecgsmx+BFsAIY8wQY4yzo+MSERG5E/Vbnjzqt4g4ntaoEXlEri3M1gvoD3SyLGuxg0MSBzDGZAamAxbQ3rKsiw4OSUREJJFr/Za3gH6o3/LEUr9FxDE0okbkETDGpAGmAS8DVdTZeXJd6+A0BrZi2wqzkoNDEhERuckN/ZaXUL/liaZ+i4hjKFEj8pAZYwoDW4AIoLplWccdHJI4mGVZcZZl9cM2wmqhMaabtsIUEZGUwBhTBPVb5Abqt4g8epr6JPIQGWNaAT8CHwI/WfqFk/+4tqPCHGAH8Ma1RfxEREQeOWNMa2z9lv6o3yJJUL9F5NHQiBqRh8AY42KM+Qr4FtvCe+PV2ZGkWJZ1GKgCuAAbjTH5HRySiIg8Ya71W4YCw4Bm6rfIrajfIvJoKFEjksyMMVmAZUAZbFtYbnVsRJLSWZYVDnQAfsLW6Wnu4JBEROQJca3f8hdQGvVb5C6o3yLy8ClRI5KMjDFVsW1huQHbE6lLDg5JUolrW2GOBJ4FxhhjBmkrTBEReZhu6LesR/0WuQfqt4g8XFqjRiQZXFtQ7U1gAPCqZVkLHBySpGLXnm5OB2KAFyzLCnJwSCIi8hhRv0WSk/otIslPI2pEHpAxxhuYDHQBqqqzIw/KsqxAoCGwC9hujKng4JBEROQxoX6LJDf1W0SSnxI1Ig/g2sr3m4AEoJplWUcdHJI8Jq5thdkXeAf40xjTxdExiYhI6nat37IZiEf9FklG6reIJC9NfRK5T8aYZ4DxwCfAj9odQR4WY0xhbFthbgZ6WJYV6eCQREQklbmh3zIAGKt+izws6reIPDiNqBG5R8YYZ2PMEGAE0MKyrDHq7MjDZFnWQaAy4A2sN8bkdXBIIiKSSlzbevsLrvdb9HBJHir1W0QenBI1IvfAGJMZWILtj095y7K2ODgkeUJYlhUGtAcmAZuNMU0dHJKIiKRwN/RbKqF+izxC6reIPBglakTukjGmErYtLLcBjS3LuujgkOQJc20rzOFAa2C8MeYTY4w+x0VEJBFjTGVgO7AV9VvEAdRvEbl/WqNG5A6ubWH5OjAIeM2yrHmOjUgEjDHZgBlAKNDRsqxgB4ckIiIpwH/6LV0ty/rDwSGJqN8ico+U0RS5DWOMJzABeBOoriSNpBSWZZ0D6gMHgW3GmLIODklERBzMGOMFTOR6v0VJGkkR1G8RuTdK1IjcgjEmH7ARcAWqWJZ12MEhidzEsqxYy7LeBj4AlhljXnF0TCIi4hjGmPzAJsAF9VskBVK/ReTuKVEjgm3kjDHG+Ybjp7B1dn4GOliWFe6w4ETuwLKsmUBtoK8xZqwxxsPRMYmIyKNjjGmOrd8yHvVbJIVTv0XkzpSoEbGZATx9bevtQcCPwLOWZY3UFpaSGliWtQ/brh6+wDpjTG4HhyQiIg/ZtX7LZ8AYoKX6LZJaqN8icntK1MgTzxhTBqgAbAEWAbWACpZlbXRkXCL3yrKsUKAtMB3YYoxpBLbh8MaYIQ4NTkREHpgxppoxpte1nzMBfwI1UL9FUiH1W0RuTbs+yRPPGDMdOA88A8wC+luWFefYqEQejDGmNjANGAUMB44Bda49wRIRkVTIGLMGGIdtQdbfgZmo3yKPAfVbRG6mRI080YwxhYDtQAwwEogECgJvWpYV5cjYRB6UMSYHtk58ELAbyGlZ1suOjUpERO6HMaYGMAn4Cvgc6GZZ1mzHRiWSfNRvEblOiRp5ohlj1gI1gXBsCZtt2Bbjm6053pLaGWOqApeBN4AW2OaBl7Es64Qj4xIRkXtnjFkM+GD7LH8Z8AJ2WpZ1xaGBiSQT9VtErlOiRp5oxphK2EbT7LYsK8HR8YgkJ2PMeKAJkAYIAIoCf1mW1cShgYmIyD0xxjQElmH7LI8G/IBdwOuWZe11ZGwiyUX9FpHrXBwdgIgjWZb1t6NjEHlYLMvqCmCM8QPKA82ALA4NSkRE7ocvsALb1KdtwEHLsuIdG5JI8lK/ReQ6jah5QJ7uruejYuL0ASJ2Hm4ugZHRsVkdHYeIiIiIiIikPkrUPCBjjBXy5zBHhyEpSPpm72BZlnF0HCIiIiIiIpL6aOqTiEgK5O7heT4mOkqj9cTOzd0jMDoqUqP15IE4u3mcT4iN1meL2Dm5ugfGx0Tps0WSlaeb6/moWM06eNJ4uLoERsZoZkFyUKJGRCQFiomOyjJnf5ijw5AUpFXRNOrwygNLiI3OUu/Xs44OQ1KQlS9n12eLJLuo2LgswbM+dHQY8oj5thmsz5Nk4uToAERERERERERExEaJGhERERERERGRFEJTnx4DCzf+y6Bf/8Td1YVfPuhIQX+/h37Nk4HB1H3rO45N/+yhX+thiYiK4a0fZrLn+Dksy6Jo7qz88FZbfLw8EtVN3+wdiuXJhpOTbY3gse+8QPG82R51yCJyBwHHD/FOq+o0ad+VTn2HJFln9rhvWDt/Ok4uLnh6+9Dt0+HkKlgMgAsBJxk3sA/nTx/HydmJpzv1osFzL3Mh4CTdG5ey1wMY+MtCfDJkfCT3JSKOd3btdE4vHY9xMlgJCWSv/QI5G3VJsu6JBSMI3DQHKyGOtPnKUeSVoTi5unPl8FYOTx9EXMRVADKVrk/+th9hnPTsVKTWu+NZOrgTnu6uj/S6Yxb9zXM1ipM5nTcAE5ZtJzImju7NKz/SOO7X4YAg6vT9ic6Ny/PZSw0A+HLmWn5Zup2sGdIAULlITr7u0iTJ85dsO8Qnk1cSF59A6XxZGflmC7we8X8DSUyJmsfAxMWb6d+hCS1rln4k14uLj0+WduLjE3B2frCOSfDVcHzTet/XuROXbCYmLp6No98F4OUhk/hl0UbealMvyfrLhvUkjaf7fccqIrdmWRZhVy7jk973vtuIj4/nx096Ubl+81vWOb5/N0un/8wPC7fh4eXNosmjmfT1R3w0bg6WZfFVz/a07d6Pyg1aYFkWV4Iv2s/19knHt3M33Xd8IuJYlmURFx6Ca5oM93W+X8WnyFazHcYY4iLD2PJhXTIUqUaaXMVuqhf072oCN8+jwieLcHLz5MCE9zi1dBx5mvfE2dOHYl2H45U1Hwmx0fzzVVvOb5pDturPJcMdiqRua7/p6pDr/rjob2qXzGNP1LzSqPwjua5lWYSERZHBx/O+24iPT+DtcX/SrGLhRGXtape0J25uJSwyht4//smiz14ifzZfeo1ZyMj5m+nbpuZ9xyTJQ4mahyh9s3f4+OWmLNy4h+DQcAZ1bsEzNUoBsHzbAQZOXER8gkWmdN5837MN+bJnumVbx85eoveIWVy6Eo6LsxMDXm5GgwpF6DfuDzbtPcbhgAv8tGgDC7/snuT5RTsOZO2It8mc3oc2A8ZjjGHmwC5cDAmlVs9v2T/5E8Iio+k7Zi7/HD4NQLt65el9LWnx1PujqVw0D9sOnsTDzZWvu7eytx0dG8frX08le6Z0DO76NH9tO8Cw6cuJio3DzcWZIa89Q8UiuVm3+wj9xv1B1eJ5+efQad59viHng68wet5a3FxdSEiwmNivI4Vy3n4NqhPng5i95h9+X/0PT1UpwUcvN72n/y7/Z4DI6Fhi42yJp4ioGLJnSn9fbYmkZtGREfzQ7zVOH9mPs4srOfIW5N3vJrPn77X8PKQvBUtW4NCuv3F2ceWtr8Yzc/QXnDq8j0xZ/en7w1SMMbxWrwgj/txB2gy2z7EJX/XDK40P7d7sf9trnzq8j7ULZ7JpyVye7tyLxu1eve/7mDt+GOXrNCUqIoyoiPCkKxlDfFws0VEReHh5Ex56lYxZswOwa+MqPL3SULlBi2tVDekzPvwRiiJPgvjoCPaN7014wEGcnF3xypqfEj3Gcnn/Rg5PGYBPvjJcPboD4+xCsddGcGLet4QFHMDDNzsle/0MwMa3K1L5y7W4+dhGsh2eNhAXjzTkffad21477MxBAjfN4cLWheRq2o0cdTve1z24ePrYf06IicSKjwNjEl/v9D7SF66Es7sXABlL1eP43G/I07wnafyL2Os5ubrjk7sEUZfO3Fc8Io8b3zaDOTXpPdJ4ulG6+0ja1SrJ6t3HCQwJo0eLynRtWhGAg2cu0W/CMi6EhGNZFj2erkL7OqU4fzmU939eRsClK0TGxNG6RnHeblUd4JbtDZu9nvPBobwybA7urs6Me6sl8zbtJzwqhs9eakCFnqOZ+E5rSuSxfT8Zt3gru46dZ9SbLTgcEET/icsIDo0kJi6ebk9V4sW6d35wvv/0RX5ft4c/Nu2nx9NV6NSw3H2/Z9/P20ij8gUJj4ohPCrmns9fvvMoZfJnI38224OyVxqVo/vIBUrUpABK1DxkPl4erBrem817j/PKl5N4pkYpLoaE8vo3U1k0tDtFcmVl0tItdB06hRXfv3XLdroOncLLTavwUuPKHDh1nmZ9R/H32Pf54rVn2H00gJ6t6tCkcrFbnl+zVAHW7jrC09VLcSrwMhYWsXHxrNl5mJqlCgLw9bS/SLAsNo5+l9DIaBq9/QPF82SjYcWiAOw7eY45n7+Gi7MzJwODAbgcGkGHzyfSvGoJ3mhZi+PnLvH1tL+Y/flrpPXyYP/J87QZMJ49v35sa+PEOb59szVfv2FL9OR67kM2jnkX/8wZiI6NIz4+Icn4g66EMXfdLn5fvcP2wVurDLMGdcE/s+2pWEhYJM0/GJ3kuUVzZWF83w6JXn+lWVW2HjhJwRc/BaB+ucK0qXvrD8rm748mLiGBhuWL8EGHxri76tdHHg//rF9O+JUQfli4HYCwK5ftZWeOHqDXF+Po/tlIxg3qw6CuLfly+ioyZc3B56+1Yt2iWTRs04lK9ZqzbuFMnurYnfi4ONYvmsUX01Ykeb1L5wNYv2gW6xbNwsPLixrN2jBk2nLS+WYG4PSR/Xz3Xuckzy1drR4vvzc40esnDu5h5/rlDPx1MbPGfHnLe81bpCQtOvWkW4PiePukw9snHZ9PXnrtXveTJr0vX/fuwPlTx8iaKx+vvP8lmbL5AxAZHsp7z9XEsixqNHuOZzq/hUniS5qIJBb87xriwkOo8sUaAGLDQ+xl4WcPUbTr9/h0/oaDk/qx65sXKD9gAR6+2dk1rAOBm+aSvc6LZCrXmMBNc8nZqAsJ8XEEbp5H+Y/mJ3m9qOCzBG6eR+DmeTi7e5GlSkvKfzQft7S2JE94wCH2/pj0wy3f4rUo8PyAJMsu7ljKsVlfEHnxJPme60eanEUT1fHJU4qzq6cSExqEi1c6Lvw9P8lkTMzVS1zY9iel35502/dO5EkVGRPLsiGdOHUhhOpvj6N9ndJ4uLnQYegsPmxfh5ZVbb9/waERALwxYgHvPVeDasVyERMbT8tBUyibPxt1S+e7ZXvvtK7BpBU7mfBOK4rluvZwZtN+ewztapdk2urdDO7UEIBpq2w/x8Un8NrweYx96xkK5chEaGQ09d//hYqFclAoR+KH7wFBV5m9fi9zNuzFy92N1jWKseTzl8l0bRTPgdMXeW34vCTfhzql8jHopfqJXt97MpCVu44x/5MOfD17faLyORv2sWrXcfzSe/NB21pUKuyfqM6ZS1fImTmd/dg/UzoCgq4mGYc8Wvqm+ZC1rlUGgIpFcnMu6CpRMbFsO3iKEvmyUySXbYv5Dg0r8u6o2YRGRCW5PkpoRBT/HgugQ0NbFrlIrqyUzJeDrQdO0rRy8buKo2bpAqz+5xDZMqajfOFcWFhsO3iS1TsPU7tMAQBW7zzMl68/gzGGtF4etK5dltU7D9sTNW3qlMPF2dneZnRMHE3eHUm/Do3t065WbD/I8XNBNOs7yl4vLj6BC5dDAcifPROViua5Ka43v5tBsyrFaVyxGHmyJV7vYcehUzR6ZwR1yhRiRO92Sa7Bkz6NJ+tH3v6J2n+t/ucwAAd/+wSALkOnMGL2Knq2rpuo7p5fP8I/cwauRkTx+jdT+XrqX/c9kkckpclTpCRnjh9i3KA+lKhUk/K1r89hzp6nIHmL2kYC5itWhotnT5Mpaw7bcfEynD91DIC6z77Iz0P68lTH7uxYtwz//IXxy5E70bU2L/uDr3t3oFaL5+k3aoY9CXKjnAWK3tMUo7jYWMYM6EGPwWNwvuEzKikXAk6xdeVCRi/9lwyZszDv5+/5od/rfPjj78THx7Nny1q+nLEK/3yFmT9xBD/0e41BE/8kQ+asjFt1kPQZ/QgJusAX3dvhnTY9Ddt0uus4RZ5kaXIVI+LcUQ5O6keGItXIWPr6lw6vrPnxyV0CAJ/cJYm6FICHr22km0+eUkRcOAFAthrtODTlY3I26kLw7pV4Zy+IZ+acia51Yduf7BnZlaxVW1PqrQl4ZMyRqI53jkJU+mz5Pd9H5nKNyVyuMVFBZ9g9vDMZS9fDO1uBm+r4FquBf4NO7Py6PU6u7vgWq0mw87qb6sRFhrH7+07kavI6PrlL3nMcIk+CVtVtD6Fz+aUnXRoPzgZfJT7BIi4+wZ6kAfD18SI8KoYN+04S9Mv1EbVhUTEcCgiyJ2qSai+ppMqN2tcuRcP+ExjYsT6HAi5xNSKaqkVzcvDMJQ4FXKLLd3PtdaPj4jl05lKiNhdsOUCnYbNpW7Mkv/Vti3+mtImuUyRn5nua+hUbF89bP/7JyO7Nk1xK4pWG5XinVXVcXZxZtesYHYbOYvP3r+Pr43XX1xDHUqLmIXN3sy3E9P9foLj4BCzL4l6ewVq3eN3cQyu1Sxfk62nLyZ4pPbXLFMSyLNbsPMyanYd5/4VGtutYVqI2b3xY7O1x8/osri7OVCiSiz8376VFtZI4OzthWRb1yxdm7LsvJIrh4OnARG389lEndhw6zdpdh2n+wRi+69Hanhj6v+J5szP23ReYuWoHLwz6haerl6J17bIUy3N9Md/7GVEz4c+NPF+/Ah7X/hu1qlma6Su3J5mo+f/InbReHrzUuDKj5q5J8loiqVHWnHkZsWg7uzetZse6ZUz5biDfzd8CgJv79eSxk7Mzru7uNx3HREcBUKxCdaLCwzh5aA+r5v5G3ZaJf+cASlWrS7eBI1i3aCaD33iO6k1bU6PZc2TNmdde515H1Fy+eJ7zp47x+eutAQgPvQKWRWTYVd4YNPKmuhuXziVXweJkyGwbwlznmfbMGGVbdDhz9pzkK14G/3y2ed61WrRj+ojPAXB1c7dPg0qf0Y9aLdpy4J/NStSI3CVPv9xU/mINl/etI2j3Ko7+/iWVPreNunNyvf65YpycbzrGyQkrJg6A9IUrEx8VTtjp/ZxbP5OsNdomeS3f4jUp0mko5zfPY/d3L+NX+WmyVH4GT7/ryeP7HVHzfx4Z/UmbryxBO5cnStQA5GzUxb7QcOCW+Xhnv14nPjqC3d+9hG+JWuRq2u221xF5kt04et3ZyYm4W4y8B0i49v1qxZedcXVJ+qHNvbT3f/6Z01HYPzPL/znC+r2neL5OSYwxWNgSRHeTXKldMi/fvd6M2ev20v7LGTxbrRitqhcjT5br62Xd64iawMthnAi8TLsvZgBwJTwKy4LQiGi+7/YUWa4tIgxQt3Q+cmRMy/5TF6le/OaHaP6Z0rF+z0n78ZlLV8iRMXEiSR49JWocoFLRPPT8fiaHTgdSKGcWpi7fRqn8OZIcTQO25EDJfDmYunwbHRpV4tDpQPYcO0uFIrnu+pq5svji7GSYtmIby4b1BKDROyNwdXEmp5/tQ6Ju2UJMWrqFysXyEBYZzZy1O/ns1Ra3bNPJyTCydzveGz2HV76czM/vd6BeucJ8NfUv9p88T9HcthFDOw6dolyhxLHGxcdz+sJlyhfORfnCuTh+LojdxwISJWrcXV1oXbssrWuXJfhqOPPW7eKdUbO5Eh7Fu+3q06p22fsaUZMrqy8rdhykZc3SWJbF8u0H7THfKCQ0Anc3VzzdXYmLj+eP9bspmS/x0zmR1OrS+QB80mWgcoMWlKlen1drF7xp+tPdqv1Me+ZPGMG+bRt466ufkqzjlSYtDdt0omGbTgQFnmXdoll8/VYHXFzdeLH3AEpVrXvPI2oyZ8/Jr5tO2Y+njxxMVER4krs+ZfHPzZo/phIVEY6Hlzfb1y6z7+RUrmYjpnz7KcEXzuPrl5V/1i0nd2Hbk+6QoAukSZsBF1dXoiMj2LryTyrUSXr3BBFJLCr4LK7e6clcvim+JWqzoXc54m6Y/nS3slZ/jlNLxhJycDPFXvshyTounj5kr/Mi2eu8SHTwOQI3z+PfkV1xcnEjX+v38S1e875G1ISfPYx3dtt08ZjQIEL2byBz+aRH10aHXMA9vR+x4SGcXDSSvM/0ASA+Jord33cibf5y5GvV956uLyJQKEcmXP7H3l1HR3F2ARz+zW7chYSEBAgECRII7u4UdytaoBSHAsVdirsXd3d3d5fglhAk7rrz/bGwkG9jQMIGeJ9zek525p2Zu+nmMnP3FaWCHefvxxv6ZGNuQqk8WZi54xwDmqjnV/HyDUZfqYhXtEiIubEhweFRie5vWbEAq4/e4PoTHw6Nbw9Azky2mBjqs/HkbZpXUN8rPPT2xcHaHAuT+F9MW5gY0rZKIdpWKcRrv2C2nr1H+2lb0ddTMqxlRSq4Z/viHjXOdpY8XtZP83rSplOaeXUAXvsFk+lDweX2sze8fB9EjkzaIxeqeGRn0H8HeeLjj6ujDcsPXaNBae0hncL3Jwo1OpDB0oxFf7fij8lriY1TkcHSlMUDWid5zJKBrekzZzPzd5xCT6lg0d+tyGCZdNL5fxU8cnLh7jMcbNR/tMYG+pTK/+lb7AEtqzFgwTZK/zUVUE8mXLWoW4Ln+kiSJKZ2b8ywpbtoPXY5q4a2Y/GAVvScuZGIaPVEvSXyuCRYqIlTyfw1fQNBoRFICgnnDFaM6vBbktezsTCl42+l6fhbaV6+9ef5G/8v+h187p9W1ek9Zwuluk0BIH+2TPRvoU5u+y7cYf+Fu8zp05yHXu/oM2cLkgSxsSqK58nK0N/FA5rw83j58C6rp6u/PVbFxdGoc39s7B15/fzRF52nUoPWdKuWj0oNf8fQOPmutbYZM9GgY28adOyN1xNPIsJCvyr+5BzcsBT/dz607DWcktXq8+jmFQY0KYuegSGm5pb0GL8AACMTUzoNm8q4rg2RZRlzKxt6TlgIgOfV86yfMw6FUklcbAxFK9SiVmvxTbggpFTYK0+ebFYXT2VVHFnr9MDQ2oHwN0+/6DyOZZtyrn9JHMs110zWmxRDG0ey1O5GltrdCHv9iLiIr88zr4+vwf/OSSQ9PZDBqWoHbN0rAuB9bBVRgW80xZcbU1qASoUqLhbnqu01BR2fU+sJuH+OmFB/Lt05AYB9sbq41Et8nkJBED7RUypYM7Apg/47yJTNp1EoJHrULUnzCu4s6lWfoSsPU6bfYgDMjA2Y81edZAs1XWoXpef8PRgb6LG4dwOt/XVLujHwv4MUzuGI84f5XPSUCtb904whyw8xZ9cF4lQq7C1NWdavkdbxn8tka0HPeiXpWa8kD7x8CY1IvED0LcatP8GNp29QKiQM9JQs7FlP83tYfugqPv6hDGlRAXNjQ2Z0rUXLiRuJU8m4Z8vIxLol0yQm4ctIspzYwBohJSRJkgP3TdN1GEI6YlW7P7IsixlGhW8iSZK87X7aFC6EH1OjPGYitwjfTJIkufLK17oOQ0hHjrXLJHKLkOokSZL9Nw/VdRjCd2bTdLzIJ6lEe+YhQRAEQRAEQRAEQRAEQSfE0Kd05NDl+4xZuU9r+4h2taleLPmxgu8DQ2g4bLHW9rql3TUTBguCIAiCIAiCIAiCkH6JQk06Ur1YnhQVZBJjZ2X+xRPqCoIgfK1+DUsxcf0xDI2Mk2w3rksj/hg2FYcs2VPlupvmT+L4jrWAel6cZn/9k2T7uUO7cWzbatZeeYOxqXp8dkigP0vG9uPJ3Rvo6elRplZjmnUfjOf1Cywe01dzbJDfe6wyZGTatrOpErsgCF/m0vCqFBm+G6VB0nnm5rQ25GwzDpOMLqly3Wc7Z+BzehMAjuWaaSYD/n9Bj6/yYMUg4qIjMcrgTL4/52JgoV6a9/Wp9bw6uARJoUBS6JGz1WiscpdIlfgEQfhy5f9ewsHx7TE21E+yXbMJG/i3Yw2yOVgn2S6lpmw5zfoTtwD1xMQfJzv+nEolU3PYSiKiYwDIaGXG9C61yGJvxcUHXgxYsl/T1jc4HHsrU05MVq8sZ9N0PHmz2KP4MOBoYc/65M1qnyqxC7ojCjW/gLI9pnF4Wq9kk1LTEUuY3K0h2RwzpMp1J687zLojlwFoVbUYA1tVS7J99xkbWHv4Ml5bJ2BmrJ4tvfPkNZy+9YQ3/sHxtgOsPnSRBdtPoVAq0FMomNClPqXzp86DoCAIyUvpykzDFm9LtWvevXyG8we3M3PXJQD+aV6RfMXKkq9Y2QTbXz6+DwntodJzhvyJe4kK9Ju2AoBA37cAuBUqGe99TerRArfCpVItfkEQvkxKV2Yq2H9Nql0zwPMC7y7tocSEYwBcGV0Hq9ylsHaLP8GmLMvcW9STPJ1nYJWrBM92zuTJpvHk+WMGMaH+PFo7klKTz2Jgacf7awfxXDGQkhNPplqcgiB8mZSuqrRpSItUu+a5ey/Zed6Ts9O6AFBtyArK5M1K6bzxF1pRKCS2DG2Bhal6FeCFey8xbOURVg1oQonczvFibzN5MyXcMsc7/sC4dpgZG6Ra3ILuiTlqfgFn5vZPtkgDsHlM51Qr0py9/YQdZ25yfsEAzi8YwI4zNzl7+0mi7fdfvIskaT9MtalegtNz+2lt9w8OY8iineyY8Cdn5vZnYKtq9J2zJVViFwThk/OHdtCzdiH6NyrNlkVTaJTHTLM60+c/d62Sl/Wzx/JPi8p0rZKXfWsXas7RtUpeXjy8myrxnN2/lQr1W2FoZIyhkTEV6rfi7P6tCbYNCfBj07yJtP9nYrztr58/5sWDO9Rp+5dmm1WGjFrHB/q948bZo1Ssl3o3bIIgaHt3eS8X/inHpeHVeL57NsfaZSI2Mgwg3s/n+hfn6bbJXBlTl3P9i+N1eJnmHOf6FyfUyzN14rm0E8cyTVAaGKM0MMaxTBPeXdqp1S7k2U0U+oZY5VL3knGq/DvvLu0G1EUcgNhIdY6MDQ/G0NoxVeITBCFxuy54UqL3QioMWMr0bWexaTqe0IhogHg/F/xrLhM2nKT6kBUU/GsuS/Zf1pyj4F9zuffyXarEs/3cPZpXcMfYUB9jQ32aV3Bn+7l7Cbb9WKQBCImISvDZ6H1QGMdvPqV5+fypEp+QfokeNT+JnWduMW7VPowM9GlQriBjV+7X9ECxqt1f87N7+3G0qFKUE9cf8sY/mJ6NK9KlrvqbaPf249g4qhN5Xb79RmL7qRu0rFJEUyBqWaUI20/doIy7q1Zb/+Aw/l17iJ0T/2TNoUvx9lXwyJng+T/eAIVGRGFvbU5QWCSZMlh+c9yCIHwS6PeOBSN6MWnDMTK55GD3irlJto+KjGDShmO8835Bn3rFqdSgjWaoUULCggMZ3q5Wgvsy58hD3ynLtLb7+niRv/inLsN2js7cu5LwsKTFY/vRvPsQTM3j5wavJ57YOjgxf1h3nt6/iXWGjLQdMI4sOfPGa3di53o8ylRJsIgjCELqiA72xXP5QIqO2I2JQ3ZeHtCea+9zcVERFB2xm4j3r7g0tBIO5ZqjZ2SaaPuYsCCuT2qc4D5Tp9zk+3Oe1vZIP2+s3UprXhvaOhH44EKC7YwyOGteG5jbIssqYkIDMDC3JXe7SVweUR09E0uQZQoNFl8oCUJaeh8URt9F+zg0oT2ujjbM33MxyfYR0TEcmtCel+8CKdNvMS0rFkyyV0pQWCR1R65OcJ9bZrsEl/b28g2iTL6smtfOGSw4f+9lotdoNmEDt56+wcbChK3DWmrt33DyNpUKZsfeKv79Vb1Rq4mNU1G1UA4GNSuHob54zP/Rif+DP4H3gSH0mbOZI9N74epkx7ztSXerjYiK5vD0Xrx460/pblNoVbVYvCFF/y8wNII6/8xPcF+eLBlZMrCN1vZX7wMpWyCH5rWznTVn7zxN8Bx/z9/GP61rYGma9Pjzz9lamjGtR2PK95yOlZkxKpXMnn//Sv5AQRBS7OHNy2TPW5BMLuq/5cqNf2f5v4nPB1O2dhMA7J2yYmphhd9bb5yz5060vamFVYqHT32pcwe2oadvQNFK2oWguLhYHt68RJu+o+g+fj4XDu1kYvfmLDh0O16749tW07rf6DSJTxAEtaDHVzF3yY+Jg3rocqbyLXi8flSi7TOWbACAsV1m9EwtifJ/jV6mhL/UAdA3tUzx8KnUFBsRgtfR5RQdtR9Txxy8vbiL27M7UXzc0QS/JRcE4dtdeehNgWwOuDraANCmUkGGrUz8779RGfUXNFnsrbA0M+K1fzC5nBIfXWBpapTi4VNfa9OQFqhUMjO2n2Xa1jNM7Rz/Pmbd8ZuMaFUp3rZbC3rinMGC4PAous3ZydQtZxjasmKaximkPVGo+Qlc9nxBQVcnXJ3sAGhTvThDl+xKtH3j8oUAyJrRBiszY177BpIrc+LfGFuZGafZJMU7Tt9EX09JzRJ5k2/8meDwSJbuOcvxWX3I6WzP9lM3aDN2OWfn/y1ugAQhtcjyF/096Rt8KvgqFEriYmOTbP81PWoyODrz7vUrzev3Pl5kcHDSanf74iluXzxJ1yqfckvvusUYvngbdpmyYOeYmbxFywBQsnp9Zg76g+AAXyys1TdoD25cIiTInyLlayT5HgRB+FYyJDCPVGIU+p/yjKRQIqvikmz/NT1qjGydiPT10ryO8vPG0DZTsu2iQ/wACX0za95d3oO+iSWmjupCd8YS9bi/tA8xIf4YWNgmGbMgCF9HRuZLHgM+73WiVCiIjVMl2f5retQ4Z7Dk1fsgzWsv32CcMlgkeR2FQqJNZQ+K9VoQr1Bz+aE3ASERVCucI1575w/nszAx5PcqHszfE3+EgvBjEoWan4As80UPU4YGn/63K1KQlL6mR01mOytevfPXvPZ6H4BzBiutdqdvPeb0zce4tx+n2VbyzylsGfsHblkcEo3p+LUHWJoak9NZPaN5w/Ie/DVjA37BYWSwTHyohSAIKZerYDHmDv0LnxdPcMzqyvHtqTdZJ3xdj5rSNRvy3/gB1GqlnpTv5M51/DF0qla7riNn0nXkTM3rRnnMmLX7MsamZsiyjKGxCS8f3SNLzrzcvXwGM0trzK0+PTwd27aKivVaodQT/0wKQlqydC3C/aX9CX/7DJOM2fA5sylVz/81PWrsi9Xl4ZrhOFVtD4DP2S3k+n2cVjtzlwLERUcS+PAiVrlK4H1sNfbF6wJglCELIS/uEB3si4FFBgLun0XP2Bx9c5tvfk+CICSsaE4nes7fy1Mff7I72rDuw0pLqeVretTUL5WHf5Yd4o8aRQDYePI2/3asrtXONygMhULCxtwEgJ0X7pMni128NmuP3aB5BXf0lJ+mmQ0MjcBQXw9jQ31i41TsuuBJfhcxZPtnIO5AfwLF3LLSY+ZGnr72JXumDKw7fDn5g77A1/SoqV+uIIMW7uCPOur5b9Yfvcrkbg212k3r3php3T9902VVuz8XFg5IcigWqHsD3XrizfvAEOyszDl18zHmJkbYWiQ+Tl0QhC9jlSEjf46ayfg/m2BubUuxSrXQ09fH0NhEZzHlL16eEtXq0adecZBlKtRvSb4Pc9ZcOraXy8f20X2c9jfkn5MkiR4TFjJ3aDdioqMwNDJh0Ox1moJ3VGQEZw9sZ9L6o2n+fgThV2dgaYdb+0ncmv47+mY22BaqhqTUT3Y57rRknac0dkVrcXFIZUDGoUwTrN3Uq7+9v3YQ3+uHyNNpGpJCQb6us/FcMQhVTJR6ee6u6rm8LLIVIEvtblyb0AiFngGSngH5eywWvX4FIQ3ZW5kxrUstWkzciI2FCTWL5ERfqcAkBYuqpJWy+bJSp0RuyvRfjCxD8wrumjlr9l9+yP4rD5ndrQ7vAsPoPm83MXEqZFkmq70Vi3rV15wnIiqGHefvc3B8+3jnf+jtR7/F+5EkiIlVUTy3E0OaV/ieb1FII9LHSVmFryNJkhy4b5quw2DH6ZuMW7UfWwtTapbIy4Q1B3m7YxIKhUJrMuHPJwz+/HVqTiYMMHHNQTYeu4qMTIvKRRncRj2EYN+FO+y/cJc5fZprHfN5rABtxq3g2oOXvPYLwtHWgjxZHdg2risAc7edZNXBC+jrKTHU12N853qUyqf75bmtavdHlmVxJyZ8E0mS5G33Q3UdBhFhIRibmgNwdNtqjm5dxYS1h3Uc1a+pUR4zkVuEbyZJklx55WtdhxFPbEQoesbq3rCvT23A59R6igzTXmVJSBvH2mUSuUVIdZIkyf6bh37364ZERGH+4Tli7fGbrDl6g/3j2n33OH5VNk3Hi3ySSkSh5hull0JNSHgk5ibqJd3WHLrEmkMXOTC1p46j+jWJQo2QGtJLoWbLwsmcO7iduNhYzC2t+XP0bJxd3XQd1i9JFGqE1JAeCzXPd83i3eXdyHFx6Jla4dZhMqZJTBAspC5RqBHSgq4KNdO2nmHn+fvEqmSszYyY3qU2uZ0TnyBYSF2iUJN6xNCnn8SiXWfYceYmcXEqrMxMmNWrma5DEgThJ9Dkz4E0+XOgrsMQBOEn5lKvNy71eus6DEEQfgL9G5elf+Oyug5DEL6ZKNT8JP5uUZW/W1TVdRiCIAiCIAiCIAiCIHwDRfJNhJ/db4Pmc+DiPZ1df+Oxq5T+ayq2dQawePeZePvCI6PpMHEVhTpNoFiXSUnGeeuJN7UGzKNE18mU6DqZw5fvA3D94SvK9phGia6TWXfk00TLaw9fYuqGL1sJQhCElBvetiZXju/XdRjcuXSKJvks2Ld2oWZbVEQ4U/u25a8aBehZu1CycUZHRdKrThEGNCmn2fb4zjX6NSxFrzpFOL5jrWb7se1r2LJwcuq/EUEQALg2sTG+N3Q/V1bA/XMca++M1+Flmm3X/23GpeFVuTS8KheHVOJYu0yEvtS+d5FVKh6uGc7FwRW5OLQyN6a2IirgDQDBz25yaXhVLgyuEG8VLJ/TG3m+a1bavzFBEACoO3I1B68+0tn1N526Tdn+S7BrPoEl+xNfLOb2szdUHLiU8n8voVTfRfRZuJeomFgArj95Tfm/l1CyzyLWf7YK1rrjN5m29UxipxTSAdGjRtA59+yZWPZPG2ZsOqa1b862E5gZG3L9vyE88X5PrYHzuLZ0sNaqUGGRUfw+fgVLB7ahmFtWYuPiCA6LBGDG5mP827UBHjmdKf3XVFpVLYZ/cBhrDl1m54Su3+U9CoKgGxFhIayeNoJC5eIvhblz2SyMTc2Zf/AWr58/Ztjv1Zl34BbGpmYJnmftzNHkLliC5w9ua7ZtWzKNTkOm4JqvEH3rl6BSg9aEBPhxbOsqRi7bk6bvSxAE3YqNCOXJpvHYFqgcb3uhQZ8KK++v7ufp1smYZcmrdbzv9YMEP71OsXFHUCj1eLRuFM93zSJ3u4m82DOXnK3HYZGtABeHVsaxbDNiQv15fWoDhQZtTPP3JghC+pDfJSNL+zRg1o7zSbbLkcmWQ+M7YKCvRKWSaT99KysOX6dr7WLM3H6eSR1rUDC7A2X7L6FlxQL4h4Sz9vhNtg9v/Z3eifA1RKEmnQiPjKbb9PV4vniLnp6CnE72rBjSlrf+wXSavIaQ8CiiomOoXiwPYzrVBdSrKj3yekdIeCSPvd/jkcOZPs0qM2zJbl69C6BuGXfGfmj726D5uGfPxO2nr3ntG0jDch6MaF9bK47g8EiGLt7J3ec+REbHUq5ADiZ0rodSqWDS2oNsPXkdQwN9JGD3pL+wMvv25TM/rjKlUGjPO7X91A0W9GsJgKuTHYVyOHPkiicNyhWM127LieuUzJuNYm7q5e70lEpsPizVra+nICIqhqjoWJQKdSey4f/tZljbmhjoiz8B4ecWFRHO7MFdePX4Pko9fZyy5eTvGasJeP+WGX+3Jzw0hJioSIpUqEnbAeMA2DB3PN5PHxIRGsLrF4/JnteDRp37s2LyYN6/fkXJavVoN2A8oO414+JWgOeet/B7+5rSNRvRpu8orTjCQ4NZPmkwLx7eISYqkvwlytN+0CSUSiUb503gzN7N6BsaIUkSY1bsw9TCKlXe//JJg6nfsTdXTxyIt/3s/q30nLQYgEwuOXDNV5jrpw9RumYjrXPcu3IWnxdPqNe+B88nfyrU6OnpExUZQUxUJAqFEoCVU4fRsvcI9A0MUiV+QUiv4qLCubekD2HeD1Ao9TFxcCV/j0VEBb7j7oK/iIsIQRUTha1HFXI0Hw7A0+1TCfd5TFxEKOFvnmLu4k7WOj14tH4Mkb5e2BetRY4WIwB1rxmzLPkIfXmXKH8f7IvXxbXpYK04YiNCeLRuFKGv7qOKicI6T2lythqFpFDybPs03l7cgULfEJAo9M8W9E0tU+X9P1o/iiy1u+F7I/GeuT6nNuBYvkXCOyUJVUwUqpgoJElBbGQoxnZZ1LuUeqiiI1DFRCJ9yC2PN4wle+NBKPREbhF+LeFRMfw1dxeer3zR11OQI5Mty/s14m1AKJ1n7SAkPIrImFiqF87B6N+rADBp0ykeefsREhHFk9f+FMzuQJ+GpRm+8givfIOoU9yNMW3VbeuOXE1+l4zcef6W134hNCidh+GtKmnFERwexbCVh7n34h2RMXGUzZeV8e2qolQq+HfzKbaduYehvhJJktg1qg2Wpkbf/N7zZrEHQCElPTev8WfLj8fExREZHcvHxyp9PQXhUTFExcSi/LBxxOqjDG1REQN95TfHKKQd8ZSaThy99oDA0AguLlJP2hkYEg6ApZkxG0Z2wszYkJjYOBoNW8yRK55ULapedeXGYy+Oz+qDmZEh5XtNZ/TyvWwZ25nYuDgKdphA+5olcXWyA+DBy7fsnNCVyOhYqvebTfE8LtQsEf9bnqGLd1LG3ZU5fZqjUqnoPGUtaw5fon6ZAszddpJH60ZjbKhPSHhkvKTw0YnrDxn23+4E32PLKkXp3rDCF/1evN4Hkjmjtea1s701Xu8Dtdp5vnyLvp6SpiOW4OMfjEcOZ8Z1qouVuQkDWlaj75ythEdFM6ZjHc7cfoJCkijj7vpFsQjCj+j6mSOEBQUye89VAEKDAgAwtbBk8PzNGJuaERsTw5jO9bl2+jCFy1UD4OndG0zecgojEzP+blyGNdNHMHyxevWnP6vlo1rTDmRyyQGA1xNPRi3bQ3RUJINbVsbNowRFK9WKF8fySYPJV6ws3cfNQ6VSMXNAR45tXUWpGg3YuWw2y88+w9DImIiwEAwMtQvAN88dZ+WUIQm+x0r1W1O3fQ+t7ddOHSIsJJDSNRpqFWre+3hhlymz5nUGR2d833hrnSMyPIxlEwcxeP4mfF48jrevabdBLBrVm8iIcNoOGMfdS6eRJAX5iolJDIWfn//tk8SGBVJy4kkAYsICAdAzsaBA35XoGZmiio3hxtRW+N06jm0B9YNPyPPbFBu1H6WRKZdH1ODJpgl49F+DrIrjXP8SZKrYBhOH7ACEeT/EY+BGVDFRXB1bF8ucRcngUS1eHI/WjcLKrRR5Ok1DVqm4u7A7r09twL7Yb7w8sJCyc26hNDAmNiIUhYH2g5P/3VM83jAmwffoUKYZWWp20drud/MYseHB2Berk2ihJjroPf73TuPWaXqC+zN4VCfw/nnO9iqIwsAYE8cc5G47AYBs9fviuWIQqqhwcjQfRoDneZAUWLuVTPBcgvAzO3bjCUFhkVyYqe4FHxgaAYClqRHrBjXDzNiAmNg4moxbz5HrT6haSH1/f/OpD8cmdcTUyICKg/5j9NrjbBragtg4FYW6z6NdtUK4OtoA8MDLl+0jWhMZHUuNoSsontuZGkXirzw3bOVhyuTNyuxudVCpZLrM3sGa4zepX9KNebsu8mBpH/UzUkQUxgYJPCPdesaIVQnnixYVC/BXnRLf9Hvy8Q+h+YQNPH8bSNVCrrSrWhiAvxuXpf+S/YRHxjD69yqcvfsChSRROm+Wb7qekPZEoSadcM+WiUev3vH3vK2ULZCD6sXyABCnUjHiv91cvP8cWYZ3ASHcfuqtKdRUKZwbS1P1Q00+l0y4Z3fEUF8PQ309cjrb8czHT1OoaVm1KHpKJWbGShpVKMSpm4+0CjX7L97j6sNXzN2uvvGKiIwmUwYrzE2MyOFkR5cpa6la1I0axfNqlgP/XMVCuTgzt3+a/Z4SExsXx8kbjzg8vRf2VmYMWbKLoUt3Ma9vC9yyOLB/SncAomNiqT9kEetGdGD+jlNcvPcMeytzxneuJ3rXCD8lFzd3vJ49ZPGYvuQvXo4iFWoCoIqLY9WUoXjeuAiyTIDvW5573tIUajzKVsHUXP3Ns0uu/GR1c0ffwBB9A0OcsuXkzatnmkJNxQatUerpYaxnRtnaTbh98aRWoeby8b08vn2FXStmAxAVEYGtgxPGZhY4ZcvJrIGdKFS2GkUq1sLY1FzrfRQsXYnp25Pu+vu5sOBAVk8fwcj/dn35L+0zK6cMpVarLthmzKRVqMmcIw/j1hwCICY6mtEd6zBo7gZ2r5yH5/XzWNna037QJNG7RvgpmWXJS7jPEx6sGoy1W2lsC6q/nUZW8WTDWIIeX0GWZaKD3hHy8o6mUGOTvwJ6JhYAmGbOg3nmvB96vICJoysR715oCjWOZZuhUOqhUOqRsUR9Au6d1SrU+F4/RPDTG7w6oJ6DKi4qEiMbR/SMzTFxcOXeop7YuFcig0dV9Iy1hzba5CtP8bEpn68uJiyIJ5sn4DFwQ5LtfM5swta9EgYWtgnuD3lxmzCfR5SZeQ2lkSmP1o7g0bpR5G47AVOnXBQZuh0AVWw01/9tToHey3h1cAmBjy5jYJGBnK1Gid41wi8hv0tGHnr7MWDpAcrky0r1wup7jziVipGrj3LpoZf6GSkwlDvP32oKNZULZsfiQ6+WfFnsyeeS8cMzknqo0LM3AZpCTcuKBdBTKjAzNqBRmbycuv1cq1Bz4Mojrj32Yd7uCwBERMeSycYCc2NDcmSyoeucnVTxcKVGkRyY/98UDQAVC2Tj1NTOafZ7crQx59TUzoRFRvPn7J3svuRJ4zL5cMtsx94xbQGIjomj4di1rBnQlAV7L3HR8xX2lqaMa1dN9K5Jh8STaTrh4mjLxUUDOXnjEUeuejJm5T7Ozf+bedtOERgawdEZvTEy0Kf37M1ERsdqjjM0+PS/UKmUMPysgqtQKIiNUyV4PVmWkRLoRifLMuuGd8DFUfvG4siMXly495xTNx9RsdcMtoztTP5smeK1Se0eNc52Vrx6G0AGS/XNlde7AMoVyKHVLou9NeUL5sDBRn3z17RiYXrM1B7HPWPzMdrWLEFgaDj7Ltxhz6S/mLDmAJuOX6NN9eJfFJsg/AgcMmdjzt6r3Dp/gmunD7F2xmhm7LrIrhVzCA0O5N+NJzAwNGLBiB5ER0VqjtM3/FSIVSiVGBh+uulQKJSoYmNJiCzLkFAXXVlm0NwNOGTOprVr0objeF47z+2LJxnQpCzDl+zAJXf+eG2+tEfNy0f3CHj/hkHNKgIQEujH5eP7CQ0MoFn3wdg5OvP+9SssbdSFbF8fL9xLlNc6t+e181w7dYhN8ycREx1JaFAgfeuXYMbOi/HabV8yjSpN2hMWHMjlY3sYs3I/G+aM49SejVRp9HuCcQvCj8zYPislJp4k4N5p/G4d58mWSRQfd5SXBxYREx5IkRF7UBoY4blsAKqYKM1xH4syAJJCqfVaVn1hbkGmQO9lGNtn1dpTZMQegh5dJuDeGS6PrIlH/7Va88V8aY+aMG9PogLfcmW0evh4TIg/vtcPExMWSLYG/TTtfE5vJEeL4Qme9+N+6zxlNEWrjKUb47m0n1a7F3vmkqlCK2LCgnh/7SCFB2/h6bYpvDm3jUyJDasShJ+IS0ZrLszsyqnbzzly/Qnj1h3nzLQuzN9zkcCwSA5P6ICRgR59Fu4lMiaRZySFAqPPChFKhUScKpFnJEjkGQnWDGyCy2c9/T86NKEDFz1fcerOcyoPWsbmoS3IlzVjvDZp3aPmI1MjAxqUycuW03doXCZfvH0zd5zj9yoeBIZFsv/yQ3aNasPEjSfZfOYOrSsVTOSMgq6IQk064e0biLWZCXVKu1O5cG7cfh9NQEg4QWERZLSxwMhAn9e+Qey7cIeOtUt/1TU2HrtKo/IeRMXEsuPMTYa31Z6jplbJfMzYfIzp3RujVCrwCwolJCIKWwtTwiKjKevuSll3Vy7ff8H952+0CjWp3aOmftmCLN9/nkK5MvPE+z3XHr1i6aA2Wu0alPOg2cilhIRHYm5ixJGrnuTP5hivzRPv91zxfMGgVtW58+w1EuokrJAkwiKjtM4pCD8D3zfemFtaU6JqXTzKVKFThZyEBgUQFhKEtZ0DBoZG+L19zaVje6nR4o+vusbJXespW6sxMdFRnDu4nda9R2q1KVbpN7YvmUaXkbNQKpUEB/gSERaKhbUtEWFh5CtejnzFy/HgxiVePrqnVaj50h41eYqUZsXZ55rXcwZ3xTV/IWq3/hOAUjUbcmjjMnLkL8zr5495fOcq/aYt1zrP5wWZO5dOsXLyUKZsOR2vzevnj3l48zLNug/m+YM7modJSaEgMjw0xTELwo8k0v81+qZW2BWphU3+CpztU5jYsEBiw4MxtMyI0sCIKH8f3l8/iFPltl91jTfntmBfoh5ybDTvL+8he5NBWm0yFKrOiz1zyd1+EpJCSXSIH3GRYeib2RAXFYa1Wyms3UoR9Pgqod6eWoWaL+1RY5WrBOXmfpqr6t6SPli4FMC5WkfNtqBHl4mNCNGaaPhzxnZZ8L9zksw1uqDQ08fv5lFMnXPHaxP+5inBT66RrUE/9cpRH3OLpCAuKizFMQvCj8zbLxhrM2N+K56bSgWzk7fLLAJCIwgKiyKjtRlGBnq89gtm/5VHdKhe+KuusfHkbRqWzktUTCw7z99nWMuKWm1qFs3JzO3nmNa5lvoZKTic0IhobCyMCYuMpky+rJTJl5XLD725//K9VqEmLXvUPH8bQCYbCwz0lUTHxLH/8kPN/DYfPfHx58ojbwY2LcfdF2/5WIpSKCTCIqPTJC7h24hCTTpx75kPo1bsBUClkunXrAqOtpZ0rVeW9hNXUa7HNJzsrKhQMGcyZ0pcQVdn6g9ZhI9fEA3KFtQa9gQwsUt9Ri7bQ9ke05AAA309Jnatj76ekrbjVhIRHYMsyxRwdaJuGfevjuVzW05cY8R/ewgMjWDfhbvM3HSMbeO74JbFgV5NKvLX9A0U6jQBpULBzJ5NNUOuxq8+gKONBR1/K01me2t6NalE9f5zkCSJrA42zOrZNN51hizeycQuDQDIny0TLg42lOo2BRsLU9YOa58q70UQ0puXD++yerp6ck5VXByNOvfHxt6R39p0Y2rf3+nfqDS2Ds4UKFnxq6+RPa8HozrWwf+tD6VqNtQa9gTQcci/rJoyjH4NSiJJEvoGhnQc/C9KPX2m9G5NdGQEKpWK7Hk9KFmt3lfHklINOvZhzpCu/FWjAAqFkm6j52iGXK2fPRYbe8cUF66WT/qHjoP/BcAld34yOmejd91iWFjbMmjO+jR7D4KgS2GvPHmyWT2niqyKI2udHhhaO+BcrRN35nbh0vBqGNlkwibv18/ZZJ7VnRuTmxMV8Ab7YnW0hj0B5Gw1hicbx3FpWFWQJBR6BuRsPRpJqcedOZ2Ji44EWYV5Vnfsimh/QZUWXp/eiEOZJpqJgD96um0yhlYOOFVui1OV9oR5P+DSsCpISj2MbJ1waz85XvtH60aRs/VoQD3UzNguCxeHVELf3Ab3Xv99l/ciCLp27+U7xqw9DkCcSqZvw9I42pjTtXYxOkzbSoUBS3GytaB8fpevvkbB7A40HLMWH/8Q6pfKozXsCWBCh2qMWn2McgOWIgGG+komtK+Onp6CdlO3Ehkdi0qWKZjNgTol3L46ls9tPXOXEauPEhQWyb4rD5m54zxbh7XELbMdEzacxNHGjA7Vi3DpgRezdpxHoZCIU8mUyZuFvxvHz71DVxxmQnt1Ds2XNSNZM1pRut9ibM2NWT2gSarEK6QuSZZlXcfwQ5MkSQ7cN03XYSTrt0Hz6dmoYoLFGSF1WdXujyzLSU/PLgjJkCRJ3nY//ffGGN62JvU79E6wOCOkrkZ5zERuEb6ZJEly5ZWvdR1Gsq5NbEyWWn8mWJwRUtexdplEbhFSnSRJsv/moboOI1l1R66mR72SCRZnhC9n03S8yCepRKHrAARBEARBEARBEARBEAQ1MfTpF7H33790HYIgCD+hsasOJN9IEAThCxUevFXXIQiC8AvYPVpM+C+kT6JHjSAIgiAIgiAIgiAIQjohCjWCIAiCIAiCIAiCIAjphBj6lE6kh8l+u01fz8nrj6hTxp3JfzYEYP/Fu4z4bzexcSo8cjgzr28LTIwM4h0XHRNL5b6zNK8jIqN5/safx+tHY21uwruAELpOXcfLt/4YGeozq2dTirplBaD/vK2cv/sMhUJCX6lkVIfaVPDIlWysSZ3zcysPXGDRrjMgyyBJ9G5SieaViwAQGhFF/3lbuf3Em5i4ONrWKEHPxpUAGLV8D0euPtCc59Grd4zuWIc/65dj55mbTFh9kPdBITzdMPYLf8uC8H2lh8l+5wzuys3zxylZrR5/DJ0KwOXj+1g1ZShxcXFkz+tBzwkLMTQ20Tp20eg+eF47j6RQoNTT5/d+oylQqhIx0dEMal5B0y4qIoK3Xs9YfuYZphZWTO3ThpeP7qNvaIiljR1/jpqFQ5bsycYa6PuWWYM68877JQZGRnQbPYdcBYsl2Pb2hROsmjqc6MgIAPpMXU42N3cOb1rOvrULkWUZSZJo0KkvFeq1+BBnOPNH9OC5522QZTLnzEv3cfMwNjXn3MHtbJgzjiC/96w8//KLf8+C8D2lh8l+7y3pQ8Dd09gVrUWuNuMA8L1+iMcbxyLHxWHu4k6eP2agNNTOLdFB77m7qCeRvl4oDYzI3WEylq7xl/b1ObOJ+0v6UKDvSjJ4VENWqbgzrwthXp4o9I3Qt7Ald7t/McnokmysKbkeQGxkGA9XDibk5R3kuBgylW9Fltrd1PGc3sijdSMxyuAMgFGGLBTovQyAuKhwPJcPUC/jLcuYOufGreM09IzNeHd5D0+3TSEm2Jdy8+5+0e9YENKT9DDxb/e5uzlx+xl1S+RmUscaABy48pCRq48RG6eiYHYH5navi4mhfrzjomPiqDp4meZ1RHQsz98G8HBpX6zNjak7cjVevsGYG6ufs7r+VpzWlQomG8+7wFD+nLOLV++DMDLQY0bX2hTN6aTVbuWR6yzZf0Vzb9KrfkmalVev4Lvu+E2GrDhMFjtLALLaW7F6oHr13J3n7zNx4yl8g8N4vKzfV/zGhK8lCjVCPH2aVaZLXfVybqERUfSevZn9k7vj6mRHz5kbmbPtBINaVY93jIG+Hmfm9te8nr/jFCevP8TaXH1jNHrFXkrnz8728V05f/cpnaes5drSwUiSxIj2tbE0NQbg9tPX1B+ygCfrxyBJSU8WntQ5P5c9Uwb2/fsXVuYmePsGUq7HNErmy0bWjDZM33gUAz0lZ+f/TXhUNNX7z6FkvuwUc8vKqA51GNWhDgC+QaG4tx9Hw3LqZFm/bEE8cmamUu8Z3/CbFoRfS6PO/ajd+k8AIsJCWTCiB+NWHyKTSw7mDevOzmWzaNZ9sNZxbfqNxtRcfePwzPM2ozr8xopzL9A3MGD69vOadrtXzuPW+eOYW9mgUqmo2KA1RSvWQqFQsG/tQhaM7Mno5XuTjXPNjFHkLVqGkf/t4v7Vc8wc2Il5B25q5Ra/t6+ZN6w7w5dsxylbLqIiI4iLjQHA0cWVsasOYGZpje8bb/o3LEWeIqWwd8rKoU3LiY2JZuauSwBM6dOGA+uX0vCPvpSu0ZAc+QszoEm5r/slC8IvKOtv3XGu1hFQFzk8lw+g8JDtmDhk5/5//Xm5fyHZGmg/XDzZPAGr3CXJNrAPgQ8vcm9hD0pOPqv5W4/0f4338dVYuBaJd5xDmaZk8KiGpFDgdXgZD1YMpNCgTcnGmdz1PnqxezaSnj7Fxx1FFR3B1bH1sMxVHMsc6jis85bDvecSrfO/PrEWVWwMxccfA+DO3C54H1tJ1t+6Y1+sDuYuBbkyqmYKfqOCICSnT4NSdK6l/hInNCKaPgv3sXdsW1wdbei1YA9zd11gYNP4/5Yb6Cs5NbWz5vWCvZc4eesZ1ubGmm2TOlb/4iLUmHXHKf1hOe4L91/RddZOrszpppVbXB1t2DO6DVZmxnj7BVNhwFJKumUmi70VABXcs7Hy78Za569fKg+FXB2p/M8yrX1C2hJDn1LZ5HWHGbx4p+a1f3AY2ZoPJywyipM3HlKt32zK9ZhG6W5T2HryeoLn+G3QfA5cvJfg6zf+wbQdv5LKfWZSutsUpm08kmbv5cgVTwrlcMbVyQ6AjrVLs/3UjWSPW3v4Eq2rF9e83nH6Jh1rlwKgVL7sGBnoc/3RKwBNkQYgOCwCiZSt5pbUOT9XrkAOrD4UjJwyWOFgbcFr30AA7jx7TZUibkiShKmRIWXcXdl0/KrWOTYcvUoFj5xktLFIUWyCkBY2zZ/EsomDNK9DAvxoWzILkeFh3Dp/nH9aVKZ/o9L0qVecM3s3J3iO4W1rcuX4/gRf+797w+TerRnYrAJ96hVny6IpafZerp8+hGu+wmRyyQFAjRadOLs/4YlDPxZpAMJDghIt4h7bvpoqjdQTAioUCopX/g2FQv1PXG6PErx/rZ0fEnLuwDZqtOgEQJ4ipdE3MOTxnWta7Q6sX0yFei1wyqbuAWhoZIyJmTpH5C9eHjNLawAyODhhbeeA3xtvACRJ3fsnNiaG2JgYoiLCsXXQ/uZLEL6XZztn8GjtSM3rmFB/Tv2Vj7iocPzvnubKmLpcGl6Ni0Mr8/bCjgTPcW1iY3xvHE7wdVTgW27P6czlUbW5OLQyz3fPTrP34n/rGOYuBTFxUPeec6rclncXdyXY9t2l3ThVVucMq1wlUOgbEvLspmb/g+UDydlqNAr9T72IJYUCu8I1kD7kFoscRYn09UpRbMld76PQV/ewda+IJEkoDU2wcivJ2/Pbkr+AJKGKjkCOi0GOiyEuKhxDG8cUxSYI39uULacZsuJTzvAPCce1w3TCIqM5efsZ1YesoMKApZTpt5itZxPuBVZ35GoOXn2U4Os3ASG0m7qVqv8so0y/xUzfdjbN3suRG0/wcHXE1dEGgA7VC7P93L1kjlL3YmldOfkeM8nZee4+Haqpe+eVzJMZQwM9rj/x0WpXNl9WrMzUz11OthZktDLjtV/IN19fSDuiR00qa1m1KFX7zmJspzroKZVsPnGN2iXzYWpkSEFXZw5M6YFSqeBdQAgVe82gSuHcmkJCSvw5dR0DWlajjLsr0TGx1B+ykMI5M1OpcO547TxfvuGPyWsTPEelQrkY26lustd69T6AzPbWmtfO9lZ4vw9M8pjrD1/x1j+EWiXyAepClSyDraXZp/PYWeH1PpDCubIAMH71ATYfv0ZgaDirh7VPtjdNSs6ZkNO3HhMUFoFHjswAFMzhzM4zN/mtVH6CwyI4dvUBOZzttI5bd/gSQ34X30IJulWpQWsGNa9IuwHjUerpcWrvJopX+Q0jE1Oy5/Vg/NrDKJVKAn3f8neTcniUraopFqTE7H8607TbIPIVK0tMdDSjOv5GjvxF8ChTOV67V4/vM2NAxwTPUbB0ZdoNGJ/std77eGGXKbPmdQZHZ3w/FDISsn72WE7t2URYcCADZ6/VyhGP71wj4P0bilaqneDx+9Yuolgi+z4XEuCHLMtYWGfQbLNzzIyfjxc53eN/q/7qsSf2TlkZ0b42YcGB5C9enjb9RqNvYBiv3Z1LpwgLCSJ7vkIAVG/eiQc3LtGxnPpB0qNMFcrXaZZsbIKQVhzLNuXK6Dq4thiOQqnHm/PbsStcHaWhCeYu7hQZtgNJoSQ66D2XR9bExr0i+qZWKT7/vcW9cKnXF2u3kqhio7n+bzMsshXEJn+FeO3CvB9yd2HCK1Ta5CtPjhYjkr1WpJ83Rhk+FT6NbJ2I9H+t1S4m1B9ZljEwt9Vqa5HdA6+jKzF1ypXg0KTPeR1ZRoZC1ZNsk5Lrfc7cxZ13l/eQoXBNYiOC8b99AhMHV83+wAfnuTS8Kkojc7L+1p0MHlUByFSxDUGPr3Cmp/rBz8a9Ag6lGiUbmyDoQssKBag2ZDljfq+CnlLBljN3qVUsJ6ZGBhTM5sD+sW3Vz0uBoVQatIwqBbNrigwp0W3ObgY0KUvpvFmIjomjwZi1FHJ1pFLB+EOgPV+9p8usHQmeo2KB7IxpWyXZa3n5BpHZ7tOXSs4ZLPH2C07ymOtPXvM2IJSa/9d7ZsTqo4xZe5z8LhkZ2boSmWyT/pLYPyQcGbC1+PQs6ZzBAm+/YArnyJTocWfuviAoPJKC2R00287de0n5v5dgbmJI7/qlqK7D4WWCmijUpLLM9tbkzpKRQ5fvU7tkftYducLELvUB8A0Ko/vMjTx97YtSqSAgNJxH3u8plsDcKgkJi4zizO0n+AaHabaFhkfx4NU7rUKNWxaHeMORvpc1hy/RrFJh9PWUKT5m6O81Gfp7TU7eeMTIZXs4MKUHBvqp+9H0fPmGbtPWs3RQG4w/jBnt27QyI/7bTcXeM8hgaUbZAq74BYXFO+7qg5e8DwqlRnHdzR0kCAB2mTKTOYcbV08dpHjl3zi+fS0dB/8LQLC/L3OHdsPnxROUenqEBgXg/ewRuT2KJ3NWtcjwMO5ePk1wgK9mW0RYKN5PPbUKNZlz5Ik35Oh7aNlrOC17DdfMCTN+zWH0DT59y3106yoq1G2Bnr6+1rE7/puJ15MHjFmR/LCnL6GKi8Pz+gVG/rcLA0NjZgzowPYl0+MN33r1+D6z/+lCv6nLMTRS32DeOnccgP9OPQZgxt8d2LFsFg069k7V+AQhpYxsnTF1yoXfzaPYFa7Bm9ObyNl6DAAxIX7cX9qPiLfPkJRKYsICCPd5ohmGk5y4qHACPc/zKMRPsy02Ioyw14+0CjWmTrkoPjbtegmnVMT7l7w+uZYiw3Ym2e7FvvmE+zxO0bCnL5H1tx483jiWK6NqoW9ug5VbaWJC/QGw9aiKfYl6KA2MCXlxmxtTW1N48FZMM+Uk4N5pAMrMUvfWvrewOy/3LdDMbyMI6YmznSW5ne04fO0xtYrlYv3xW0zooJ7vyjc4nJ7z9/DkTQB6ConA0AgevfanWK6U9T4Ni4zm7L0X+C377HkpMpqH3n5ahRq3zHbxhiN9L2uP3aRpufzxnpcW9KyPcwYL4uJUzNhxjk4ztrN/XLtUv7bnq/d0m7OLpb0bap6JahTJScPSeTE21OfWszc0Hb+BXaPakNs5QzJnE9KSKNSkgVZVi7H+yBVcHGwJDougdH51Uug3bwu1SuRjzYdeI0X+mEhkdIzW8XpKBSpZpXkd9aGNSqWe/On4zD7JFkJSo0dNZjtrztx8rHnt9S4QJzurRNtHRsew9eR19k3urtlmY2EKgF9QqKYHjNf7QJwTOE8Fj5yEhEdy77kPHjkza+3/mnMCPPF+T9MRS5nRowml8n1K0CZGBkzt/mksZv95W8mdOWO8Y9ccukTzykW+qPAkCGmlUoM2nNixlozOLoSHBpO3aBkAFo3pQ7FKtRk0Zz2SJNG9pgcx0ZFaxyuVevFyS3RUFACyrEKSJCZvOpVgseNzqdGjxs7RmTsXT2le+/p4kSEFw3/cS1YkIjSYl4/u4vqhh0p0VCRn929l7KoDWu33rV3I6b2bGLVsT4ITFf8/c2v1t93BAb6aXjXvfV5h6+is/R4yZSZH/sKaoVllajbixM71mv2vnz9mXNfG/DlqNnmKlNZsP7jxPyrWb4mBoZH6uFqNObFzvSjUCDrlULYZb85uxtg+K7ERIVjlLgHAg5WDyVCoOu69/kOSJM4PLIsqJkrreEmhRFZ9yi0f26i3SRQduR+FXtK5JTV61BjZOhFw/5zmdaSfN0Y22t8q65uphyhEh/hperl8bBv0+ArRgW+5OFhdSIoOes/9//rj2nQwmcq3BMDr8DLent9OoUGbEpyo+Euu9/+UhibkbjtR8/rBysGYOKq/2f68R455VneschUn+Ol1TDPlxPvYahzKNEFpoM4t9iXq8ebsFlGoEdKtlhULsP7kLbJmtCI4PIpSedS94v9ecoCaRXOyakATJEmiWK8FRMXEah2vp1SgUsma15Ef2qhkGQk4Oqlj8s9LqdCjxjmDJWfuvNC89vINwimJnjCR0bFsO3uPPWN+/7/zqI9RKhV0rV2MfzedQqWSUSgSH2lg82FUhl9wuKZXjZdvcKLXf+LjT/OJG5netRYl83x61vq8R06BbA6UcHPm2uPXolCjY6JQkwbqlSnA0CW7mLPtBK2qflotJCgskiwZbdTFlmsPeOrjl+Dx2RxtufbwFbVL5sfz5RtuP1V32zU3MaJUvmzM2HSMga3UVWev9wHoK5Va86ekRo+aKkVyM2DBNp54v8fVyY5l+87RoFziYyl3n71N9kwZyOsSf0x0/XIFWLbvPANaVuP83adERMXgkcMZWZZ55PWOXB+KI9cfvuJ9YCguDuobkdHL9+KYwVIzuXFKzvn/nvv40Wj4Yv79swHViuWJty84PBJ9pRJjQ33uPHvNnnO3OTG7r2Z/RFQMW09d59C0nin/pQlCGipVvT4r/v2HXctnU6lBa832sOAg7J2yIkkSN84e483LJwkenzFLNh7fvkrxyr/x6vF9nnveAsDY1Jw8RUqzbck0mv31D6Aunij19LG2i1+8TI0eNYXKVWPJuP68fv6YTC45OLjhP0rX0u6iL8sy3s8e4pxd3WPw8Z1rBPn7ktHZRdPmwuFdOGTJTtZc+eIde2jTMg5tXMboFXsxt7KJt2/N9JHYZHTUTG78udI1GnJww3807TaI+1fPER0VqSkKfa5cnWasnTGKhp37o6evz40zR3Fxyw/Am1fPGNu5AZ2GTqFw+fjDIuyds3LjzFFK12yELMtcP3OELDlFjz1Bt+yL1ubx+lG83L8Qh7KfhuLFhgVhlMEZSZLwv3OSiHfPEjze2N6FkGc3sStcgzDvh4S+VM8poWdshlXuErzYO5ds9dX/vkb6eSMp9TG0so93jtToUWPjXokHq4cS/uYpJg7Z8T62CvviCX8xZV+8Lt7HVpOtvnpy37joSMxdCmCR3SPekKH/X93K+/gavE+sodCgzeibxR9e+mTTBAytHTSTG6fkev8vNiIESamH0sCY0Jf3eH91P8VGqwvRUf4+mnlnIny9CHp8DZd66iKvsV1m/O+cUL9fWcbv1nFMnXJrnV8Q0ou6Jd0YtvII83ZdpGWlT38LQWGRZLG3VD8v3XzK0zf+CR7vktGaa09eU6tYLjxfvefO87cAmBsbUipPFmbuOKeZnN/LNxh9pYKM1mbxzpEaPWqqeGRn0H8HeeLjj6ujDcsPXaNB6TyJtt9z0ZPsDtbkzfIpB8bGqfAPCcfeSh3f1jN3yZvFXlOkGbP2OI42ZpoJjD9Xv2Qelh++pplMODI6Bo/s2vNTPX8bQJNx65nUoTrVCuWIt++1X7BmmNWr90FcfejN3421n7+E70sUatKAiZEBtUvmY+2Ry9xcNlSzfVT72vSfv42Zm4+RL5sj+bIlPMlbnyaVaTdxFUeueJIvmyMFXD9907xkQGuGLNlJ6W7qiT7NTAyZ26d5mkx0a25ixMyeTWk+6j/iVCoKuDoxqXFFAHz8gmg6cmm8YtDaw5doU017qMWo9r/RZeo61h+9gpGBPov+bolCoUClUtF79hYCQ8NRKhUYG+izYnBbzZw9d5/74JFTu/iS1DkBes7cSK2S+ahdMj8jl+8hIDicCWsOMmHNQQBGd/iNKkXceO7jR4eJq9BTKjE00GPxgNY42n4aY7r73C1yOdvjlsUhwRgE4XszNDahWOU6HN++mgWHP02u16bfGJaM6cu2JdPJmjsfWXPnT/D4hn/0Y2qf37l++jBZc+cnW55Phdc+k5exfNIg+tRT/w0bm5rTffx8rUJNajA2Nafb6DlM6NYUlSqObHkKUL/DZAD83/kwrmsjpm8/jyzLLBzRk5CgAJR6ehgYGtN/+qp4c+8c2/ZpEuGPIsJCWDSqN3aZsjC6Uz0A9A0M+XfjCQCeP7hD9nweCcbWpt8YZg3sxIkd6zAwMqL3v0s0uWXesO4Uq1yb4pV/w61QSQqXr0H/RqVQKJRkz+tB4y4DAFg9bTghgf5smDOODXPUSwb/3n8shcpWpXn3wSwY0ZM+ddU3Wy5u7jT5c0Dq/GIF4SspDU3IUKgGPqc3UnraBc1212ZDeLBqCC/2zMMscx7MMif88JH1t+7cmdsFv1vH1O2yfMpBebvO5dG6kVwcqh5GqTQyJU+n6VqFmtSgZ2yGW4fJ3JrRFlmlwixrfk2PkqiAN9yc3kZTDHJtOoR7i3pw/uxmFPpG5Os6WzNJcGJiI0J5sHIQRrbO3JjSHACFniFFR6qHVoZ63cc8m3bxJbnr3f+vPxkKVceucA0i3r3gzrw/kZRKFPqG5P1zLobW6vsQr6Mr8L12EEmp9+Gc/2CeVb28rkuDfjxYPpBLQyoBYJYlr6aIIwjpkYmhPrWK5WTd8VvcmPepN/6I1pUYsPQAM7efJ19We/JlSThX9G5Qig7TtnH0+hPyZrXH3eXT/fqiXvUZuvIwZfotBsDM2IA5f9XRKtSkBnNjQ2Z0rUXLiRuJU8m4Z8vIxLolAfDxD6H5hA3xikFrj9/SmkQ4KiaWFhM3Eh2rQpZlHG3MWdqnoWb/3Rdv480n87kRrSvx55ydbDhxCyMDfRb0rK8p8PRasIdaRXNRq1guRq05hn9IBBM3nmTixpMAjGxTmSoervx38Cr7Lj9ET6nOScNaVaJANvH8o2uSLMvJtxISJUmSHLhvmq7DSBXdpq+nUM7MCfZg+d5UKhXV+s3h8PSemoek9OTFW38q9Z7B0w1jtfZZ1e6PLMspW75KEBIhSZK87X6orsNIFXMGd8U1f6EEe7B8byqVisEtKzNx/bF0mVveeb9gQJNyrDz/UmtfozxmIrcI30ySJLnySu0Jdn9E95b0wcKlQII9WL43WaXi6ti6FBm+O9mCjy5EvH/FlVE1KTdPewWdY+0yidwipDpJkmT/zUOTb/iD6T53Nx6uDgn2bkkLKpVM9aErODS+fZLDoNLSy3eBVP5nGY+X9Uu2rU3T8SKfpJL09y+JoDMWJsYs2nmagQu36zoUFAoFR2f2TpcPUjvP3KTlqP+wtzLXdSiC8EMwMbdg7+qFLB3/t65DQaFQ8O/GE+kyt5w7uJ0J3ZpiZZv6PQ0E4WekZ2zOq8PLeLhmmK5DQVIoKDpyb7os0ry7vIdbM9thYKG9sqUgCF/G3MSQxfuv8M+yg9/legqFxJGJHXRWpNl5/j4tJ23CztJUJ9f/lYkeNd/oZ+pRI6QO0aNGSA1p2aOma5W8DFmwWWteF1165/2Cv2oUIEvOvMgqFYbGpnQdOZNseRIeRpBSw9vWpH6H3hStVOurjj+2fQ1uHiXIlE09meelY3u5f/VciiZNTm2iR42QGtKyR825/sUp0HcVZs5uaXL+rxHx/hUXBpbG1Dk3skpWT9bbbiLmWRMeIppS/z93zZfyOb0Ry5xFNUtvv792kKCHF1M0aXJqEz1qhLTwJT1qCv41l/X/NIs3b4uunbn7ghGrjnDs306abfdevqPlpE3cnN9DZ3HZNB3Py1UDMDM2SL5xAiZtOkW/hmUw0FdPtDxhw0ncMtvRqEzqzJcnetSknvRX9v+FuLcfx73nProOI57Ttx5TsdeMeNvuPffBvf04HUWkZlW7P6ER2itNpNTENQeJ/mzG+PGrD7Dt5PXUCE0QhFRiam7J9O3nmbHzImVrN2buUO3VSuJitVd+SEvHt6/h9fNPq98Vr/ybToo0giB8PT0TC4qPPUKJ8UfJWLI+9//T7r6vivu+ucXnzCbC3zzVvLYrXEMnRRpBEHQrNk6VfKNUNHnzaaJj4zSvh7SokGpFGiF1icmEBZ2IjYtDT/n9lrz+d90hejauiIG++iM/9Pea3+3agqArD65fZOXUYUSEhQDQbsB4PMrEX2py5/LZnNm3BVVcLPoGRppeLFER4cwe3IVXj++j1NPHKVtO/p6xGu9nD5kz+E+iIsNRxcVRqWGbNFlaumDpyqydORpQ9wCq0rgtdy6eJKNzNjoOmczS8X/z+PZVACrUa0mjzuoHr1eP7zN3aDdiY2LInMNNswT5x/N83pPo89deTzz5b8JAAn3fIssy9Tv2RqVS8eTudf6bMIB1s8fQbsAE/N56c+XEfgbOWsvIDr/xW5tuFK9SB4DLx/exe8Ucxqzcj/+7Nywd3x9fHy+iIyMo+1tTmnQVkwYLP4egx1d4vGEscZFhALg2H4ate8V4bV7uX8jbizuR42JR6BtperHERYVzb0kfwrwfoFDqY+LgSv4eiwjzecz9JX1RRUcgq+JwLNssTZaWtslXnieb1ctfn+tfHMfyLQm4dxZj+yzkbD2Wh6uHEvLsJgAOZRqT9Tf1N+dh3g+5v7QvqrgYTDPlirdM+f/3JPr8ddjrRzxcM5zooPeATJZafyKrVIQ8u8nDNcN5uvVfcrQYQZS/D743juDecwnX/22Gc7WO2BVW36v4Xj/EywOLKTx4C1GBb3m4ehiRft6oYiLJWLIBLnV7pfrvSRDSwqUHXoxcfZTQyGgARv9ehcoFs8drM3f3BbafvUdsnApDfT2mda6JezYHwqNi+GvuLjxf+aKvpyBHJluW92vEI28/us/bTUR0DHEqmZYVC9CzXsk0fy8f521pX7UQh68/ISIqhtnd6lAyT2bNvpYVC3D+3ksiomOZ2rkmpfJk0ez7o2ZRTt56RrPy+angno1+i/fjGxyOnlJiWMtKVC2k7m23+6In49adwMrMiGqFc2hd/+O8Mf//+uDVR/y76RQxcSoUksT8HnVZcVj9JXXNYStRSLB79O8MWX4YD1cHWlf2oEC3OVyc+admue5hK49gbmLAoKblufLImzFrjxMSrs59g5uXp3qRnGn+e/6ViULNd3Dp/nNG/LebkA89QsZ2qkvlwvGXTJyz7QTbTt4gNi4OIwN9pnVvTAFXJ8Ijo+k2fT2eL96ip6cgp5M9K4a05ZHXO/6avoHwqGhUKplWVYvSs3GlNH8vHyfR7VCrFIcu3yciKoY5fZpRKl92zb5WVYtx7s5TIqNimNq9MaXzf9rXuU5ZTt54SLNKRahYKBd95mzGNygMPaWCEe1qU7Wo+iZn19lbjF25D2tzE6oVzaN1/Y+T+P7/6wMX7zFp7UFi4uJQSBIL+rdkxT71UsLV+89BoZDYM+kvBi/eQaGcmWlTrTj524/l8qJB2FqqZ4IfumQX5iaG/NO6Blc8XzBqxV5NUhrSpgY1iouqs5D+hQT682+vlgycvQ63QiWJi4sjIjRYq13F+i2p30F9k3/z3HEWjurNvxuPc/3MEcKCApm9R10MCQ0KAODA+iUULl9ds4z3x+3/b3Lv1rx5+TTBfRPXH8PQyDjJ+M8d3B5vVaqA928Ys3I/AKumDkdWqZi56xIRYSEMblEZl9z5KVy+OrMGdea337tRqUFrHty4xNDWVZO8Dqh76Uzs3oLWfUZQuqZ6Wd6QAD/MrW05sWNtvKFTx7av0RxXqUEbju9YqynUHN++hkoN1StQzf6nM027DSJfsbLEREczquNv5MhfBI8ylZONRxDSs5jQAG7P7oR7z6VY5iyGrIojNiJEq51DmaZkqaWeQNz/7ikerPyHoiP24H/7JLFhgZScqF51JCYsEADvoyuxLVhZs4z3x+3/7/aczokuE15k+G6UBknnlneXdscb9hQd+I7Cg7cA8HjjOJBlio8/RlxkKFfH1MXMOS+2BStzb1FPnKt3wrFsM4IeX+XquPpJXgfUvXRuzeyAa5NBmmXCY0L90Tez4c3ZzfGGTvmc3qg5zqFsM96c2awp1Pic2YRjOfUqU/cW98KlXl+s3Uqiio3m+r/NsMhWEJv8FZKNRxB0KSAkgrZTtrByQBNK5HYmLk6leTb6XIvy7vT4sGrSiVvP6LdkP4cndODYjScEhUVyYWZXAAJDIwD47+BVqhV21SzF/XH7/2s3dSvPElnq++D49hgb6n/xe/IPiaBYbmeGtarE5tN3GLX2GAfGtdPsy5fVnrFtq3L27gv+mLmDa3P/0uzL5ZSBf5qVB6Dq4OW0q1qI36t44PnqPXVGrubCjK7IQJ+F+zgwrh05nWyZvfN8iuJ6/NqP3gv2sndsW1wdbYiKiSU6No4pf9Tkv4NXOTCundbQKRNDfWoVzcWWM3fpWrsYsXEqtp29y4Fx7QgKi6T/4v1sHNIcB2tz3gSEUOWf5ZybnhlLU6Mv/r0JKSMKNWksICScNuNWsHpoO0rkzaZOSuGRWu1aVilKz0YVAThx/SH95m7hyIzeHL32gMDQCC4uGghAYEg4AEv3nKNa0TwMbFUt3vb/13b8Sp76+Ca47/C0Xl+XlILDKebmwvB2tdl0/Cqjlu3l4LSemn35smVi3B/1OHP7CX/8u4bry4Zo9uXObM/gNjUAqNJnFu1qlaRtjRJ4vnxD7YHzuLRoELIs03v2Zg5N60lOZ3tmbT6Worgee72n1+xN7J/cHVcnO3VSiollavfGLN17jkPTemJmbBjvGPVS6vnZfOI6f9YvR2xcHFtPXufgtJ4EhkbQd+4WNo/pjIONBW/8g6nceybnFgzAyizpG0FB0LUHNy7h7OqGWyH1zY5SqYy3rPVHT+7eYNuiKYQEBaBQKDTDfFzc3PF69pDFY/qSv3g5ilRQPzDkLVqGlZOHEhsTjXuJ8uQvkfDDwcBZa7845rCQIPo1LIUsy2R0dqHnhIWafRXrt9L8fOv8cToNmYwkSZiYWVD2t6bcPH8ct8IlefnoHhXqtQQgt0dxsqRgHh7vZw9RxcVqijQA5ta2yR5Xqnp9lk8aRHCALxISdy+fodekJUSGh3H38mmCAz7l3oiwULyfeopCjfDDC3p8FZNMubDMqV7xRFIo0Te10moX8vwWz3fPJjYsECQFEW/VhVuzLHkJ93nCg1WDsXYrjW1BdS8/q9wlebxhDHJsDFZ5SmOdp0yC13fvueSLY44ND+bS8Kogg5FdFvJ0nqnZ51CmiebngLunydlmDJIkoWdsjn3JBvjfO41lrmKEej/AobS6rWWOIphlTn4ennCfJ8iqWE2RBkDfzCbZ4+yL1ubxupFEh/ghSRKBnufJ22U2cVHhBHqe51GI36f3FhFG2OtHolAjpHuXH3qR2zkDJXI7A6BUKhK8n77x9A0ztp8lIDQShSTxxEf9ec/vkpGH3n4MWHqAMvmyUv1D75LSebMwYtURomPjKJfPhXL5syZ4/ZV/N/6ieBObZOXz7WZGBtT40KukaE4nhq88otlnoKekWTl3AMrky4qxgR6PX/thbmyIkb4eDUurv4gOiYjizvO3tK6k/nLKLbMd7i4ZufLIG1mGAtkcyOmkvidpV7UQo9Yk/1x04tYzqhZ2xdVRnW8M9fUw1E/+sb9VpQIMXn6IrrWLceT6Y3I5ZSCLvRWHrz3mxbtAmo3f8On3IMHTN/4Ucs2U7HmFryMKNWns0v3n5M6ckRJ5swEfkpK5iVa7G4+8mLbxKIGh4UiSxBPv9wC4Z8vEo1fv+HveVsoWyEH1Yuo/6tL5szP8v91Ex8ZSrkAOyhfMoXVOgFVD231RvJKUcFr6fLuZsSE1S6h7lRRzy8qwpbs1+wz0lDSvVBiAsu6uGBnq88jrHeYmRhgZ6NGwvAcAIeGR3H7qTZtq6hs9tywOuGd34rLnC2RZpqCrEzmd1ROKtatVipHL9yYb+/HrD6hW1A1XJ/WqBilOSlWL8c+iHfxZvxyHr3iSK7M9WTPacOjyfV689afJiE83hZIEz177UihX5mTPKwg6lYKJ4mOio5napw1jVx3ENZ8H/u98+KOC+obDIXM25uy9yq3zJ7h2+hBrZ4xmxq6LlKregNweJbhx9ijblkzn6LbV9Jn8n9a5v6ZHzcc5ahJiZPJptQFZltV/jJ/5mKMSy2EASj09Pp9APyY68tP5voKhsQnFK9fh9N7NABSvXAcjE1MiwkKQJInJm06hp//lxXBBSN+S/3tRxUZzZ25nCg/ZhrlLAaIC3nC2j/rewNg+KyUmniTg3mn8bh3nyZZJFB93FPtiv2GZowj+d07yYs9cfE5tIN+fc7XO/TU9aj7OUZMQpdFnuQWZxB7PksotkkIPVJ/mmfg0LOrrcovS0IQMhWvw9sIOADIUroHS0ITYiFBAoujI/Sj0RG4Rfiwp+WuIjomjw7St7BnzOwWzO+LjH0K+rrMBcMlozYWZXTl1+zlHrj9h3LrjnJnWhXol3SiWy4njN58yc8c51h6/yaJe2j3evrRHja2FCf4h8Xvn+IdEkOGz1Y8+TsgLoFRIxKoSn29GlkH6kF9MjPQ1OSWxWxBJklDJiZ9PqVSgUn06OPKzuTi/9r6mVJ4shEZEc+/FO9aduEXLigU058uX1Z69Y9p+1XmFryMKNWksJX8n0TGxtJuwkr2Tu+ORwxkfvyDy/D4GABdHWy4uGsjJG484ctWTMSv3cW7+39QvW4DiebJy7NoDZm4+xtrDl1g8oLXWub+0R00GS1P8/693jl9wGHYfhgVB/KSkUCiIjYsjMbIsf5aUDD4lpUTaS0iokvil6f1fUoqKjvl0rUSPSlrp/NkJjYji7jMf1h2+TKuqxTSx53PJxP4p3b/yzIKgO7kLlcBrRHceXL9I7kIlNEOfPu9VExMdSVxsLBkcnQA4sG6xZp/vG2/MLa0pUbUuHmWq0KlCTkKDAoiKCCdj5mxUbtgGx6yuzB2S8BwSX9OjJqUKlq7MkS0rcStUksjwUM7s20K7gRMwMbMgS868nN6ziQr1WvDo1hVePryrOc4hczYe376KS+783Dp/nEDfdwA4Z8+NQqnHuQPbtIY+GZtZEJbAkLGPKjVszbKJgwDoNGQyAMam5uQpUpptS6Zphoj5+nih1NPH2i5jmvxOBOF7scxRlPDXfxP0+AqWOYpqhj593qtGFROFrIrD0EadW7yOrtTsi/R/jb6pFXZFamGTvwJn+xQmNiyQqIAIjO2y4liuOcYZs3F/qfaEv/B1PWpSyiZfeV6fXIdlzmLERYbx7uJOcrQYgZ6xOaZOuXl7fjsOZRoT/OQ6oa88NccZ22cl+NkNzLLkxf/u6Q/z0YCJYw4khR7vLu3WGvqkZ2RGbLj2kLGPHMs259Fa9eTCOduo7wn1jM2wyl2CF3vnaoaIRfp5Iyn1MbRKP6vlCEJCiudyprfXXi498KL4Z0OfPu9VExkTS6xKhZOtBQDLDl7V7PP2C8bazJjfiuemUsHs5O0yi4DQCCKiYnDJaE2rSgXJ7mhDz/l7Erz+l/ao+dgb5eiNJ1TxcCUuTsXKw9epVDBbio6Pjo1jy5k7NCvvzvn7L4mMiSVHJlveBMT/u7cwMSS/S0bWn7xF60oFeejty53n7yiSIxMy0GvBXp74+OPqaMOqozc0x2W0MiM2TsVTH3+yO9qw5fSn+53KHq5M23pWc9zHoU/mxoaYGRsQHB6Z6KpRzSu4M2/3Rc7fe8XCnuqCV/Hczjz18ef0neeUy+8CwLXHrynk6phkEVv4NqJQk8ZK5HWh1+xNXLr/nOJ5XDRDnz7vVRMZE0tsnApnOysA/ttzTrPP2zcQazMT6pR2p3Lh3Lj9PpqAkHB1UnKwoXW14rhmsqP7jA3/f2ngy3vUuGZS90Y5etWTKkXc1Elp/wUqFc6VouOjY+PYfOI6zSsX4dydp0RFx5LT2Q4f//gPOhYmRrhnd2LdkSu0qV6ch6/ecufpa4q6ZUGWZXrO2sgT7/e4Otmx+uAFzXEZrc3VSem1L9kzZWDziU8rN1UpnJupG45ojvs49MncxAhzY0OCwyK1hj591KJyUeZuP8G5O09Z9Ld6iEWJPC48ff2eUzcfa3osXXv4kkI5M4ukJKR75lY2DJy9juX/DiYqIgxJoaDdgAkULP1pLisTMwta9BzGwKYVsHN0plD56pp9Lx/eZfV09UOCKi6ORp37Y2PvyJZFUzi9eyN6BgaApClOfE9Nuw1i6bj+9KlXHFBPJly4nHoYaK9Ji5k7tBu7VszBNV8hchYsrjmuZe8RzBnchcObV+BWuCQZHNU945R6egyet4El4/qzaf4kJIWC+h16U7F+S6o37cDKKUPYtXwWbf/WXu0pb9EyRISqb7ryFCmt2d5n8jKWTxqkidHY1Jzu4+eLQo3ww9M3s8a951IerRtNXFQ4kkIiR4sR2OQrr2mjZ2xOtoZ/c2V0LQxtnLAt8GnIX9grT55sngCArIoja50eGFo78Hz3bN6e24akpw+SRK7WY777e3Op35eHq4dyaag6XocyjbEtoM6ZebvM5v7Svrw8uAhzlwJYuhbWHJe98SDuLemtKfIY2qoLVAqlHgX6LOfh6qE82zkDSVKQudafOJZpQqZKbXi8YQwv9y8gR4vhWrFY5S5BbGSo+udcJTTb83ady6N1I7n4IUalkSl5Ok0XhRoh3bM2N2blgCYMW3mE8KgYFBKMaVuVigU+FT4sTAwZ3LwCVQYvxzmDhWZCXVAvjT1m7XEA4lQyfRuWxtHGnOnbzrL59B0M9JRIEkzoUC1V4tXXU7LqQ7yj1xxDJUPpPJnp1zDhYZn/z8bcmCc+/lQdvJyIqBiW9mkQ78vuzy3uVZ9+i/ezYM8l9JQSC3rW0/TcmdG1Nq0mbcLKzIgGpT/Nk6mnVDChQzUajV1HZjtLyn425MvV0YaZf9am04xtxKlklAqJ+d3rkTerPd3rlqDB6LUYGeixe/TvWrG0rFAAj+7zaFWpACYfvtC3MjNm7aBmjFx9lCErDhMdG4eLvRXr/2n+/x2chVQkfW3XKEFNkiQ5cN+0JNtcvPeMYUt3ExYZjUIhMa5TXSoWyoV7+3FsHNWJvC6OzNp8jKV7z+FsZ021om6MWbmPwH3TOHz5PqNWqIf9qFQyzSsXoU/TykzbeITNx6+hr6dEkiSGt61FtWJ5kowjpW4+8WLokl0EhkagUsmUyZ+dMZ3qYmyon+Rkvh9//qNOGY5eeUBEVLTWZMIfjwN4+to3RZMJNyjnwZDFO/HaOgEzY0NWH7rIlPVHyGxvTbkCrizefUZz3v0X7zJxzUHiVCqUCgUL+rUkXzZHJq09yJYT1zEy1I83mXCXumUBePUugIIdx9O6ajHm9GmuifHaw5cM/28PgaHhxMTG4eJgy4aRHVEoEl/Z3qp2f2RZFmlL+CaSJMnb7ofqOgwhHWmUx0zkFuGbSZIkV175WtdhCOnIsXaZRG4RUp0kSbL/5qG6DkMn/n8Fpl+JTdPxIp+kElGo+UYpKdT8KhIqxvyKRKFGSA2iUCP8P1GoEVKDKNQI/08UaoS0IAo1olAjfJvEuwUIgiAIgiAIgiAIgpBiWeytfskijZC6RKFGSDVZM9r88r1pBEEQBEEQBEEQBOFbiEKNIAiCIAiCIAiCIAhCOiEKNYIgCIIgCIIgCIIgCOmEmEz4Gxkb6r+JjI4V660KGkYGem8jomIcdB2H8GMzNDJ+Ex0VKXKLoGFgaPQ2KjJC5BbhmygNjN6oYqJEbhE0FPqGb+OiI0VuEVKVsYH+m8gY8Yz0qzHS13sbES2eg1KDKNT8YiRJmgVYyLLcQdexJEeSpDLAJiC/LMsBuo5HEITEidwiCEJaELlFEIS0IHKLkN6JQs0vRJKkUsBW1H/k/rqOJyUkSZoHGMiy3FnXsQiCkDCRWwRBSAsitwiCkBZEbhF+BKJQ84uQJMkAuA6MlmV5k67jSSlJkiyAu0BbWZaP6zoeQRDiE7lFEIS0IHKLIAhpQeQW4UchJhP+dfwDPAE26zqQLyHLcjDwF7BEkiRjXccjCIIWkVsEQUgLIrcIgpAWRG4RfgiiR80vQJKkvMBJoJAsy166judrSJK0AXguy/I/uo5FEAQ1kVsEQUgLIrcIgpAWRG4RfiSiUPOTkyRJAZwG1siyvEDX8XwtSZIyAreBmrIsX9N1PILwqxO5RRCEtCByiyAIaUHkFuFHI4Y+/fy6ATKwSNeBfAtZlt8CA4GlkiTp6ToeQRBEbhEEIU2I3CIIQloQuUX4oYgeNT8xSZIyA9eA8rIs39d1PN9KkiQJOAQclmV5sq7jEYRflcgtgiCkBZFbBEFICyK3CD8iUaj5SX34A94FXJJleayu40ktkiRlBy4BJWVZfqzreAThVyNyiyAIaUHkFkEQ0oLILcKPSgx9+nk1A1yAf3UcR6qSZfkpMBFY9CHxCoLwfYncIghCWhC5RRCEtCByi/BDEoWan5AkSbbATOAPWZajdRxOWpgFWAIddB2IIPxKRG4RBCEtiNwiCEJaELlF+JGJoU8/IUmSVgCBsiz30XEoaUaSJA/UYzMLyLL8RsfhCMIvQeQWQRDSgsgtgiCkBZFbhB+ZKNT8ZCRJqgYsAfLLshyq63jSkiRJEwFXWZab6ToWQfjZidwiCEJaELlFEIS0IHKL8KMTQ59+IpIkmaJecu7Pnz0hfTAG8JAkqb6uAxGEn5nILYIgpAWRWwRBSAsitwg/A9Gj5iciSdI0wF6W5d91Hcv3IklSBWAN6mp5kK7jEYSfkcgtIrcIQloQuUXkFkFICyK3iNzyMxCFmp+EJEnFgN2o/zh9dR3P9yRJ0mIgTpblbrqORRB+NiK3iNwiCGlB5BaRWwQhLYjcInLLz0IUan4CkiTpA1eAybIsr9V1PN+bJElWwF2ghSzLp3UcjiD8NERuEblFENKCyC0itwhCWhC5ReSWn4mYo+bn8DfgDazTdSC6IMtyINADWCJJkpGOwxGEn4nILSK3CEJaELlF5BZBSAsit4jc8tMQPWp+cJIk5QbOAkVkWX6h63h0SZKkrcA9WZaH6zoWQfjRidzyicgtgpB6RG75ROQWQUg9Ird8InLLz0EUan5gkiQpgOPAVlmWZ+s6Hl2TJCkTcBOoIsvyLV3HIwg/KpFb4hO5RRBSh8gt8YncIgipQ+SW+ERu+TmIoU8/tj8AQ2CergNJD2RZfg0MAZZKkqTUdTyC8AMTueUzIrcIQqoRueUzIrcIQqoRueUzIrf8HESPmh/UZ5XSSrIs39F1POmFJEkScAzYKcvyTB2HIwg/HJFbEiZyiyB8G5FbEiZyiyB8G5FbEiZyy49PFGp+QB/+8LYBt2VZHqHreNIbSZJyAueBorIsP9dxOILwwxC5JWkitwjC1xG5JWkitwjC1xG5JWkit/zYxNCnH1MjwA0Yr+tA0iNZlh8BU4GFHxK4IAgpI3JLEkRuEYSvJnJLEkRuEYSvJnJLEkRu+bGJQs0PRpIka2A28Icsy1G6jicdmwZkBNroOhBB+BGI3JJiIrcIwhcQuSXFRG4RhC8gckuKidzygxJDn34wkiQtAaJlWe6u61jSO0mSigD7AHdZlt/pOh5BSM9Ebkk5kVsEIeVEbkk5kVsEIeVEbkk5kVt+TKJQ8wORJKkSsBLIL8tysK7j+RFIkjQFyCTLcmtdxyII6ZXILV9O5BZBSJ7ILV9O5BZBSJ7ILV9O5JYfjyjU/CAkSTIGbgN9ZFneo+t4fhSSJJmg/r31lGV5n67jEYT0RuSWryNyiyAkTeSWryNyiyAkTeSWryNyy49HFGp+EJIkTQJcZFluoetYfjSSJFUF/kNddQ/RdTyCkJ6I3PL1RG4RhMSJ3PL1RG4RhMSJ3PL1RG75sYhCzQ9AkqRCwEHU4wrf6jqeH5EkScuAUFmWe+k6FkFIL0Ru+XYitwiCNpFbvp3ILYKgTeSWbydyy49DFGrSOUmS9ICLwBxZllfoOJwfliRJNsAdoLEsy+d1HY8g6JrILalD5BZBiE/kltQhcosgxCdyS+oQueXHIZbnTv/6Av6oJ8wSvpIsy/5AH2CpJEkGOg5HENIDkVtSgcgtgqBF5JZUIHKLIGgRuSUViNzy4xA9atIxSZJyABeA4rIsP9V1PD86SZIkYCdwRZblMbqORxB0ReSW1CVyiyCoidySukRuEQQ1kVtSl8gtPwZRqEmnPvwBHQH2ybI8Tdfx/CwkSXIGrgMVZFm+p+t4BOF7E7klbYjcIvzqRG5JGyK3CL86kVvShsgt6Z8Y+pR+dQAsgVm6DuRnIsuyFzACdXc/8fkXfkUit6QBkVsEQeSWtCByiyCI3JIWRG5J/0SPmnRIkiQH4BZQXZblGzoO56fzIRmdAtbLsjxP1/EIwvcickvaErlF+FWJ3JK2RG4RflUit6QtkVvSN1GoSYckSdoEPJFlebCuY/lZSZKUBzgNFJJl+ZWu4xGE70HklrQncovwKxK5Je2J3CL8ikRuSXsit6RfoptTOiNJUn3AAxATO6UhWZbvo+5COf/D2FdB+KmJ3PJ9iNwi/GpEbvk+RG4RfjUit3wfIrekX6JQk45IkmQJzAU6y7Icoet4fgH/Ai5Acx3HIQhpSuSW707kFuGXIHLLdydyi/BLELnluxO5JR0SQ5/SEUmSFgBKWZa76DqWX4UkSSWAHUB+WZb9dByOIKQJkVu+P5FbhF+ByC3fn8gtwq9A5JbvT+SW9EcUanTowwROFWVZPiZJUjlgA5BPluVA3Ub2a5EkaSZgJctye0mSXFD/w/BEt1EJwtcTuSV9ELlF+NmI3JI+iNwi/GxEbkkfRG5JX0ShRockScoLbEM9/vIGMFiW5e26jOlXJEmSGXAH6AzkB7LKstxHp0EJwjcQuSV9ELlF+NmI3JI+iNwi/GxEbkkfRG5JX8QcNbrlBHgDQ4G7IiHphizLocCfwCLAD/X/F0H4kYnckg6I3CL8hERuSQdEbhF+QiK3pAMit6QvolCjW85AGOo/iCWSJJ2XJKm3jmP6pUiSZC1J0hsgF3AOqIVISsKPT+QWHRO5RfhJidyiYyK3CD8pkVt0TOSW9EdP1wH84pyBksA9YDkwGFil04h+MbIsB0iSVBmYAzigTkiRuo1KEL6ZyC06JnKL8JMSuUXHRG4RflIit+iYyC3pj+hRo1vVADvUYzHzyLK8QpZllW5D+vXIsnwPqAqMAuKAjB8mNROEH5XILemAyC3CT0jklnRA5BbhJyRySzogckv6IiYT1iFJkloDb2RZPqrrWAQ1SZJMgWGyLA/WdSyC8LVEbkl/RG4RfgYit6Q/IrcIPwORW9IfkVt0TxRqBEEQBEEQBEEQBEEQ0gnRlUkQBEEQBEEQBEEQBCGd+KLJhI0N9N5ExsRlTKtghB+Lkb7ybUR0rMO3nkfP0PhNXHSk+Fz9YJQGRm9joyK++f8/gL6h8ZtY8RkQPtAzMHobk8hny9jI8E1kVLT4rAgaRoYGbyMio5LNReKz82tK6edDaWD0RhUTJT4fgoZC3/BtXHRksp8dI33Fm6hYWXx2fjGGetLbyBjVN90Hi/vfn1dS97Ip9UVDnyRJkt8t6fgt1xN+IvadlyHLsvSt55EkSf5rn29qhCR8R/NrZ0iV//+g/gxMOB2QGqcSfgJDylkn+tmSJEkOu7Hve4ckpGOmHrVTlIskSZLD74rpD341JvmqpPjzUXHl6+8RkvCDONEuU4o/O96jS32PkIR0xGnk+W++D5YkSR56zD+1QhLSkfGVbb758yGGPgmCIAiCIAiCIAiCIKQTolAjCIIgCIIgCIIgCIKQTvxUhZpKo3cQER2bbLuWsw7x7F1wql132p4bFBuymWJDNjNtz40E2zx5E0TDqfsoPXwr5Uduo9fy0/FiXXfmIRVGbafS6B1UG7eTCw/faPYFhEXRdfFxSg7dQrkR25i6+3qqxS6obexRkdioiGTb7RnRgiCfZ6l23SvrprKmY1HWdCzKlXVTE2wjq1Rs7VeTjd0rsLF7BXYPb0bw25cABHo9Zsc/9VnXpSQbupXl2PSeKXofwpeZ06EcMSn4va4Y0BQ/79T7fBxbMYWpzQsxtXkhjq2Ykmz7rRN7MKScNVHhoZptL+9eZnb7skxrWZRl/RoRGvA+RccJX69ksx5EREYl265h9xE8feWTatedtHgd+et0JH+djkxavC7Z9n+OnIGpR21Cw9Wf7Qs37lGyWQ/Nf67V2lC6Rc9kjxNST4lGXVL02Wnw52Cevky9YToTF6wmX8025KvZhokLVifbvuuwKZjkq0Jo2KfPwMpt+ynW4A9KNOpCmWbdOHv1VqrFJ6hdHl6VuOjk/+5uTWtDxNvnqXbd5ztncOHvUlz4uxTPd85ItF3Q46tcHlaViwPLcnNyC6KDPw1rjwkN4N78blwcWJZLgyvyfMd0zT6fU+u5PLQyl4dX5crImgQ+uJhqsQvaqi24SURMXLLtfl9zn+f+kal23RknvCg98xqlZ15jxgmvRNtdfRVC1fk3KTv7Oi1X3cM3NCbVYhAStqRz+RTd5274pxkBqXife3r1FOa1Lsy81oU5vTrh+1xZpWJFj+os+aMcS/4ox/pBTQh8o34O8rpzkSWdy2v+m9U0L0u7VNQcO76yDUv+KKvZ/+7pvVSL/Xv4osmE07vjIxukqN363tVT7ZrnH75h15VnnBrVEICaE3ZTOpcDpXLFnztIX0/BmGYlcM9ii0ol03XJCeYfukP/Oh74h0YybONFLoxvgr2FMQduvOTvNec4M6YRAL2Wn6KsWyYWdakEwLtgcXOc2prPPZGidnXGbEi1a76+fY7HZ3bRYsFpALb0rUEm99Jkci8dr52kUFBn7CYMTS0AuLljEWeXDKfWsJUo9A0o03ksdq4FkFUqDv3bmRtb51G01d+pFqcAPZefTlG79lM2p9o1n904y53jO+i96hwAC7pUJZtHabJ5lEmw/f2z+0GKPxRWlmU2je1KkyHzcClQimMrp3Jw4WgaD56b5HHCt7mwaW7yjYDt88ak2jXPXL3NtsNnuLxlAQAVfu9L2SLulC3inmD7fScvIv3f//eSHnnjxd68zxhKFcqX7HFC6rm4bXGK2u1YODHVrnnmyi22HzrJlR3/AVChZXfKFStI2aIFEmy/9/g5rZThFxjEwEnzubVvJRkz2LDn2Dl6jprBtd3LUy1OAYqNPZKidgX6r0m1awZ6XuD9pT0Um3AMgGuj62CVuxRWbiXjtZNlmfuLeuLWeQZWuUrwfOdMnm4aj9sf6sKO55I+WOUtS96/1DkqOkj9pUFMqD+P146kxOSzGFja4XvtIA9XDKT4xJOp9h6E+A53K5iidqvb5Em1a154Hszee34c7a6+dt0ldyjlYkFJF4t47WRZpte2R8xokIPiWS2YedKLCUdeML1BjlSLRdDWecmpFLVrMWlTql3z5c1zeJ7cSZdlZwFY0b0aWQuUIUtB7eegFpO2YGSm/qxc2rqQI/OH0WTMKpzzl4gX++bhbcicv0S849vNOYCBsVmqxf09/XA9anZffU7p4VupPGYHM/fexL7zMkIj1ZXWz38u8s8mJu28Rq2Juynyzyb+O/apglbkn03c906diUt3XH5Ks1I5MDbQw9hAj2alcrDj8lOtdlkymOOexRYAhUKiULYMePmpv73+OJ/zx9iDwqNwtDYB4OnbIO55BdClSl7NuewtjFMl9l/NkzO7WdelJJt6VOLqxhnMr52BmAj1/4PPf17dvhCXVk9ka7+arG5fiNu7l2rOsbp9Ifye30+VeB6f2kHuKs3QMzRGz9CY3FWa8fjUjgTbfizSAMSEhyBJ6j9di4xZsHNV30xLCgUZcxcm5N2rVInvV3PnxC6mty7OnI7lObFqWrweJp//PLlpAQ4vncCCP6szuWkBzm/99GA1uWkB3qRStf7Wse0UqtkCfUNj9A2NKVSzBbeObU+wbXiQP8eWT+a3HuPibff2vI6egSEuBdSTHJao34Hbx3cke5yQvB1HzlCoQRdKNe/BlKUb4/Uw+fznPLXaM3b+aiq17UeeWu1ZuGG35hx5arXn7uPnqRLP1oOnaFWnCsZGhhgbGdKqThW2Hkz4xssvMJgJi9YyqX/nRM/3zj+Qoxeu07JO5S86TkjejkOn8KjTnpKNuzJ58dp4PVM+/9mtWivGzFlOxVY9cKvWigVrd2jO4VatFXcfpc63mlv2H6dVveqfPjv1qrNl//EE2/oFBjFhwWr+Hdgt3nbNfcyH2INCQnFysEuV+H417y/v5eI/5bgyvBovds/mRLtMxEaGAcT7+Xz/4jzbNplrY+pyvn9xvA4v05zjfP/ihHp5pko87y7tJGOZJigNjFEaGJOxTBPeXdqp1S7k2U0U+oZY5VI/JGWq/DvvLqnzXfibp4R63ce5+h+a9gaW6s/Hx0VNYiPV/8bGhgdjaO2YKrH/yvbe86P8nOtUX3CT2ae8cBp5nrAodS+az38uMeMaU469pO6S25SYcY3lFz/18iwx4xqeb8NTJZ5dd3xpUtAOY30lxvpKmhS0Y9cd7YVEbr4Ow1BPQfGs6vvetkUzsvuuX6rE8KvzPLWLhe1KsLRLBc6unc74yjZEf3j2+fznuS0LcnL5BFb0qM7clgW5vH2J5hxzWxbk3bPUuc+9d2I77tWaa+5z3as1596JhO9zPxZpAKLCQ5AU2l8YhQW85+mV4+Sv1jxV4ksPfqgeNe+DI/h79Vn2D65D9oyWLDx8J8n2EdGx7B9cl5e+IZQftZ3mpXNiZqSfaPug8CgaTNmf4L7cmaxY2Lmi1nZv/zDK5P70D4qzjSkXHr3Ravf/ca0/84ihjYoCYGtuxOTWpakyZgdWpoaoVDLbB9QG4IFPII7WJvRdeYbbr/yxtzBmZJNiuDlZJ3kNIb7wwPecmNOPxtMPYOXkys3tC5JsHxMVQePpBwh++5IN3crhVrUF+klUY6NCg9jxT/0E99lkyU21gYu0toe89yJTgU+9I8ztnPG5cz7Ra+wZ0YL3T25hbGFD3XHaPTdioyK4f2gdJdsPS+qtCQkIDXjP9il96LbwMBkyu3Jm4/wk28dERdBt4SECfF4yq11pCtdqhaFJ4p+PiJAglvaqk+A++2xuNB+xRGt70Fsvshcqq3ltmdGZZzfPJXiOndP/pkqHQRiZWcbbHvjWC+uMmTWvTa1skVUqwoMDMLGwTvQ4IWnv/APpOXYOx1dNJ0dWJ+asTvjG4qPwyCiOr5rOC++3FGvSjTb1qmJmknjBPTA4lJp//JPgvjyuWVg+caDW9ldv3lPusx4QmR3sOHst4X8j+02cz9A/W2NpbppoDOt2H6VKyUJktLX+ouOEpL3zC6DHqOmcWD+XHFmdmbNyS5LtIyKjOLFuLi+831C0fid+b1ADM9OkPzs12vdLcF/eHC4snzxEa/srn3eUL+6heZ3Z0Z4zVxIettR33GyG/tUWS/P4+S6DtSWzRvSmVJOuWFmYo5JVHFw+PcFzCImLDvblwfKBFB6xGxOH7Lw6kHQPq7ioCAqP2E3E+1dcHloJh3LN0TNK/O8zJiyIG5MaJ7jP1Ck3ef+cp7U9ys8bK7dP33Ab2ToR9OBCgu2MMjhrXhuY24KsIiY0gPDXDzG0duTBsv6EvriDgaU9rs2HY+qcGwNzW3K1m8TVEdXRM7FElmU8Bif9dyEkzTc0hoG7nrK7c36y2xqz+FzSwyQjYlTs7uzOq4BIKs+/STMPe0wNlYm2D4qIpcmKuwnuy21nwtwmObW2ewdFUyrbp3uNTJYGXHihPQ2Fd1AUTpaGmtc2pvqoZAgIj8HaJPFnOCFpYQHv2Te9L+3nHsLG2ZWLm5O5z42MoP3cQwS+ecnijmUoWLNlkr1SIkODWN23boL77FzcaDBUO5cFvfUia8FPz0EWGZ15eSvx56AN/zTjzaNbmFja0HLyVq39tw9tIHvRSpjZ2MfbvrpvPVRxseQoXpVy7QahZ2CodWx69UMVaq4+fY97FluyZ1T/obcqk4sRmy4l2r5hseyAujeLlYkhPgFh5HS0SrS9pYlhiodPfa3YOBVdF5+grJsjNT2yABASEc2yE/c5PKw+ORws2Xn5KR3mH+XEyAbExslcffqeYQ2LMjOXA3uuPef3eUe4PKFpmsb5s3nreQU71wJYObkC4Fa9NWeXDE+0fc7y6qFsFhmzYGhmSaivD9aZtf/h+cjQzDLFw6e+Vp0xG5BVKq5umsmVDdOp0P3TWE5VXCyH/u2Mc8FyZCtZK03j+Bm9unsZp1wFyZBZ/fko+ltr9s0dmmj7AlXUwxKtHbNgbG5J0PvX2GfNlWh7Y3PLFA+f+lK3j+9AT98AtzI1v8txAly+5UlBN1dyZHUCoG2D6vwzTbvY9lHTGuUByOqUESsLM7zf+pI7W+ZE21tZmKV4+NSX2nboNPr6etQqXyLJdmt2HmZ0r/ZffJyQtEs37+ORNyc5sqofaNs2qsmgyYl/cdCklnrIc1YnB6wszfF++57c2bMk2t7KwizFw6e+1LaDJzHQ16d2Re1liINDw1i0fidnNi0gV7bMbD1wgha9R3Jp+xIxVO4LBD++irlLfkwc1PevjuVb8GT9qETb25dsAICxXWb0TS2J8n+NXqbE71X0TS1TPHwqNclxcQQ/uUb2pkOw6jSd91f2cXtme0pOPU9sRAjeR5dTZNR+TBxz8O7iLu7O7kTRcUfFZ+crXfMKwd3RlOy26qJui8L2jD74ItH29fNnACCztRGWRnr4BEeTwy7xgrClsV6Kh08J6YP3vSs45CyAjbP6PrdgrTYcWZD4F7t5K6vvc60csmBkbknw+9dkyJL4fa6RmWWKh099rRaTNiGrVJxdN4Mza6ZRq0/8uT1vHlhHpT9GxNvWc8MtLOydiQoLZufEbpxZPZWKnRK/v09vfqhCjYz8RVMpGOp/qgYrFRKxKjnJ9l/To8bJxpRXfp8m4PTyDyOTdcLfZsSpVHRbehJLEwMmtPw0tvfEPW8sjQ3I4aAuQNUvlp1eK07jFxpJZlsznGxMKflhzps6hV3o/t9J/EIisTU3SvL9CJ+R5S+ah0Np8Ol3q1AoUcUlPUn11/SoMbdzjjdMKeS9F2YZnJK8jqRQkLd6a9Z2Lq4p1Kji4jg8uSuGZlaU/TP15i34lcgyX/T5+LwaL6Xg8/E1PWosMzoT+ObT5yPorReW9tqfj6fXTvPk2mkmN/3Um2JW21K0m7IZq4zOBLz9dI6wQD+QJEwsrJM8LmM2tyTfz69OluUveoAwNDTQ/KxUKIiNS3oSx6/pUZPZwY6XPu80r1+9eY9zxgxa7U5dvsXJSzfJU6u9ZlvRxn+yfe5Y8riqCwCXbnniFxRCjbLFvug4IXnq+5iUf3aMvuKz86U9ajI72vPy9VvN61c+73BOYNjSyYs3OHHxOm7VWmm2FanfkR0LJ+L55AWW5mbk+lCAbFyzIl2GTsY3IAg7G6skYxY+JwMp/3wo9D/7ZlihRFYl/fn4mh41hrZORPp+mvg10s8bQ9tMybaLDvEDJPTNrDHM4IyRrRNWudWFXruitbm/qAfRIX4Eep5Hz8QSE0f1HCT2JerhubQPMSH+GFjYJvl+hIR94S0NhnqfZsJI0fPSV/SocbI0wDvw00Tpr4OiyWRhkEA7Q7yDPrXzD4tBAtGb5hvJX5hbPr/PTclz0Nf0qLHM6EzQZ/eowW+9sEjgPvdzkkKBR+02LPi9WLxCjfe9y0QEB5CjZLV47S3s1V+KGJpa4FH7dy5tSbonUXrzQxVqimS3p8+KMzx9F0x2ews2nHuUquf/mh419YpmY8j6C3SspJ5wa9P5x0xsWVKrnUol03P5aZQKiZnty8a7UcuSwZzbr/x4HxyBnYUxZzx9MDMywNbMCFszI0wN9fH0DsDNyZrzD99gZWKIjdmP020rPcjoVpRjM3sT9Poplpmy43l4faqe/2t61LiWq8fphUNwr9MJgAdHN1Gum3ahJSLIF0lSYGRhA8DjM7uwcVHPWSSrVByb3gOFQkml3rPEt09fKXO+omyd1AM/r6fYOmfn6v7U/Xx8TY8a90oN2DNzECUbqcf0Xz+wgTp9Jmu1q99/GvX7T9O8HlLOmt6rzmNoYoZKpSI2KpLnt87jUqAUF3cux71Sg2SPE5JWrIAb3UbN5MnL17hmycSaXYdT9fxf06OmYbVy/D15IV2bqwuC6/YcZdqgblrtZg7tzsyh3TWvTT1qc2XrwnhDsVbtOESrOpXR01N+0XFC8ooXyEO3YVN48sIb16xOrNlxMFXP/zU9ahrVqMDfE+fStaX6y4Z1uw4xbYj2al+zRvRm1ojemtcm+apwdecyzEyNiYiK5ub9x7zzC8De1pqTF69jbmpCBmsxrPJLWLgWwXNpf8LfPsMkYzbenEm9iTvh63rU2BWry+M1w3Gq2h6At2e3kPN37XnNzF0KoIqOJPDhRaxyleD1sdXYF6+r2ac0NCHM6wGmzrkJ9LyAnqk1+mY2GGfIQuiLO0QH+2JgkYGA+2dRGpujb27zze/3V1XY2Yx+O8J45hdBNltjNl3XXu3xW3xNj5o6+WwZsf857YpnBGDLzfeMre2i1a6AoymRMSouvQimeFYLVl15S918omD3rZzyFGXvlJ74ez/Fxik7tw4mvzLkl/iaHjV5KtTn0Nx/KNJAfZ97+/BGqvf8V6tdWKD6OcjEUp0T7p/YiV22+BNd39i/FvfqzVEoP5U2IkIC0TMwRN/QGFVcLJ6ndpHRNf+XvjWd+qEKNfYWxkxpU5rWsw9hY2ZEjYKZ0VcqMDHQ3dsok9uR3wpnpfyo7ciyTLNSOSj9Yc6aAzdecvDmS2a0K8vRO15sufCEPE7WVB27C4DiOez5t3VpCmbNQPfq7jSYsg99PQWGekr++7OS5qF7Vvty9F5xmqjYOIwN9Fj+VxXxQP6FTKztqdBjKntHtsTIwhaXEjVQ6OmjZ2iis5icCpQle+nf2NCtHCCTq3IznNzVYzWfXdjP8wsHqNRnFuH+7zg2owdxsbEgy1g4ZKHq3+qu8i+uHOHh8c3YZM3D5t5VAHDMU5zy3bUf6IXEmdvY0+Dv6awc2BwTSxvylKmJUk8ffSPdfT6yFypL3gp1mdW2NLIsU6hmC7IXUn8+7p/Zx/0zB2j0z+wkz6FQKGg6bCE7pvYlNjoKa4csNB2u3btL+DIZba2ZNbQHjXuOxNbKgloVSqCvp4eJke4K6OWLFaB+5dIUa9INWYZWdSpTrqh6xae9Jy6w9+QF5o/sk+x5IiKj2HboNMdWTUu2rfDlMmawYfbIvjT6awi2VpbUrlhK/dkx1uFnp7gH9aqWo2iDTurPTr1qlCumfgjbc+wce0+cY8GYpFcSLJwvF307NKNG+34Y6OlhYKDPuhkjxb3KFzKwtCNX+0ncnv47+mY22BaqhqTUR2mgu4KodZ7SZChai8tDKgMyGcs0wcpNPfzN99pBfK8fwq3TNCSFgjxdZ/NwxSBUMVEYZXAmT1d1wVmSJHL/MQPPpX1RxUajNDAmf8+lSJKEebYCZK7djRsTGiHpGaDQMyBfj8Xis/MN7MwMmFQ3O23XemJjok+13NboKyWM9XW3hkzpbJbUymNDlXk3kYEmBe0o5aIu5B7y9OfQgwCm1ndFoZCY1Sgn/+x+QmSsTGYrQ+Y0Fis+fSszG3tq9ZnGxsEtMLG0IWepmij09NHX4XNQVo+y5C5bh8UdywAy7tWaa+aseXh2Pw/P76fO37MJ83/H7n+7o4qLQZZlrByyUn/Ip3vZmKgI7p/YQfu58b/48Hv5kP0z+gESqrgYnPIVp0JH7V6l6Zn0cbb1FDWWJPndko5pGE7yQiNjNBMCrz/7kLVnHrJnUMJDCoS0Zd95GbIsf/O/pJIkyX/t0575PbVFh4dgYGIOwP1D67h/aC2Npu5N8+v+rObXzpAq//9B/RmYcDp1VmL7WlHhIRh++Hxc3buWK3tX03X+AZ3G9KsaUs460c+WJEly2I193zskLSFh4Zibqm9wVu04xKodhziyYmoyRwlpwdSjdopykSRJcvjdo98jpCTF++xsP8DKrfs5umaWjqP6eZnkq5Liz0fFlUlPuvo9xEaEovdh0k6fUxvwObWewsO0V1kS0t6JdplS/NnxHq09d5MuhUbFYfZhQuCN19+x/to7dnT6sXoTpHdOI89/832wJEny0GP+qRVSkj6/z725fy039q+h3eyEp/wQvt34yjbf/Pn4oXrUACw5epddV54Tp1JhZWrI9LZlkz9IEIBbu5bw5Mwu5LhYDM2sqNhrhq5DEtKRc1sWcef4TuLiYjGxsKbhQPHgJCRuwbpdbDt8hti4OGwszZg7opeuQxJ+EPPXbGfbwZPExcVhbWnOvNEJzykj/Jq8D//Hu8u7kePi0De1IndHUQAWvtx/F3zYc8+POJWMlbEeU+pl13VIgo5d3raY+yd3IsfFYmRuzW/9Z+o6JCEZP1yPGiH9+NF61Aip62frUSOkHz9Cjxoh/fjRetQI39eP1qNGSD9+5B41Qtr70XrUCN9XavSo0d1gRUEQBEEQBEEQBEEQBCGeX7pQ02DKPg7dfKmz6z95E0SDKfuoNHoHZYZvZfKuawm2O/vAh6zdV1Jp9A4qjd5BzQm7NPtuPPel0ugdlB2xLd4qWBvOPmLG3htp/RZ+GTsG1eP5xdRdneNLnJo3kHVdSrKxewW29a/Nu4fXE2wX6uvDjn/qs7RJNjb3qhJv37uH19nYoyLru5bG88gGzXbPw+u5smF6msb/s1vSsw6eZ3U3n83O6X8zvXVxZrcvy8JuNfDy/PT5eP/yEUt712N2uzLMbleGR5ePJ3mumKhIZrQpybw/Kmm2eXleZ06HcsxoU5Jrn62IdXXfOo6vEt3yv1TNToPYf+qizq6/fu8xijf9C4sidVi4YXeK933u9Vtfav3xD45lm1C2VfxhX9fuPqRksx4UadSVNbs+rTCzeudhJi/Z8P+nEr5Ajfb92HfivM6uHx4Rye/9x5K/5u941GmfaCynLt3AtkhtSjTqQolGXSjf4tOKYVfvPKBEoy4Urtsh3qpXq7cf4N9Fa9P8PfzMrk9sjO+N1F2F7msE3D/HifbOeB1eptl2499mXB5elcvDq3JpSCVOtMtE6Mt7Wsf6XjvAlRE1uDSkEpcGV+TV/oWafcHPbqqPH1wh3opYPqc38mKXGK78LZosv8vhB7rr2RwRHcefmx5SZtY1ys+5nmgsKpXMiH3PqDT3Bv9j7yyjo0i+Nv4biStJCAnEhRCiuAR3h8VtF3d3d10Wd3d3d3d3jwARICHuMxl5PzQ7ITuDw8L+X55zOKS7bkl336m6detK5QW3abXuIa+T5QDciUql6qI7VJh/m623YzR1ttyKYc6ZSJ3t/cLnY12/ugRf+nF7oqzMdHaOb8/C1kVY3KbER8eikGeypF1JVnStpLn38sktlnUqx5J2Jbl7JFuuvXN4I+fX/zzJFP5zMWr+lzBuxzXqFnGhQ6WCpGZmUW7MTqr4OVLYNbcWbX57S46NrK91f+6hu0xuURJ/Z2vKj91F89KexKdmsvHCU7b3r/FvPMYv/AtwKlqZoC6TkEj1eH7lCEendqL1yutadHpGJhRvNQR5egrXNuTM/HRz21zKdplMbs8AtnQvR4EqzclMjufR0Q3Um7zz33qUX/gO8CpRhTq9pyCR6vH4wmE2j2nPwC2CsmbHlB6UqN+eQjWaExsRyvI+9ei/8Rr678lodWzZRJx8i/E65L7m3pn1s6nTZyr5vAKZ0yaIwjVbkJ4Uz42D62k/a/e/8Yi/8A3h7+XGmqlDmbFKO/Xvh8reGbYGFgAAhC5JREFUhYmxESO6tSIlLZ1Ji3Nurmes2sb0IV0oVNCT4o2707peFeISk1m35yj7l0z+ps/yC/8uZq/aiqmJEfcPryPkRSRVfu/L/UPrMDXRzkpUwN2ZC1sXad2fsXwTM4b3pFBBT4r91onWDaoTl5jE2l2HObD8r3/jMX7hO0KRkUrY1klY+VfKcT9wSPac8ubGIZ7tmIapU0Gt+voWtvj1W4NBLjsU6clcH1MDM7dCWHqVIHz/fDxbTcTM1Z9rIyphV6YpWanxvD67mYAhW777s/3C98Piiy8xNZBwoU9hwuIyaLjyARd6F8LkbUDkv3H0SQI3o1I51i0AqUTE2MPPmXM2kil13Jh/PooJNV3xz2tC5YV3aBpoS3x6FltuxbD5D21e+4X/Ji5vnY++sSnd198gPjKUtX1q0339dfTfBmH/J06vmEi+gsWIDn2guXdp02yq95yKXf4AlnUsg391Qa69c2gDrabv+rce5aP44YqadJmCXqvO8uRlIlKJCI88FizvWonopHS6LjtNSkYWsiwlVfwdGdO4GADT9t4k5HUSKRlZhEYnEeBsQ++a/ozZepWI+FRqF3JmbJPigGA14+toxf2IeF4mpFG/qCsjGhbVGkdKhpzRW6/yMDKezCwlZQrYM75pcSRiMX/tvcWua2EYSCWIRLBrYE0sjL8+laYISM4QtMAZcgUikQgbM8PPakNPIiJDrkCWpUQiFgykxm2/xrAGRdCXSj5S+7+FrMx0Ts7sSfyLx4ileljm86D68BWkx0dzdFpnstJTUMhlOBerSukOYwG4uv5PEiODkaenkhgVSm4Pfwo37cPFZaNJiYnELag2pTuMAwSrGRs3P2LD7pEa+wqPsvUp2Xak1jjk6SlcWDqSuOcPUchl5PMvQ1CnCYglEq5tmEbwmZ1I9A0RIaL+1N0YmFp89bO7lKiu+dvOuxipsS9Rq1SIxDmN4gxMzMnrV5qou+e12hBLpShkGSjlMk29iyvGUuKP4Uj09L96jD8a8sx0tk/qTvSzx0ikUmycPGk5fhUpcdFsHtcRWZrAH16lqlKz+3gAjq+cypsXT5GlpxAbEUo+r0DKt+rLwQUjSXwdgU+5OtTsMQEQrGbsPf14FXyPpDcv8avYgOpdRmuNIzMtmYPzRvI67AEKWSauhctSu+ckxBIJJ1b9yZ3jO9DTNwCRiI5z9mFk9vX8USAoWynr5FucpDcvUalUiMViXoU8wLNEFQBsHN0xNrPk6eXj+Faop9XOszsXiY0MpUyzHhx6R1EjkUrJkmWgkMsQS4R55dDC0VTtOALpf5R30jMy6TxqJo/CXiCVSsnvnI91fw3ndWw87YZOIzktHZlMTvWyxZjUrwMAkxat5+nzSJJT0wkJj6KQtwf92zdl2IxlRLyKoV6lICb3F2hrdBiCn5cb956EERUTS8OqZRnXu63WOJJT0xk6Yyn3nz4nUy6nXFF//hzYCYlEwuTFG9h2+AwG+vqIRHBo2VQszXULIp8DHw8XAMQibaPaD5W9CwszE8oU8ePstbtaZVKplPRMGZkyuWZdGjFrBaN7/IG+nt7XDf4nQHpGJp2G/8mjkOfoSaV4ujqyfuZoXr+Jp+2giRreqVGuBJMGdgFg4oI1PH0WLvDO80gK+eRnQMfmDJu2mPBX0dSvUpbJb2mrt+2Pv5c7d5+EEvX6DQ1rlGd8345a40hOTWPItEXcfxKGTC6nXPFA/hzcDYlEwqSFa9l28ORb3hFxeNWMb8I7Ow6fZunkIQB4ODtQ2Dc/R89fpWH18p/chp5USnpGJpnybP4YPn0pY3q3R1//v88fSlk6j5f1JS3qCSKJHsZ27vj0XIIsMYZHi7qjyEhBlSXDOrAy7s1GAfBs13TSX4WgzEgl/XUYZi5+ONXpSeim8WTGRpK7aE3cmwvrza0pjTB18iE1/AGy+FfYFq+LW5NhWuNQZKQQsnEsaRGPUGXJsPQujUfLsYjEEp7vmkH0ld2I9QwQISJg6Hb0TL5+LQII3TQWx1rdiLt9/L00r89uxr5cc51l5u6FNX9Ljc0xyetBZmwkeJVALJGilGegyspEJBbWotDNE3BtNASx9L+5Fr2LDLmSPrtCePomA6lYhLuNEUua5icmRU737cGkypTIFCoq58/FyGrOAMw4FUFIbAapMiVhcRn42ZvSs2w+xh15TlSijJreVoyq7gIIVjMF7Yx5+DqdV8ky6vjYMKyKk9Y4UjIVjDvygkfRacgUakq7mDOmhgsSsYiZpyLYfT8WA6kYEbCtrQ8WRl+/ndx7P47ZvwlpuN2sjfDPa8LJkETq+ljnoBOJQK5QIVOoEIvEpMmUOOYS9mR6YhEZWUoyFSrEb9O7Tzz6gsGVnNCX/m85kWRlprN3andiXzxGLNHD2tGDhmNWkRofze6Jnd7KvJl4lKxG5S7CPufs6qnERQQjS0shPjIUu/wBlG7Rl+OLRpEUHUGBsnWo3FWQj9f1q0sed1+iQ++T8uYl3hUaULHjKK1xyNKSObZoJDGhD1FmZeIcWIYq3QSZ9+yaP3l4cicSfQNEIhGtZ+7F8BvsiR6e2kXdoQsBsHJwx94rkNArx/Gu0ECLNvzuJeIjwyjRpDvRodkyu1iiR5YsHYVcpplLTiwZTYX2I36qPdEPV9ScehBJYrqM8+MbApCYJgPAwlifdT2rYmqoR5ZCRbPZRzh5P5JKvg4A3HkRx7ER9TAxlFJ5wh4m7LjOpj7VUKhUFBu2jT/KeeGWR2CGJ68S2d6/BplZSmpP3U8xd1uqBeScmEZvvUqp/HbMalMGlUpNt+Wn2Xg+mLpFXFh49B4PZ7bESF9KamYWhnraCpAzD6MYu+2azmdsVtqDrlW1U+JNbF6S1vOOser0Y5LSZYxuXAwnGzOdbYRGJ1N5wh70JCLaVvCmeWlPAPrXCWTQ+oukyxSMaVyMi09eIRaJKJXf7lNe/38KETdPIUtNpMWSiwBkpiQCoG9qQe0xG9AzMkWpyGL/yCaEXz+BU1HB9edNyB0azzmBnqEJ23pX4vKqCdSZsAWVUsH6dkUoWOMPLPO5AxAf/oR6k3eilGeyo39N7LyL5VCSAFxYOpK8fkFU7DsHtUrFsb+68PjYBtyC6nF75wLabXyM1MAIeXoKUgPtU8aIW2e4uGKMzmcsULkZAb91++B7uLdvOc7Fq2opaT6Goi0GcmbeABSydEq1H0fUvQuIRCLy+pX+rHZ+VgRfPUlGSiL91l8GIOMtfxiaWvDH1E0YGAv8sWpAI55eOU7+t8qLl0/v0GPZSfSNTJnfoTxHFo+j7V/bUCkV/NU0kGL12mLjKPBHzPMntJ+1G4U8k8XdquHsWzyHkgTg4LyRuAaWpuHQuahUKraO78SNA+vxrVifc5vmM2LfU/QMjJClpyDV1+aPkOunObRAezEEKFSjBWWadf/ge7i0cxlepaohfssf+bwCuHN8O0FNuhL15DZvIkJIfB2hVU+ekcaBucP5fepG4iLDcpRVbDOIPTP6I89Ip2a38YTduoBIJMY1MOiDY/mZcfzSTRJSUrmxcwkACckpAFiambJt7hhMjY3IylJQr/tIjl64TrUgQcF/62EI5zbOwdTYkNItejN6zip2L5iAQqmkYK12tG9UAw/nfAA8Dgtn/5LJZMrlVPyjPyUDvalZrkSOcQydsZQyRfxYOKYvKpWKdsP/Yu3uYzSoGsSctTt5fnIjRoYGpKSlY2SgfUBw8vIths9cofMZW9WtTK/ff/tm7+xTMbRTC/pMmkdahoxJ/dpz7vo9xGIRZYr4/etj+R44duE6icmp3Ny3CoCEpLe8Y27K9gWTMDV5yzudh3D03FWqlRUOjm49COb81oWYGhtRunFXRs9czu4lU1AolBSs3pr2TWrj4SzIOI/DXnBg+V9kyuRUbNWLkoE+1KqQM1jpkGmLKFs0gEXjBwq8M3gya3Ye5rdq5Zizaisvzu34MO9cusGwv5bofMbW9avRq01jrfsRr2JwyptHc+1ol4fIVzFadAAhzyMp1bgLelIpnZvXo3UDYS0d2rU1vcfPJi0jk0kDO3Pu2h2BP4r6f/C9/1cQf+8MWWmJFJ9yBoCstERAUDr49luD1NAElSKLu9NbEnf3FNb+gptp6vN7FBl7CImhCddHVyds62T8B6xHrVJyeUAJ7Cu0xthOyNyTHvWUgMFbUGXJuDWhLuaeRbEJrJpjHCEbx2JZoBQFOsxArVLxaHEPXp3dTO5itYk4vJjS8+4i0TdCkZGKWF/7kDD+wVlCN4/X+Yx2QU1xrNFZ637cnZMo0pOxLVbnvYoaedIbEh6ew6vDx12u014Gkxx6k/xtBQth5/r9eLp6CEpZOm7NRpL4+BKIxFgWKPnRtv4LOB2aSFKmktM9AwFIzFAAYG4oZU3LApgYSMhSqmi57hGnghOo6JkLgLsv0zjUxQ8TfQnVF99l8rEXrG/tjVKlpuTsm7Qqmgc3a0HeCH6TweY/CiJTqKi3/B5FHc2o6pUrxzjGHXlBSRdzptd3R6VS03NHMJtvxlDbx5rFF19yZ3BRjPQkpMqUGOpQgJwNTWTC0Rc6n7FJQG46l86rdT8qSYaDZfY8lc/CgJdJMi26qvlzcfFZMoHTr2OkJ8bDxohJtV0B6FvegaH7w0iXqxhVzZlLz5MQi0SUdDH/2Kv/zyH02kkyU5Poskpb5m06aSP6b/dEmwY3JvTqcdyLCzLvq6d3aL/oJPpGJqzoUoFTy8bRfOpWVEoFC1oVolCdNlg5CDJv7IsntJq+C4U8k9U9q+PgUxzPUjn3RMcWjcTZP4g6A+eiVqnYPakzdw6tp0D5+lzZuoC+O59oZF49HXuiZzdOc3yx9qEngH+15pRooi3zJsdEYZHHUXNtbutA8psoLTp5RhrHFgynycQNJETllGvL/D6QQ7MGkJWZTuUu43hx5wIisRingJ9rT/TDFTU+jlaEvEpiyIaLBHnZU8VPePFKlZpx269xLTQatRreJGdwPyJOo6ip6JMPc2NB41XQwQofBysM9CQYIME9jwXP36RoFDXNSnkilYgxlYhpUMyVc49faSlqjtwJ5+azNyw6KpwiZ8gV2OcywcxIDw87C7qvOEMlHweq+Ttiaqh94lO+YD5Ojcn3Wc++9sxjmpTyoGd1P6IT02kw/SCBzjYUcbPNQefvZM3tP5thbqzPizcpNJ51GHtLY8oXzIdX3lzsHVwbALlCSeOZh1nTowpLjj/gakg0uc2NGN+0+P+EdY21qw8JEcGcXTCYvP5BOBcThBK1SsnFFWN5/egaarWajIQYYsPuaxQ1joUrYWAiTNLWLgWxdvNBomeARM8ASwcPkl891yhqClRphlgiRWxkikf534i6c05LUfP8yhGin97i9i5Bm6vITMfUJi/6xmZY5vPg+F/dcCpaCefi1dA31la8ORYqT7P5p7/oHQSf2Unw6R00mPb+2BHvg5WTF7/9tR8AZZacvcMbUnP0Ou7sXszrh1cxssxNUKcJP5Um+XNg7+HLm/Bg9swciFuhMniVqgYI/HFo4WjC718FtZqU+BheBd/TKGo8i1fSaPjt3H2w9/BFqm8AGGDj5EH8y2caRU3hGs2RSKVIpKb4V25I6M1zWoqaRxcOEfnoBue3LABAnpmBRe68GBibkdvJg60TupC/eGW8SlfHQAd/eBStQK9V577oHdw5voM7x7bTaf4Bzb3GwxdyYN5wbh7cQG4XL5z9SiKWas9hhxaOpmTDjljkzqulqMnjWoDO84VMS4osOSv7NaD15A1c2LqIF/euYGqVm1o9J/2nrGv88rvy9FkE/SYvoGxRf2qUFSw2lSoVI2at4PKdR6jVaqJjE7j7JEyjqKlSujAWZiYA+Hq64JffDQN9PQzQI7+LA2GRrzSKmlZ1qyCVSjCVGtGkenlOX72jpag5cPoK1+8/Ze5awdQ2IzOTfLY2mJsY4+mSjw4j/qJq6aLUKFccMxNtd7VKJQtxeev87/aevgTe7k4cXSm4sMizsqjTZTibZ41m/vrdXL79EFtrS6YO7PSfta7x93LjybNw+k6YQ7nigdR4+02VSiXDZyzhyq0HqHnLO49DNYqaKkFFsTATrFp8vdzw83LHQF8fA33wdHEgLPylRlHTqn41De80rlmRM1duaSlqDp66xI17j5mzehvwlnfscmNuaoynqyPth0yhapli1KxQUjfvlCrClZ1Lv8s7CizoydMTm7AwM+V55CtqdxxE3jw2VCpVBG8PF46tnQ2AXJ5F7Y6D2DJ3PPPX7uDSrfvYWufiz8Hd/rPWNaZOBUl/FcrTtcOwLFAa64C38eLUKsI2TyAp5Dqo1ciTYkgNv69R1OTyLY/UWJBVTB29MXEsiFhP2Lga27uTEfNCo6ixK9NUkFUkUmxL1Cfx4QUtRU3craOkhN0m4rAQ40Uly8TAyh6pkRlGdu48WtILK7+KWAdWQarDZcDKpxxWE95vFfNPZKUlEbZtMgGDPxyH6vX5rVj5VUTf3PqDdLLEaO7PaYfn75MxyCUcPprky0+hEcJcqVLIufNnM3z7rCTiyDKSg6+hZ26DR8ux/1nrmoJ5TAiJzWD4/jBKuVpQxdMSAJVazYSjL7geISiFY1LlPHidrlHUVPCwwNxQ2NJ55zHGx84Eg7cKFHdrI17EZ2oUNU0CcyOViJBKJNTzteHCsyQtRc3RJ/HcjkplyUUhC1pGlgp7c33MDCS42xjRe0cIFTwsqeKVC1MD7f1FOXdLjnWz/ObvB+DeqzRCYtO5MaAIJvoSxhx6zrgjz5lU2438tsbsbC8cjMsVKpqvfciK5l4su/SKa+HJ5DbVY0x1l/8J65o87r7EhT/l8JxBOAcE4VFSkHlVSiUnFo8h8sFVQE1qfAzRIfc1ihq3opUwNBXmGVs3H/K4+2hkXmtHDxJePtMoavyrt0AskaJvZErBig15fuuslqIm+OJhXj2+yeVtgsyrkGVg/lbmtXL0YM/kLrgXq4xHKd0yr2uRCnRadva7vKMTS8ZQpEEHzHPn1VLU5HYpwB9zBFlZmSVnw8DfaDJhPVe3LyLi/hVMctlStfvEH74n+uGKGpfc5lyY0Iizj15y4n4kk3bd4MzYBiw+9oCkdBmHh9fFUE/KgLXnycxSauoZvGPVIhGJcli5SMQiFEqVzv7UasFsTtf9NT0q45JbW+t6aFhdroZEc+7xK6pM3MPmvtXxcbDKQfMlFjXLTj7k2uQmAOSxNKZMgbxcCo7WUtSYGWUziXNuM2oGOnE1JIbyBXMqhuYeukurMvlJTJNx+PYLdg2sxZ97brLjSigtgvLrHNt/CRb2LrRYcpHI2+cIv3GcK2sm0mzhOe7sXIQsNZFGs44g1Tfk9Nx+KOSZmnoS/WwNvUgiQfrOyZFILEalVOju8D3MolarqTlqLRb2LlpljWYd4dXDK0TdOce23pWpM2ErNq4+OWi+1KIm7OIBrqyZTL0pOzHOZauT5lNxc9scvGv8jiw1kWeXD9Fg6h6urp/K01Pb8a7W8qva/lGwyutCv/WXCb1+lidXjnF06QR6r77A+S0LyUhJpNuS4+gZGLJrWl+y5NmnNO/yg1gsebtgZV+rFLr5Q2AP3fzResoGrPK6aJV1XXyMF/euEHbzLAs6VqTt9G3Ye+ScG77UoubB2f0cWzaRDrP3YGaVzR9WeV34fcpGzfWs1iWxddGeD17cvcyTy8c4uXoaCrmMjJRE5rYJoveaCznozqyfTdE6f5CRksjD8wfpNHcfx1dM4c7RbRSp3Urn2H5GuDrYc3PXEk5fuc3RCzcYO28NV7cvZN66nSQmp3Jm3SwMDfTpOX4uMplcU8/AIHs+loglGOa4FqNUKtEFNWqd/AJqtswahauDvVbJ6bWzuHT7IWeu3qFMy97sXjABv/yuOWh+RouadzFj5Tba/FaDxORUDpy+zKHlU5m4cD2bD5zijwbVfujYvhSujnm5tW8Vpy7f5Oi5q4yZvYJru5czd812EpNTOLN5AYYG+vQYM5NMeTbv/JNXDPTfuZZIULyPd9S6eUetVrNl7nhcHbVPp89snM+lW/c5feUWQU26sWfJFPy83HPQfIlFjaO9LeEvo8ltZQlAxOtoypcI1KIzNzXR/O3iYE/dSkFcuvWASqWK5KCbvnwTbRvVIjE5lf0nL3B49UwmzF/N5gMn+OO3/2acPSNbZ4pPOUPCw3PE3z3Fs+1TKTrxBBGHl5CVnkjh0fuR6BvyZOUgVFnZa9HfShnhQqJ1rVa9by16j2CLGt8+KzGyddYqKTx6P8nB10h4eJ4bY2rgP2CDVryYz7WoSYt6jDwxmhvjagGQlRJP3K1jKNIScWnQX0P3+twW3JrrXuP+hjw5ljt/NsOxZjdsS2i76QKE75+PffmWKNKSiLt5hMBh23m28y+iL+58r1vVzw5nK0PO9AzkfFgSJ4MTmHo8nBPdA1hy8RVJmQr2d/LDUE/M4L2hyBTZ+xyDdxQPErEIA6kox7VC95YINUIYBq37aljR3AtnK21Lq30d/bgWkcyFsGRqLrnL+tbeFLQzyUHzJRY1+SwMiEyUYW0iKGijkmSUdtV2k9l6O4Yg12zFVMMAGwbsDtWiW3A+ihaF85CUqeTI43i2t/Nh+skIdt2LpVmhr5OhfwbkyutCl9WXeX7zLKFXj3NqxUQ6rzjPle0LyUxNpN3CY0j1DTkwo2+OPVEOGVciQZJjTyRB9Z51iPesQ6jVNB6/nlw6ZN52C44Scf8Kz2+dZWXXSjSfuo087jn3RF9iUWNum4+k6AhMLG0ASI6JxCWwjBZd5P3LhF45xvm1f6GQy8hMTWRZxzJ0Wp4zPMTFTbMJrP07mSmJPL14iNYz93Jm9RTuH99GQM0fK9f+cEXNy/g0LE0MqFXImQoF8+E/aDOJaXKS0mXksTDGUE/Kq4Q0Dt0Op22FAl/Ux7bLITQo5opMoWTvjWcMb1BEi6Z6gCPzDt1lWuvSSMRi4lIySc3MwtrMkLTMLEp72VPay57rYTE8jkrQUtR8iUWNs40ZJ+9H0qy0J6mZWVwJfk2NAEctuujEdGwtjBCJRCSkyTjz8CVDGxTOQRMWncSNsDcMrFuIB5HxiN5OvWKRiLTM9ygi/mNIjX2JgaklbqVr4Vi4Amt+90WWkoAsLQljqzxI9Q1JjX3Fs8uH8anV9ov6eHJyGx7lfkOZJSP0/F5K/DFci8alZA1ubZtDuR7TEUskZCTFkZWRiqG5FVmZaeTzCyKfXxCvH10n/vkjLUXNl1jUPL9yhAvLRlFv0nbM82j7E38OEqNCiX58g2ItBxH77IGGV0QiMVmZaV/V9o9EUkwURua5KFiuNh7FKzL1N28yUhLITE3C3NoOPQNDkt685OH5g5Ro0P6L+rh1ZCt+lRqizJJx/9RuqnXSjmHkXaYmZ9bPpv6AGYglEtIS45Clp2JiaYUsPQ23QkG4FQoi/ME1op890lLUfIlFzeMLhzk4fwTtZ+4il31O/khNeIOJpQ0ikYgbBzci1dfHvYh2PIl3FTJht85zaMEoeizPmSEqNiKUiIfXqNxuMK9C7msWbZFYjCzjv8U7UdGx5DI3pW6l0lQuVRiPqr+TkJRCYkoaeWysMDTQ52V0LPtPX6ZTk1pf1MemAydpXL0csqwsdh47z9ief2jR1CpfkhkrtzFnRA8kEgmxCUmkpmdgbWlOanomZYv6UbaoH1fuPuJhyHMtRc3PaFHzN0JeRHH17mOGdWnJvafPNDsCsVhEWkbmhyv/xIh8/QYrCzPqVS5DldJFca/YlPikZJJSUrGzscbQQJ+o6DccOHWBjs10bzI/ho17j9O4RkVkcjm7jpxhTB/tOatWxVJMX76ZuaP7ZPNOWjrWuSxITc+gbLEAyhYL4OqdhzwMfq6lqPkSi5rfqpdnxdb9FPH1IuRFJDfvP2HNX9rz4Ks3cdjZWCESiYhPTObExRuM7t0uB03Ii0iu3n3E8O5/cO9JqGY+EYvFpKVnfNa4fiZkxr9Ez8SS3EVqYuVbnot9C6NIS0SRnoyBRR4k+obI4l8Re+sIeStpzwmfgtcXt5O7RD3UCjlvru3HtfEQLRrrQtUI3z+f/G2nIhJLkKfEocxMQ8/UCqUsDcsCpbAsUIrkkBukRT3WUtR8rkWNZf4SBM2/p7l+tKwvZi7+OFTN5t2k4GsoMlKw/keg4XeRlRrPnWnNyVelHXkr6N4kpb8OIzn0Ji4N+guZo0TZcoxS9t9ai97FyyQZuYyk1PC2ory7BYVn3CAxQ0FypgJbU30M9cS8SpZx5HECfxTL8/EGdWDHnTfU87FBrlSx/0EcQypry5TVvHKx4HwUU+q4IRGLiE/LIlWuxMpYjzS5klIuFpRyseBGZApPYtK1FDVfYlFTx8ea9dejCchnSlhcBnei0ljYWLsNR0tDzoYm0qmUPXoSMSefJuJlm9NiMCwug5uRqfSr4MjD12kaPaZYBGmy9ygi/mNIfhOFkVkuvMrUxq1oReY0KUhGcgKy1CRM3+6Jkt+8JPjiIQrXbffxBnXg3rEtFKz4Gwq5jEdn9lChg/Zc71m6Bhc3zaZmX0HmTU+KQ56eipGFFfKMNJwDgnAOCCLqwTXePH+kpaj5Eosa7/L1ubVvNXm9ChEfGcqrJ7doMHKZFt27CpkXt89zfPFoOiw+mYMmPjKUqIfXKfvH4LfBhrPnEvlPINf+cEXNo6h4JuwUsteoVGp61/THztKYTpV96Lj4JJXG7yaflQnlvLW1r58KfydrGs88zKvEdOoVcdFyewIhXsy47deoOG43IpEIfamYCc1KoCcR037xCTLkStRqNX5O1tQurH068SWY264swzZdZtGx+yiUahoUc6XyW9evqXtuYmdhTNsKBdh/8zmrTz9GKhGjVKloUsqDmoE5xzBqy1UmNhPMr30crHDObUa5MTuxMjVkdffKWn3/FxH37CGXVwuBXdUqJYWb9sXE2h7/ep05MqU9W3tWxDR3XhwCyn5xH7nd/dk7vCFpca9wL1Nfy+0JoEzniVxaOY6tPcsDIiR6+pTpMgmxVI/DE9sKmmu1Cht3f9yC6nzxWN7FyVm9kejpcXhytsBTf/JODM2tuLpuCsZWdvjWbodKqWRd20CUWXLk6cms+d0P7+qtKd46W4i7sHQkZTpPBMDG1QdzO2c2dyuDobkVNUau/Sbj/RF4HfaQI4uFgGkqlZLyrfthbmNPqcad2TS6HfPal8PCNh/uRcp9cR958/uzsl8DkmNf4VuhvpbbE0Cd3pM5tHAMc9uVQSQSIdUzoHbvyUikUjaMbINCloFKrSJf/gB8ytX94rG8i+1TeiLV02fjqDaaex1m78HYwopH5w9xduMcQIR1PhdaT1qv2RAdWz4Zcxu7T1ZcHZg3nDq9pgCCq5mVvQuz/yiFiYU1rSev/ybP8m/hfvAzRs9dDYBSqWJAh6bY21rTvUU9Wg+aQqlmPXGwy02F4gFf3EdgAXfqdBnOy5g4fqtaRsvtCWDaoM6MnL2SEk17IhKBgb4e0wYJcT1aDphIhkyOSqUm0Nud+pW/TUygrYdOM2LWCo2Vy4yVW9m7aBLe7k4fLJuwcB32ua3o2KQ2SqWSAjXbIs/KIiklHc9qv9P2t+qM6NZa08+Q6UuZNlg4dffL74qrgx1FG3XDxtKcTbO0Bb7/Ch4EhzF65nJAcJUb2LEFeW1t6N66Ia36jaNkoy4C75Qo/JGW3o/Agh7U7jiIl9Gx/Fa9nJbbE8BfQ3swYsZSSjTsLMgt+nr8NaQ7UqmUln3HkimTCbxT0JP6Vb98XXwX/do1pfOIafjW+B2JRMy8sf01blXj563C3taGTs3qsvvoOZZv2YtUKkWpVNKyXlXqVsrJv4P/XMhfQ4XTUj8vd1wc7SlavwPWuSzYPGfcNxnvj0BaxGPCtgnZzdQqJc51emKQyw6Hqh14ML8z10dVxcAqL7kKap8AfyrMnP24M60Z8oTX5C5WR8vtCcCj5XjCtkzk2sgqiEQiRFJ9PFqNQySR8mBeJ1TyTNRqFWbOftgU+TJl9Ofi9bkt5AlqrAne+Tee7ZyGvqUd+Sr9Qfj++WS8DuPl6XW8PL0OAIeqHXNYyYRsHItHK4FHTJ0KYpjbiavDK6JnZoVvb90Whv8FPI5JZ/KxcEBwd+pZJh925vp0KGlPl61PqLboDnktDCjj9uUxV3ztTWm+9iGvkuXU8bHWcnsCGFfTlYlHX1B10R1EgL5UzLgaLkjFIjpveUqmQoVKrcbX3oSa3h92YftUdAvKS99dIQTNuYlYJGJaPTeNW9VfJ8PJY6bPH8XsaFvcjqdv0qmy8C5SMeS1MGBaPbccbY09/JyxNVwAKGhngnMuQyotuI2VsR7Lm3t9k/H+aMSEPeTUMsHiTa1SUrplP8xs7Cn2Wxd2jGvH8s7lMc+dD5dCXy7z2nkGsGHgb6TEvsK7fH0ttyeAqj0mc3LJWJZ3KgsiERI9A6r1mIxYKmXHmDYo5JmoVSrsPAMoUPbb7IlKNuvFvj97sLB1EURiCTX7z9K4VZ1ZNRlTa3uK1Ps05dSxhSOo2kOYr/O4+2CZ15ml7UtjZGFN4/Hrvsl4vwYitVr96cQikTpm2ZedRP8oNPjrIN2r+epUzvzC18G200rUarUuq8nPgkgkUnc/GPsthvRV2D2kHoENe+hUzvyCNhbWsvkm3x8EHph8LuFbNPXdsKxXHco276lTOfML3xbDy+Z6L2+JRCJ12u2D//aQPhs1OgyhT5uGOpUzv/BtYRJY65PmIpFIpE5/cOLfGNJXoXrb/vRp20SncuYXPh/GPpU/mT8qrHn5bwzpq3BrSiMca3bVqZz5hW+L023yfjLvRI37+X+vjVc9oEvpvDqVM7/w+cg35tJXy8EikUg94mT8txrSN8O6fnUp2bSnTuXML3waJlWy+mr++O9HU/qFX/iFX/iFX/iFX/iFX/iFX/iFX/iFX/gfwQ93ffre2D3o3zHn/IX/Phr8ufdHD+EXfmJ0mrf/Rw/hF/5DOLzizx89hF/4j+LI6o+nLf6F/78oNGzHjx7CL/xHsb2dz8eJfuEXgN9nfX522V/49vhlUfMLv/ALv/ALv/ALv/ALv/ALv/ALv/ALv/CT4IdY1PwMcWN6rTzL2UcvqV3YhcktSgJw5E4447ZfQ6FUEeBsw5y2ZTE20H5F10NjGLnlMnKFiiyFig6VCtK2QgFUKjUdlpzkcVQCBnoSbMyM+Kt1aVxtzZErlFSflK2dzJAreBGbwsOZLcllYqDVx7uISc6gx4ozRMSmYqgvYcbvQVopvAHuhccxdOMl7kfEUdnXkZXdsqPqT9hxjZP3ozTXIa+TGN24KJ0q+3DyfiTjd1xDhJDWvGYhJ4Y1KIJIJGLfjWf8uecWsSkZPJ7130m9+zPEmzkxsyeRt87gFlSHsl2FAKzPrxzm4oqxqJRKcnv4U6nfPPQMc0arV6tUHJncnvgXj5DoG2JkYUP5XtOxsHfV1U0OpCfEcHx6d1Kiw5EaGFGh10zyFNDOcpaVmc7puf2Ie/YAtVqNlXMBKvaZjb6xGaHn93J13VQykmJpv/npt3kZ/xJ+hjgy2yd1J+TGGXzK1aFuX8Gq4tGFQxxaOAaVUkE+r0AaDZuP/j++u0qlYtPotkSHPUKqb4BprtzUHzgT63zCdw9/cI39c4ahVMhRZmVRqlEnTRDgc5vmcW3fWuIiQ/l9ysZPfv6U+Bi2TexKwqtw9AwM+W3QbBx9imrRHV48luAr2bE93oQHU6PbOEo37sLL4HvsnTmQV8H3yF+yKq0mrtHQydJT2TtzIC+D76JUKChW53fKtugFwL1Tezi+YgppiW8YuV87teb3xs8QQ6bzqJmcunKL+pWDmD6kKwAHz1xhxKwVKJRKCnl7sHhcP4yNtFOkqlQqJi5az44jZzEw0MchT252zheCa85es4PVOw8TEv6SbXNG53jGvpMWcPH2A8QiMXpSCeP7tKOijvTK/0R0XAIdR0wn/GU0hoYGzB/Vi2J+2pkYj164zqg5q4T1RKGgTsVSjOn5ByKRiPSMTHqMnytkgFKrKejhzIIxfTAzMWbUnFUcu3BD087T5xFM7Nue7i3rs+vYeSYuWseb+CTCT2/+3Nf8Q/EzxJvpPPxPTl6+Sf0qZZkxvCcAB05dZMSMpSgUSgr55GfJxEHv5bMJ89ew4/ApDA30yWdny65Fkz/aZ3RsPB2HTeVF1GuMDAyYN64/xf2930v/Jj6RYg06ULqwHxtnjwVg15EzTJi/mjfxiURc2PVlD/8D8DPEkHm0rC8JD86Ru2hNPFsLyQNibx0ldMsE1EolZi5+FOg4C4mBsVZdedIbHi3pRWZsJGJ9Q7zaTcPcXQiM/XTNMJKeXgWxCLFED7cmw8nlIwSqvjWlEbK4KCRGpoB2AOD34UP9vQtFZhrBa4aRGn4flTIL+3ItcarVTVOe8PA8oVsmonqbirhgtwWYOvnw6twWQjaOwdDGAQAjGyd8+6wEIObafp7v/At5cixlFjz45Pf7M+BniDfTd1cI58KSqOVtxYRarsgUKtpvesydl0K2nPtDir237ptUOb13hhCRKMNQKmZaPTcKO5h9tM/PqTfrdCTbbscA0CTQln4VBB7Y/yCO6aciiE3L+uAY/0v4GWLK7PuzB89unMarbF2q95oKwNOLhzm5RJB/7fIHUHfwfJ37nh3j2vLm2WOk+gaY5LKhZt+Z5Hor/67rV5fkmEj03wYMLt6wyyelzU6Nj2HvlK4kRUcg1Tek1oBZ5PPWlnFPLh1H6LVsGTcuPJjKXcZSrGEX7hzeyLEFw7GwE3QWlnbONJkgBBl+dGYPZ1dPIS0hlv67Q77gjX0c//OuTx9C75r+dKgkpCNMzcyi/9oL7BtcC7c8FvRbc56FR+8xsG4hrXqD1l9kWIPCVAtwIjoxnRIjt1OrsDM2poY0K+VJNX9HxGIRK04+ZOC6C+wYUBN9qYRTYxpo2lhy/AFnH778qJIGYNLO65TytGNbv0AuB7+m2/IzXJnUWCuffW5zI8Y3Lc79iHjOPMwZEG9Uo2KMaiRMRrEpGRQZupV6RYUfQHGPPJwYVR+JWEyWQkWdP/dT2NWWGoFO1C3iSoCzDdUm/XIL+hIUbtoHv7odAcjKSOXU3P78Nm0flvncOTW7D7d3LqBYy0Fa9byqNMOleHVEYjH39i3n9Nz+1J/ycUH18uqJ5PUtRdFJ23n14DLH/upKq+VXtXjl4eG1qBRZNFsopIE+Mrk9Dw6solCT3riXqUduz0C296nyDd7A/0+Ub9WHUo2EbDey9FR2TetL5/kHsXF0Z+fU3pzbNJ/K7QZr1StcozlepWsgFou5tGMpu6b1peOcPQDsmd6fqh1HUCCoBsmxr5nZsigFy9XBzMoW18AgCpatzc4/e3/WOI8uGY9LQGnaz9zJ87uX2DKhMwM23dDilxpdx1Kj61gAUhNi+auJP34VGwBgmsuG2j0n8TLkHiHXTueod3rdTCRSfXqvvkBWZjqLu1XH2b8kTj7F8KtYH4cChVjQqeJnjfl/DQPaN6VrcyH7V2p6Bj3Gz+XYyml4OOej+7jZzFm7k2FdWmrVm79hN8HPI7m+YzF6elKi47KDcZct4kfdiqXoMW6OVr1xvdtiYSakUr37JIw6XYbz4tQmrW/+T4yZu5oyRXwZsngSF289oP3wv7i7d7lWvdKFfLi4aS4SiYSsLAWV2w6kmJ8XtSuUZOWOw2RlKbi2fSEArQdNZtnWA/Rv14QJfdoxoY+QpeFNfBLetdrSsJqwAfytahkKF/SkbKs+n/paf+EfGNChBd1aNQAgNS2DHmNmcnzdbDycHeg2ejqzV21leHftVNHz1+4g+HkEN/asFPgs9tOCXo6evYKgIv7sWzaNizfu0X7wZO4dWvtePus7YQ7VypYgNS1dc++36uUp7OtFmabddNb5hQ/DqXYPTWpsRWYaT1YNotDwXRjbufF4xQAiDi3GpUF/rXph2yZj4VWSgMF9SXx6hYeLe1Ji2gVEIhFuTYYhNRYyDqWGP+D2n00Jmn9f8109Wk/4bAXVh/p7F+H75iKS6lF04glU8gxuTqiHRf7iWHgUQRb/iicrBuA/cAPG9h4o5RmolQpN3VwFy+LbSzt9r22xOpi5BHBj7K8kAV+KnmXy0q6EPQASkYgupfNiZaxH87UPP1hvyvFwSjibs+kPB66+SKbXjmDO9y700bXoU+tdfp7MgYdxnOghZG6su+w+pVzMKeliTh0fawLymlBz6T1dXfzCV6BUi74U+60TAPKMVA7O6Msfcw5g5eDO/um9ubx1PmX/0JZ//au1wLOUsO+5tmsZB2f2o9WM3Zryaj2nfrYS6tTy8Tj5l6bM7wOJuHeZPZO60G3ddS1eqdR5DJU6jwEgLTGW+S0C8K7QQFPuWqQ8jcau4Z/wLl8fe69CrOxaSavsW+GrXJ9m7L/NqC1XNNfxqZl49d1AmiyLs49eUnPKPiqN3035sbvYdTVMZxsN/jrI0TvhOq+jE9Npv+gk1SftpfzYXcw+cOdrhvtBnLwfSaCzDW55LABoU74Ae64900krEkFyRhYAabIszAz1MNaXIhaLqBHohFgsMEBRd1si4lJ1trHpwlNalPH8pLHtuf6MNuWFk8uSnnYY6km4/Vw7S5KdpTFF3GwxkEq0yt7FtkuhlPPOSx4LQaNpaqiHRCywgkyhRK5QIf4muXy+Htc3Tuf80hGa68zkeFY08yQrM43I22fZ0b8GW3tWZHO3sgSf2amzjd1D6vH8yhGd12nxrzk8qR3b+1Zlc7ey3Ngy67s9y4vrJ7D1CMAynzsAPrXaEnJ2txadSCzGtWRNRG+/SZ4CRUmJifykPkLO7cGnVlsA7H1KItU3ICb4lg5KEVmydFSKLFSKLBSZ6ZjY5P2Sx/ouOLn6Lw7MHa65Tk+KZ0JtN+QZaYRcP8OirtWY174cc9qU5s5x3f76y3rV4fGFwzqvk2Nfs2FkGxZ2rsycNqU5vXbGd3uWp1eOk88rEBtH4bsXb9COeye1lW5isRjvMrUQv/3uTr7FSYyOyCYQichMSwZAnpGGgbGZxirHwbsw1g5uWm1+DPdO7aZEfWFz7OJfCqm+AVGPdfFLNm4f2YJ70fKYWecBwNzGHkefokj1tJXOr0Pu41mikpA62MgE18Agbh/d9tnj/BCmLt3I4L+Waq7jEpNxLN+MtIxMTl25TcU/+lOqWU+KNe7GtsNndLZRo8MQDp29ovP61Zt4Wg2cRLlWfSnWuBt/Ld/yTcf/Lo6ev07hgh54OOcDoGPjWuw4clYn7dy1uxjfpx16esJ5Sx7r7FPVIr75cXfS/Xv+W0kDkJyaxkdkYg12Hj1Hh8ZCzLfShXww0Nfn5oNgLTpTYyMkEmENypTLkWcpNGuiSATpmTKyFAqyFArSMjLJl8dGq41NB05QsUQgdjZWnza4fwFTFq1j8NSFmuu4xCQcSjcgLT2DU5dvUqFlT0o26kKxBh3ZdvCkzjaqt+3PwdOXdF6/ehNHy75jKdusO8UadGTa0g3f7VmOnr9KYd/8eDgLp8sdm9Zlx+HTOmnnrNnGhH4ds/nsE7/JzsOn6dhMUECWLuKHoYE+N+4/0Um7ef9xbK1zUbao/2c+yffF8z2zCNkwRnOdlRrP+e4+KGXpJDw4x83xdbk+qirXRlQi+vJunW3cmtKI2NvHdF7LEqO5P68TN8bW4tqISrzYN/e7PUv83ZOYuQRgbCesE3kr/UHMFd0HcDFX95G30u8AWOYvgVjPgJRngvz9t5IGQJGe8tFN9afgQ/29i9SIh1j5VUAkEiExMMayQEliLglyX9TJNeQJaoSxvQcAEn0jpEYft874GTDrdCRjDj3XXMenZ+Ez9RrpciXnwpKou+we1RbdofKC2+y5pztDauNVDzj2JEHndXSKnE5bnlB76V0qL7jN3LOfJk9+CaQSEeXcLbEw/PA+BGDfgzj+KCrIEcWdzTGQijWWON+i3t77sTQOyI2RngQjPQmNA3Kz9/6PzzD7MZxb9xfHFuSUf2c2cEeekcazm2dY3bMayzuXZ2mHIB6c1C3/rutXl+BLR3Rep8S9ZsfYNqzsVoWlHYK4sOH7xUQLvXIce69ArBwE+bdw3XY8PKUt/4rEYvIHZe97HHyKkfSu/PuFeHR6D4Xfpul29BP2RK+efFjGvX9sC66Fy2Nqleer+/8W+CqLmmalPKgxZR9jGhdDKhGz80oYNQKdMDHQw9/Jmv1DaiMRi4lJzqDqhD1U9MmH5SdYkPyNHivPMqBOIKXy2yFXKGk04zCBrjZUKJgvB92Tlwl0XaZbAC9fMC9jmxT/aF+R8ak4WGcLsPmsTIhK0D1hzGlbljYLjjNp13US0mQs7FAeU0M9LboVJx9RXYd71+3nscQkZVDd/+OuX/GpmaAGa7Nsk+R8VqZEJaRRyDX3R+vrwuaLwQypn9Os9PbzWPqsPsezmGTalC9AVX/HL2r7W8OrSnN29KtG6Q7jEEukPD29A9eSNdEzNMHG3Z/f/jqAWCIhPSGGbb0r41i4EoZmlp/c/onpPSjaYgB5/UqjzJKzd3hDbD0L4Vi4Qg66+PAnHJvWRWcbjoXKU7rDuI/2lfomEjPb7PdqautA6puoD9QQcH/fClw/wYUrMzke1GqMLKyz+8jtQOqbl+TJn/N7+9RqQ/Tja6xuJZiiOxauSP6KjT/ax7+FwjWbs6hzVWp0H49EKuX2se0ULFMLfSMT8nkF0GXBIcQSCSnxMSzoWJH8JSpj9BnfffukblRsMxDXwCAUWXJW9K1PPu/CeBbLad0R/ewxW8d30tmGR9EK1Owx4aN9JUZHYmmX/d0t8ziQFPPx735pxzK8g2pqrhsNW8D6YS05smQ8GSmJNB25BANj04+28z6kJ8WjVqsxsczmF8s8DiTGROHgrW12/jduHNpA1Q4j3lv+LvJ6BXL/9F4Klq1NZmoywVdPYuPk8cVj1oVWdatQ/vd+TO7XAalUwtZDp6ldoSQmRoYEertzfNVfSCQSouMSKNOiN1VKFyaX+acL8J1GTmdo5xaUKeKHPCuL2p2HU9jHk8qlcr6jR6HhtBs2TWcblUoWYnL/Dh/tK+L1G5zss91aHextiYx+o0WXnJpOXGISO46eY9/Ji4jFYga0a0Kdip/mXjNh4Tq2HDxFYnIqG2eM/OhmKy4xGbVajU0uC809R7vcREa/oYhvfi36mw+e0nXsbELDX9KxSS1qlBXW4A6Na3H17mNcKwkmy1VKF6ZZLW2LqnV7jjG6+++f9Cz/FlrXr0a5Fj2ZPLCLwGcHTlK7UhAmxkYEentyYt0cgc9i4wlq2o0qQcXIZfEZfDZsKkO7/k6Zov7I5VnU6jCQIr5eVC6d00z7Uchz2g7W7XpUuXQRJg/UvU69i4hX0TjZZwuhjva2RL7WxWdpxCUks+PwGfaeOI9YLGJAxxbUrRT0wfbjEpNQQw5+cXjbR9F/uMu9jIll7prtHF09i11HdctxPwp2ZZpwc1wd3JqPQiyREn1pFzaFqyExMMbUxY9CI3cjEkuQJ73h+pgaWPlVQM/E8pPbf7y0N871+mFZoCQqhZw7fzbFzDUAK9/yOejSop7ycHF3nW1Y+ZTDvfnoj/Yli4vC0CZbdja0zocsXjsVeVaqIEfom1lr07oFAvBs5zSiL+5CkZ6ET6+cVnVhmyfwbNsUTBwL4t50BAZW9h8c16f09zfMXPx4c20/NoVroMhIJv7eaYzthA1getRTDG0cuT21CYq0RCy9g3BrMgzx2wOEpCeXuDaqClJDM5xq98A68OexGG4amJs6y+4xqpozUomI3XdjqV4gF8b6EvzsTdjdwReJWMSbVDk1ltyjvIcllkafvn3rszOEvuUdKOlijlyhotmahwTmM6Wcu2UOuqcx6fTYoa18ByjnZsGo6i5f8ZQ5EZ+ehVoNVibZe6d8Fga8TJIRmO/9cs3n1ItKklPKNXsOymuhz+UXyd/sGb4X/Ku1YFWPqlTuOh6xRMqDE9vxLF0TfSMT7DwD+GOOIP+mxsewsmtF3Ip9nvy7b2o3yrQehFOAsO/ZMLAB9l6FcCuacy1+8/wxuyd11tmGW5EKVO46/qN9JcVEYpEnW/61sHUg+RP2Pdd3LcOzdE4rtxNLRnNq+XjyuPtSsdMYzHN/+HA5PSkeUGP8zp7I3NaB5Jgo8hZ4v4x75/BGyrcbnuNe+J2LLOtUDgNjM0q16INnyWoffYZvha9S1DhYm+Jlb8nxe5HUCHRi88VgJjYTfOHjUjI1G3+JWExiuoyQ10kUddeOraILabIsLj59RdymTM29VFkWwa8StRQ1Xnlz5XAr+t5YcOQeYxoXo34xN0JeJ9FoxiH8naxxsM6eJOYfuUfwq0R2DKipVX/jhac0KuGOnvTfj+V889kb3iRnUNUvpyIm0MWGM2N/Iy4lk/aLT3I5OJpS+e3+9fH9E2a2DuRy8uLFtWO4lqzJk+ObCOo8CYDMpFhOze5N0sswRBIpstREEqNCsCug7X+oC1mZaby8d4FzyXHZ99JTSYh4qqWosXLyotn809/qsT4Zt7bPIyHiKfU+we3pcxB5SxCI26wXfLKPTevCrR3zKdSo5zft50thmceR3C5ePL18FO8ytbh5aCO1ewubk7SEWHZM6UlsZCgSiZSM5ATehAfj5PNpfsbyjDTCbp0nLTH7ZEWWnsqbF0+1FDV5XAvQa9W5b/dgn4izG+fy5sVTOrx1ewI4t2kuNbqPx7/Sb7wJD2ZF3wbk9fLHMs+/p1SNeHiD1IRYvEp/2iJVvnVfDi0czYKOFTGxtMG1UNDbxfPbwdHelgJuThw5f43aFUqyfu9xpg0ShIvYhCS6jZlNSPhLpBIJCcmpBD+Pori/dmwVXUjLyOTcjXvE/pkt3KWmp/PkWYSWosbb3YnLW+d/uwf7ALIUCuRZCtQqNWfWCwqRKu0GUdDDBTfHD2+MAEZ1/51R3X/n9NXbjJy9kuOr/0JfT/uw4UtR2Cc/V7ctJDYhiVYDJ3Hh5n3KFPHj1BXhJCv0+HoA2g2bxuw1O+jbppGm7vV7T3gTn6RR7vwscMybB293Zw6fvUKdSqVZt/sIfw0VNs+xCYl0HfUXoS+ikEgkJCSlEPw8guIBBT+p7bT0DM5eu8Ob+CTNvdT0dJ6EhWsparw9XLiyc+k/m/guEPgsC5VaxdnNCwh9EUXl3/vg4+GK23sstj4XPcbMZNKAzpiaGH2T9r4lDK0dMM6Xn/g7J7ApXJ3X57bi0UrYnGSlxPFkeX/So58hkkhQpCWQ/ioUCw/tmHC6oJSlk/j4EvKUbPlDmZFG+stgLUWNSb78FJtw/Ns92FfCteFgXBsOJuHhecK2TKTQyN2Ipfp4d56LoXU+1ColL/bN48HCrhQeuefjDX4inGr3JHTLBG6MrYmemRWWBUoLih5ArVKQFHyNgMGbEesb8nBRD8IPLMClQX+sA6tgW6IeEn0jUl7c4+70VgQO24FJ3k+zav/eyGdpgGduI04GJ1CtgBVbb79hXE0XAOLSshiwO4Rn8ZlIxCISMxSExmZQxPHTlMDpciWXnicTl57tIZAmUxL8JkNLUZPf1phj3QK+1WP9whfCIo8DuZ29CLl8jPxBNbl7ZBNVewjyb3piLPun9SIhKhSRREpGSiLxEcHkK/jp8u+L2xdIS8yed+TpqcSFP9VS1OR2KUCnZboter8nLm2eS2z4U1rPyJ476g9bhLmtAyqlkosbZ7FrQgfazD30zfuOenSD9MRYPN5RxHiWqk7Bir+hZ2DE6+C7bB7ahNYz92Lj7PXN+9eFr45R06y0J1suBeOc24zkDDkl327uB2+4SPUAJ1Z3r4xIJKLkiO3IFEqt+hKJCJU6+1qWJdCo1SBCxNER9T6q0PgWFjUOVqZcePxacx0Vn0a+XCZadHEpmRy6/YLFnSoA4GFngbdDLm4+e6NR1Kw4+ZCdV0LZMaCmVjDizCwFu6+GsWdw7Y+OCcDK1FDT799WNVHxqTrH9inYeP4pTUp5vPedWpsZUtk3H3uvP/spFDUABaq04MnxLZjbuSBLSyGvr3BqfGbBIFxK1KDGyDWIRCI2dCyOUp6pVV8skaJWqzTXSrkMEIJXIRLRePYxJNIPb1K+hUWNaW4Hou6c11ynxkRimjvfe+nv7VtO8Omd1JuyUyvwli4Ymgsm6RlJcRqrmtQ3kZjq0Do/OLgar8rNkOoLPOVRtgFPTm75aRQ1AEVqtuDm4c3kyutCZloyrgGlAdg9YwDeZWrSatI6RCIRM1oURfH2m76Lf373v2nUahUikYjuy05+9Lt/C4sayzwOhN3MVvYkRkdiYfv+735px1LuHN9Oh9l7NK5NaYlxPDx7gGajBR/73E6e2Ll5E/HwxhcraowtrDRt/21VkxgdieUHxnbj4HoKVW/20ff2N/QNjanff7rmes+MAeR21rbA+Fq0rleFDfuO4+JgR3JqGkGFfQHoM2kBtcuXYNNMwWokoF5HMmVyrfoSqQTVOwtRplygUalUiBBxbsNsjevH+/AtLGoc7XJz9lq2yX/kqxgc8mhbTlpbmmNqbETz2oJg5e6Ul8AC7tx5HPpJipq/UaF4IClp6TwIfk6hgu/ftFhbCu4OsQlJGiuJiNdvdI7tXdjksqBqUFF2HTtPmSJ+LN92kJZ1KmNooA9Ao+pl2bjvZA5Fzdo9R2lRp9JH3/ePQOsG1dmw5yiujvYkp6QRVERw1ekzfg61K5Zi85xxiEQi/Gv9oZPPpJJ/8NlbGpVajQgR57cs/DiffQOLGkf7PJy5eltzHfEqBgc7XXxmgamxES3qCNYH7s75CCzoyZ1HwR9U1FhbCjzyLr9EvqePq7cf0i1EmCPS0jPIkMlp0HUYuxdP+ehz/BuwK9OU1xe2YWjrjCIjBUsv4TDy6Zph2BSqhk/vFYhEIq4MLoMqS3sdEokloMpeh/6mUatUgIgiYw4h/sh8+i0sagys85Hw6KLmOjMuCgMr7W+oZyqsC/KUOI2Vy/tocxUsgyIzhbSIx5i5+mNoLawdIrEEh2odeb57BmqVSuPOoAuf05/EwJj8f2TzxdM1wzC293z7fA6YuQZqXLNsi9fl9YXtADmsdcyc/bDIX5yUsFs/jaIGoGkhW7bdfoNTLkNSZApKOAvPMWx/GNW8rFje3AuRSESZubeQKVRa9SViEWr1O3PLWxqVWnA5PdjZDz3Jh/dS/6ZFjZWxwPPxaVka65ioJBl5LT7sdfE59fJZ6BOVmP2bfJkkJ6+5/jcZ//eGf/UW3D26Ccu8zsjSknHyF/Y9h2cPxLN0DRqPF+J9Lfqj2PvlX9W78q+wN1KrhX1P+0UnPirHfQuLGgtbB17czt73JMVEYv6Bfc+1Xct4cHIHrabvzrHvMbd1ePtcEoo16sLZNX9+dG75W8ZNT4rTWNUkx0Ri/gEZ987hDfhWaZrj3bxrkWPn6Y+DbwlePr7531HU1CnswpitV1l45B7NS2dPeknpchxtTBGJRJx+GMWzN7rNzVxym3P7+RtqBDrx5GUC9yME7bipoR4lPfMw9/BdBtQJBAQFhVQi1sRW+RvfwqKmkq8DQzdeIiw6Cbc8Fqw581gTbPddWJrooy+VcOnpa0rltyM6KZ37EfHkt7cEYO3Zx6w9+4QdA2roDBR84OYLXG3N8c6XM0r7xJ3Xsbc01gQ3fhd1i7iw5sxj+tcRgglnZCkJcNb26/8YMuQKdl97xoGhOZVEoa+TcLU1RywWkSbL4sT9KBqV+Px4F98LbkF1uLBsFLd3LqBAlewMAvK0JMzzOCISiYi4eZqkV7pjCpnbuxDz9DauJWsSH/6E2LD7AOgbm2HvU5JbW+dQtOVAAFLeRCGRSDH+h2/it7CocSpSiXOLhpIYFYplPnceHFyNR9n6OmkfHFrDg4NrqD91F4ZmOXnl0qoJmNrYa4IUvwv3svV4cHA1RVsM4NWDyyhkmdh6BGrRmds5E37zFO5l64NaTcSNk1g7vz8jx4+AT4V6HJg/kvOb5lO4ZnYw1czUJHLZOSESiQi+dor4KN3xr6zyuRD5+BbeZWoR/ewxr0KEoHEGxmY4+5fizPrZVGorBHJOjI5EItXTxF35G9/CoiZ/icrsnTWY2IhQbBzdubp7FX6VGuikvbp3NVf3rqbD7L0Ym2d/dyMzSyR6+jy7fQHXwCBS4qJ5FXwfW5ePLxRHFo/DPLe9Jrjxu/CrUJ8re1ZRqc1Ant+9hEKWSV6vQJ3tZMkyuHtiJ10WHtFZrguZaclIpHroGRjxKuQ+D88eoMeKU59c/1PRoHIQw2YsY86anbSul23SnpSShnPePIhEIk5cukloxCud9d0c7Lnx4Cm1K5TkUWg4d58IPGVmYkzpwj7MWLWVoZ0FHox8/QapVKIVP+VbWNRUDSpC/6mLCHkRhYdzPpZvP6gJqPtPNKlRnmMXbtC+cU1i4hO59/QZBT2cP9i+Wq3m6fNIvFwF5d7NB095E5+Ii4OglB89dxV5bW00wY3fxW9Vy7Ji+0GGdGrBxVsPyJTJKFRQ240t+EUk7o55EYvFpGVkcuzCdZrVFBRKLvnsOH7pJg2rlUWtVnPswo0cY87IlLH98FlOrPl+MaO+Bg2qlmXotEXMWbWV1g2y3VETU1Jxymcn8NnF64SGa7uUALg62nPj/hPqVCrNo5Dn3H0sZIkwMzEmqIgf05dvYlg3weUr8lUMUqkUu9z/4LNvYFFTtUwx+k+aS8iLSDycHVi+dR8Na1TQSdukViWOnr9Gh6Z1iIlL4N6TUAp6CrLR6FnLsbe10QQpfhcNq5Vj+ZZ9DO3amos37pEhk1HYR1tJG3Vpt+bvdbsOc+jMZU3Wp58BuYvWInTTWCIOLcauTFPNfUVaEoY2DohEIuLvnyEjRrf8YWTrQsqzO9gUrk5a1FNSwwUrVqmRKRZeJQg/MB+X+v0AQUEhkuhhYJnT8vxbWNRY+VUkeN0I0l+HYWznxsuTa7Etrv07B8hdvC4vT67Dpb4Q3Fclz8TMxR+1Wk36qxCNgiP52R2ykuMwtHVCpVSgSE1A30JQxsVc3o2pQwHNRips62T0c9lpght/Sn//hCIjBZFEikTfiNTwh8TeOESRcULcuTylfiNs+1Sc6vREJNEj/v5pTJ0EeVoW/0rjgpUZG0lyyE2c6/1cgclre1sx7vBzFl98SZPA7O+fnKnEMZcBIpGIs6GJPI/XPowEcM5lwO2oVKoVsOJpTDoPXwuhG0wNJBR3MmP+uZeajEdRSTL0xCJszXIqLf5ti5o6PtasvR5N3/JCUODMLBX+9sIh9JRjL7Az19cEKf7Uev+kG33oOW2KC3Ld9jtvmFDL5bs+07dCgXJ1Ob5oJFe2LsC/egvN/czUJCzeyr9h198v/+bK68LLJzfJH1STN88fEx0i7HsMjM1w8ivFxU2zKfu7IP8mx0QiluppxWT5FhY1bsUrc2TeEOIjQ7FycOfmvlU5gvS+i5v7V3Nr/2pazdiD0Tvyr0qpID0pHlMr4Xfx4OQObN0KauaWU8vGY2pjrwlg/C68y9fn5t5VmmDCWbJM7PMH6uw/S5bBw5M7aTPvcI77yW9eatyskl5HEPXwBmVaD/zcV/HF+GpFjbGBlBqBTmy6EMz1KU0090c2KsqQDZeYe+guBR2sKJhPdwC6XjX86Lj4FCfuR1LQwQpfp2y6hR3LM3rLFcqPFdw+TAz1mNOmjJai5lvA1FCPGX8E0WreMZQqNX5O1kxsLpycvE5Mp8Wco5wa0wCJWMzSzhUZueUKSpUKlUrN4HqFKJAvF6mZWQxafxFHK1OazBQ2MwZ6Yg4Pr6fpZ9OFYFoEaQsrDyPjCXC21roPwrvsvuIMW0aEYKgnYUH7cprgjP3WnKd6gBM1Ap0Ij02h7p8HyJArkCmUBAzazOB6hWlVVujvwM0XeNpZ4JU358b/0J1wtlwIFqybVGpqFXKmdZl/R1P4KdAzNMa1ZA0eH99E65U3NfdLth3N2YWDuLltLtauBbF29dFZv1Dj3hyd0p7w68exdvXBxt1PU1Z10GLOLxvJ5m7CZkjP2JRKfedqKWq+BfSNzajQawYHx7ZEpVKR292PwEY9AEiLe8X+MS1oNv808vQUzswfiJmtI3tHCHFjJFJ9Gs8+CkDc8wfYeupeTEu1HcXx6d3YcGIzEn0jKg9cmD2Zze6DS8kauJasSdGWgzg9rz+bu5UBwMbVhyLNtbM//EjoGxpTsEwtbhzawKCttzX3q3cdw96ZAzmzYTZ27gWxc9f93cu36svGUW15evk4du4+2HtmC37NRi/lwLzhzGkjWOkYGJvScOh8LUXNt4CBsRm/DZrN2iHNUamU5PX0p05z4VQwOfYVawY1pdeqc8jSU9gzvT+Wdo6s6v8bABI9A7ovPY5YIqHFuJUcmDsclUqJSqWkcoeh5HEVlGtnN87l4vYlpCXGsn1KD6T6hvRddwlDE3Nehz54r/KletcxbJ3QhRmHN6Gnb0iTkYs1wYx3Tu2Nd5kaeJcRAsg+OLOP3E75yeOa020o4VU4S3rUJCszHYVcxtSGPlRpP5SidX4n/uULNo1uh1giRU/fgKajl2Ju8+kWH58KYyNDalcoybo9x3l4YKXm/vjebek3eSEzVm3D19MVX0/dKe77t2tM60FTOHrhOr6ergQUcNeUrZw8iCHTl1GssZB5xszYmEXj+n6XQLdmJsbMH9WLxr3HolSpCPByp89gwdrkVUwcv/Uco1EGje3Vhq5jZrFw015EIuH6bwXMrNXbWbhxD7EJSXQZPQsDfT1u7FyCqbEhvSbMJT4pFalEgpGhPmunDdPE7Ln/9DmFvHWfMo/v05YOI6azYe8JDA31WT5xoIZXuo+bTe3yJaldoST7T11mw97jSKQSlEoV9SqVom1DQakxrEtLek2YR7FGwrv0ze/K4I7Zyvc9Jy6S39UBb/ePx2/7ETA2MqR2pdKs23WER0fWa+5P6NeRvhPmMmP5Jnzzu+GbX/dBx4AOzWnVfzxHz1/FN78bAd7Ziq6Vfw5nyJ8LKdZAUMCbmhixeMIgLUXNt4CZiTHzxvanUfcRKJUqArw96DtUkN9exsTyW9fhGmXQuL4d6DJiGos27EIkEjGuTwe83ITvc+9p2Hstscb360SHoVPYsOcoRob6rJgyTMMv3UZPp3aF0tSpVPqbP9u3hsTAGOtC1Xl9bgslZ1zW3HdrOpzgtcMJ378AE0dvTBx1H3Q41e7Bg/mdibt7ElNHb8ycfDVl3l3mE7pxDNdGCBlDJIYmeHWYqaWo+RaQGpni1W4a92b9gVqlwszZF8e3qa1lCa+5O7O1Rhnk1mQ4j5b05MqFbYj1DPHuMheRWIxapeLpqsFkpSUikkiQ6BlRsMdi9EwsUcrSuTvzd9SKLECNfi47CnZfpOk/NfIRdq66g0W/rz+AxysGYFOoGjaFq5MR84KHC7oikkgQ6xng3XU+BrkEJbOFZzGs/StxfVRVRGIJps5+ONcVsiBGnVhN7M0jiCTSt/0NxczZT+dYfhSM9CVUL2DFllsxXO6b7VY7vKoTw/Y/Y/65KLzzGOOdR/f+p0eZfHTZ+pRTIYl45zHGxy5bcTG/kSdjDz+n8oLbAJgYSJhZ3wPb7xRrudaSu7xKlpOUoaDIjBtU9LBken13XifL+X3DI40yaHgVJ3rtDGHb7VsY6YmZ09BTs7d5GJ2OX17dsWo+VG/gnlCqeeWiWgErSrtaUNPbisoL7qAGGgfkppSLhc42fzboGRrjGVSTu4c30mPDbc39ip1Gc3jOIC5tmo2tmw+2brrl31LN+7BzXDtCr57A1q0gdp7Z/F5/xBKOLRjB0g5CrDF9I1PqDJ73XYLnGhibUbP/LLYMb4FapSSPhx8lewjyb0rsKzYPa0anZWeRpadwaNYALPI4snFQQwCkevq0W3gchVzGluHNUSnkqNVqzGzs+W3kck0f0WEPsMuve09UsdNo9kzuyt2jm9EzMKT+sEWauWX/9N7kL1WT/G9jQT45tx9rJ09yu+SUcW/sWcHTCwcRv50/KnYciZ2n7rnse0D0rqncR4lFInXMMm1t+H8RvVaeJdDFRqcFy78NlUpNran7ODi0rmay+ZkQHptCtUl7eTwrZ856204rUavVXz1gkUik7n7w54/E/rk4MbMntp6BOi1fvhRqlYod/WvQaObhD5r8fS2So8PZ3qcK7Tc/fS/Nwlo23+T7g8ADk88lfJzwP4Dtk7qTr0CgTguWfxsqlYrFXavRdfFRzSbpZ0LCq3AWdKrIyP2hOe4PL5vrvbwlEonUabcP/ivj+97oPGomhX08dVqw/NtQqVRU/KM/p9bO/Cl55UVUNGVb9SH89GatMpPAWp80F4lEInX6gxPfZXw/MzoP/5NCPl46LV++FCqVigote3F647zvyi8vol5Tpmk3Ii58eZw2Y5/Kn8wfFdbotob6r+HRsr6YufjrtGD5t6FWqbg5oS6FR+37rnLLlyLjTQQ3xtagzIIHWmWn2+T9ZN6JGvdpwdz/l9B3VwgBeU10Wr58KVQqNfWW32dvR9/vuieKSMik5tJ73B/yafFddCHfmEtfLQeLRCL1iJPfNnbfj8K+P3tglz9Qp3XL94BapWJ1z2q0nX/0h80tia/DWdm1Ev13h2iVTapk9dX88fPNmP8SzI31WXbiIcM3Xf448XeGWCzi8PB6P6WSZt+NZ/w+/zi5zX6+QH8/O/SNzbm7ZynnFg/7Zm2KxGIaz/6+E1Lo+b0cHNsKI8svyyr2/x0GpuZc3L6UfbOH/OihIBaLBYucn1A4vndqD2uHNsc017c/Pf6vwNzUmEUb9zDwz8U/eiiIxWLOrJ/9U/LKrmPnadxnLLZWlj96KP9JmJuZsGjDTgZM/nbBrsViMWc3L/iu/LLryBka9xiJrXWujxP/Qg5IjcyIOraS4PUjf/RQEInFFBlz4KdU0sRc28/92W3QN/8l73wJzA0krLjymlEHdbv+fQnEYhH7O/t91z3R/gdxtN34mNwmH47T8gufBwMTM67vWsqReUP/lf5EYjHtFh7/YXPLozN72DqiBSa5vt/88f/WouYXvh6/LGr+f+OXRc0vfC/8f7Go+YVvg18WNb/wIfx/tKj5hW+DXxY1v/Ah/LKo+YUP4T9jUVNk6FYeRf1cm7ALT15RdWLOtIGPohIoMnTrDxqRANtOK0nNzPri+tP23kT+TnatqXtusvua7mBT/0Wsa1uIuOePfvQwciA5OpxFdfKwpWcFNncvx47+NYgNvffV7e4eUo/nVz49cOs/8fjYJhIjs03xnl0+xMUVY756XP8lTGviz+uwhz96GDmQ8CqckRVsmNeuLHPbBLGoazVeBn89vyzrVYfHFw5/nPA9uHFwI7Hh2fzy6PxBDi0Y9dXj+pngXbMtD0Ke/+hh5MDZa3cp07J3jnsPQp7jXbPtjxnQW5gE1iI1PeOL609atB55VvZaNmHhOrYf0Z2d8WdEgaoteRD87U6JvwXOXr1NUNNuOe49CH5Ggaot31Pj34GxT2VS076cVyYuWINcns0r4+etYvuhbx90/Efh0oDipEY+/tHDyIGMNxGcbufItVFVuDaiMjfH1yXlxf2vbvfWlEbE3j72xfVfndtC+utsV9jYm0cI3fzx7DL/JZSYdZPH0ek/ehg5cPFZEjWX3M1x73F0OiVm3XxPjX8H+cZcIk2mnTH4UzHjVATyd7Jk/XUynD33/3cOhue3CCDm2c8l4ya+Dmdyldws61SOZR3LsLpnNV6HfL2Mu65fXYIvffme6M7hjcRFZMu4Ty8c4sTij2fM+9H4+ewQ/8egUGqn0fuemL7vdo5JaWj9wjQo9vNkcPpfhYGpBc3mn6b5wrN4lPuNk7N7a9GolIp/dUyPj28iMSpb4HEtWfOT0oj/wveHoakFvVado/eaC/hXbsjOKdpp0ZWKf5dfbh7aSOw7i5h3mVqflH78F/4bUCi+XNj9EkxeshF5VjYPj+r+O42rl/9Xx/ALX4Z/nVcWrs3BK6N7taPx20xhv/D9IDU2p9iE4xSbdALbkvV5skI7ocC/Lbe8Pr+V9NfZh4s2hat/UvrxX/hvQKH8dC+Ob4GZpyPJeqfPQZWcqO/7+Vlzf+HzYGhqQadlZ+m0/DwFKzZk/7ReWjT/9txy98gm4iOz90T5g2p+UorxH42vzvr0Lq6FxjBu+1WNRciYxsWp6JMzX/nCo/fYffUZCpUKAz0J01qVxs/JmnSZgl6rzvLkZSJSiQiPPBYs71qJkNdJ9Fp1lgy5ApVKTbPSnvSo/v2jtf8dQPePcl4cvxdJhlzBrDZlKOlppylrVtqTy09fk5ml5M+WpSiZP7usfUVvzj56SeMSHpQrmJdB6y4Qm5KJVCJmxG9FqOQrpMnbf/M5k3fdwNLEgCpv773b/98BfP95ffROOH/tu0WWUoVYJGJe+3KsPSOc2NSeuh+xSMTuQTUZufkKgS42tAjKT+GhW7gwvhHWZoYAjN56BTNDfQbVK8SNsBgm7rxOSobw7YbUL0xVf8fv/p7fh9ePrnFxxViyMlIBKNVhLE6Fcwput3cuIPjMLtRKJRJ9A8r3+Asbdz+yMtM5ObMn8S8eI5bqYZnPg+rDV5AQGczJmb1QyDJQq5R4VWlOoUbaG+SvhWPhClxZMwkQLIC8q7Ui8u45zO1cKNtlEucWDSMm+BYA+Ss1pXATQakTH/6EkzN7oVJmkcvJC6VcpmlzXdtC1Bq7EWsXb63r+PCnnF8ynPSEGFCrCWzUA7VKRUzwHc4vGc6VdVMo3WEcabEveX71KDVGrGLPsN/wr9cJ11JCRp/nVw5ze9ciGkzdQ1r8a84tGkbqm0gUskw8KzSkSLN+3/w9fUuE37/KoYWjkaUL/FKz+3g8i1fKQXNu83zuntiJSqlAqm9I/QEzyOvphzwzne2TuhP97DESqRQbJ09ajl/Fm/Bgtk/uQVZmOiqVkiI1W1K2hfZi87XwKFqBo0sFhci0Jv4Urf07oTfPYpXXhTq9p7Bv9hAiHwunWoWqN6N8q74ARD97zI4pPVEpsrB18ULxDr9Ma+LPH39uxs6toNZ1zPMn7J87jNS4aNSoKdu8F2qViqgnt9k3ZyjHlk+iZo8JJMW85PHFI7SauIblfepTunEXCpYV+OXRhUOc37KQTnP3kRz7mn2zh5AUE0mWLIOAyo2o8MeAb/6ePgdX7jxixKwVpLy1CJnUtwNVShfOQTNn7U62Hz6DQqnE0ECf2cN7EFDAnfSMTDqPmsmjsBdIpVLyO+dj3V/Defo8ki6jZ5KeKUOpVNG6XhX6tmn03Z/l7yC67RvV5Mj5a2Rkylg4ti+lC/loylrVq8KFG/fJkMmYPbwHQYV9NWVdmtXh1JXbNK9dkYolCtFr4jxiE5KQSiSM7dWGakFFAdhz4gJj560hl7kZ1csW1er/7yC+/7w+dPYKkxZvIEuhRCwSsXTCAFZuF1zTKrUZgFgk5vDyqQz+aymFfTz5o35VCtRsy81dS7DJJWTgGDpjGeYmxgzv2opr9x4zes5qktOEE+dR3VpTo1zx7/Z+r9x+wPDpS0l929+kgV2oElQ0B82c1VvZdvD0W17RY86ovgR4e5CekUmn4X/yKOQ5elIpnq6OrJ85mqfPIug84k8yMmQoVSpaN6hO33ZNdXX/TfF34N32Tetw5OxVMjIzWTR+IKWL+GnKWjeozvnrd8mUyZk9qjdBRfw1ZV1aNuDUpZs0r1uFSiUL02vcLGITEpFIJIzr04FqZYXvsPvYOcbOWUEuCzOqly2h1f/fgX//eX3w9CUmLVyLIkuBSCxm2eTBrNi6H4BKrXshEok5snomg6cuoJCPF20a1sCrSgtu7V+dzSvTFmFmasKI7n9w9e4jRs9cls0rPdtSs3zJ7/6e34ekkOuEbp6AMlNIjezebCRWfhVy0EQcWkzMlT2olQrEeoZ4tpmCmbMvSlk6j5f1JS3qCSKJHsZ27vj0XEL6qxAeL+uHUi7ILXZlmuJUq5uO3r8OuXzKEbZNyMZyaUBx7Mu1IPHhBQxtnfBoNYGQdSNIfnYHALugRjjVFmSntKinPF7eD7UyC+O8+VFlZa9DlwYUx6/fWkwdCmhdp70MJmT9KORJbwA1jjW7olapSHl2h5D1o3i240/cm49GFv+KuNvH8e21jNt/NsWhantsCtcAIPbWUSIPLyVw2HZkidEErxuJLC4KVVYmtiUbaLI+/Shcj0hh4tEXpL61CBlVzZnyHpY5aBZfeMne+7EoVGoMpGKm1HHD196EDLmSPrtCePomA6lYhLuNEUua5ickNoN+u0LIyFKhUqtpGmhL16C83/1Z/g6827pIHk4GJ5CRpWJGfXeKO5trypoG5ubK23TZk+u4UeKdsnbF7TgXlkRDfxvKulkwZF8Y8ekKJGIRQys7UtFTiEN18GEcU0+EY2kkpZJnLq3+/w78+8/rY08SmHk6giylGrEIZv/mwfrr0QDUX3EfkQi2t/VhzOHnBOQ1oXkhW4rNusnZnoFYvY1TM+7wc8wMJPSv6MjNyBQmHwvXfLuBlRypkv/HxcqKfHCVE0vGIH8r41buMg63Yjll3Mtb5/Pw1K63Mq4BNfrOwM5D2BPtndqd2BePEUv0sHb0oOGYVcSFB7NvWg+yMoW5xb96C0o2+/YyrmuRCpxeMREQLIACarXmxa1zWNo7U63nFI7MHcKrJ8KeyLdqM0q36APAm+eP2T+tJ0qFgtwuXijk2anp57cIoOnkTdi6FtS6jn3xhKPzh5GWEINaraZk056oVSpePbnN0flDOb1yElW6jif5zUtCLh+h0dg1bBjQgKINO+MVJMi4Ty8e5ur2hbSeuZeUuNccnTeEpOgoFPIMfCo1IqjVv5cl95spahLSZLRdeIJV3SpR3CMPSpVKs+l/F01LedC9mqBoOfMwisHrL3JoeF1OPYgkMV3G+fFCWq7ENGGyX3X6EVX8HBlQJzDH/X+i/aKTPItJ1ll2cFgdjPQ//1HjU2UUdbNl+G9F2X45lAk7rnNgaB1NWcF8uRjXpDgXn7yiy7LTXJ3cRFOW396SwfWEjUGNyXv5vWwBWpXNz5OXCdT/6yDnxzdErYYBay9wYGgdPOwsmHf47nvH8i5CXyfRb+0F9g2uhVseC2RZSrKUKv5sVZpVpx9zYGgdTA1zBsgyNpBSI8CJnVdD6VTZB4VSxa6rYRwYWoekdBmD1l9kU+9q5LE0JjoxnWqT9nJ23G9YGBt89nv7WmSmJHBoYhtqjFiNfcHiqJRK5OkpWnRelZsR2FBIbx1x6wxn5g+k0awjRNw8hSw1kRZLLr5tLxGA+/tX4Vy0CkVbDsxx/584PKkdSa90m7w3mnEIqcGHAyuHntuTIwV4WkI0DaYKbnaXVo5DrVbRbOE5sjJS2dG/BtYuBXEuVoUT07vhV68zBao05/Xj6+waWOuD/YCgkT40vjUl2ozAo2x94bmS4zE0t+LJic0ENuyBSwkhNe7jY5s09QpUacHjE1s0iprHxzZrzOdPTO9B0RYDyOtXGmWWnL3DG2LrWQjHwhU+Op4fgfTkBNaP+J1WE9fi7FcClVKJTAe/FKrenLLNBeEy5Ppp9kzvT7clxwi+epKMlET6rRcCi2e85YvLu1bgVbIqldoOynH/n9gwsg3xUbrdC7suPoreR/jl/uk95H0ndWJK3Gs6zd0HwOFFY1CrVfRZcxFZegqLu1bHzt0Hr5JV2TaxK6Ubd6FwzRaEP7jGku41PtgPCFY664a1olrnkfhVbABAelI8xhZW3Dy8ibLNe1IgSGjnxsGNmnpFarbg5uFNGkXNzUObKFJLUBpvn9SNim0G4hoYhCJLzoq+9cnnXRjPYj/mRDw+KYXm/SeyacYISgYWRKlUajZy76Jlncr0+UNYb05evkWfSfM5vW4Wxy/dJCEllRs7lwCQkCzw0tIt+6lepihDO7fMcf+faDVwEqHhr3SWnVo7AyPDz59T4xKTKRFQgLG92rD5wClGzV7JiTUzNGW+nq5M6d+Rc9fv0Xbon9zfv1JT5uXmyIhurQEo37ov7RvVpM1v1XkUGk71DoO5sXMJatT0HD+XE2tmkN/FgZmrtn3SuIJfRNJ93FyOrZyGh3M+ZPIs5FlZzBreg6VbD3ByzQxMjXPy/9+p1LceOk33lvVRKJRsO3yGk6tnkJicSu+J89k5fzz2ua149Saecq36cG37IizNdadq/RrEJybTrPcYNs8ZR8lCPgKvpOrglXrV6NNWULScvHSD3uNnc2bTfI5duE5icio3960CICHpLa9s3kP1siUY1u33HPe12u07ltBw3TFRTm+c9xW8UpBxfTqwef9xRs5cxskNczVlvvndmDKoK+eu3aHNoEk8OLxOU1bAzYmRPdoAUK55D9o3qU3bRrV4FPKcam36cXPfKtRqNT3HzODkhnnkd3Vk5grtLFy6EPw8gu6jZ3B83Ww8nB2QyeXIsxTMHtWHpZv3cnL9PExNdPBKpdJsPXCC7q0bolAo2XrwFKc2zBV4Zdxsdi2ejH1ua169iaNss+5c373iu/DKx5CVmsD9uR3w7bUcC89iqFVKFBna3z1PUBMca3YFIP7BWZ6uGUqR0fuJv3eGrLREik8R3AOz0hIBiDqxBquASrjU75fj/j9xf14nMmJ0yy2FR+1Dov/hdejN1X2YOmenDpcnxhA4bDsAoVsmolarKTbpJMrMVG6Or4uJQ0GsAyrxaEkvHKp1wK5MU5JCbnBrYv0P9gOC3HJ/djtcGw/BtriQ8S4rNR49UyteX9iGY82u2ARWBQRXqL9hV6Ypr89v0yhqXp/fil3ZZgA8Xtob53r9sCxQEpVCzp0/m2LmGoCV74+x4ktIz6Lj5icsa+ZFMSczlCo1KTpceJoE5tYoWs6GJjJ0fxj7O/lxOjSRpEwlp3sGApCYIVgfrL36mkqeuehXwSHH/X+i05YnPI/P1Fm2t6MvRnqSL3gmBUUczRhaxYmdd98w6Vg4ezr6asq885gwuroLl54n0X17MBf7FNKUeeQ2YkBF4fC3ztJ7tCpiS4sieXgak07DVQ840zMQtRoG7Q1jT0dfPGyMWHg+6pPGFRqbwaC9oexs74ObtREyhYospZrJddxYcy2aPR18MTHI+bxG+hKqe+Vi171YOpS0R6FUs+d+LHs6+JKUoWDovjDWtfYmj5k+0Slyai29x8nuAVgYfVP7hk9CRnIC20f/QeNxa3Dwfb+M61etOSWbCjLusxunOTSrP+0WHCP02kkyU5PosiqnjHtj7wrcS1Sl7O8flnF3jG1DfJTuuaXt/CMflXEfndlDHo9sGTc1LprWM/cCcHLpWNRqNZ1WXECensLqntWxdSuIR4mq7J3SjWINO+NfvQVRD6+xpnfND/YDwtyybVRrKrQfgXeFBkC2jHv36GZKNu2JZylhT3TncLaM61+9BfeObNYoau4e2Yh/DUHW2ze1G2VaD8IpQNgTbRjYAHuvQrgV/Xdk3G/GcddDY/Cyt6S4h5CHXSIWY2miLWTcfRHH7IN3SEyTIRKJCIsWlCs+jlaEvEpiyIaLBHnZU8VP+EGX9LRj3LarZCmUBHnZU6aA7hRwK7tV0nn/fXhfZJ9375sYSKkW4ARAEbfcjNl2VVOmLxXTpKQHAKW97DHUlxISnYSZoR6GehLqF3UFIDUzi/sR8bQI8gTAK28ufBytuBH2BrUa/Jys8bATTor+KOfFhB3XPzr204+iqOLngFseoZ6BngSDT5h0m5f2ZMSWK3Sq7MOJ+5Hkt7fEycaM4/ciCI9Npfmco9nvQSTiWUwKgS7/vqLm9aNrWDnmx76gcHonlkgwNLPUonsTfIcbW2YhS00EkZikt24+1q4+JEQEc3bBYPL6B+FcTFjw8/qW4uKKMSgVWeTzDyJfQFmd/dcYseqzxyxLTWJLzwqgVmNu50zl/vM0ZV6Vm2n+jrx9hjJdJiMSidA3NsOzfEMib5/B3qcEcc8f41VJ2AzYFSiKlcvHU8cnRoagVik1ShoAQ3Orj9ZzC6rDhWUjyUiKQyQS8fL+RSoPXEBWZhov713gXHKchjYrPZWEiKc/raIm/P5VbF28cPYTTnbFEglGOvjl5dPbnF43k/TkBMQiMbFvTSDtPXx5Ex7MnpkDcStUBq9S1QBwDSjNoYWjUCrkuBUqi1th3fzSauKazx5zZmoS89qVRa1WY5XXhcbDF2rKCtVorvk75PoZ6vSZgkgkwtDEHP8qjQi9fgZnvxJEP3tEYHWBt5x8immsZz6E2IhgVEqFRkkDYGzxcX7xqVCPA/NHkJYo8Muz2xdoMmIR8ow0wm6dJy0x2+dblp7KmxdPf5ii5uqdRxRwc6RkoPA+JBIJuczNtOhuPQpm+ootxCelIhaLCHkhCIV++V15+iyCfpMXULaoPzXKCid2ZYr4MnzmCuRZCsoV86d8sQCd/W+YPuKzxisS6V6N3r1vamxEzXICfxf3L8Cwmcs1Zfp6UlrUFt512aJ+GBkY8PR5JOYmxhga6NOoWjkAUtLSufskjN/rC/Oht7sTfl5uXLv3GLVaTUABd/K7CMJ/+0Y1GTXn4/PgyUu3qF6mKB7OguWsgb4eBvofz6LRul4VBk1bQveW9Tl64Tpero4458vD4XPXeBEVzW89sl0dRCIRYREvKeyT/6Ptfi6u3HmIt7szJQv5AG95xUIHrzx4yl/LNpKQlIJYLCL4eSQA/l5uPHkWTt8JcyhXPJAab79RmSL+DJu+BHmWgvLFAylfIlBn/xtnj/2s8X4qr9SqIAQ1Le5fkKHTsjOK6evp0aJuFQDKFgsQeOVZBOamJgKv1KgAvOWVx6H88ZuwIfb2cMG/gAdX7zxErYbAgp7kdxVktPZN6jBy5rKPjv3ExRtUL1cCD2eBxwz09THQ1/9ovd8bVGfglAV0b92QI+euUMDNCed8dhw+e4UXUa9o0CU7q6JIJCI0PIoivl4fbfdbIznkBiZ582PhKcwXIrEEPRNLLbqU53cJ3zeXrLRERCIx6dGCkt/UqSDpr0J5unYYlgVKYx1QGQBLr5KEbh6PWpGFpXdpLL2DdPbv2+vj3+CfUKQnc21UFVCDUW4nCnSarSnLE9RY83fCg3N4tB6PSCRCamSGbckGJDw8h0X+YqRFPSFPaYHWwqMIJo4FPtpvxqtQ1CqFRkkDoGf68XUod9FahGwcgzxFWIcSH1/Cu/NclLJ0Eh9fQp6SLbcoM9JIfxn8wxQ1NyJT8cxtRDEnYT6RiEVY6tjk332ZyrxzUSRmKBCLRITFCVagBfOYEBKbwfD9YZRytaCKpyUAJVzMmXDkBVlKFaVdLQhyNdfZ/7Jmn/cbeM/UknNPpC+mqpdgVVLYwYzxR15oyvQlIhr5Cy5FpVwsMJSKCY3NwMxAgqFURD0fawBSZUoevE6jWSEh22N+W2N87Ey4EZkCavCzN8HDRtj4tyqSh0nHwj869nOhSVTytMTNWqhnIBVj8Am726aFbBl96DkdStpzMiQBDxsjHHMZcuJpAhGJMlqvz46HKQKex2cSkO/fVwJHPryGjbMXDr4flnFfP73NhQ2zyExJQCQWExchyLh53H2JC3/K4TmDcA4IwqOkIOM6+Zfm+OLRKLPkuASWxbmQbhm30dgvk3GXdSoHajWW9i7UHbJAU+ZfLXtP9OzGGar1FGRcAxNzfCo14vnNMzj6luDN80f4VRVo8xUsRm7Xj8u4ceGCjPu3kgY+TcYtUK4uxxaOID0pDhARfuci9YYKMu6L2xdIS8yeW+TpqcSFP/3vKWo+JXuUXKGk/eKT7B1UC39nG14npuM/SDiNccltzoUJjTj76CUn7kcyadcNzoxtQN0iLhRzt+X0gyjmHr7LxgvBLOqoPfF+rkWNtZkhCak5rXPiUzOxMTfUXL+r/JCIRShV7483o1arNROasYFUIzi9772IABXvf2dSsRiVKrtclvWOJv4LXTxL5rcjNTOLh5HxbL4YTLPSnm/HCAUdcrF3cO0va/hb4xN4SZkl5/Dk9vw2bS+5PQJIi3vFmt8Fja2FvQstllwk8vY5wm8c58qaiTRbeA73MnWx8y5KxM3T3Nw2l0fHNlJ1kHZa3C+xqPk7Ro0u6BmavPNoarTUhG955X1COIBIIkWtzuY/xVvz4s/J2pZzTMa4lKxJ8JmdALiUrImeoYlguSQS0Xj2MSTS/0jawk94B4osORtHtaXTvAPk8wogOfYVU38TJn2rvC70W3+Z0OtneXLlGEeXTqD36gv4VqiHk28xgq+e4syG2dw4sJ6mo5dqtf0lFjV/x6jRBX2jbH5BrUb0BfwilkhRvzNf/e0W9aX8om9ojHeZWtw5vgMQ4tfoG5kgS09BJBLRfdnJn4Zf1J8wQcqzsmg9cDJHVk6jkLcHr2Li8KgmWD+4Othzc9cSTl+5zdELNxg7bw1Xty+kQZUylPD35vilm8xYuY21u4+xcvIgrbY/16LGJpcF8Yk5T8fiEpLJbWWhuX5X+SERi1Eq3x9DRI1aI3SbGBm+sxbppheJyLHW/BNSqQTVO7yUKZe/09eXIaiwL6lpGdwPfsb6vcdoXa8Kfw/SN78LR1f+9YUtfx4+SW6RZ9Gq3ziOrp1FoYL5eRkTi0dFQXh0dczLrX2rOHX5JkfPXWXM7BVc272cBtXKUTywICcuXGfGik2s3XWIlX8O12r7cy1qBF7JKefEJSSR+5205Tl4RfIRXlGrNfyRk1feI7eIRKjU75eDJBJJDl7KlL3DK1/ILEFF/AVeeRrG+t1Had2gumaMvvndOLZ29pc1/I3xKfOOSiHnwfxOFBq+EzMXf2QJr7nUV7C8NrJ1pviUMyQ8PEf83VM82z6VohNPkLtYbcw9ihB//wzh++fz6uxmCnbVTrP+JRY1f8eo0QXJO3IL6FiH/saH5BaxFN6ZO/52i/qUd6VzTAbG2BSuTszl3YAQv0ZiYIwiIxUQUWTMIcQ/yzr0CY8oV6jovPUpO9v54JfXlNfJcorMuAGAs5UhZ3oGcj4siZPBCUw9Hs6J7gHULmhNEQczzoQmsuB8FFtuxTCvkadW259rUWNtrEdCek7rnPj0LGzeSV+tL80OayoRgeID6wbvrENG+pJP2BOJPrgnkohFOerKFNl/fyk/lXA2J1Wm5FF0GttuvaHpW+WRGvDOY8zO9r4fbuDfwifuiXaMbcfvs/djnz+AlNhXzG0qHEDkyutCl9WXeX7zLKFXj3NqxUQ6rzhPgXL1yFewGGHXT3Fx02zuHN5A/eFLtNr+Eouav2PU6IKe0T/2RFpTiOgf/2tDkHGz34tGxv1CXtAzNCZ/UE0enBBk3PxBNTUyLiIR7Red+GEy7jcLJlzMIw9PXiVyLTQGAKVKpeWmJMtSolSqyWslfKRVp7K1lS/j0xCLRNQq5MyEpiWIS8kkMU1OWEwytuZGNA/yZGDdQtx69kZn/yu7VeLUmAY6/+lye3KzFYTgk/cjNeNdd/YJFQrm06LVBblCxY6rgrby8tPXyLKUGsuYd2FmpI+voxVbLgUDEPwqkYcRCRR2y01RN1vuR8QRFp0EwPpzTzX1bC2MyFKqCHurfNpxNXsjWNEnH8fvRWrqybKUmrhApoZ6pGRkC0f/RNNSHiw6ep/LT6OpU9gFgGLutoTFJHP+cfbm4tazN1+8qfta2BUsTnzEU14/ugaASqnUclNSZslQKxWY5ha+1/392ae/qbEvEYkluJWuRVCniWQkxSFLSSDpZRjGufJQoGoLirUcRMwT3dHsa4xYRbP5p3X++5jb08fgWKgCj46sR61WI09PIeTsLhwDy6NvbIaVcwGenhZMjaOf3CT+eXYkdwt7F2KeCj6ckbfPkpEg/M5yOXoiEksIOZedwSwzWUjzp29shjxdt/ISoECV5jw5voknxzfhXbWFpo69T0lubZ2joUt5E0V6fPRXPff3hJNfCWKePyH8vmDxplIqtUw4FfJMVEoFFrYCv1zetUJTlhQThUgsoWC52tTuNZm0xFgyUhKIiwzD1CoPRWq1pHLbwUQ80s0vrSauodeqczr/fcwk9GPwKFaBa/vXoVarkaWncPfEDjyKlsfQxJw8rt7cOSa4qEQ8vJEju5V1XleiHgv8EnL9DKnxAr/kdsqPWCLl3qndGtr0JIFfDEzMyEx7P78UrtmCm4c2cvPQRorUEkxCDYzNcPYvxZn1szV0idGRpMT9OH4pEVCQx2ERXLkjrC9KpVLLTSlTloVCqcQhT24Alr6NkwEQFR2LRCymbqXS/DmwE7EJSSQkpRAa/pI8Nrn4vX5VhndpyY37T3T2v2H6CC5vna/zny5XFg8nwez92MUbmvGu3HGIyqUKa9HqgjxLwZZDpwG4cPM+mTK5xjLmXZibGuPv5cb6vcLG7MmzCO4/DaOobwGKB3hz90mYxqpo9a7szAp5rHORpVBqFApb3/YFUKVUYY6cv66pJ5NnkfLWzczMxIjklLT3jrtl3UrMXbuLCzfv06CyYCVQItCbkPCXnLl2R0N34/7T77YWlQz04VHoC67cfgC85ZV/uCllyuUCr9gJQvzSTXs1ZZGv3yARi6lXuQzThnQnNiGR+KRkQl9EYWdjxe+/1WB4tz+4fk93xp+Ns8dyZedSnf908spba5Rj569pxrty2wEqly6qRasL8qwsthwQ0pNfuHGXTLmc/C7asejMTU3wL+DO+j2Cle2TsHDuPQmlmL83JQIKcudRCCEvBNlp9Y6Dmnp2NlZkKRSEvuWHv/sCqFqmKEfOXtHUk8nl7/CKMUmpqe8dd8t6VZm7ehsXbtylQVXh1LdkoA8hL6I4c+WWhu76W+uwHwELj6KkvXxKUohgFa1WKbXclFRZMtQqJQZWwjoUdSL7pDoz/iUisZjcRWri0XIs8pQ4FGmJpEc/Q9/CFvuyzXBp0J+UsNs6+/fttUwIDKzj38fcnj6GXD7leHVmI2q1GkVGKjFX9pDLpxxSIzNM8nkRfUmIQZQceou0iGxeN7J1JuWZMN6EB+fIShLkd2N7D0RiKTFX92los1KFdUhqaIpSh1vH37Ar04zX57by+ly225PUyBQLrxKEH8hWYGXGRSFLjPmq5/4aFHU0JfhNBtcjhGdRqtRabkoyhQqlSk1eC+G3vubaa03ZyyQZEhHU8LZiXA0X4tOzSMxQ8CwuA1tTPZoVsqV/BQduRen+3Sxr5sWxbgE6/+lye3K1Fg6pT4ckasa74UY05dy19zW6IFeq2XVPsKy98iKZTIUad2ttvjMzlOJjZ8K2OwIvhLzJ4OHrNAo7mFLEwYz7r9M0VkWbbmZ/P1tTfbKUap69Ldt1L3svWN7DkpPBiZp6MoVKE1vG1EBCsuz9QWsbB+RmycVXXH6RTG1vwfKiqKMZz+IyufAsSUN3Oyr1h80tDj7FiX3xhMgHH5dxzd/KuDf2rNSUJb+JQiyW4FWmNlW7TyI9MZaM5ATiowQZN6BGS8q2GczLx7pl3EZj1wiBgXX8+1oZ161oBW4fyJZxH57aiWuR8hiYmJPb1Zv7J4Q9UdSjG7x5J7tVrrwuvHq7h3t28wxpb/dENm9l3Eend2toNTKusRmyD8i4/tVbcvfIJu4e2URAjVaaOk5+pbi4abaGLjkmktR/cU/0zSxqcpkYsKpbJUZvvUK6TDDhG9ukGOXfUXyYGekzuH4hqk/aRz4rEyq/Ezz3UVQ8E3YKC5xKpaZ3TX/sLI2ZfeAOO66EoicVIxKJmNS8hFbfXwI9qZhV3SszeusVJuy4jkqtplR+O/rU0m3O/k9YmRoQFp1Mjcl7yZArWdKpAvpS3e5HCztWYNC6Cyw+9gCpRMyCDuWwMROYe/rvQbSefxxLEwONuxSAVCJmUvOSNJ15GAdrU4K8sl2+3PJYMPOPIDotPY1SpUIiFjOvXVkKOljRraovDWccwlBPyu5B2v58zUp5UHTYNloEeWL81jbQ0sSAdT2qMG77NUZuuUyWQoVzbjPW96z6ocOS7wZDs1zUGLGaC8tGkZWZjkgspnSHcTgWyrak0jc2o3jrIWzvUxXT3PlwKlpFUxb37CGXVwvBWdUqJYWb9sXE2p4bW2bx9NR2JFJ9EEGZLpP/9Wcr2mIAZxcNZUt3QdjMX6kpTkUFE+fKAxdycmYv7uxaRG6PAPJ4ZQvfxf8YxskZPXl0eB12BYtjmlv47YglUmqOXs+5RUO4vnE6IrGYwIY98KrclII1/uDiijHc3rGQUh3Gao0lr28pTewfe5/sAIxVBy3m/LKRbO4mjFHP2JRKfedibJXnu7yTr4WxeS5aTVzLgfkjycpIQyQWU7PHBDyKVtDQGJqYU6X9MBZ2roRlHgfyl8jml9dhDzmyWMiGpVIpKd+6H+Y29pxeO4Pbx7Yj0dNDhIg6fab8249GxTaD2DdrMHPalAaEYMJ/j73xiEXsmNKTC1sWktcrEMeC2fxStdMItk3qzrV9QtweyzwCv0ikUn6fsoG9swZzcvU0RCIxZZv3pFCN5hSv24aDC0dzbvN8anbXjoTvGlBa4xft4l9Kc7/Z6KUcmDdcM0YDY1MaDp2PmfWP4RcrCzM2zRjB0BnLSMvIRCwSM7l/ByqVLKShMTc1ZmS31pRr1QdH+9xUfSd47P3gZ4yeuxoApVLFgA5Nsbe15q/lW9hy8BR6eoLF5LTBXb7JePX0pGycOZJh05cxavYqVGoVZQr7MqhDs49XBqwtzQl98ZLyrfuSnilj9dQh6OvpPvlZOXkwvSbOY/6G3UglEpZNHKix3Jk3qhdN+owjl7kZDatlm0BLpRKmDe5C3a4jcLK3pVwxf02Zh3M+FozuzR9DpmrWoqUT+uPr6Urv3xtSq/MwDA0MOLx8qtZYWtWtQsHa7fm9fhWMjYRNQi5zM7bNHsOIWSsY/NdSsrIUuOSzY/vcMR+0IPtSWFmas3nOOIZMW0R6RiYikZgpg7pQqVQRDY25qQmjeralbLPuONrbagLqAjwIDmP0Wzc0pUrFwI4tyGtrw7SlG9iy/wR6enqIRPDXsB7fZLx6elI2zRnL0D8XMXLmMtRqFUFF/Bnc+dPSc1tbmhPyIopyzXuQkSljzV8j0H+Pq9qqP4fTa9ws5q/djkQiYfmUoRrLnXlj+9O4x0hyWZjRqHoFTR2pVMJfw3pQp9NgnPLmoVzxQE2Zh7MDC8b15/cBE1ApVYglYpZNHoJvfjd6t21CrfYDMTQw4MjqmVpjaV2/Gt7VW/P7b9WzecXCjG3zJzBixlIGT12IXKHAxcGeHQsmfhde+Rj0THPh22s5oRvHoZSlg1iEe/PRWPmU09BIjcxw/W0gN8bVxNAqH1b+2S77aRGPCdsmyCRqlRLnOj0xyGXHi31zib64U7AUEYnwaPXvZylxrt+P4HUjuDZCGK9dUCOs/QWzf+/Oc3m8vB+RR5Zg5uKPuXu2gtm10RAeL+vDyzMbsfAshoG1sB8QS6T49l1F8LoRvNgzC0RiHGt2xS6oMfYVWxO6eTwRhxbh1nyU1lgsvUqgzBSUE5b5s/cD3l3mE7pxjGaMEkMTvDrMxMDS9vu8lI8gl7Eey5p5Me7wczKyVIhEQjDhcu6WGhozQyn/196dhVhdxXEA//3nztwlc3LSXBqXUivDNglSo1IzA8WMNi0hNCPa7CGQrIwsKyGDEC0rjUpbHjLowbJsp4jqpaLFgsAKimak5SmdcZy5PYw4ZdmMzWhH7+fzeg9/Dvx/HM75/s+5Z8GkITFt9edRf0Q+Jo3s+LPar7dui6W7jv20lcsx/6z6GFibjxXv/hAvfvZz1OSyyLIslkw9pkf6W5OriscvPyHuevW7uO/176Ncjhg7rHfcdE7XPl7XHVYd3/7SFNNXfx7bW1pj1aXH/WUHzp+tvGRkLNywJdZ88FPkqrJYcfHI6Ltr586yC4bH3Oe+jj6l6rhgdMftTNW5LJZMPTauWPdVDO5TiDOP6TjyNbxvKZbNGB7Xr/8mWtvKkavKYvlFI+LEAb3i2vGDYuZTm6NYUxUvzB39t77MPO2oGLf845g1pn+U8u1ruD6l6nhy9qi497XvY/Er30VLazmG1hVi7exR/8uaqFRbF5fevTbeeOSOaGnaFpFVxXnXLYljT5+4u02hV21MuOq2ePL6yVHbf3CM+NMcd+uWzfH2mvZxo9zWGmfOvjl69xsU7z/7YHzxxvrI1eQjIospNx74NdFZVy6ITSsWxpqr2z/WnDRlVow4o73vM25dFS8tmx8frV8Vg44/NepP7JinTZi3KDbcf0N88vK6GHLS2Kjt37EmuuyeZ2LTioXx3tMPRJZVxbiZ8+Pk82fFmOlz4s1H74wPn38oJl/79xtwh54yfvccd8jJHWuiCxc9Fq8/vChW7+pjvnR4TL9lZRx+gNZE2b4khFmWlbeumbcfu3Nw2PMGpkrV/5onolwud3vYyrKsfMPGnztvSFJWTevXI+8/or0Glr73W088ikPA7WfX7bW2siwr//7pxn/6qeLseQNTpep12rQujUVZlpW3fflmZ80OSXvewFRJDhs9ucv1MXHtPx9FozK9M+foLtfOj3eP76zZIWnPG5gqSf3iD7o9D86yrLzorV97qksk5L5zj+x2ffTY0ScAAAAAukdQ8x8M7de74nfTAPD/GlY/oOJ309A1w+oHVuRuGmD/GlJXrMjdNHAgCGoAAAAAEiGoAQAAAEiEoAYAAAAgEft061MpX93Q1NKa5h29HHDFmlzj9h07B3b3OdWFUkPrjiZ1dZDJ5YuNO5u3d/v9R0TUFEoNO9UAu1Tni40te6mtUrHQ0NS8Q62wW7GQb9ze1NzpWKR2KlNX6yOXLza0tTSrD3arqik0tu5o6rR2ijVVDc07y2qnwhSqs8amlrZuzYPNfw9d/zaX7ap9CmoAAAAA2H8cfQIAAABIhKAGAAAAIBGCGgAAAIBECGoAAAAAEiGoAQAAAEiEoAYAAAAgEYIaAAAAgEQIagAAAAASIagBAAAASISgBgAAACARghoAAACARAhqAAAAABIhqAEAAABIhKAGAAAAIBGCGgAAAIBECGoAAAAAEiGoAQAAAEiEoAYAAAAgEYIaAAAAgEQIagAAAAASIagBAAAASISgBgAAACARghoAAACARAhqAAAAABIhqAEAAABIhKAGAAAAIBGCGgAAAIBECGoAAAAAEiGoAQAAAEiEoAYAAAAgEYIaAAAAgEQIagAAAAASIagBAAAASMQf51q1LW04GgAAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Setting plot size\n",
"\n",
"plt.figure(figsize = [20.0, 8.0])\n",
"\n",
"# Plotting the tree with some specific parameters\n",
"\n",
"_ = plot_tree(tree, \n",
" feature_names = X.columns, \n",
" class_names = [\"Unproductive\", \"Productive\"],\n",
" filled = True, \n",
" rounded = False, \n",
" proportion = True, \n",
" fontsize = 11) "
]
},
{
"cell_type": "markdown",
"id": "8c49935f",
"metadata": {},
"source": [
"We can see here that the most significant columns turned out to be \"incentive\" and \"smv\" (Standard Minute Value, or the allocated time for a task). All the splits, except one, used these columns to progressively divide the dataset into more homogeneous subsets.\n",
"\n",
"It's important to remember that we pruned the tree when we instantiated the model. We restricted it to only feature a maximum depth of three levels to avoiding overfitting. If we hadn't, it's likely we would've seen other columns further dividing the dataset.\n",
"\n",
"Let's use the model on a hypothetical observation which has an \"incentive\" of 24 and a \"smv\" of 5. You don't actually need any code to do this, as you can use the tree visually by following the branches to reach the leaf containing the prediction.\n",
"\n",
"Since the \"incentive\" is greater than 22, 24 <= 22 evaluates to False at the root node and so we follow the path to the right (False splits always go to the right.) Since the \"smv\" is less than 31.155, 5 <= 31.155 evaluates to True at the child node below the root and so we follow the path to the left (True splits always go to the left.) In the final split before the leaf, since the \"smv\" is greater than 3.92, 5 <= 3.92 evaluates to False and so we follow the path to the right where we reach the final leaf node, which happens to feature a \"Productive\" class. \n",
"\n",
"To summarize, all this means that an observation with those characteristics would be predicted as \"Productive\" by the Decision Tree.\n",
"\n",
"Feel free to use any observation you want by choosing alternate \"incentive\" and \"smv\" values to see where the Tree leads you!"
]
},
{
"cell_type": "markdown",
"id": "69d632d9",
"metadata": {},
"source": [
"- - -\n",
"\n",
"Having plotted the Tree, we can continue exploring how effective the Tree is when using alternate metrics. Let's first start with a [Confusion Matrix](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html), to keep it as reference:"
]
},
{
"cell_type": "code",
"execution_count": 68,
"id": "feede1db",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 35, 24],\n",
" [ 13, 168]])"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.metrics import confusion_matrix\n",
"\n",
"confusion_matrix(y_test, y_pred)"
]
},
{
"cell_type": "markdown",
"id": "810a79b9",
"metadata": {},
"source": [
"**[[True Negatives, False Positives],**\n",
"\n",
"**[False Negatives, True Positives]]**"
]
},
{
"cell_type": "markdown",
"id": "4bd86ca5",
"metadata": {},
"source": [
"And now we can proceed to calculate the [Precision](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_score.html), [Recall](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.recall_score.html) and [F1 Score](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html)."
]
},
{
"cell_type": "code",
"execution_count": 69,
"id": "871bdd81",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import precision_score, recall_score, f1_score"
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "6bb51e65",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Precision: 0.88\n"
]
}
],
"source": [
"print(\"Precision:\", round(precision_score(y_test, y_pred), 2))"
]
},
{
"cell_type": "markdown",
"id": "218af10c",
"metadata": {},
"source": [
"$$\\displaystyle\\text{Precision} = \\frac{\\text{TP}}{(\\text{TP + FP})}$$"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "9492485a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Recall: 0.93\n"
]
}
],
"source": [
"print(\"Recall:\", round(recall_score(y_test, y_pred), 2))"
]
},
{
"cell_type": "markdown",
"id": "32c81b47",
"metadata": {},
"source": [
"$$\\displaystyle\\text{Recall} = \\frac{\\text{TP}}{(\\text{TP + FN})}$$"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "36656bcf",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"F1 Score: 0.9\n"
]
}
],
"source": [
"print(\"F1 Score:\", round(f1_score(y_test, y_pred), 2))"
]
},
{
"cell_type": "markdown",
"id": "f0055c10",
"metadata": {},
"source": [
"$$\\displaystyle\\text{F1-Score} = 2 \\times \\frac{\\text{Precision} \\times \\text{Recall}}{\\text{Precision + Recall}}$$"
]
},
{
"cell_type": "markdown",
"id": "ae36acb3",
"metadata": {},
"source": [
"All these alternate metrics are even superior to Accuracy! Special mention for Recall, with a superb value of 0.93! \n",
"\n",
"This was the Accuracy, as a reminder:"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "6640bea3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.85\n"
]
}
],
"source": [
"print(\"Accuracy:\", round(tree.score(X_test, y_test), 2))"
]
},
{
"cell_type": "markdown",
"id": "ac53ba9a",
"metadata": {},
"source": [
"$$\\displaystyle\\text{Accuracy} = \\frac{(\\text{TP + TN})}{(\\text{TP + TN + FP + FN})}$$"
]
},
{
"cell_type": "markdown",
"id": "93155708",
"metadata": {},
"source": [
"- - -\n",
"\n",
"We also have another option to evaluate our tree: [Cross Validation](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html). It divides the dataset into blocks/folds (the number of folds is determined by the \"cv\" parameter). Then it creates that many copies of the dataset where each copy will have a different segment of observations compared to the test set. \n",
"\n",
"The algorithm will then iterate on each copy and will output a list of the accuracy scores for all iterations.\n",
"\n",
"This is a practical way to ensure that we didn't get the original accuracy score by pure chance by comparing it with several other possible results.\n",
"\n",
"To improve readability in the calculations below, we have rounded the values to two decimals."
]
},
{
"cell_type": "code",
"execution_count": 74,
"id": "03f0798e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Cross Validation Accuracy Scores: [0.85 0.88 0.81 0.87 0.87 0.82 0.72 0.76 0.84 0.79]\n"
]
}
],
"source": [
"from sklearn.model_selection import cross_val_score\n",
"\n",
"scores = cross_val_score(tree, X, y, cv = 10)\n",
"\n",
"print(\"Cross Validation Accuracy Scores:\", scores.round(2)) "
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "892822a4",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean Cross Validation Score: 0.82\n"
]
}
],
"source": [
"print(\"Mean Cross Validation Score:\", scores.mean().round(2))"
]
},
{
"cell_type": "markdown",
"id": "231f91d6",
"metadata": {},
"source": [
"To finish with this section, let's now get Cross Validated values for the other evaluation metrics:"
]
},
{
"cell_type": "code",
"execution_count": 76,
"id": "e04cbbb8",
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import cross_validate\n",
"\n",
"multiple_cross_scores = cross_validate(\n",
" tree, \n",
" X, y, cv = 10, \n",
" scoring= (\"precision\", \"recall\", \"f1\") )"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "dd2a59ea",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.86, 0.9 , 0.83, 0.85, 0.86, 0.87, 0.78, 0.85, 0.86, 0.87])"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"multiple_cross_scores[\"test_precision\"].round(2)"
]
},
{
"cell_type": "code",
"execution_count": 78,
"id": "6af27c27",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean Cross Validated Precision: 0.85\n"
]
}
],
"source": [
"print(\"Mean Cross Validated Precision:\", round(multiple_cross_scores[\"test_precision\"].mean(), 2))"
]
},
{
"cell_type": "code",
"execution_count": 79,
"id": "a53404c2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.96, 0.94, 0.94, 1. , 0.99, 0.9 , 0.85, 0.82, 0.94, 0.84])"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"multiple_cross_scores[\"test_recall\"].round(2)"
]
},
{
"cell_type": "code",
"execution_count": 80,
"id": "689cbeb1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean Cross Validated F1: 0.92\n"
]
}
],
"source": [
"print(\"Mean Cross Validated F1:\", round(multiple_cross_scores[\"test_recall\"].mean(), 2))"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "00df05c8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.91, 0.92, 0.88, 0.92, 0.92, 0.88, 0.82, 0.83, 0.9 , 0.86])"
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"multiple_cross_scores[\"test_f1\"].round(2)"
]
},
{
"cell_type": "code",
"execution_count": 82,
"id": "892e5ee8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean Cross Validated F1: 0.88\n"
]
}
],
"source": [
"print(\"Mean Cross Validated F1:\", round(multiple_cross_scores[\"test_f1\"].mean(), 2))"
]
},
{
"cell_type": "markdown",
"id": "5329378e",
"metadata": {},
"source": [
"As we can see, after double checking with Cross Validate, we're still getting impressive metrics. This is excellent!\n",
"\n",
"- - -\n",
"\n",
"## Explaining the Tree\n",
"\n",
"After confirming that our Tree is good enough, here we will explain to the company's leaders not only the insights that our model can provide, but also how Decision Trees themselves are to be interpreted. Imagine that the following text is being read in a conference room to an audience that has never seen a Decision Tree before."
]
},
{
"cell_type": "code",
"execution_count": 83,
"id": "d3eb6061",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([False, True])"
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tree.classes_ # We'll transform them to [\"Unproductive\", \"Productive\"]"
]
},
{
"cell_type": "code",
"execution_count": 84,
"id": "803aa15d",
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABGoAAAHBCAYAAAAxVF2MAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOzdd3RURRvH8e+kF0IJEFrovffeexEUQUAUFBEUERAsKKgoKKgoKtIEVBCkS5EiRXpHioD03gIESAik1/v+sbwLmNADm8Dvcw7n5O7Mnfvc1WxmnzvFWJaFiIiIiIiIiIg4npOjAxARERERERERERslakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUgglakREREREREREUggXRwcgIiIiD8bV3fN8XExUFkfHISmHi5tHYGx0ZFZHxyEiIiL3zliW5egYRERE5AEYY6yPVgY7OgxJQT6v54tlWcbRcYiIiMi909QnEREREREREZEUQokaEREREREREZEUQmvUiIiICOO71qLTyKW4uns+0utu+X0MJeo/h3eGzABsnz+BuOhIKrfp/kjjuFfrJn/N3pVzcHJ2wcnZhbpdPiJ/xfp3LPuvQxuXsGLsJyTEx5GtUGla9B2Jq4fXo7wVERERSWG0Ro2IiEgql5rXqBnRvjTthkzDL2+xR3pdy7KICg3BM22G+zr/6NYV5CpZFVcPLwKP7mFS7+b0/n0/ru6ety27UUxkGKM6VODl4Yvw9c/Pwm96kdbPn1ov9X3g+9MaNSIiIqmXpj6JiIgIn9fzJSYyDLAlT1ZPGMKEHo0Y0b40W+eOt9e7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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize = [20.0, 8.0])\n",
"\n",
"_ = plot_tree(tree, \n",
" feature_names = X.columns, \n",
" class_names = [\"Unproductive\", \"Productive\"],\n",
" filled = True, \n",
" rounded = False, \n",
" proportion = True, \n",
" fontsize = 11) "
]
},
{
"cell_type": "markdown",
"id": "cb334c09",
"metadata": {},
"source": [
"\"The graphic above was created using predictions produced by the algorithm we implemented — a Decision Tree. We chose this algorithm because, despite how intimidating the graphic appears to be, we'll have you interpreting the results in just a few minutes!\n",
"\n",
"The graphic illustrates which aspects of the factory are best at predicting if a team will be productive or not. When we say aspects, we mean variables like the date, department, team number, etc. In our case, we discovered that the \"incentive\" and the \"smv\" variables were the ones with the greatest influence on the final prediction. To provide context, the \"incentive\" variable represents the amount of financial incentive offered to motivate a particular course of action. The \"smv\" (Standard Minute Value) variable represents the time allocated for a specific task.\n",
"\n",
"How do we know that these two variables are the most predictive? We know this because of the information included in the square boxes in the graphic! For example, if we focus on the top part of each box, we will see that those two variables are the ones that appear most frequently. In fact, there is only a single exception in the lower left of the graphic where the variable \"number of workers\" appears at the top.\n",
"\n",
"You may be wondering why the algorithm is called a Decision Tree. Well, you can think of the graphic as an inverted tree with the top box, called the \"root\", representing the most predictive feature and the boxes at the bottom, called the \"leaves\", which provide the predictions. These final boxes (leaves) are the ones that tell us whether a team in a specific department was productive or not. The prediction is shown in the \"class\" component at the bottom of the box. Keep in mind, even though all boxes feature a \"class\" component, we are only interested in the classes found in a leaf, not before.\n",
"\n",
"**\"But how do I know which path to take from the top box to the final ones?\" you might ask. Good question! Basically, we need to use the thresholds associated with every variable at the top of every square box. We have to compare our inputs with those thresholds – starting from the root – until we reach the leaves at the bottom.** When we say \"input\" we are referring to the corresponding \"incentives\" and \"smv\" values for a particular team. We can obtain these values from any date we choose in the dataset or we can select the values ourselves to test hypothetical situations. This is excellent for us since it means we can use the Decision Tree to predict the outcome for future and/or hypothetical scenarios so long as we have their respective incentive and SMV values.\n",
"\n",
"**We get it, that last part was a bit overwhelming, so to show you how all this works, let's use an example:** a fictional date where the \"incentive\" is 22 and \"smv\" is 4.44 to predict if a team will be productive or not under these conditions. Starting from the root, we see that our first comparison will be 22 <= 22 when we **substitute \"incentive\" for 22**.\n",
"\n",
"So, is 22 less than or equal to 22? Yes! Since the assertion is True, we follow the arrow to the lower left box. This is a universal rule of Decision Trees: if the assertion is True, we continue to the left; otherwise, if it's False, we continue to the right. \n",
"\n",
"True = Left. False = Right.\n",
"\n",
"Now we repeat the process for the rest of the boxes. We apply the same approach to the next box, which has the comparrison 4.44 <= 3.92 after **we substitute \"smv\" for 4.44**.\n",
"\n",
"So, is 4.44 less than or equal to 3.92? No! Since the assertion is False, we follow the arrow to the lower right box. Again, **after substituting \"smv\" for 4.44** in that box, our final comparison is 4.44 <= 4.865.\n",
"\n",
"So, is 4.44 less than or equal to 4.865? Yes! Since the assertion is True, we follow the arrow to the final lower left box, the leaf, which predicts the team will be \"Productive\". In other words, if we have a team with an \"incentive\" of 22 and a SMV of 4.44, it will be a productive team!\n",
"\n",
"To summarize, the Decision Tree not only told us which variables have the strongest predictive power (\"incentive\" and \"smv\"), but it also allows us to make predictions using values of our own choosing. This is the power of Decision Trees! Any questions?\""
]
},
{
"cell_type": "markdown",
"id": "fcd92964",
"metadata": {},
"source": [
"- - -\n",
"\n",
"## Using Random Forest\n",
"\n",
"To confirm and validate the results from our Decision Tree model, let's use a Random Forest to compare results."
]
},
{
"cell_type": "code",
"execution_count": 85,
"id": "e4beecee",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuracy: 0.85\n"
]
}
],
"source": [
"from sklearn.ensemble import RandomForestClassifier\n",
"\n",
"forest = RandomForestClassifier(\n",
" oob_score = True, \n",
" random_state = 24\n",
" )\n",
"\n",
"forest.fit(X_train, y_train)\n",
"\n",
"y_pred_forest = forest.predict(X_test)\n",
"\n",
"print(\"Accuracy:\", round(accuracy_score(y_test,y_pred_forest), 2))"
]
},
{
"cell_type": "markdown",
"id": "a069e78e",
"metadata": {},
"source": [
"Let's also check the Out of Bag Score. As a reminder, when Random Forest generates training subsets for every individual Tree, it leaves out some observations of the dataset, and if we activate the OOB Score then those observations will be used as test subsets."
]
},
{
"cell_type": "code",
"execution_count": 86,
"id": "fb354648",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Out Of Bag Score: 0.83\n"
]
}
],
"source": [
"print(\"Out Of Bag Score:\", round(forest.oob_score_, 2))"
]
},
{
"cell_type": "markdown",
"id": "8b6a2afa",
"metadata": {},
"source": [
"Since the evaluation metrics of our Random Forest are similar to the scores of our Decision Tree, we can be confident about our results! \n",
"\n",
"Because of their tendency to overfit the data, it's always considered good practice to double-check Trees with a Random Forest."
]
},
{
"cell_type": "markdown",
"id": "43c859e9",
"metadata": {},
"source": [
"# Final Thoughts"
]
},
{
"cell_type": "markdown",
"id": "1b171ef9",
"metadata": {},
"source": [
"After completing a project, it is helpful to reflect on and highlight important aspects of the entire process to help solidify our learning.\n",
"\n",
"- It's critically important to understand the data we're working with. Keeping the dataset description close at hand and referring to it often can help avoid confusion! Faulty assumptions early on can easily lead us to confusing results later on.\n",
"\n",
"- As part of the Exploratory Data Analysis phase, always ensure the consistency and validity of the data. It's vital to identify any outliers, incorrect data, or any other error that can compromise the integrity of the data.\n",
"\n",
"- Exercise good judgement when selecting the columns to train the model while making the necessary transformations (like a correct encoding) to ensure the model interprets the data correctly.\n",
"\n",
"- Take all the time you need during the Data Cleaning phase to ensure there are no incorrect observations that could potentially foul the model during training. \n",
"\n",
"- When creating the Decision Tree algorithm, under no circumstances should we skip the evaluation phase! It can often provide us with clues about which hyperparameters to add or change when optimizing the model later on.\n",
"\n",
"- It's good practice to double check our Trees with the Random Forest technique.\n",
"\n",
"- Finally, if we're going to explain our findings to an audience, it pays to come prepared. While it's true that Decision Trees are easier to explain than other machine learning algorithms, it is still a machine learning algorithm and non-technical audiences will naturally be aprehensive!\n",
"\n",
"You may have noticed that we made sure to comply with all these points throughout this project. This explains why we were able to create a highly accurate Decision Tree. While the steps that involved the *scikit-learn* library were of vital importance, we should never underestimate the value of all the preparation we did prior."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}