{ "metadata": { "name": "03-ProcessingLogs" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Processing Million Lines of logs - Reading logs into DataFrame" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import urllib2\n", "import pandas\n", "from collections import Counter\n", "\n", "#data = urllib2.urlopen(\"http://stats202.com/stats202log.txt\").readlines()\n", "data = open('/Users/antigen/Downloads/logs').readlines()\n", "\n", "list_data=[]\n", "for item in data:\n", " list_data.append(item.split())\n", "df = pandas.DataFrame(list_data)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "df" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 2, "text": [ "\n", "Int64Index: 1000000 entries, 0 to 999999\n", "Data columns:\n", "0 1000000 non-null values\n", "1 1000000 non-null values\n", "2 1000000 non-null values\n", "3 1000000 non-null values\n", "4 1000000 non-null values\n", "5 1000000 non-null values\n", "6 1000000 non-null values\n", "7 1000000 non-null values\n", "8 1000000 non-null values\n", "9 1000000 non-null values\n", "10 1000000 non-null values\n", "11 1000000 non-null values\n", "12 829300 non-null values\n", "13 748500 non-null values\n", "14 731500 non-null values\n", "15 690400 non-null values\n", "16 540100 non-null values\n", "17 454000 non-null values\n", "18 433300 non-null values\n", "19 396200 non-null values\n", "20 349600 non-null values\n", "21 180200 non-null values\n", "22 125800 non-null values\n", "23 90700 non-null values\n", "24 41500 non-null values\n", "25 25400 non-null values\n", "26 23600 non-null values\n", "27 14300 non-null values\n", "28 11800 non-null values\n", "29 5500 non-null values\n", "30 5500 non-null values\n", "31 3500 non-null values\n", "32 2900 non-null values\n", "33 2900 non-null values\n", "34 2900 non-null values\n", "35 2700 non-null values\n", "36 2700 non-null values\n", "dtypes: object(37)" ] } ], "prompt_number": 2 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Top IP Addresses" ] }, { "cell_type": "code", "collapsed": false, "input": [ "top_10 = Counter(df[0]).most_common(10)\n", "ip=[]\n", "count=[]\n", "for key, value in top_10:\n", " ip.append(key)\n", " count.append(value)\n", "ts = pandas.Series(count, ip)\n", "ts.plot(kind=\"barh\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 3, "text": [ "" ] }, { "output_type": "display_data", "png": "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\nrkJggg==\n" } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Top Domains" ] }, { "cell_type": "code", "collapsed": false, "input": [ "status_code=[]\n", "code_counts=[]\n", "status_codes = Counter(df[10]).most_common(10)\n", "for key, value in status_codes:\n", " status_code.append(key)\n", " code_counts.append(value)\n", "codes = pandas.Series(code_counts, status_code)\n", "codes.plot(kind=\"barh\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 4, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAD5CAYAAAA+5xNqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXtcVVX6/98HISlFMP1qaoOoCMj9IB7lKl6QcLxiOkoa\nGGLp2Le+lWZ9v77UdMxSC7s445T3S1raaDaKMiMoeCNI02QMtXNU8FrgBQW5Pb8/+J09HLloSiDN\ner9evF6svdd+1mc9e+19nrP2s/bRiYigUCgUCoVCoVAoLLBqaAEKhUKhUCgUCsXDiAqUFQqFQqFQ\nKBSKalCBskKhUCgUCoVCUQ0qUFYoFAqFQqFQKKpBBcoKhUKhUCgUCkU1WDe0AIVCofhPRqfTNbQE\nhUKhaJTUx4vb1IyyQqFQNDAi8tD/zZw5s8E1/BY0Kp1K58P+11h01hcqUFYoFArFXTGZTA0t4a40\nBo2gdNY1Smfd0lh01hcqUFYoFAqFQqFQKKpBBcoKhUKhuCuxsbENLeGuNAaNoHTWNUpn3dJYdNYX\nOqnPRA+FQqFQWKDT6bCza8n163kNLUWhUCgaDTqdrl5yldWMskKhUDQwN27kN7SEu5KSktLQEu5K\nY9AISmddo3TWLY1FZ32hAmWFQqFQKBQKhaIaVOqFQqFQNCDm9yirW7FCoVDcOw9N6kWnTp04c+YM\nffr0AWDlypW8+OKL1dadN2+e9v+1a9f485//fF+iDh48yMSJE7Wyv78/JSUl92Xrfjhz5gyfffaZ\nVq6tzw8Td/rt12Tp0qWsWbPmgWzMnz+f9evX07p1a23bgQMHsLKy4vz580DFOGrVqhUiQlhYGJmZ\nmQ/UZmU2bNjAvHnzWL9+PT4+Pnh7exMUFMTRo0e1OomJibi5udG1a1feeecdbXteXh7h4eG4uLgw\nYMAArl69etf2SkpK6N69Ozk5OfTp0wcPDw88PT354IMP7snu22+/TdeuXXFzc2PXrl3a9qeeegpf\nX188PDyIi4uzuFYuXLhAREQEAKtWrcLFxQUXFxdWr16t1XnmmWdwc3PDy8uLuLg4SktLq2iuzRdm\nFi1ahJWVFXl5lrm25uu3oKCA559/HmdnZ/z9/enTpw/p6el39du9smfPHg4cOFBn9rZu3cq//vUv\nrTxz5kz++c9/3petlStXMnv2bGbPns2qVavqSqJCoVAofmXqNPXi7bff1v7Pz89nyZIl92Vnx44d\nREZGAmA0GunQoQM2NjZ1ovFeMBqNrF+/Xivfyy9n/dovwL4X+5X99mvz/PPPM27cuAeysWvXLgYM\nGEC7du20gGT//v34+fmxb98+oCL479mzJzqdrs5/wSwxMZHIyEg6derE3r17OXr0KDNmzNC+bJSV\nlTFlyhQSExPJysris88+03TOnz+f8PBwsrOz6devH/Pnz79re2lpaQQHB2Ntbc3777/P8ePHOXjw\nIB9//DEnTpyo1W5WVhYbN24kKyuLxMREJk+erI2HTZs2ceTIEY4fP861a9fYuHGjRR+feuop8vLy\neOutt0hPTyc9PZ3Zs2drQfjYsWM5ceIEx44do7CwkE8//bSK5vLy8hp9AXDu3DmSkpLo2LGjRZ+N\nRiNPPvkkNjY2TJgwgdatW3Pq1CkyMjJYsWIFP/300y8+bzWRnJzM/v37q91XVlb2i+397W9/Iysr\nSyvPnj2bfv363Ze238Kv7zWGvMXGoBGUzrpG6axbGovO+uKugXKbNm1o0qQJrVq10radP3+eyMhI\nXFxceP311wGYPn06hYWF6PV6xo4dyxtvvMHp06fR6/VMmzaNPXv2EBoayqBBg3Bzc2PSpEk1Bn67\nd++mf//+wL8/6Ddt2sSrr74KwOLFi+nSpQsAP/74I8HBwWRkZDBixAigYiboscceo7S0lKKiIrp0\n6cKVK1e0mbHvvvsOKysrcnJyAOjSpQtFRUVa+9OnTyc1NRW9Xk9CQgJQEQj06dMHFxcX3nrrLaDi\npdyurq7ExMTg5eXFuXPnmDx5Mj169MDT05NZs2Zp/Rk+fLhmPykpiaioKIs+v/fee3h5eeHl5cXi\nxYtrtD9nzhzc3NwICQkhOjqaRYsWVfFbUVER48ePx9vbGz8/P23Qr1y5kqioqCrnDmDZsmW4urrS\ns2dP4uPjtRl0k8lE37598fHxoX///pw7dw6AWbNmaW2HhYUxffp0evbsiaurK2lpaQDcunWLUaNG\n4eHhQVRUFL169dJmhK9fv05xcTGtW7cmMDBQC3AOHDjAyy+/rJX3799PUFCQpvOLL76o0k5ZWRlT\np07FYDDg4+PDX//6V6DiYg8LC2PkyJF069aNsWPHanZEhCNHjqDX6wkICMDe3h6Anj17auMiPT0d\nZ2dnnJycsLGxYfTo0WzduhWAr776ipiYGABiYmLYsmULAO+//z5xcXEAHDt2DC8vL21smQPzJ554\nAl9fXwCaN29Ot27dyM3NrdXu1q1bGTNmDDY2Njg5OeHs7MyhQ4c0G1Ax+2v2qZmdO3cSGRnJzp07\nGTBgAA4ODjg4OBAeHk5iYiKAxZerHj16aP2vrPnQoUM1+gLglVde4d133+VOzNfv6dOnSU9PZ+7c\nudo+JycnBg4cCNQ8/rt168bEiRPx9PQkIiJC8+UHH3yAh4cHPj4+REdHc+bMGZYuXcr777+Pn58f\naWlpxMbG8sILL9CrVy+mTZvG7NmzLa4XT09Pzp49C8Dq1avx8fHB19eXZ599lgMHDrBt2zamTp2K\nn58fP/74I7GxsWzevBmAf/7zn/j5+eHt7U1cXBzFxcVan2bNmkX37t3x9vbmhx9+AODRRx+lefPm\nNG/enMcee6yKnxQKhULxkCK/kBUrVkjnzp3l+vXrUlRUJB07dpScnBwREWnevLlWz2Qyiaenp1ZO\nTk4WW1tbMRqNUlZWJuHh4bJp0yYREZkwYYJkZGSIiMiVK1ekT58+2nFDhw4Vo9EoFy9elB49eoiI\nyIgRI8RgMEhubq6sXLlS3nzzTSktLZXOnTuLiMirr74qBoNB9u3bJykpKRIdHS0iIh4eHnL9+nX5\n8MMPxWAwyLp168RkMklAQIBFH1NSUmTQoEEWfW7Xrp3k5eVJYWGheHp6SkZGhhiNRrGyspJDhw5p\ndfPy8kREpLS0VMLCwuTYsWMiIuLm5iY//fSTiIiMGTNGvv76a+2YjIwM8fLyklu3bklBQYF4eHjI\n4cOHq9hPT08XX19fuX37tty4cUO6du0qixYtquK3hQsXSlxcnIiInDhxQhwdHaWoqKjGc5ebmytO\nTk6Sn58vJSUlEhISIi+++KKIiAwaNEhWr14tIiLLly+XYcOGiYjIrFmztLbDwsLktddeExGR7du3\nS//+/UVEZMGCBfLCCy+IiMj3338v1tbWkpmZKSIimzdvlpkzZ4qIyKpVq+S5554TERG9Xi9FRUUS\nHBwsIiL9+/eX3bt319rO0qVLZe7cuSIiUlRUJP7+/mI0GiU5OVns7e0lNzdXysvLJSAgQNLS0kRE\nJDMzU5599lm5kwULFkh8fLyIiHzxxRcyYcIEbd+aNWtkypQpIiLi4OCgbS8vL9fK5eXlEhoaKl9+\n+aX4+/vL/v37tXoGg0EKCwst2jMajeLo6Cg3btyo1e6UKVNk7dq12r64uDjt+hERGTBggLRs2VJG\njRqlbSstLRVfX1+tX2YfiYjMmTNHFi5caKGluLhY/Pz8NB9V1lybL7Zs2SIvv/yyiIg4OTnJzz//\nrNUzX79bt26V4cOHS3XUNv6tra3lu+++ExGRUaNGaT5o3769FBcXi4jItWvXRMRyTIqIxMbGyuDB\ng6W8vFzbX7nPnp6ecubMGfn+++/FxcVF052fn68dv3nzZgt7mzdvlsLCQvnd734nJ0+eFBGRZ599\nVhISErT+f/TRRyIismTJEguf1QQg93ErVigUiv9o6uu++YtTL3Q6Hf369cPOzo6mTZvi7u7OmTNn\nqgvAq2wzGAw4OTlhZWXFmDFjtBnBTz75RJvt3bVrl5ZTWVxcTE5ODk5OTrRt25aCggIKCgrIyckh\nOjqavXv3kpaWRkhICE2aNKFLly6cOHGCb775hldeecViP0BgYCD79u0jNTWVN954o8r+2rQPGDCA\nli1bYmtrS1RUFGlpaeh0Ojp27IjBYNDqbdy4ke7du+Pn58fx48e1R7fjxo1jzZo1XL16lYMHD1rM\n4qWlpREVFcWjjz5Ks2bNiIqKIjU1tYr9ffv2MWzYMB555BGaN2/O4MGDNa2V/bZv3z5t9tTV1ZWO\nHTuSnZ1d7bkzmUykp6fTu3dvHBwcsLa2ZuTIkZq2gwcPEh0dDVQ8ojefszsxz5D7+flpP3+5b98+\nRo8eDYCHhwfe3t5affNMJ0BAQAD79+/HZDLh5ORE06ZNERFu3rzJt99+S8+ePWttZ9euXaxevRq9\nXk+vXr3Iy8vj1KlT6HQ6DAYD7du3R6fT4evrqx2TmJiozWaaSU5OZvny5Vr+7Z2Py0Wk2kfoldNC\ndDodK1euZNy4cYSFhREQEABAbm4ujz/+OLa2ttpxBQUFPP300yxevFibFa7JbnVU3rdz504uXLjA\n7du3tRzYQ4cO0atXr2r7Uh2TJ0+md+/e2gx+dZrvpLCwkHnz5jF79mxtm3lMVr5+a6O28d+pUydt\n3HTv3l07f97e3kRHR7Nu3TqaNGlSpW0zI0eOrLXvIsLu3bsZNWoUjz/+OAAODg412hMRfvjhBzp1\n6oSzszNQMfO/d+9erU51Y/RemDVrFrNmzSIhIcHi0WdKSooqq7Iqq/J/fDklJYXY2FhiY2O1J/b1\ngfX9HNS0aVPt/yZNmlgs/qmNyh9YNQUdiYmJWopFamoqwcHB2r7AwEBWrFiBq6srwcHBLFu2jAMH\nDvDee+8BEBoayvbt27GxsaFfv37ExMRQXl7OwoULtf179+7l7NmzDB06lPnz56PT6Rg0aNA96zZr\nt7Kq+I7RrFkzbbvRaGTRokVkZGRgb2/P+PHjKSwsBGD8+PEMHjwYW1tbRo0apR1vtl/5A7mybyrb\nr61eZb+Z91VHdeeuuv7VVq7N7p3joaZj09PT+ctf/gJA165duXr1Ktu2bSMwMBCoCIqWL1+Ok5OT\nxaPqmtr56KOPCA8Pt2gjJSWlSn/NuapJSUlMmjRJ23f06FHi4+NJTEykZcuWAHTo0EFLNQHIycmh\nQ4cOALRt25aLFy/yxBNPcOHCBdq0aaPVy87Oxs7OTkungH+nIJgpKSlhxIgRjB07lmHDhmnba7Jb\nm5bKvhkxYgSHDh0iJiaGHTt2aG126NDB4uZz7tw5+vbtq5Vnz57Nzz//zCeffFKt5ieffNKi/XPn\nzvHkk09y+vRpTCYTPj4+mq7u3btz6NAhvv/+e+369fDw4LvvvqO8vNxi7EPt4/rO82e+nv7+97+z\nd+9etm3bxp/+9CeOHTtGdVQeO9bW1pSXl2tlcxpHbSuna/piVJk772U1jdG7UdONPyws7KEop6RU\npDI9LHqqK5s1Pix6aipXvhYfBj01lZU/lT8fBj2V/69crjxB82vyi2eUawuabGxstA8GOzs7bty4\nYbE/PT0dk8lEeXk5n3/+ebUzuUePHtU+dO+c9QsJCWHBggX07t0bvV5PcnIytra22NnZafsTEhII\nDAykdevW/Pzzz2RnZ+Ph4aHtX7t2LV27dkWn0/H444+zfft2i2AcoEWLFhbaRYSkpCTy8/MpLCxk\n69atBAUFVfHF9evXadasGS1atODSpUvs2LFD+wBt164d7du3Z+7cuYwfP97iuJCQELZs2UJhYSE3\nb95ky5YthISEVLEfFBTEtm3buH37NgUFBfz973+v1m8hISGsW7cOqAjazp49i5ubW7XnTqfT0aNH\nD/bs2cPVq1cpLS3V8jCh4svJhg0bAFi3bh2hoaFam3cLoIOCgvj888+BisVo5mDm+PHjuLm5WQQX\nvXr1YvHixdoMbEBAAAkJCVXOTXVERESwZMkSbexlZ2dz69atauuKCNeuXaO0tFQLiM+ePUtUVBRr\n167VZgmh4m0NJ0+exGQyUVxczMaNGxkyZAgAQ4YM0WZuV61apQW7165d46WXXiI1NZWff/5Z82Xl\nGXQRIS4uDnd3d15++WULfTXZHTJkCBs2bKC4uBij0cjJkycxGAzcvHmTCxcuAFBaWsrXX3+NXq8H\nLHP9IyIi2LVrF1evXiU/P5+kpCTtCcSnn37Krl27LBaw3qm5Jl94enpy6dIljEajtnDv22+/pW3b\nthbXb5cuXfD392fmzJmafZPJxPbt2+95/Fc+h2fPniUsLIz58+dz7do1CgoKqr3nVMbJyYlvv/0W\ngG+//Raj0YhOp6Nv37588cUX2ts68vMrfvzDzs6O69evW9jQ6XS4urpiMpk4ffo0AGvWrKF37941\ntqtQKBSKxst9pV7U9Chz4sSJeHt7M27cOFq1akVQUBBeXl5MmzZNC8imTJmCu7s7nTt31ha4xcfH\nk5mZSWZmpvYhDxWve6r8ARQcHExubi6hoaFYWVnh6OhoEUgZDAYuX76sBXM+Pj54eXlp+80r8s37\nQ0JCaNmyJfb29mRkZBAfHw9UPNZt0qQJvr6+JCQkaI/wR4wYgY+PD08//TR+fn6aP8z4+Pig1+tx\nc3PjmWeeqRLkRUdH4+joiKurK+fPn+f3v/89AHq9ntjYWAwGA7169SI+Pl4Leivb9/f3Z8iQIXh7\nezNw4EC8vLywt7ev4rfJkydTXl6Ot7c3o0ePZtWqVdjY2NR47tq3b8+bb76JwWAgODiYTp060aJF\nCwA+/PBDVqxYgY+PD+vWrdMWWtU2DszbJ0+ezJUrV/Dw8GDGjBl4eHjQokWLat/OERQURE5ODv7+\n/kBF4Gw0GrUZ5tramTBhAu7u7vj5+eHl5cWkSZO0mfI7Nep0OpKSkrQAEmDOnDnk5+czadIk9Hq9\nlupibW3NRx99REREBO7u7vzhD3+gW7duQMWCz6SkJFxcXNi9ezfTp08HKha1TZkyBWdnZ5YtW8b0\n6dO5fPkyp06dwsXFBahISVm7di3Jycno9Xr0er22sK4mu+7u7owaNQp3d3ciIyNZsmQJOp2Omzdv\nMnToUHx8fPDz88PR0ZHnnnuOK1euYGtrqz2RaNmyJTNmzKBHjx4YDAZmzpyppRhMmjSJy5cvExAQ\ngF6vZ+7cuZSVlVlors0XNXHn9fvpp59y6dIlnJ2d8fLyYvz48bRt2/aex7+5XFZWxrhx47TFqi+9\n9BL29vYMHjyYv/3tb9pivjuPHzFiBHl5eXh6evLxxx/j6uqq+fZ///d/6d27N76+vtqTmdGjR7Ng\nwQK6d+/Ojz/+qNlp2rQpK1asYOTIkXh7e2Ntbc0LL7xQpb1f400tDcmdMz0PI41BIyiddY3SWbc0\nFp31xq+aAV2J5ORkiwVy1TF37lzZuHGjiIicO3dOBg4cWB/S6o0//vGPsnz58geyUVBQICIiN2/e\nFH9/fzl8+LCF3x7UbklJiQwePFi2bNnyQPZERMrKyqSoqEhERE6dOiWdO3eW4uJiCQ8Pl4sXLz6w\n/ftlwoQJFgswf23S0tJk0qRJ9daeiMjatWvlnXfeue/jH1Tzb/H6/bVALeZTKBSKX0x93Tfr7Zf5\n9uzZw6JFi/jqq6/qo7mHju7du2NnZ0dSUtIDvRP6mWeeISsri6KiImJjYy1e8fYgTJ06lX/84x8U\nFRURERGhvRbvQbhx4wZ9+/alpKQEEeHdd9/VHvcrFIoKGssv81WXX/mw0Rg0gtJZ1yiddUtj0Vlf\nv8x3X4v57ofevXv/R+fx1dUvyplzj+uaBQsW1LlNOzs7vvnmmzq3q1AoFAqFQlEf1NuMskKhUCiq\n0lhmlBUKheJhor5mlOv0J6wVCoVC8cuxs2vZ0BIUCoVCUQ0qUFYoFIoG5vr1vIaWcFcqv1v1YaUx\naASls65ROuuWxqKzvlCBskKhUCgUCoVCUQ0qR1mhUCgakPrKs1MoFIrfEipHWaFQKBQKhUKhaEBU\noKxQKBSKu9IY8hYbg0ZQOusapbNuaSw66wsVKCsUCkUD06LF4w0tQaFQKBTVoHKUFQqFogFR71FW\nKBSKX47KUVYoFAqFQqFQKBoQFSgrFAqF4q40hrzFxqARlM66RumsWxqLzvrioQyUO3XqxJkzZ+jT\npw8AK1eu5MUXX6y27rx587T/r127xp///Of7avPgwYNMnDhRK/v7+1NSUnJftu6HM2fO8Nlnn2nl\n2vr8MHGn335Nli5dypo1ax7Ixvz581m/fj2tW7fWth04cAArKyvOnz8PVIyjVq1aISKEhYWRmZn5\nQG1WZsOGDcybN4/169fj4+ODt7c3QUFBHD16VKuTmJiIm5sbXbt25Z133tG25+XlER4ejouLCwMG\nDODq1at3ba+kpITu3buTk5NDnz598PDwwNPTkw8++OCe7L799tt07doVNzc3du3apW0vLi5m4sSJ\nuLq60q1bN7788ktt34ULF4iIiABg1apVuLi44OLiwurVq7U6cXFx+Pr64u3tzfDhw7l27VoVzbdv\n38ZgMODr64u7uztvvPHGPfuie/fu+Pn5odfr6dixI23atEGv16PX6zl79uxd/VbXpKSkMH78eFat\nWsXs2bPrvX2FQqFQ3B8PZaD8S3j77be1//Pz81myZMl92dmxYweRkZEAGI1GOnTogI2NTZ1ovBeM\nRiPr16/Xyua8xdoQkV81P+de7Ff226/N888/z7hx4x7Ixq5duxgwYADt2rXjX//6FwD79+/Hz8+P\nffv2ARXBf8+ePdHpdPd0Hn4JiYmJREZG0qlTJ/bu3cvRo0eZMWOG9mWjrKyMKVOmkJiYSFZWFp99\n9pmmc/78+YSHh5OdnU2/fv2YP3/+XdtLS0sjODgYa2tr3n//fY4fP87Bgwf5+OOPOXHiRK12s7Ky\n2LhxI1lZWSQmJjJ58mRtPPzpT3/iiSee4IcffuBf//oXvXv3tujjU089RV5eHm+99Rbp6emkp6cz\ne/ZsLaBNSEjgyJEjHD16lM6dO/Phhx9W0dy0aVOSk5O1esnJydo5qs0XRqORJ598km+//ZbDhw/z\n1ltvMXr0aA4fPszhw4dxdHS87/N3v9T1OGoIwsLCGlrCXWkMGkHprGuUzrqlseisLx7KQLlNmzY0\nadKEVq1aadvOnz9PZGQkLi4uvP766wBMnz6dwsJC9Ho9Y8eO5Y033uD06dPo9XqmTZvGnj17CA0N\nZdCgQbi5uTFp0qQaA7/du3fTv39/4N8f9Js2beLVV18FYPHixXTp0gWAH3/8keDgYDIyMhgxYgQA\nW7du5bHHHqO0tJSioiK6dOnClStX6N69OwDfffcdVlZW5OTkANClSxeKioq09qdPn05qaip6vZ6E\nhAQAzp07R58+fXBxceGtt94CwGQy4erqSkxMDF5eXpw7d47JkyfTo0cPPD09mTVrltaf4cOHa/aT\nkpKIioqy6PN7772Hl5cXXl5eLF68uEb7c+bMwc3NjZCQEKKjo1m0aFEVvxUVFTF+/Hi8vb3x8/PT\nHt2sXLmSqKioKucOYNmyZbi6utKzZ0/i4+O1GXSTyUTfvn3x8fGhf//+nDt3DoBZs2ZpbYeFhTF9\n+nR69uyJq6sraWlpANy6dYtRo0bh4eFBVFQUvXr10maEr1+/TnFxMa1btyYwMJD9+/cDFTPKL7/8\nslbev38/QUFBms4vvviiSjtlZWVMnToVg8GAj48Pf/3rX4GKmcOwsDBGjhxJt27dGDt2rGZHRDhy\n5Ah6vZ6AgADs7e0B6NmzpzYu0tPTcXZ2xsnJCRsbG0aPHs3WrVsB+Oqrr4iJiQEgJiaGLVu2APD+\n++8TFxcHwLFjx/Dy8tLGljkwf+KJJ/D19QWgefPmdOvWjdzc3Frtbt26lTFjxmBjY4OTkxPOzs6k\np6cDsGLFCosZ3srX6s6dO4mMjGTnzp0MGDAABwcHHBwcCA8PJzExEQA7OzvNJ4WFhRYz/GbNAM2a\nNQMqZrDLyspo2bJlrZrvPN7chvm6P336NJGRkfj7+xMaGsoPP/wAwLZt2+jVqxd+fn6Eh4dz+fJl\nAAoKCrRx7ePjw9/+9jfNh2Y2bdrE+PHjAYiNjeWFF16gR48euLq68ve//x2ARx55BHt7ex599FGt\n7wqFQqFoBEgjYMWKFdK5c2e5fv26FBUVSceOHSUnJ0dERJo3b67VM5lM4unpqZWTk5PF1tZWjEaj\nlJWVSXh4uGzatElERCZMmCAZGRkiInLlyhXp06ePdtzQoUPFaDTKxYsXpUePHiIiMmLECDEYDJKb\nmysrV66UN998U0pLS6Vz584iIvLqq6+KwWCQffv2SUpKikRHR4uIiIeHh1y/fl0+/PBDMRgMsm7d\nOjGZTBIQEGDRx5SUFBk0aJBFn9u1ayd5eXlSWFgonp6ekpGRIUajUaysrOTQoUNa3by8PBERKS0t\nlbCwMDl27JiIiLi5uclPP/0kIiJjxoyRr7/+WjsmIyNDvLy85NatW1JQUCAeHh5y+PDhKvbT09PF\n19dXbt++LTdu3JCuXbvKokWLqvht4cKFEhcXJyIiJ06cEEdHRykqKqrx3OXm5oqTk5Pk5+dLSUmJ\nhISEyIsvvigiIoMGDZLVq1eLiMjy5ctl2LBhIiIya9Ysre2wsDB57bXXRERk+/bt0r9/fxERWbBg\ngbzwwgsiIvL999+LtbW1ZGZmiojI5s2bZebMmSIismrVKnnuuedERESv10tRUZEEBweLiEj//v1l\n9+7dtbazdOlSmTt3roiIFBUVib+/vxiNRklOThZ7e3vJzc2V8vJyCQgIkLS0NBERyczMlGeffVbu\nZMGCBRIfHy8iIl988YVMmDBB27dmzRqZMmWKiIg4ODho28vLy7VyeXm5hIaGypdffin+/v6yf/9+\nrZ7BYJDCwkKL9oxGozg6OsqNGzdqtTtlyhRZu3atti8uLk42b94s+fn58rvf/U5eeeUV8fPzk5Ej\nR8qlS5dEpGIM+vr6av0y+0hEZM6cObJw4UKtHBsbK23btpWgoCApKSmpVnNZWZn4+PhI8+bNZerU\nqVqdmjRyOiosAAAgAElEQVSL/Pv6NbNy5UrNh3379pWTJ0+KiMjBgwelb9++IiKSn5+v1f/kk0/k\n1VdfFRGRadOmyf/8z/9o+8z1Kt93Nm3aJLGxsSIiEhMTI5GRkSIicvLkSXnyySfl9u3bUhuANIZb\ncXJyckNLuCuNQaOI0lnXKJ11S2PRWV/3zYdyRvlOdDod/fr1w87OjqZNm+Lu7s6ZM2eq1JNqZosN\nBgNOTk5YWVkxZswYbUbwk08+0WZ7d+3apeVUFhcXk5OTg5OTE23btqWgoICCggJycnKIjo5m7969\npKWlERISQpMmTejSpQsnTpzgm2++4ZVXXrHYDxAYGMi+fftITU3ljTfeqLK/Nu0DBgygZcuW2Nra\nEhUVRVpaGjqdjo4dO2IwGLR6Gzdu1HIyjx8/TlZWFgDjxo1jzZo1XL16lYMHD1rMsqWlpREVFcWj\njz5Ks2bNiIqKIjU1tYr9ffv2MWzYMB555BGaN2/O4MGDNa2V/bZv3z5t9tTV1ZWOHTuSnZ1d7bkz\nmUykp6fTu3dvHBwcsLa2ZuTIkZq2gwcPEh0dDcDYsWO1c3Yn5hlyPz8/TCaTpmP06NEAeHh44O3t\nrdU3z3QCBAQEsH//fkwmE05OTjRt2hQR4ebNm3z77bf07Nmz1nZ27drF6tWr0ev19OrVi7y8PE6d\nOoVOp8NgMNC+fXt0Oh2+vr7aMYmJiQwcONCiD8nJySxfvlzLRb7zEb2IVPvYvnJaiE6nY+XKlYwb\nN46wsDACAgIAyM3N5fHHH8fW1lY7rqCggKeffprFixdbzIpWZ7cmSktLycnJISgoiMzMTAICAnjt\ntdcAOHToEL169aq2L3eyYsUKzp8/j7e3N3/605+q1WxlZcWRI0fIyclh79691S4yqay58vV7Jzdv\n3mT//v2MHDkSvV7PCy+8wMWLF4GKpzcDBgzA29ubhQsXatfQP//5T/74xz9qNhwcHGrtk06nY9So\nUQA4OzvTuXNnLXXmbsyaNYtZs2aRkJBg0c+UlBRV/o2Vjxw58lDpaexl5c+6LT+s/kxJSSE2NpbY\n2Fjt6Xl9YF1vLT0gTZs21f5v0qQJpaWl93Rc5Q/rmoKOxMRELcUiNTWV4OBgbV9gYCArVqzA1dWV\n4OBgli1bxoEDB3jvvfcACA0NZfv27djY2NCvXz9iYmIoLy9n4cKF2v69e/dy9uxZhg4dyvz589Hp\ndAwaNOiedZu1W1lVfK8xP46GinzMRYsWkZGRgb29PePHj6ewsBCA8ePHM3jwYGxtbRk1apR2vNl+\n5eC8sm8q26+tXmW/mfdVR3Xnrrr+1Vauze6d46GmY9PT0/nLX/4CQNeuXbl69Srbtm0jMDAQqFgA\ntnz5cpycnHjsscfu2s5HH31EeHi4RRspKSlV+ltWVgZUpL9MmjRJ23f06FHi4+NJTEzUUgo6dOig\npZoA5OTk0KFDBwDatm3LxYsXeeKJJ7hw4QJt2rTR6mVnZ2NnZ6elU8C/U4jMlJSUMGLECMaOHcuw\nYcO07TXZrUlLq1ateOyxx7QvEE8//TTLli0DKnLWzW126NDB4oZ37tw5+vbta+EvKysrRo8ezbvv\nvlutZjP29vb8/ve/JzMzk7CwsBo1p6amVvkSaqa8vJyWLVty+PDhKvtefPFFXnvtNQYNGsSePXss\nbsLVjafK49d8vdVE5euuNmq68d+ZL6jKNZery618mPSZy7VpfpjKyp/Knw+Dnpq01dfC6EYxo1xb\n0GRjY6MFL3Z2dty4ccNif3p6OiaTifLycj7//PNqZ3KPHj2Kj48PUHXWLyQkhAULFtC7d2/0ej3J\nycnY2tpqeYYhISEkJCQQGBhI69at+fnnn8nOzsbDw0Pbv3btWrp27YpOp+Pxxx9n+/btFsE4QIsW\nLSy0iwhJSUnk5+dTWFjI1q1bCQoKquKL69ev06xZM1q0aMGlS5fYsWOH9iHerl072rdvz9y5c7Uc\nysr92rJlC4WFhdy8eZMtW7YQEhJSxX5QUBDbtm3j9u3bFBQUaDmXd/otJCSEdevWARVB29mzZ3Fz\nc6sxyOjRowd79uzh6tWrlJaWsnnzZm1/YGAgGzZsAGDdunWEhoZqbd4tgA4KCuLzzz8HKhajHTt2\nDIDjx4/j5uZmEeD06tWLxYsXazOwAQEBJCQkVDk31REREcGSJUu0sZednc2tW7eqrSsiXLt2jdLS\nUi0gPnv2LFFRUaxduxZnZ2etrr+/PydPnsRkMlFcXMzGjRsZMmQIAEOGDGHVqlVAxdskzMHutWvX\neOmll0hNTeXnn3/WfFl5Bl1EiIuLw93dnZdfftlCX012hwwZwoYNGyguLsZoNHLy5EkMBgM6nY7B\ngweTnJwMVMy6msd75Vz/iIgIdu3axdWrV8nPzycpKUl7AnHq1ClN11dffYVer6+i+aefftIW/xUW\nFpKUlKTlWdek+c78ZHMbUHF/6NSpE5s2bdK2m982cv36ddq3bw9U5NWbCQ8P5+OPP9bKZj1t27bl\nxIkTlJeX87e//c3iR0O++OILRITTp0/z448/4urqikKhUCgaJ40iUK7tcfDEiRPx9vZm3LhxtGrV\niqCgILy8vJg2bZoWkE2ZMgV3d3c6d+6sLXCLj48nMzOTzMxM7UMaYM+ePRYr+IODg8nNzSU0NBQr\nKyscHR0tAimDwcDly5e1YM7HxwcvLy9tf8eOHQG0/SEhIbRs2RJ7e3syMjKIj48HwNvbmyZNmuDr\n60tCQoL2CH/EiBH4+Pjw9NNP4+fnp/nDjI+PD3q9Hjc3N5555pkqQV50dDSOjo64urpy/vx5fv/7\n3wOg1+uJjY3FYDDQq1cv4uPjtaC3sn1/f3+GDBmCt7c3AwcOxMvLC3t7+yp+mzx5MuXl5Xh7ezN6\n9GhWrVqFjY1Njeeuffv2vPnmmxgMBoKDg+nUqRMtWrQA4MMPP2TFihX4+Piwbt06baFhbePAvH3y\n5MlcuXIFDw8PZsyYgYeHBy1atKj27RxBQUHk5OTg7+8PVATORqNRm2GurZ0JEybg7u6On58fXl5e\nTJo0SZspv1OjTqcjKSlJCyAB5syZQ35+PpMmTUKv12upLtbW1nz00UdERETg7u7OH/7wB7p16wZU\nLPhMSkrCxcWF3bt3M336dABeeeUVpkyZgrOzM8uWLWP69OlcvnyZU6dO4eLiAlSkpKxdu5bk5GTt\nNWnmhXU12XV3d2fUqFG4u7sTGRnJkiVLtL698847zJo1SztHixYt4sqVK9ja2mpPJFq2bMmMGTPo\n0aMHBoOBmTNn4uDgQHl5ObGxsdoCuby8PN58803KysosNF+4cIG+ffvi6+tLz549GTx4MP369atV\n853X753jZt26dSxbtgxfX188PT356quvgIrZ3JEjR+Lv789//dd/afX/7//+j/z8fLy8vPD19dVm\nyOfPn8+gQYMICgrSAmxzW46OjhgMBgYOHMjSpUt55JFHahxPjYnKTwceVhqDRlA66xqls25pLDrr\njV8/DbrhSE5OtlggVx1z586VjRs3iojIuXPnZODAgfUhrd744x//KMuXL38gGwUFBSIicvPmTfH3\n95fDhw9b+O1B7ZaUlMjgwYNly5YtD2RPpGLxV1FRkYiInDp1Sjp37izFxcUSHh4uFy9efGD798uE\nCRMsFmD+2qSlpcmkSZPqrT0RkbVr18o777xz38c/qOaH4fqNjY2VzZs3/6JjUIv56ozGoFFE6axr\nlM66pbHorK/7pu7/N/abZM+ePSxatEibNfpPo3v37tjZ2ZGUlPRA74R+5plnyMrKoqioiNjYWItX\nvD0IU6dO5R//+AdFRUVERERor8V7EG7cuEHfvn0pKSlBRHj33Xe1x/0Kxa+NeV3Ana9irI3KaRsK\nhUKhuDfuXEP1q7XzWw6UFQqF4mFHBcoKhULxy6mvQLlR5CgrFAqFomFpDHmLjUEjKJ11jdJZtzQW\nnfWFCpQVCoWigbGza9nQEhQKhUJRDSr1QqFQKBqQ+np8qFAoFL8lVOqFQqFQKBQKhULRgKhAWaFQ\nKBR3pTHkLTYGjaB01jVKZ93SWHTWFypQVigUCoVCoVAoqkHlKCsUCkUDonKUFQqF4pejcpQVCoXi\nP4QWLR5vaAkKhUKhqAYVKCsUCkUDc+NGfkNLuCuNIW+xMWgEpbOuUTrrlsais75QgbJCoVAoFAqF\nQlENKkdZoVAoGhD1E9YKhULxy/nN5Ch36tSJM2fO0KdPHwBWrlzJiy++WG3defPmaf9fu3aNP//5\nz/fV5sGDB5k4caJW9vf3p6Sk5L5s3Q9nzpzhs88+08q19flh4k6//ZosXbqUNWvWPJCN+fPns379\nelq3bq1tO3DgAFZWVpw/fx6oGEetWrVCRAgLCyMzM/OB2qzMhg0bmDdvHuvXr8fHxwdvb2+CgoI4\nevSoVicxMRE3Nze6du3KO++8o23Py8sjPDwcFxcXBgwYwNWrV+/aXklJCd27dycnJ4c+ffrg4eGB\np6cnH3zwwT3Zffvtt+natStubm7s2rVL2/7UU0/h6+uLh4cHcXFxFtfKhQsXiIiIAGDVqlW4uLjg\n4uLC6tWrq+j77//+b+zs7KrVDPDcc8/Rtm1bvLy8LOrczRfm67egoIDnn38eZ2dn/P396dOnD+np\n6Xf1269NbGwsmzdvrrXO+PHj2bNnD3369OHMmTP1pEyhUCgUD8pDlXrx9ttva//n5+ezZMmS+7Kz\nY8cOIiMjATAajXTo0AEbG5s60XgvGI1G1q9fr5XNM0a1ISK/6jeje7Ff2W+/Ns8//zzjxo17IBu7\ndu1iwIABtGvXjn/9618A7N+/Hz8/P/bt2wdUBP89e/ZEp9Pd03n4JSQmJhIZGUmnTp3Yu3cvR48e\nZcaMGdqXjbKyMqZMmUJiYiJZWVl89tlnms758+cTHh5OdnY2/fr1Y/78+XdtLy0tjeDgYKytrXn/\n/fc5fvw4Bw8e5OOPP+bEiRO12s3KymLjxo1kZWWRmJjI5MmTtfGwadMmjhw5wvHjx7l27RobN260\n6ONTTz1FXl4eb731Funp6aSnpzN79myLgDYjI4OrV69W8bFZM1QEi4mJiVX6VZsvjEYjTz75JDY2\nNkyYMIHWrVtz6tQpMjIyWLFiBT/99NPdT1QdUlpaWmXbLx1bdT0O64vGkLfYGDSC0lnXKJ11S2PR\nWV/86oFymzZtaNKkCa1atdK2nT9/nsjISFxcXHj99dcBmD59OoWFhej1esaOHcsbb7zB6dOn0ev1\nTJs2jT179hAaGsqgQYNwc3Nj0qRJNQZ+u3fvpn///sC/P+g3bdrEq6++CsDixYvp0qULAD/++CPB\nwcFkZGQwYsQIALZu3cpjjz1GaWkpRUVFdOnShStXrmgzY9999x1WVlbk5OQA0KVLF4qKirT2p0+f\nTmpqKnq9noSEBADOnTtHnz59cHFx4a233gLAZDLh6upKTEwMXl5enDt3jsmTJ9OjRw88PT2ZNWuW\n1p/hw4dr9pOSkoiKirLo83vvvYeXlxdeXl4sXry4Rvtz5szBzc2NkJAQoqOjWbRoURW/FRUVMX78\neLy9vfHz89MumpUrVxIVFVXl3AEsW7YMV1dXevbsSXx8vDaDbjKZ6Nu3Lz4+PvTv359z584BMGvW\nLK3tsLAwpk+fTs+ePXF1dSUtLQ2AW7duMWrUKDw8PIiKiqJXr17ajPD169cpLi6mdevWBAYGsn//\nfqBiRvnll1/Wyvv37ycoKEjT+cUXX1Rpp6ysjKlTp2IwGPDx8eGvf/0rUHGzCAsLY+TIkXTr1o2x\nY8dqdkSEI0eOoNfrCQgIwN7eHoCePXtq4yI9PR1nZ2ecnJywsbFh9OjRbN26FYCvvvqKmJgYAGJi\nYtiyZQsA77//PnFxcQAcO3YMLy8vbWyZA/MnnngCX19fAJo3b063bt3Izc2t1e7WrVsZM2YMNjY2\nODk54ezszKFDhzQbUDH7a/apmZ07dxIZGcnOnTsZMGAADg4OODg4EB4ergW9ZWVlTJs2jXfffbfK\nNWnWDBASEkLLli25k5o0m49/6qmnOH36NOnp6cydO1fb5+TkxMCBA4Gax3+3bt2YOHEinp6eRERE\naL48deoU/fv3x9fXl+7du2M0GgGYOnUqXl5eeHt78/nnn2vjICQkhKFDh+Lp6QnAlClTcHNzIzw8\nnMuXL2v9zszMJCwsDH9/f5566ikuXrwIgL29PY888gitWrWiSZMmVXygUCgUiocUqWdWrFghnTt3\nluvXr0tRUZF07NhRcnJyRESkefPmWj2TySSenp5aOTk5WWxtbcVoNEpZWZmEh4fLpk2bRERkwoQJ\nkpGRISIiV65ckT59+mjHDR06VIxGo1y8eFF69OghIiIjRowQg8Egubm5snLlSnnzzTeltLRUOnfu\nLCIir776qhgMBtm3b5+kpKRIdHS0iIh4eHjI9evX5cMPPxSDwSDr1q0Tk8kkAQEBFn1MSUmRQYMG\nWfS5Xbt2kpeXJ4WFheLp6SkZGRliNBrFyspKDh06pNXNy8sTEZHS0lIJCwuTY8eOiYiIm5ub/PTT\nTyIiMmbMGPn666+1YzIyMsTLy0tu3bolBQUF4uHhIYcPH65iPz09XXx9feX27dty48YN6dq1qyxa\ntKiK3xYuXChxcXEiInLixAlxdHSUoqKiGs9dbm6uODk5SX5+vpSUlEhISIi8+OKLIiIyaNAgWb16\ntYiILF++XIYNGyYiIrNmzdLaDgsLk9dee01ERLZv3y79+/cXEZEFCxbICy+8ICIi33//vVhbW0tm\nZqaIiGzevFlmzpwpIiKrVq2S5557TkRE9Hq9FBUVSXBwsIiI9O/fX3bv3l1rO0uXLpW5c+eKiEhR\nUZH4+/uL0WiU5ORksbe3l9zcXCkvL5eAgABJS0sTEZHMzEx59tln5U4WLFgg8fHxIiLyxRdfyIQJ\nE7R9a9askSlTpoiIiIODg7a9vLxcK5eXl0toaKh8+eWX4u/vL/v379fqGQwGKSwstGjPaDSKo6Oj\n3Lhxo1a7U6ZMkbVr12r74uLitOtHRGTAgAHSsmVLGTVqlLattLRUfH19tX6ZfSQiMmfOHFm4cKGI\niCQkJEhCQoKIWF7D1Wk2Go0W13VtmkX+ff1u3bpVhg8fLtVR2/i3traW7777TkRERo0apfnAYDDI\nli1bRETk9u3bcuvWLdm0aZOEh4dLeXm5XLp0SRwdHeXChQuSnJwszZo1E5PJJCIVY89c7/z58+Lg\n4CCbN2+W4uJiCQgI0K7TDRs2aOOyNgBpgFuxQqFQNGrq675pXd+BuU6no1+/flouo7u7O2fOnKFD\nhw53BvBVjjUYDDg5OQEwZswY0tLSGDFiBJ988olWZ9euXVpOZXFxMTk5OdoxBQUFFBQUkJOTQ3R0\nNHv37tVsNGnShC5dunDixAm++eYbXnnlFfbu3UtZWRkhISEABAYGsm/fPlJTU3njjTdITExERLT9\ntWkfMGCANpsWFRVFWloaw4YNo2PHjhgMBq3exo0b+eSTTygtLeXChQtkZWXh6enJuHHjWLNmDbGx\nsRw8eJC1a9dqx6SlpREVFcWjjz6q2U9NTWXIkCEW9vft28ewYcN45JFHeOSRRxg8eLCmtbLf9u3b\nx3//938D4OrqSseOHcnOzq723JlMJq5cuULv3r1xcHAAYOTIkZw8eRKoSH0wzxCOHTuWadOmVfGN\nWTOAn58fJpNJ0/Hyyy8D4OHhgbe3t1Z/586dPPfccwAEBATw9ttvYzKZcHJyomnTpogIN2/e5Ntv\nv6Vnz561trNr1y6OHTvGpk2bgIrZ6lOnTmFjY4PBYKB9+/YA+Pr6YjKZCAoKIjExUZvNNJOcnMzy\n5cu1tI87H7GLSLWP3Ss/utfpdKxcuRIvLy8mTZpEQEAAALm5uTz++OPY2tpqxxUUFPD000+zePFi\nbVa4JrvVUXnfzp07uX37Nn/4wx9YtWoVMTExHDp0iF69elXbFzPnz59n06ZNpKSkVBn31Wm+G5U1\nV75+K+d930lt479Tp07auOnevTsmk4mCggLOnz/P0KFDAXjkkUeAivEWHR2NTqejTZs29O7dm2++\n+YYWLVpgMBjo2LEjAKmpqVq9du3a0bdvXwB++OEHjh8/rj3NKisr08bOvWB+guTg4ICvry9hYWHA\nvx+DqrIqq7Iq/yeXU1JSWLlyJYAW19UH9R4oAzRt2lT7v0mTJtXm/VVH5Q/rmoKOxMRELcUiNTVV\ny4+EikB3xYoVuLq6EhwczLJlyzhw4ADvvfceAKGhoWzfvh0bGxv69etHTEwM5eXlLFy4UNu/d+9e\nzp49y9ChQ5k/fz46nY5Bgwbds26zdiuriqyXZs2aaduNRiOLFi0iIyMDe3t7xo8fT2FhIVCR3zl4\n8GBsbW0ZNWqUdrzZfuUgpbJvKtuvrV5lv5n3VUd15666/tVWrs3uneOhpmPT09P5y1/+AkDXrl25\nevUq27ZtIzAwEKgIipYvX46TkxOPPfbYXdv56KOPCA8Pt2gjJSWlSn/LysqAivSXSZMmafuOHj1K\nfHw8iYmJ2heiDh06aKkmADk5OdoXwrZt23Lx4kWeeOIJLly4QJs2bbR62dnZ2NnZaekU8O8UBDMl\nJSWMGDGCsWPHMmzYMG17TXZr01LZNyNGjODQoUPExMSwY8cOrc0OHTpoNyyoSCXq27cvR44c4dSp\nUzg7OwMV6TIuLi5kZ2dX0VwTNWlOTU3VvoR6eHjw3XffUV5ebjH2ofZxfef5q5wiVR13jrfqrqPq\n6pnx8PDQ0n5+KeZA+U7MHxgNXU75/6lID4ue6spmjQ+LnprKla+lh0FPTWXlT+XPh0FP5f8rl2fP\nnk19YHX3KnVLbUGTjY2NFrzY2dlx48YNi/3p6emYTCbKy8v5/PPPq53JPXr0KD4+PgBVZv1CQkJY\nsGABvXv3Rq/Xk5ycjK2trTZDGhISQkJCAoGBgbRu3Zqff/6Z7OxsPDw8tP1r166la9eu6HQ6Hn/8\ncbZv324RjAO0aNHCQruIkJSURH5+PoWFhWzdupWgoKAqvrh+/TrNmjWjRYsWXLp0iR07dmgf1O3a\ntaN9+/bMnTuX8ePHWxwXEhLCli1bKCws5ObNm2zZsoWQkJAq9oOCgti2bRu3b9+moKCAv//979X6\nLSQkhHXr1gEVQdvZs2dxc3Or9tzpdDp69OjBnj17uHr1KqWlpRZvAAgMDGTDhg0ArFu3jtDQUK3N\nuwXQQUFBWp5oVlYWx44dA+D48eO4ublZBOi9evVi8eLF2gxsQEAACQkJVc5NdURERLBkyRJt7GVn\nZ3Pr1q1q64oI165do7S0VAuIz549S1RUFGvXrtUCRqh4W8PJkycxmUwUFxezceNGhgwZAsCQIUNY\ntWoVUPE2CXOwe+3aNV566SVSU1P5+eefNV+ac4XNGuLi4nB3d9dm3M3UZHfIkCFs2LCB4uJijEYj\nJ0+exGAwcPPmTS5cuABULFT7+uuv0ev1gGWuf0REBLt27eLq1avk5+eTlJREREQEAwcO5MKFCxiN\nRoxGI4899hjZ2dlVNNdGTZor5zd36dIFf39/Zs6cqR1nMpnYvn37PY9/s++aN2/Ok08+qeWL3759\nm8LCQkJCQti4cSPl5eVcuXKFvXv3YjAYqtgJDQ3V6l24cIHk5GSg4unLlStXOHjwIFDxZSYrK+uu\n/VcoFArFw0u9B8q1PQ6eOHEi3t7ejBs3jlatWhEUFISXlxfTpk3TArIpU6bg7u5O586dtQVu8fHx\nZGZmkpmZqX3IA+zZs4fevXtr5eDgYHJzcwkNDcXKygpHR0eLQMpgMHD58mUtmPPx8bF4lZX50at5\nv3lxkr29PRkZGcTHxwPg7e1NkyZN8PX1JSEhAZ1Oh8FgYMSIEfj4+PD000/j5+en+cOMj48Per0e\nNzc3nnnmmSpBXnR0NI6Ojri6unL+/Hl+//vfA6DX64mNjcVgMNCrVy/i4+O1oLeyfX9/f4YMGYK3\ntzcDBw7Ey8sLe3v7Kn6bPHky5eXleHt7M3r0aFatWoWNjU2N5659+/a8+eabGAwGgoOD6dSpEy1a\ntADgww8/ZMWKFfj4+LBu3TptoVVt48C8ffLkyVy5cgUPDw9mzJiBh4cHLVq0qPbtHEFBQeTk5ODv\n7w9UBM5Go1GbYa6tnQkTJuDu7o6fn5+W8mCeKb9To06nIykpSQsgAebMmUN+fj6TJk1Cr9drqS7W\n1tZ89NFHRERE4O7uzh/+8Ae6desGVCz4TEpKwsXFhd27dzN9+nQAXnnlFaZMmYKzszPLli1j+vTp\nXL58mVOnTuHi4gJUpAisXbuW5ORk9Ho9er1eW1hXk113d3dGjRqFu7s7kZGRLFmyBJ1Ox82bNxk6\ndCg+Pj74+fnh6OjIc889x5UrV7C1tdVmUlu2bMmMGTPo0aMHBoOBmTNnaqk21fm0rKzMQjNUpEsF\nBgaSnZ3N7373O1asWFGr5juv308//ZRLly7h7OyMl5cX48ePp23btvc8/iuX16xZwwcffICPjw9B\nQUFcunSJ4cOH4+3tjY+PD/369WPBggW0adOmyjgYPnw4Xbt2xd3dnZiYGG2M2djYsGnTJl5//XV8\nfX3R6/UcOHCghtHX+LhzpudhpDFoBKWzrlE665bGorPe+JVzoOuM5ORkiwVy1TF37lzZuHGjiIic\nO3dOBg4cWB/S6o0//vGPsnz58geyUVBQICIiN2/eFH9/fzl8+LCF3x7UbklJiQwePFhbKPUglJWV\nSVFRkYiInDp1Sjp37izFxcUSHh4uFy9efGD798uECRMsFmD+2qSlpcmkSZPqrT0RkbVr18o777xz\n38c/qObf4vVbE6jFfAqFQvGLqa/7ZqP5Zb49e/awaNEivvrqq4aW0iB0794dOzs7kpKSHuid0M88\n8wxZWVkUFRURGxtr8Yq3B2Hq1Kn84x//oKioiIiICO21eA/CjRs36Nu3LyUlJYgI7777rrbgUKH4\nrczFuhAAACAASURBVNBYfpmvuvzKh43GoBGUzrpG6axbGovO+vplvgZZzHc/9O7d2+Ix7H8adfWL\ncubc47pmwYIFdW7Tzs6Ob775ps7tKhQKhUKhUNwLjWZGWaFQKH6LNJYZZYVCoXiYqK8Z5XpfzKdQ\nKBQKS+zsqv5ioUKhUCgaHhUoKxQKRQNz/XpeQ0u4K5Xfrfqw0hg0gtJZ1yiddUtj0VlfqEBZoVAo\nFAqFQqGoBpWjrFAoFA1IfeXZKRQKxW8JlaOsUCgUCoVCoVA0ICpQVigUigamRYvHG1rCXWkMeYuN\nQSMonXWN0lm3NBad9YUKlBUKhaKBuXEjv6ElKBQKhaIaVI6yQqFQNCDqPcoKhULxy1E5ygqFQqFQ\nKBQKRQOiAmWFQqFQ3JXGkLfYGDSC0lnXKJ11S2PRWV+oQFnR4HTq1IkzZ87Qp08fAFauXMmLL75Y\nbd158+Zp/1+7do0///nP99XmwYMHmThxolb29/enpKTkvmw9rNTmx/rmhRdeYP/+/XVut3nz5vd1\n3Pz581m/fn2N+2fOnMk///nP+5WlceHCBSIiIrTxvWfPHsaPH//AdhUKhUJRP6hAWdGoePvtt7X/\n8/PzWbJkyX3Z2bFjB5GRkQAY/x979x5XVZU+fvxzQJRSvKSTeRlFUEDgcDhcDiocAW+o4Q3KSdLA\nFEtHpybLsKnJ0ikbs4Es+5ZfE1MrTWd0KjVtBAQaRfh5d8xROQaSRooiCnJ7fn/4ZQ/IRUcJOLXe\nr5cvz9qXtZ699uawzrPXPmRn06NHD+zs7Bolxpaiau5rS7B3714GDhxYY1lFRcVd1/vfHKOIaPPZ\nduzYQVhYWL3bvvLKKwwdOvSu49u+fTsjR46863pagpCQkOYO4ZasIUZQcTY2FWfjspY4m4oaKCvN\n7v7778fW1pbOnTtry/Ly8hg1ahQuLi48//zzAMTFxVFcXIzRaGTy5MnMnz+fU6dOYTQamTdvHikp\nKQwePJjw8HDc3NyYOXNmvRP9d+3axbBhw4D/DGY2btzI3LlzAUhISMDZ2RmA06dPExQURGZmJpGR\nkQBs2bKFe++9l/LyckpKSnB2diY/Px9fX18ADh48iI2NDbm5uQA4OztTUlKitS8izJo1i/79+zNi\nxAgefPBBNm3aBMA//vEPfHx88PLyYtq0aZSWlja4fOvWrfTv3x8/Pz9+97vfMWbMGK2NKvn5+Tz0\n0EOYTCZMJlO92d033ngDLy8vvL29mT9/PgAHDhxgwIABGAwGIiIiuHTpEnDjzfSZZ57B39+f/v37\ns2/fPiZMmICLiwsvvfSSVue//vUvXF1d0el0hISE8Pvf/x5/f3/efvttsrKyCAkJwc/Pj5EjR3Lu\n3DkAVqxYgclkwtvbm4ceeoji4mLgxoeagQMH4uXlxYsvvlgj9iVLlmAymTAYDCxYsAAAi8WCq6sr\n0dHR6PV6cnNzKSwspLS0FDs7OxwdHbX9r169Sq9evSgvLycmJkY7H3XF+MMPP+Dn53fLc/3VV18x\natQobG1tue+++2jdujUdOnSos+8VRVGUFkgUpYVZtWqVODk5SWFhoZSUlEjv3r0lNzdXRETatWun\nbWexWMTT01MrJyUlib29vWRnZ0tFRYUMHz5cNm7cKCIi06dPl8zMTBERyc/Pl9DQUG2/cePGSXZ2\ntpw7d078/f1FRCQyMlJMJpOcPXtWEhMT5YUXXpDy8nJxcnISEZG5c+eKyWSS9PR0SU5OlqioKBER\n8fDwkMLCQlm2bJmYTCZZt26dWCwWGThwYI1j/Oyzz2T06NEiInLu3Dnp1KmTbNq0SYqLi+XXv/61\n/Pvf/xYRkccee0zi4+NvudxisYiIyKRJk2TMmDFaP86ePVtbnpaWJiIiZ86ckf79+9fq961bt8qg\nQYOkuLhYREQKCgpERESv18vu3btFROSPf/yjPP300yIiEhISInFxcSIikpCQIN26dZNz587J9evX\npWfPnnLx4kUREVm6dKmsWrVK2+e3v/2tiIiUlZXJwIED5ccffxQRkU8//VQef/xxERG5cOGCFteL\nL74oy5YtExGRMWPGyJo1a0RE5N1339Wuh6+++kpmzJghIiIVFRUSHh4uu3fvluzsbLGxsZG9e/dq\n9W3atElefvll7dwnJSVp7cfGxoqISExMjGzatElKS0vrjfFW57q8vFy8vb1r9fPNALGGt+KqfmrJ\nrCFGERVnY1NxNi5ribOp3jdbNfM4XVFq0el0DB06FAcHBwDc3d05c+YMPXr0qLGd1JEtNplMWpZw\n0qRJpKWlERkZyYoVK7Rtqt92Ly0tJTc3V9unqKiIoqIicnNziYqKYvfu3Vodtra2ODs7c/z4cfbt\n28czzzzD7t27qaiowGw2AzBo0CDS09NJTU1l/vz5bN++HRHR1ldJT09n4sSJAHTt2lWbn/3tt9/S\np08f+vbtC0B0dDTvvvsuoaGhdS4PCQnBycmJ3r17a8f8wQcf1OqXr7/+mn/9619a+cqVK1y7do17\n771XW/aPf/yDxx9/HHt7ewA6duzI5cuXuXz5shZ/dHQ0Dz/8sLbP2LFjAfD09MTT05OuXbsC4OTk\nRE5ODp06dWLHjh0kJiZq+/zmN78B4Pjx4xw9elTL7FdUVNC9e3cADh8+zIsvvsjly5cpKirSpi98\n8803/O1vfwNg8uTJ2t2GHTt2sGPHDoxGI3AjO3zy5El+/etf07t3b0wmk9b+V199xeOPP67Fsn79\nekJCQvj000+ZPXu2tp2I8O2339Yb463O9d69ewkICKh1LupTlQXv2LEj3t7e2u3PqgdrmrtcpaXE\nY83lAwcOtKh4rL2s+vOX0Z/Jycna75LqdwN/ck0yHFeU/0JiYqKWCRURCQ8Pl5SUFBGpmVHOzs6u\nlVEODg7WyitXrpTf//73teqfMmWKHDhwQEREvv76a3nqqae0ddOmTZO3335bHnvsMcnMzJSZM2dq\nmUMRkYULF8rSpUtl6NChkp+fL6NHj5aRI0fKkSNHRERkzZo1Mn/+fBkwYIBUVlZKQECAPPnkk/LF\nF1/UiOHpp5/WsqwiIhEREbJp0yY5ePCgDB48WFv+9ddfS0RERL3LDxw4UOOYt2zZIuHh4SJSM6Pc\npUsXuX79el3drZk7d66sWLGixrJLly5Jr169tPLJkyfFx8dHRG5kh7OyskTkRt9XtVt93dWrVyUg\nIKDWchGRQ4cO1cq0V3F0dJRDhw6JyI3rYerUqSIi0rlzZykvLxcRkcuXL2vXw9y5c+X999+vVc/N\n14iIiLe3t1RWVoqIyJUrV8TR0VEuXrwovXr10pbHxMTIxo0b5fDhw/XGeKtz/eKLL8rmzZvr3Lc6\nrCSjrCiK0pI01fummqOstDjSwBeI29nZUV5eDoCDgwNXrlypsT4jIwOLxUJlZSUbNmyolckVEQ4d\nOoTBYABuzE8ePXq0tt5sNrNkyRKCg4MxGo0kJSVhb2+vZbfNZjPx8fEMGjSILl26cOHCBU6cOIGH\nh4e2fu3atfTr1w+dTsd9993H1q1bCQoKqhFHYGAgmzZtQkQ4f/689qnZ1dUVi8XCqVOnAFizZg0h\nISENLj99+jRnzpwBYP369XU+4DZixAjefvttrXzgwIFa2wwfPpxVq1Zp84ELCgro0KEDnTp1Ii0t\nrUa7t0NESEpK0rLl1ZdXHWt+fj579uwBoKysjGPHjgE3MvsPPPAAZWVlrF27tka/ffrppwCsW7dO\nWx4WFsaHH37I1atXATh79iz5+fm1Yjp69Chubm5aH7Vr1w5/f39tbnf1vtPpdA3GeKtzXX0evKIo\nimKd1EBZaXF0Ol2932YwY8YMvLy8mDJlCp07dyYwMBC9Xs+8efPQ6XT4+/sze/Zs3N3dcXJyYsKE\nCQDExsaSlZVFVlaWdnseICUlheDgYK0cFBTE2bNnGTx4MDY2NvTq1avGINdkMvHDDz8wePBgAAwG\nA3q9XltfNQWiar3ZbKZTp0506NCBzMxMYmNjAYiMjKRnz564u7szZcoUfHx86NChA23atGHVqlU8\n/PDDeHl50apVK5588sl6l9vb27N8+XJGjhyJn58f7du31x4Wq96Pb7/9NpmZmRgMBjw8PLTpGdVj\nCgsLY+zYsfj5+WE0Glm6dCkAq1ev5rnnnsNgMHDo0CH++Mc/3vY5q/7tItW3BWjdujUbN27k+eef\nx9vbG6PRyD//+U8AFi5cSEBAAEFBQfTv31/bNyEhgXfffRcvLy/y8vK0uoYPH05UVJT2oN/EiRMp\nKiqq0V598fzmN7/h448/1qaEVGdnZ1dvjA2d6/z8fOzt7Wnbtm2tOq1V1Ye5lswaYgQVZ2NTcTYu\na4mzyTRJ3lpRmsDNt//rsmjRIlm/fr2IiOTk5GgP1DWHoqIiERH58ccfxdnZWc6fP39X9YiIzJo1\nS+Lj4xslvsbg4+OjTZVoCYYPHy7nzp37ydtZu3atvPHGG7e1LVYy9cIaHvCxhhhFVJyNTcXZuKwl\nzqZ639T9X2OKYvVSUlJYunQpf//735s7lNsSGhrKpUuXKC0t5fnnn+exxx67o3ri4+NZvXo1paWl\n+Pj4sGLFCu2BPKXlq8p4q7diRVGU26fT6ZrkfVMNlBVFUZqRGigriqL895pqoKzmKCuKoii3ZA3z\nFq0hRlBxNjYVZ+OyljibihooK4qiNDMHh07NHYKiKIpSBzX1QlEUpRk11e1DRVGUnxM19UJRFEVR\nFEVRmpEaKCuKoii3ZA3zFq0hRlBxNjYVZ+OyljibihooK4qiKIqiKEod1BxlRVGUZlT19XAODp0o\nLLzYzNEoiqJYB/U9yoqiKL8ANwbKAqiH+hRFUW6XephPURRFaTGsYd6iNcQIKs7GpuJsXNYSZ1NR\nA2VFURRFURRFqUOzDpT79OnDmTNnCA0NBSAxMZE5c+bUue1rr72mvb58+TLvvffeHbW5Z88eZsyY\noZX9/PwoKyu7o7ruxJkzZ/jkk0+0ckPH3JLc3G8/pffff581a9bcVR2LFy/m448/pkuXLtqyf/7z\nn9jY2JCXlwfcuI46d+6MiBASEkJWVtZdtVndp59+ymuvvcbHH3+MwWDAy8uLwMBADh06pG2zfft2\n3Nzc6NevH2+88Ya2/OLFiwwfPhwXFxdGjBjBpUuXbtleWVkZvr6+5ObmEhoaioeHB56enrz99tu3\nVe/rr79Ov379cHNzY8eOHdrykSNH4u3tjYeHB9OmTavxs/L9998TFhYGwOrVq3FxccHFxYWPPvqo\nVny/+93vcHBwqDPmhvoCYNmyZfTv3x9PT0+ef/75Guv8/PwoLS2lXbt2NZbfzs9VXl4eDz/8cIPb\n3I7k5GTGjBlzy22mTp3K6tWreeWVV+66zeYQEhLS3CHckjXECCrOxqbibFzWEmdTsZqM8uuvv669\nLigoYPny5XdUz7Zt2xg1ahQA2dnZ9OjRAzs7u0aJ8XZkZ2fz8ccfa+WqB3kaIiI/6Tyc26m/er/9\n1J544gmmTJlyV3Xs2LGDESNG0K1bN/71r38B8M033+Dj40N6ejpwY/AfEBCATqe7rfPw39i+fTuj\nRo2iT58+7N69m0OHDvHSSy9pHzYqKiqYPXs227dv59ixY3zyySdanIsXL2b48OGcOHGCoUOHsnjx\n4lu2l5aWRlBQEK1ateIvf/kLR48eZc+ePbz77rscP368wXqPHTvG+vXrOXbsGNu3b2fWrFna9bBx\n40YOHDjA0aNHuXz5MuvXr69xjCNHjuTixYu8+uqrZGRkkJGRwSuvvFJjEJ6ZmcmlS5dq9XFVzJWV\nlfX2RVJSEn//+985dOgQR44c4dlnn9X2z87OpmfPnrRu3bpW3bdzPrt3785nn312y+0aQ2NfX4qi\nKErTaNaB8v3334+trS2dO3fWluXl5TFq1ChcXFy07FFcXBzFxcUYjUYmT57M/PnzOXXqFEajkXnz\n5pGSksLgwYMJDw/Hzc2NmTNn1jvw27VrF8OGDQP+84t+48aNzJ07F4CEhAScnZ0BOH36NEFBQWRm\nZhIZGQnAli1buPfeeykvL6ekpARnZ2fy8/O1zNjBgwexsbEhNzcXAGdnZ0pKSrT24+LiSE1NxWg0\nEh8fD0BOTg6hoaG4uLjw6quvAmCxWHB1dSU6Ohq9Xk9OTg6zZs3C398fT09PFixYoB3PhAkTtPp3\n7txJREREjWN+66230Ov16PV6EhIS6q1/4cKFuLm5YTabiYqKYunSpbX6raSkhKlTp+Ll5YWPj482\nlykxMZGIiIha5w5g5cqVuLq6EhAQQGxsrJbps1gsDBkyBIPBwLBhw8jJyQFgwYIFWtshISHExcUR\nEBCAq6sraWlpAFy7do2JEyfi4eFBREQEAwYM0DLChYWFlJaW0qVLFwYNGsQ333wD3MgoP/3001r5\nm2++ITAwUIvzs88+q9VORUUFzz33HCaTCYPBwAcffADcyBCGhITw8MMP079/fyZPnqzVIyIcOHAA\no9HIwIED6dChAwABAQHadZGRkUHfvn1xdHTEzs6ORx55hC1btgDw97//nejoaACio6PZvHkzAH/5\ny1+YNm0aAIcPH0av12vXVtXA/IEHHsDb2xuAdu3a0b9/f86ePdtgvVu2bGHSpEnY2dnh6OhI3759\n2bt3r1YH3Mj+VvVpla+++opRo0bx1VdfMWLECDp27EjHjh0ZPnw427dv1/pv3rx5/PnPf671M1kV\n8969e+vti/fee4/58+drH2Z/9atf1dh/5MiR3EpMTAxPPfUUgYGBODs7s2nTJuDG9afX67U4n332\nWfR6PQaDgXfeeQeAf/zjH/j4+ODl5cW0adMoLS3V2u7fvz++vr787W9/09q6evUqjz/+OAEBAfj4\n+PD3v/8dgNatW9OhQwfuueeeWpl1a2EN8xatIUZQcTY2FWfjspY4m0qzDpT37t1Lz5492bhxo7bs\nwIEDbNiwgcOHD7N+/XrOnj3L4sWLueeee9i/fz9r165l8eLFODs7s3//fu0X8L59+3jnnXc4duwY\np06d4q9//SsAsbGx2gDqxx9/xM7OTvtFVfWL3mw2k5qaCkBqaipdunQhLy+P1NRUgoODMRqNHDhw\nQFuv1+vJyMhg7969DBgwgF/96ldcv36dK1eukJqair+/P7t37+bMmTN07doVe3t77fjeeOMNzGYz\n+/fv5+mnn0ZEyMjI4K9//SuHDh3is88+0+I9efIkv/3tbzly5Ai9evXiT3/6E/v27ePgwYOkpKRw\n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\n0dHRyMnJQZs2beDk5AQAGDhwIPbt26ds35DMP/zwA/R6fZ3bP/3007hX27Zt8be//Q1RUVHIzc3F\n1KlTlXMLAM899xwOHDhQ72u2tvcaANjZ2eGNN96AVquFj48Pzp49i0GDBsHJyQkfffQRAOMe4vLy\ncrz22mtQqVTQaDT44IMPauStj0ajwZtvvmm0XW2fbW3atIGNjQ3+8Ic/wNra+jftw1y0hHGLLSEj\nIDkbm+RsXC0lZ7Phb7Bt2zY6ODjw9u3bLCoqYo8ePZiZmUmS/OMf/6isl56ezl69einTcXFxfOSR\nR2gwGFheXs7g4GB+8cUXJMmZM2cyOTmZJJmdnc3+/fsr2z377LM0GAy8fv06e/fuTZIMCQmhTqfj\ntWvXGBERwTfeeINlZWV0cHAgSb766qvU6XQ8ceIE4+PjOWnSJJKkh4cHb9++zU2bNlGn03HXrl1M\nT09n3759jY4xPj6ew4YNMzrmLl268ObNm7x79y579erF5ORkGgwGWlpa8syZM8q6N2/eJEmWlZUx\nKCiI58+fJ0m6ubnxX//6F0ly4sSJ/Prrr5VtkpOTqVKpeOfOHRYUFNDDw4Opqak12k9KSqKnpyeL\ni4uZn59PZ2dnrlu3rsZ5e//99zljxgyS5MWLF9m9e3cWFRXV+dxdu3aNdnZ2zM3NZWlpKfV6PV98\n8UWS5LBhw7hjxw6S5NatWzly5EiS5IoVK5R9BwUF8bXXXiNJHjx4kAMHDiRJrl27lnPmzCFJfvPN\nN2zdujVTUlJIkvv27ePy5ctJktu3b+f06dNJklqtlkVFRQwICCBJDhw4kLGxsfXu56OPPuLKlStJ\nkkVFRfTx8aHBYGBcXBxtbGx47do1VlRUsG/fvkxMTCRJpqSkcMqUKbzX2rVrGRYWRpL8/PPPOXPm\nTGXZzp07OX/+fJJk+/btlfkVFRXKdEVFBQMDA/n3v/+dPj4+PHnypLKeTqfj3bt3jfZnMBjYvXt3\n5ufn19vu/PnzGRkZqSybMWMG9+3bx9zcXP7pT3/iwoUL6eXlxbFjx/LGjRskK1+Dnp6eynFVnSOS\nfPvtt5Xnr0ePHsr776WXXqJKpfpNmf38/BgVFUWSXLduHa2trZV1q96/JGlnZ8ecnByjtjw9PXnm\nzBkeO3ZMeW3l5eXR3t6e5eXl9X7e1PVes7Oz49/+9jeS5CuvvEKVSsWCggJmZ2ezc+fOyjFUfT5t\n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\n" } ], "prompt_number": 4 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Top Status Codes" ] }, { "cell_type": "code", "collapsed": false, "input": [ "status_code=[]\n", "code_counts=[]\n", "status_codes = Counter(df[8]).most_common(10)\n", "for key, value in status_codes:\n", " status_code.append(key)\n", " code_counts.append(value)\n", "codes = pandas.Series(code_counts, status_code)\n", "codes.plot(kind=\"barh\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 5, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Top Requested" ] }, { "cell_type": "code", "collapsed": false, "input": [ "status_code=[]\n", "code_counts=[]\n", "status_codes = Counter(df[6]).most_common(10)\n", "for key, value in status_codes:\n", " status_code.append(key)\n", " code_counts.append(value)\n", "codes = pandas.Series(code_counts, status_code)\n", "codes.plot(kind=\"barh\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 6, "text": [ "" ] }, { "output_type": "display_data", "png": "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\nAwfE19dXRERsNptkZWWJiMjRo0fFZDKJiEh4eHida7i+vr6SmZkpq1evljFjxhjbFy1aJE8//bSI\n/N88lby8vDpzq+bOnSsJCQlSWFgonTt3Nrbn5OQY+23YsEEmTpxo3PfJJ5/IsGHDZPDgwXL06FGp\nqqoSX19fmTx5sixYsEBEpN52ZsyYIcXFxdKxY8d6z0t0dLQkJycb5Xbt2omISG5uroSHh9fZNyEh\nQe6777462x5//HFZvny5Ue7evbv88MMPsm3bNgkNDTW2//Wvf5XZs2cb5QcffFA6duwon376qbHN\nZrPJ8ePH65yPrl27yjfffGNs+7l6u3fvLt9//72IiBw+fFi6d+8uItXzsaKiooxjZs6cKXPnzhWR\nunP6QkNDZdu2bSJSPe/r+uuvr/ecjRo1StatW9fgzOd67rnnjDlwDz30kGRnZ4tI9RyB2nO4REQW\nL14s999/v1H28vKS1NTUOnP6LvQ7O336dImLixOR6rlvrVu3rred2sfXvq9mTtbJkyfllltuOe9x\n/OlPfxJvb2/x8fGps7/I+XO4RET69esnH3/8sYjoHC5H05z24wwZRTSnvTlLTke9Pv7sJcXU1FRC\nQkIAcHNzw93d3ZjrsmzZMqPneCF9+/Y1Pp22d+9edu/ejYuLizEfqaCggMrKSpKSkggODm5QB9HN\nzQ1XV1fS09OB6stENaMy546c9OnTh+3bt3Ps2DGuv/56XFxcuP7661m9enWd0aZziQiurq506dKF\n5ORkY1vtT9DVp/blV4BFixaxfv163nvvvTr73Xvvvbz99ttA9aft2rdvz4033oi/vz/ffPMN+fn5\nlJWVsWLFCu69914A3n//fQoLC9m4cSNPPPGEMeJYUVGBu7s7AN999x0RERG888473HbbbUZ7P1fv\nvffey9KlSwFYunSpMXI3ePBgdu/ezenTp6moqGDjxo306tWLL7/8kh49ehjnvPbxycnJ3HXXXQBU\nVVVRUFAAVF+K27VrF4MHD25wZoAff/zR2OeDDz5g1KhRxvNQ3yXJmrZmzZrFH//4R2PbmDFjGD16\nNI888sjPPn9QPc+rQ4cOALz99ttUVlZe9Jja5Oy3z7dr145bbrnFuFT+008/cfr0aWbNmsXOnTv5\n4osv6hxz7s8iwiuvvMKRI0fqXKIWncOllFJO6WcvKa5bt47IyEijvHTpUmJjYyktLaVr164sWbKk\n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\n" } ], "prompt_number": 6 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Top Operating Systems" ] }, { "cell_type": "code", "collapsed": false, "input": [ "status_code=[]\n", "code_counts=[]\n", "status_codes = Counter(df[13]).most_common(10)\n", "for key, value in status_codes:\n", " status_code.append(key)\n", " code_counts.append(value)\n", "codes = pandas.Series(code_counts, status_code)\n", "codes.plot(kind=\"barh\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 7, "text": [ "" ] }, { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAfIAAAD5CAYAAADcIbenAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtUVFX/BvBnvJXpKERmKuWAiPZym0EQNMEh07I0S3Op\nmYH52q/yUqalvbYSu1qhoXaz0sgyrTBTV0lmcUQt0hBSsbQUzRtmQIKX5OL+/SGcGAEH1Dlnzp7n\ns9Ys2WfOzOyHETZnf/c5YxJCCBAREZEhNdK7A0RERHTxOJATEREZGAdyIiIiA+NATkREZGAcyImI\niAysid4dIPdnMpn07gIRkSFpcWIYj8ipXoQQ0t5mzJihex+Yj/k8MZ/M2YTQ7sxuDuTk8fbt26d3\nF1yK+YxN5nwyZ9MSB3IiIiID40BOHi8hIUHvLrgU8xmbzPlkzqYlk9ByIp8M6UKL3cxmbxQXF2rY\nGyIiYzCZTJrUynlETvUkar2VlBTp2qvLQVEUvbvgUsxnbDLnkzmbljiQExERGRin1smpc1Prdf03\n0WbqiIjIaNxmav3MmTPo3bt3vTpjsVhQWFizXrp+/Xr88MMPanvlypX45ZdfGtjVc/r374/Dhw8D\nAJYtW4YXX3zxop7H1ex2O7KysmpsT0lJwYQJE3ToUU3z5s3Dhx9+qLZHjx6N9evXIy4uDvv379ex\nZ0REVF9OB/IlS5ZgwIABDgueUlJSMHPmzBr71vXXR3p6Or7//nu1vWLFCuzcubPBnT19+jQKCwvR\nvn17AEBaWhr69+/f4Oe5XCoqKuq8r64FYlpfJe3s2bN13jd69GjMnz+/1vs86WpustfpmM/YZM4n\nczYtOR3Ily5dikGDBjlsu9Av+fnz56Nbt24IDQ3Frl27sG/fPixYsACvvfYawsPDkZGRgdWrV+OJ\nJ55AeHg49u7dC7vdjsceeww2mw0hISHYsmVLrc+tKAri4uIAnLvSWE5OjvqY4uJiCCHg4+OjHmXe\nf//9WLduHQYMGIDt27cDAGw2G5577jkAwDPPPIP33nsP48ePx+rVqwEAd999N8aMGQMAWLRoEZ5+\n+mmHPtjtdkyaNAmRkZGYN28esrKyYLfbERERgdtuuw35+fnqvh9++OEFM+3btw8333wzwsLCcMst\nt+DAgQMAgD179iA6OhqhoaF4+umnYTab63xvQkNDERISgmnTpqnbW7ZsiSlTpsBqteKHH37AwoUL\n0aVLF0RFRWHs2LHqjIDZbIaPjw9yc3MBAK1bt0azZs3g4+ODxo0b1/keExGR+7jgQF5RUYEdO3Yg\nMDDQYfuFptnbtGmDrKwsPPzww0hKSoLFYsFDDz2Exx9/HFu3bkVsbCzuvPNOJCUlYevWrfD394fJ\nZMLp06eRnZ2NN998Ew888AAA4KeffsLYsWPV505LS8Ntt90GAMjOzobVagUA9OrVCxs3bkRubi46\ndeqEjRs3AgAyMzNx0003ISYmBhs2bEBxcTGaNm2qzg5s3LgRvXv3Vu8HgEOHDqnT/hs2bEDv3r0d\n8plMJpSVlWHLli2YMGECJkyYgOXLl+Onn37C6NGjMX36dPV7VFum6t+7CRMmYPTo0fj5558xcuRI\nTJw4EQDw6KOPYtKkSdi2bRuuv/76Wr/Phw8fxrRp05Ceno6cnBxs2bIFK1euBACcOnUK0dHRyMnJ\ngZ+fH55//nn8+OOP2LRpE3bt2uXwh1j37t2RkZEBAEhOTkaPHj2QmpqKDh061Pkey8Zut+vdBZdi\nPmOTOZ/M2bR0wQ9N+euvv9SjwYKCAtxyyy0AgMLCQpSWluKLL74AAHz00UcICgoCAAwePBgAEB4e\njs8//1x9rvMH//PbI0aMAADExMSguLgYxcXFiIiIQEREhLrPpk2bMHv2bACO0+oxMTHIyMhAx44d\n8fDDD+Odd97B4cOH4e3tjebNmyMmJgbz5s2Dn58f7rjjDqxbtw6nT59GXl4eOnfujKuuugrJycn4\n5ZdfEBQUhL///hv5+fnIzMzE66+/XuP7MmzYMADAr7/+itzcXPX7UlFRoU77m0ymGpmOHz/u8DyZ\nmZnq9/C+++7Dk08+qW5ftWqV+n2ZMmVKjT5s2bIFcXFx8PHxAQCMHDkSGRkZGDRoEBo3bowhQ4YA\nADZv3gy73Q4vLy8AwNChQ7F79271edq3b4+9e/fWeP6aEgBYKr/2AmAFYAfw7/RY1Q8l22yzzbYn\nthVFQUpKCoBza8Y0Iy4gPz9fBAQE1NiekpIiZs6cWWO7xWIRBQUFQgghtmzZIux2uxBCiMTERJGU\nlKTul5CQIJYvX6627Xa7SE9PV9s33HCDKC4udnjuPXv2iLvuusvhMYWFhUIIIQ4cOCB69OghRowY\nIfbu3SsGDhwo5s6dKyZPniyEEOLMmTOiU6dO4qmnnhLfffedGD9+vEhOThZDhgxRn69r165izpw5\nYtGiRSIpKUkkJyeLiIiIGhntdrvIysoSQgixbds20aNHj1q/d3Vlev/998X48eOFEEJcc801oqys\nTAghRGlpqbjmmmuEEEL4+PiIiooKIYQQx48fFy1btqzx/CtXrhT333+/2n7vvffUvNX3/+KLL0R8\nfLzanjt3rvr6Qgjx1ltvialTp9aaoQoAAYg6bhf8L2QI1d8nGTGfscmcT+ZsQmj3+/GCU+vXXHMN\nTpw4Udvg36Al9WazGSUlJQ7t4uJih30++eQTAOemu728vGrUhdesWaMegR8/fhzl5eXw9vYGAPj6\n+uKvv/7C77//Dj8/P/Tq1QtJSUnqtHizZs3g6+uLzz77DD179kRMTIzD/QAQHR2N5ORkdao9KSkJ\nsbGxteapyt6lSxccO3YMmZmZAICysjJ1EZ8Qwmmmnj17YtmyZQDOLSqser3o6GikpqYCgHr/+SIj\nI7F+/XoUFBSgoqICy5Ytq1EGAICIiAisX78ef//9N8rLy7F8+XKHqfUjR45o+5cjERFdVhccyBs3\nbozg4GDs2rXLYbvJZKp1wVv1bdX3GThwIFasWAGbzYaNGzdi+PDhePXVV9GtWzd1WvfKK69EeHg4\nHnnkESxcuBCAY428en38m2++Qd++fR1eOzo6Wq3l9+rVC4cPH0avXr3U+2NjY9G2bVtcccUV6v0x\nMTHq/TExMaioqIC/vz9sNhuKiorU+8eOHYutW7fWyNmsWTOkpqZi6tSpsFqtsNls6ml2JpOp1kzV\nvy/z58/H+++/j7CwMCxZsgRz584FcK5WPWfOHFitVuzZswetW7dWX9tmswEA2rVrh1mzZiEuLg5W\nqxUREREYOHBgjfehQ4cO+N///ofu3bujV69e8PPzQ6tWrdT7N2/e7PB98ERVU2SyYj5jkzmfzNm0\n5PSCMCkpKTh69CimTp3qsk7ExcVh9uzZCA8Pr/X+M2fOICYmBps3bwZwbmAdO3Ysunfv7rI+6en0\n6dNo3rw5gHNH5J988glWrFhx0c938uRJtGjRAuXl5Rg8eDDGjBmDQYMGobi4GH369KnzLIEqvCAM\nEVHDuc0FYe699158+eWXuv6yvuKKK9RBHADeffddaQdxAMjKyoLVakVYWBjefvttdYHfxUpMTFRP\ng/P391dPJ0xJScGjjz56ObpsaFWLVWTFfMYmcz6Zs2npgqvWgXPTx1WnJ7lKenq6S5/faHr16oWc\nnJzL9nyvvvpqrdurTncjIiLj4rXWySlOrRMRNZxWU+tOj8iJzqn9an5ms7fG/SAiour4MaZUL1Wn\nHJ5/Ky6u+SE5RiN7nY75jE3mfDJn0xIHciIiIgNjjZyc0qrOQ0QkE7c5/YyIiIjcFwdy8niy1+mY\nz9hkzidzNi1xIKd6qbq07IVurVpdrXc3iYg8Dmvk5NSFzyN32JO1dCKiSqyRExERkVMcyMnjyV6n\nYz5jkzmfzNm0xIGciIjIwFgjN5jGjRsjNDRUba9cuRI33HCDS1+TNXIioobTqkbOgdxgzGYzSkpK\nGvy4iooKNG7c+KJekwM5EVHDcbEb1VtOTg6io6MRFhaGwYMH4++//wYA2O12TJo0CZGRkZg3bx6y\nsrJgt9sRERGB2267Dfn5+Th+/Di6du2K3bt3AwBGjBiBhQsX6hlHc7LX6ZjP2GTOJ3M2LfHTzwzm\n9OnTsNlsAAB/f38sX74c999/P9544w3ExMRgxowZmDlzJl577TWYTCaUlZVhy5YtKC8vR2xsLFav\nXg0fHx988sknmD59OhYuXIjXX38dCQkJmDhxIo4fP44xY8bU8soJACyVX3sBsAKwV7YVhz2rfjjt\ndrsh2lWf/e4u/WE+5vOkfDK1FUVBSkoKAMBisUArnFo3mPOn1o8fP47Q0FDs378fALB3714MHToU\nWVlZiIuLw7PPPouYmBjs2LEDN910E/z9/QGcm2pv37490tLSAAAPPvggPv/8c2zbtg3t27d3eE1O\nrRMRNRw/j5wuyvn/aVq0aKFuDwoKwvfff1/jMWfPnsUvv/yCFi1aoLCwsMZATkRE7os1coNr3bo1\nvL29sXHjRgDAhx9+qE75AP8O7F26dMGxY8eQmZkJACgrK8POnTsBAK+99hqCgoKwZMkSjB49GuXl\n5dqG0FnV1JismM/YZM4nczYt8YjcYM5Nczv64IMP8NBDD+HUqVPo1KkT3n///Rr7N2vWDKmpqWod\nvLy8HJMmTUKTJk2wcOFCbNmyBS1atEBsbCyef/55JCYmahWJiIguAWvk5BRr5EREDcfTz4iIiMgp\nDuTk8WSv0zGfscmcT+ZsWmKNnOqpZm3+fGaztwb9ICKi6lgjJ6e0qvMQEcmENXIiIiJyigM5eTzZ\n63TMZ2wy55M5m5Y4kBMRERkYa+TkFGvkREQNxxo5uRWTydSgW6tWV+vdZSIij8CBnOpJNOhWUlKk\nUz8bTvY6HfMZm8z5ZM6mJQ7kREREBsYaOTlV/2utOzyKdXUi8miskRMREZFTHMglk5+fj+HDhyMg\nIAARERG444478NtvvyEkJKTGvgkJCfD394fNZkN4eDg2bNigQ4/1J3udjvmMTeZ8MmfTEq+1LhEh\nBO6++26MHj0ay5YtAwBs374dR48erXV/k8mEpKQkDB48GIqi4JFHHsH27du17DIREV0iHpFLJD09\nHc2aNcODDz6obgsJCYGvr2+dj6mq30RHR2PPnj0u76M7stvtenfBpZjP2GTOJ3M2LfGIXCI7duxA\nt27dLuqxaWlpCA4OvsAeCQAslV97AbACsFe2lcp/z29Xtiqnz6p+aNlmm222ZWwrioKUlBQAgMVi\ngVa4al0i8+fPR15eHubMmeOwfd++fRg4cGCNafOEhARkZGSgadOm2L9/PzZt2lTrHwKyr1pXFEX9\noZQR8xmbzPlkzgZw1TpdhKCgIGRlZdV7/6oa+a5du5CUlIRnn33Whb0jIiJX4EAukZtvvhlnzpzB\nu+++q27btm0bDhw4UOdjqv5aHD9+PA4cOIAffvjB5f10NzIfEQDMZ3Qy55M5m5Y4kEtmxYoVWLdu\nHQICAhAcHIzp06ejXbt22LVrF66//nr1lpqaCqBq2vycp59+GjNnztSr60REdBFYIyenWCM3NuYz\nNpnzyZwNYI2ciIiI6oFH5OSU7EfkRESuoNUROc8jp3oyOd+lGrPZ20X9ICKi6ji1TvUihGjQrbi4\nUO8u11vVBR1kxXzGJnM+mbNpiQM5ERGRgbFGTk5pVechIpIJV60TERGRUxzIqV5MJlODbq1aXa13\nl+tN9jod8xmbzPlkzqYlrlqnemrY9FBJScNWuRMR0cVhjZyc4nnkREQNxxo5EREROcWBnDye7HU6\n5jM2mfPJnE1LHMiJiIgMjDVyN9O4cWOEhoaioqICAQEBWLx4MVq2bHnJz2uxWLB161ZcfXXDV5Oz\nRk5E1HCskXuoq666CtnZ2di2bRtatWqFBQsWXJbnrf654/Vx9uzZy/K6RETkWhzI3ViPHj2wZ88e\nAMCePXvQv39/REREIDY2Frt27QIArF69GtHR0QgPD0ffvn3x559/AgAKCgrQr18/BAcHY+zYsQ5/\nFX700UeIioqCzWbDQw89pA7aLVu2xJQpU2C1WpGZmalxWv3IXqdjPmOTOZ/M2bTEgdxNVVRUYO3a\ntQgODgYAPPjgg5g/fz5++uknvPrqq3jkkUcAADExMcjMzMTWrVsxbNgwvPLKKwCAmTNnIjY2Fjt2\n7MDdd9+NP/74AwDwyy+/4NNPP8X333+P7OxsNGrUCEuWLAEAnDp1CtHR0cjJyUHPnj3P61ECgMTK\nWzIApdp9Si3tai1FcfiBdbd2Tk6OW/WH+ZjPk/LJ1FYUBQkJCUhISEBiYiK0whq5m2nSpAlCQkJw\n6NAhWCwWZGZm4tSpU7j22mvRpUsXdb/S0lLk5uZi+/btmDx5MvLz81FaWgp/f3989dVXsNlsWLFi\nBSwWCwDAx8cHu3fvxtKlS/HSSy/h2muvBQCcPn0a9957L5555hk0bdoUpaWlNabhWSMnImo4fh65\nh2revDmys7Nx+vRp3HrrrVi5ciVuueUWeHl5ITs7u8b+EyZMwJQpUzBgwACsX7/e4a/Auv4DxcfH\n48UXX6yx/corr2xwLZ2IiPTFqXU31bx5c8ybNw/Tp09Hy5Yt4efnh9TUVADnBuht27YBAIqLi9G+\nfXsAQEpKivr42NhYfPzxxwCANWvWoKioCCaTCX369EFqaiqOHTsGACgsLFSn3T1V9WkyGTGfscmc\nT+ZsWuJA7maqHxFbrVYEBATg008/xZIlS7Bw4UJYrVYEBwdj1apVAIDExEQMHToUERERaNOmjfr4\nGTNmICMjA8HBwVixYgU6duwIALjxxhvx/PPPo1+/fggLC0O/fv2Qn59f47WJiMgYWCMnp1gjJyJq\nOJ5HTkRERE5xICePJ3udjvmMTeZ8MmfTEletUz01rH5uNnu7qB9ERFQda+TklFZ1HiIimbBGTkRE\nRE5xICePJ3udjvmMTeZ8MmfTEgdyIiIiA2ONnJy6mAvFmM3eKC4udEFviIiMQasaOQdycooXhCEi\najgudiPSiOx1OuYzNpnzyZxNSxzIiYiIDIxT6+QUp9aJiBqOU+ukib/++gtxcXEICwtDVFQUTp48\nqXeXiIioATiQe7i33noLdrsdP//8M7744gs0a9ZM7y5pTvY6HfMZm8z5ZM6mJQ7kHu6KK67AgQMH\nAADt2rVD06ZNde4RERE1BAdyD+fv749FixZhwYIFTvZMAJBYeUsGoFS7T6mlXa2lKA5/ebtbu2qb\nu/SH+ZjPU/LZ7Xa36s+lthVFQUJCAhISEpCYmAitcLGbBzt06BBiY2OxcOFCjBo1CnPnzsXgwYMR\nGhqKTZs2wWw2A+BiNyKii8HFbuRymzZtQq9evWC32/Htt9/iiSeewJtvvgl/f391EPcE5x/9yIb5\njE3mfDJn0xIHcg8WFhaGTZs24c8//0RgYCDmz5+P8ePHY8SIEXp3jYiI6olT6x5uyZIlePnll9G0\naVNcd911iI+Px7Rp07B27VoEBAQA4NQ6EdHF4LXWyW1wICciajjWyIk0InudjvmMTeZ8MmfTEgdy\nIiIiA+PUOjnFzyMnImo4rabWm7j8FUgK/HuPiMg9cWqdPJ7sdTrmMzaZ88mcTUscyImIiAyMNXJy\nSqs6DxGRTHj6GRERETnFgZzqxWQyGfbWqtXVF8wme52O+YxN5nwyZ9MSV61TPRl3ar2kpOGnzxER\nGQVr5OTUxV2i1Z2wxk9E2mONnIiIiJziQE4eT/Y6HfMZm8z5ZM6mJQ7kbkoIgZiYGKSlpanbPvvs\nM/Tv37/GvikpKZgwYcJled3L+VxEROR6XOzmpkwmE95++20MHToUcXFxKCsrw/Tp0/H111/Xuu/l\nfF1PY7fb9e6CSzGfscmcT+ZsWuIRuRsLCgrCwIEDMWvWLDz33HO47777MHLkSISHh+Omm27C7t27\n1X0PHz6M/v37IzAwEFOnTlW3L126FKGhoQgJCcG0adOcbiciImPhEbmbmzFjBmw2G6688kps3LgR\n06dPR+PGjbFu3Tr873//Q2pqKoQQyMnJQU5ODpo1a4YuXbpg4sSJMJlMmDZtGrZu3QovLy/069cP\nK1euRGRkZK3bBw0adIEVlgkALJVfewGwArBXtpXKf921fa4WV/XXf1VdrqqdnJwMq9Va5/1GbzOf\nsdsy56teI3eH/lyOPCkpKQAAi8UCrfD0MwOYMWMGzGYzhg0bhokTJ+L333+HyWRCeXk5du7ciZSU\nFHz//fd45513AAC33347pk+fjr/++guff/45PvjgAwDAokWLkJubi969e2P58uU1ts+ePRsffPAB\nsrKyMG/ePPX1ZT/9TKk2yMuI+YxN5nwyZwN4+hlV06hRI5hMJjzzzDPo06cPtm/fjtWrV+P06dPq\nPldccYX6dePGjVFeXl6j3l3Xf6jq2+Pj4x0GcU8g8y8SgPmMTuZ8MmfTEgdyAzl+/Djat28PAHj/\n/fcvuK/JZEL37t2xfv16FBQUoKKiAsuWLYPdbq9zOxERGQ8HcoMwmUx48skn8dRTTyE8PBwVFRXq\nEXfVNcXPd91112HWrFmIi4uD1WpFREQEBg4cWOd2AFi9ejVefvllTbPprXqdTkbMZ2wy55M5m5ZY\nIyenWCM3NuYzNpnzyZwN0K5GzoGcnJJ9ICcicgUudiMiIiKnOJBTPZkMezObvS+YTPY6HfMZm8z5\nZM6mJV4QhuqFU9NERO6JNXJySqs6DxGRTFgjJyIiIqc4kJPHk71Ox3zGJnM+mbNpiQM5ERGRgbFG\nTk554meUk/7MZm8UFxfq3Q2ii8YLwpDbMP4FYciYuMiSjI2L3Yg0o+jdARdT9O6AS8leZ5U5n8zZ\ntMSBnIiIyMA4tU5OcWqd9MGpdTI2Tq1TvTRq1AijRo1S2+Xl5WjTpo36saRHjx7FgAEDYLVaERQU\nhDvuuAMAsG/fPoSEhAA4N73VunVr2Gw29fbdd99pH4aIiBqMA7nBtWjRArm5ufjnn38AAN988w18\nfX3VlebPPPMMbr31VuTk5CA3N7fOzxrv3bs3srOz1dvNN9+sWQb9KXp3wMUUvTvgUrLXWWXOJ3M2\nLXEgl8Dtt9+OL7/8EgCwdOlSjBgxQp3Oyc/PR4cOHdR9g4ODa30OTmESERkTB3IJDBs2DMuWLcOZ\nM2ewfft2REVFqfeNGzcOY8aMwc0334wXX3wRR44cqfU5NmzY4DC1npeXd94eCQASK2/JcDzKUwze\nhpP7jd6Gk/vdu60oisOR2/ntqm313d9obZnz2e12t+rPpbYVRUFCQgISEhKQmJgIrXCxm8GZzWaU\nlJQgMjIS48aNw++//46+ffsiKSkJq1evBgAUFRUhLS0Na9aswdq1a7Fjxw6cOHECAwcOxPbt26Eo\nCmbPnq3ufz4udiN9cLEbGRsXu1GD3HnnnZgyZYrDtHoVb29vjBgxAosXL0ZkZCQyMjJ06qW7UvTu\ngIspenfApc4/epWNzPlkzqYlDuSSeOCBB5CYmIigoCCH7enp6Th16hQAoKSkBHv27EHHjh316CIR\nEbkAB3KDq1qd3qFDB4wfP17dVrU9KysLkZGRCAsLQ8+ePTF27Fh069bN4bFAzRr5559/rnESPdn1\n7oCL2fXugEvZ7Xa9u+BSMueTOZuWWCMnp1gjJ32wRk7Gxho5kWYUvTvgYoreHXAp2eusMueTOZuW\nOJATEREZGKfWySl+HjnpgZ9HTkan1dR6E5e/AkmBf+8REbknTq2Tx5O9Tsd8xiZzPpmzaYkDORER\nkYGxRk5OaVXnISKSCWvk5Fa44I3cERfEEXFqnepNSHxLd4M+MN/F3EpKiqSvs8qcT+ZsWuJATkRE\nZGCskZNTvEQruS+u3yD3xUu0EhERkVMcyIkkvxa57Plkr7PKnE/mbFriQO4hDh48iEGDBiEwMBAB\nAQF47LHHUFZWhlOnTmHkyJEIDQ1FSEgIYmJicPLkSb27S0RE9cQauQcQQiAqKgrjxo1DfHw8zp49\niwcffBBXX301vL29UVBQgKSkJADAb7/9ho4dO6JZs2bq41kjJ/fFGjm5L55HTpfNd999h+bNmyM+\nPh4A0KhRI7z22mvw8/PDPffcg8DAQHXfzp0769VNIiK6CBzIPUBubi66devmsM1sNuOGG27AyJEj\ncc899yA1NRV9+vRBfHw8AgICanmWBACWyq+9AFgB2CvbSuW/Rm0nQ64857flzpecnAyr1Qq7/Vy7\nqu4qS1vmfNVr5O7Qn8uRJyUlBQBgsVigFU6te4D58+cjLy8Pc+bMcdgeHh6OxYsXw8/PD2vXrsW6\ndevw8ccf44cffkDXrl3V/eSfWlfw7yAhIwXy5jMhPT1d/aUqI0VRpM0nczZAu6l1DuQe4Ntvv8Wz\nzz6L9evXq9uKi4vh7++PgwcP4sorr1S3T5gwAX5+fnj88cfVbfIP5GRcrJGT++J55HTZ9OnTB6dO\nncKHH34IAKioqMDkyZMxevRobN26FUVFRQCA0tJS7Ny5U9MpISIiujQcyD3EihUr8NlnnyEwMBBd\nunTBVVddhRdeeAF79uyB3W5HaGgowsPDERkZicGDB+vdXY0penfAxRS9O+BSsp+LLHM+mbNpiYvd\nPISvry9WrVpVY/uoUaMwatQoHXpERESXA2vk5BRr5OS+WCMn98UaORERETnFgZzqycQbb253M5u9\npa+zypxP5mxa4kBO9SKEkPaWnp6uex+Y7+JuxcWFev9oEOmONXJySqs6DxGRTFgjJyIiIqc4kJPH\nk71Ox3zGJnM+mbNpieeRU72cOwWNiOjyM5u9ud7hErBGTk7xPHIici051+GwRk5EREROcSAnkvxa\n5MxndIreHXAhRe8OSIEDORERkYGxRk5OsUZORK7FGvml4BE5ERGRgXEgJ5K+Tqfo3QEXU/TugIsp\nenfAhRS9OyAFnkdO9ZQAwFL5tRcAKwB7ZVup/Neo7Rw368/lbjOfsduy56tqV7YqLxJjt9sN11YU\nBSkpKQAAi8UCrbBGTk6xRk5ErsUa+aXg1DoREZGBcSAnkr5Op+jdARdT9O6Aiyl6d8CFFL07IAUO\n5ERERAaDwi4fAAAI1UlEQVTGGjk5xRo5EbkWa+SXgkfkREREBsaBnEj6Op2idwdcTNG7Ay6m6N0B\nF1L07oAUOJATEREZGC8IQ/Vk0rsDRCQps9lb7y4YGgdyqhcZF6IQEcmAU+vk8aousSgr5jM2mfPJ\nnE1LHMiJiIgMjOeRk1NanQtJRCQTrX53skZO9XLuojBERMZlNnujuLhQ725cdjwiJ6fkv7Kbgn8/\nUlFGCpjPyBTIm0+Bttm0nV3kld2IiIjIKR6Rk1PyH5ETkWfgETkRERG5GQ7kHmjfvn0ICQlx2JaY\nmIjZs2fr1CO9KXp3wMUUvTvgYoreHXAxRe8OuJCidwekwIGcAHBVOhGRUXEgJwcLFizAggUL9O6G\nxux6d8DF7Hp3wMXsenfAxex6d8CF7Hp3QAo8j5wc/N///V8d9yQAsFR+7QXAin9/CJXKf9lmm222\n3btddVlYu/3ytxVFQUpKCgDAYrFAK1y17oH279+PAQMGYPv27eq2mTNnwmw24/HHH6+xv/yr1hXI\nfWSggPmMTIG8+RTwPPJLx6l1D+Tj44OioiKHbQUFBWjTpo1OPSIioovFI3IPFRkZiVdeeQVxcXEo\nLCxEjx49kJaWhi+//BImkwnjxo1T95X/iJyIPAOPyEkiixcvxnPPPQebzYY+ffogMTERfn5++PXX\nX3HNNdfo3T0iIqonHpGTg4EDB2LFihVo0uTfdZDyH5ErkLcGCTCf0SmQN58C1sgvHVetk4PVq1fr\n3QUiImoAHpGTU/IfkRORZ+AROXk0XvmNiIzNbPbWuwsuwYGc6kXmiRtFUdSLO8iI+YxN5nwyZ9MS\nV62Tx8vJydG7Cy7FfMYmcz6Zs2mJAzl5vL///lvvLrgU8xmbzPlkzqYlDuREREQGxoGcPN6+ffv0\n7oJLMZ+xyZxP5mxa4uln5BQ/q5yI6OLw9DNyC/xbj4jIfXFqnYiIyMA4kBMRERkYB3IiIiID40BO\nF5SWloauXbuic+fOePnll/XujlMWiwWhoaGw2Wzo3r07AKCwsBB9+/ZFYGAg+vXr53Du6ksvvYTO\nnTuja9euWLt2rbo9KysLISEh6Ny5Mx599FF1+5kzZzBs2DB07twZ0dHR2L9/v8uyPPDAA2jbti1C\nQkLUbVpl+eCDDxAYGIjAwEAsXrxYs3yJiYnw9fWFzWaDzWbDmjVrDJvvwIEDiIuLQ1BQEIKDgzFv\n3jwA8ryHdeWT4T38559/EBUVBavViv/85z946qmnALjxeyeI6lBeXi46deok8vLyRGlpqQgLCxM7\nd+7Uu1sXZLFYREFBgcO2J554Qrz88stCCCFmzZolpk6dKoQQIjc3V4SFhYnS0lKRl5cnOnXqJM6e\nPSuEECIyMlL8+OOPQggh+vfvL9asWSOEEOKNN94QDz/8sBBCiGXLlolhw4a5LEtGRobYunWrCA4O\n1jRLQUGB8Pf3F0VFRaKoqEj9Wot8iYmJYvbs2TX2NWK+I0eOiOzsbCGEECUlJSIwMFDs3LlTmvew\nrnyyvIcnT54UQghRVlYmoqKixIYNG9z2veMROdVp8+bNCAgIgMViQdOmTTF8+HCsXLlS7245Jc5b\nZb9q1SrEx8cDAOLj4/HFF18AAFauXIkRI0agadOmsFgsCAgIwI8//ogjR46gpKREPaK///771cdU\nf64hQ4bg22+/dVmOmJgYeHs7fsiDFlm+/vpr9OvXD15eXvDy8kLfvn2RlpamST6g9rMkjJjvuuuu\ng9VqBQC0bNkSN954Iw4dOiTNe1hXPkCO9/Cqq64CAJSWlqKiogLe3t5u+95xIKc6HTp0CNdff73a\n9vX1VX9Q3ZXJZMItt9yCiIgIvPvuuwCAo0ePom3btgCAtm3b4ujRowCAw4cPw9fXV31sVb7zt3fo\n0EHNXf170qRJE7Ru3RqFhYWaZANcn6WgoKDO59LK/PnzERYWhjFjxqhTl0bPt2/fPmRnZyMqKkrK\n97AqX3R0NAA53sOzZ8/CarWibdu2agnBXd87DuRUJyNeCGbTpk3Izs7GmjVr8MYbb2DDhg0O95tM\nJkPmqo1MWao8/PDDyMvLQ05ODtq1a4fJkyfr3aVLduLECQwZMgRz586F2Wx2uE+G9/DEiRO45557\nMHfuXLRs2VKa97BRo0bIycnBwYMHkZGRgfT0dIf73em940BOderQoQMOHDigtg8cOODwl6I7ateu\nHQCgTZs2uPvuu7F582a0bdsW+fn5AIAjR47g2muvBVAz38GDB+Hr64sOHTrg4MGDNbZXPeaPP/4A\nAJSXl+P48eO4+uqrNckGwOVZfHx8dH3fr732WvUX5H//+19s3rxZ7asR85WVlWHIkCEYNWoU7rrr\nLgByvYdV+e677z41n2zvYevWrXHHHXcgKyvLfd+7y7k4gORSVlYm/P39RV5enjhz5ozbL3Y7efKk\nKC4uFkIIceLECdGzZ0/x9ddfiyeeeELMmjVLCCHESy+9VGOBypkzZ8TevXuFv7+/ukCle/fuIjMz\nU5w9e7bGApWHHnpICCHE0qVLXbrYTQgh8vLyaix2c3WWgoIC4efnJ4qKikRhYaH6tRb5Dh8+rH49\nZ84cMWLECMPmO3v2rBg1apR47LHHHLbL8h7WlU+G9/DYsWPq8506dUrExMSIdevWue17x4GcLuir\nr74SgYGBolOnTuLFF1/UuzsXtHfvXhEWFibCwsJEUFCQ2t+CggLRp08f0blzZ9G3b1+HH4oXXnhB\ndOrUSXTp0kWkpaWp23/66ScRHBwsOnXqJCZMmKBu/+eff8TQoUNFQECAiIqKEnl5eS7LM3z4cNGu\nXTvRtGlT4evrKxYtWqRZlkWLFomAgAAREBAgUlJSNMm3cOFCMWrUKBESEiJCQ0PFoEGDRH5+vmHz\nbdiwQZhMJhEWFiasVquwWq1izZo10ryHteX76quvpHgPt23bJmw2mwgLCxMhISHilVdeEUJo97uk\nodn4oSlEREQGxho5ERGRgXEgJyIiMjAO5ERERAbGgZyIiMjAOJATEREZGAdyIiIiA/t/55+yR0dS\n1zoAAAAASUVORK5CYII=\n" } ], "prompt_number": 7 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Top Browsers" ] }, { "cell_type": "code", "collapsed": false, "input": [ "status_code=[]\n", "code_counts=[]\n", "status_codes = Counter(df[14]).most_common(10)\n", "for key, value in status_codes:\n", " status_code.append(key)\n", " code_counts.append(value)\n", "codes = pandas.Series(code_counts, status_code)\n", "codes.plot(kind=\"barh\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "pyout", "prompt_number": 8, "text": [ "" ] }, { "output_type": "display_data", "png": "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\n" } ], "prompt_number": 8 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Here is the motivation \n" ] }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "http://memojo.com/~sgala/blog/2007/09/29/Python-Erlang-Map-Reduce" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# http://memojo.com/~sgala/blog/2007/09/29/Python-Erlang-Map-Reduce\n", "\n", "import re\n", "from collections import defaultdict\n", "\n", "import time, sys\n", "timer = time.time\n", "FILENAME = \"/Users/antigen/Downloads/o1000k.ap\"\n", "\n", "t0, t1 = timer(), time.clock()\n", "\n", "matches = (re.search(r\"GET /ongoing/When/\\d\\d\\dx/(\\d\\d\\d\\d/\\d\\d/\\d\\d/[^ .]+) \",line) for line in open(FILENAME))\n", "mapp = (match.groups()[0] for match in matches if match)\n", "\n", "count=defaultdict(int)\n", "for page in mapp:\n", " count[page] +=1\n", "\n", "for key in sorted(count.keys(), key=count.get)[-10:]:\n", " pass # print \"%40s = %s\" % (key, count[key])\n", "\n", "print timer() - t0, time.clock() - t1\n", "\n", "for key in sorted(count.keys(), key=count.get)[-10:]:\n", " print \"%40s = %s\" % (key, count[key])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "4.53695988655 4.498544\n", " 2006/09/11/Making-Markup = 600\n", " 2003/02/04/Construction = 600\n", " 2004/04/27/RSSticker = 600\n", " 2003/06/23/SamsPie = 700\n", " 2003/09/18/NXML = 800\n", " 2003/10/16/Debbie = 800\n", " 2006/01/31/Data-Protection = 800\n", " 2003/07/25/NotGaming = 1300\n", " 2006/07/28/Open-Data = 2000\n", " 2006/09/29/Dynamic-IDE = 8900\n" ] } ], "prompt_number": 3 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "A slightly optimized version of Santiago Gala's original Python" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# a slightly optimized version of Santiago Gala's original Python\n", "# implementation. see:\n", "# http://memojo.com/~sgala/blog/2007/09/29/Python-Erlang-Map-Reduce\n", "\n", "import re\n", "from collections import defaultdict\n", "\n", "FILE = \"/Users/antigen/Downloads/o1000k.ap\"\n", "\n", "import time, sys\n", "if sys.platform == \"win32\":\n", " timer = time.clock\n", "else:\n", " timer = time.time\n", "\n", "t0, t1 = timer(), time.clock()\n", "\n", "pat = re.compile(r\"GET /ongoing/When/\\d\\d\\dx/(\\d\\d\\d\\d/\\d\\d/\\d\\d/[^ .]+) \")\n", "\n", "search = pat.search\n", "\n", "# map\n", "matches = (search(line) for line in open(FILE, \"rb\") if \"GET /ongoing/When\" in line)\n", "mapp = (match.group(1) for match in matches if match)\n", "\n", "# reduce\n", "count = defaultdict(int)\n", "for page in mapp:\n", " count[page] +=1\n", "\n", "for key in sorted(count, key=count.get)[:10]:\n", " pass # print \"%40s = %s\" % (key, count[key])\n", "\n", "print timer() - t0, time.clock() - t1\n", "\n", "# sanity check\n", "for key in sorted(count, key=count.get)[-10:]:\n", " print \"%40s = %s\" % (key, count[key])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1.46199202538 1.44284\n", " 2006/09/11/Making-Markup = 600\n", " 2003/02/04/Construction = 600\n", " 2004/04/27/RSSticker = 600\n", " 2003/06/23/SamsPie = 700\n", " 2003/09/18/NXML = 800\n", " 2003/10/16/Debbie = 800\n", " 2006/01/31/Data-Protection = 800\n", " 2003/07/25/NotGaming = 1300\n", " 2006/07/28/Open-Data = 2000\n", " 2006/09/29/Dynamic-IDE = 8900\n" ] } ], "prompt_number": 5 }, { "cell_type": "heading", "level": 3, "metadata": {}, "source": [ "Chunked access" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# chunked access\n", "\n", "import re\n", "from collections import defaultdict\n", "\n", "#FILE = \"o1000k.ap\"\n", "\n", "def getchunks(file, size=1024*1024):\n", " # scan a file, and yield sequence of (start, size) chunk descriptors\n", " # where all chunks contain full lines\n", " f = open(file, \"rb\")\n", " while 1:\n", " start = f.tell()\n", " f.seek(size, 1)\n", " s = f.readline() # skip forward to next line ending\n", " yield start, f.tell() - start\n", " if not s:\n", " break\n", "\n", "if 0:\n", "\n", " def process(file, chunk):\n", " # collect statistics for a chunk (process lines)\n", " f = open(file, \"rb\")\n", " f.seek(chunk[0])\n", " d = defaultdict(int)\n", " search = pat.search\n", " for line in f.read(chunk[1]).splitlines():\n", " if \"GET /ongoing/When\" in line:\n", " m = search(line)\n", " if m:\n", " d[m.group(1)] += 1\n", " return d\n", "\n", "else:\n", "\n", " def process(file, chunk):\n", " # collect statistics for a chunk (process entire chunk)\n", " f = open(file, \"rb\")\n", " f.seek(chunk[0])\n", " d = defaultdict(int)\n", " s = f.read(chunk[1])\n", " for page in pat.findall(s):\n", " d[page] += 1\n", " return d\n", "\n", "# --------------------------------------------------------------------\n", "# main program\n", "\n", "import time, sys\n", "if sys.platform == \"win32\":\n", " timer = time.clock\n", "else:\n", " timer = time.time\n", "\n", "t0, t1 = timer(), time.clock()\n", "\n", "pat = re.compile(r\"GET /ongoing/When/\\d\\d\\dx/(\\d\\d\\d\\d/\\d\\d/\\d\\d/[^ .]+) \")\n", "\n", "count = defaultdict(int)\n", "\n", "for chunk in getchunks(FILE):\n", " for key, value in process(FILE, chunk).items():\n", " count[key] += value\n", "\n", "for key in sorted(count, key=count.get)[:10]:\n", " pass # print \"%40s = %s\" % (key, count[key])\n", "\n", "print timer() - t0, time.clock() - t1\n", "\n", "# --------------------------------------------------------------------\n", "\n", "for key in sorted(count, key=count.get)[-10:]:\n", " print \"%40s = %s\" % (key, count[key])" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1.24685287476 1.211357\n", " 2005/07/27/Atomic-RSS = 600\n", " 2003/02/04/Construction = 600\n", " 2004/04/27/RSSticker = 600\n", " 2003/06/23/SamsPie = 700\n", " 2003/09/18/NXML = 800\n", " 2003/10/16/Debbie = 800\n", " 2006/01/31/Data-Protection = 800\n", " 2003/07/25/NotGaming = 1300\n", " 2006/07/28/Open-Data = 2000\n", " 2006/09/29/Dynamic-IDE = 8900\n" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "import re\n", "from collections import defaultdict, namedtuple\n", "\n", "format_pat= re.compile( \n", " r\"(?P[\\d\\.]+)\\s\" \n", " r\"(?P\\S*)\\s\" \n", " r\"(?P\\S*)\\s\"\n", " r\"\\[(?P