Skip to content

Instantly share code, notes, and snippets.

@kanhua
Last active August 29, 2015 14:07
Show Gist options
  • Save kanhua/eba1bac946bab4d89670 to your computer and use it in GitHub Desktop.
Save kanhua/eba1bac946bab4d89670 to your computer and use it in GitHub Desktop.
Explore the Titanic data on Kaggle
{
"metadata": {
"language": "Julia",
"name": "",
"signature": "sha256:6394928c631f491d9b3776e1af071144d00c1446e0ec4d032c094af7b3d8edd6"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Exploratory Analyses of Titanic data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load packages and data"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"using Gadfly\n",
"using DataFrames\n",
"df=readtable(\"train.csv\")"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<table class=\"data-frame\"><tr><th></th><th>PassengerId</th><th>Survived</th><th>Pclass</th><th>Name</th><th>Sex</th><th>Age</th><th>SibSp</th><th>Parch</th><th>Ticket</th><th>Fare</th><th>Cabin</th><th>Embarked</th></tr><tr><th>1</th><td>1</td><td>0</td><td>3</td><td>Braund, Mr. Owen Harris</td><td>male</td><td>22.0</td><td>1</td><td>0</td><td>A/5 21171</td><td>7.25</td><td>NA</td><td>S</td></tr><tr><th>2</th><td>2</td><td>1</td><td>1</td><td>Cumings, Mrs. John Bradley (Florence Briggs Thayer)</td><td>female</td><td>38.0</td><td>1</td><td>0</td><td>PC 17599</td><td>71.2833</td><td>C85</td><td>C</td></tr><tr><th>3</th><td>3</td><td>1</td><td>3</td><td>Heikkinen, Miss. Laina</td><td>female</td><td>26.0</td><td>0</td><td>0</td><td>STON/O2. 3101282</td><td>7.925</td><td>NA</td><td>S</td></tr><tr><th>4</th><td>4</td><td>1</td><td>1</td><td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td><td>female</td><td>35.0</td><td>1</td><td>0</td><td>113803</td><td>53.1</td><td>C123</td><td>S</td></tr><tr><th>5</th><td>5</td><td>0</td><td>3</td><td>Allen, Mr. William Henry</td><td>male</td><td>35.0</td><td>0</td><td>0</td><td>373450</td><td>8.05</td><td>NA</td><td>S</td></tr><tr><th>6</th><td>6</td><td>0</td><td>3</td><td>Moran, Mr. James</td><td>male</td><td>NA</td><td>0</td><td>0</td><td>330877</td><td>8.4583</td><td>NA</td><td>Q</td></tr><tr><th>7</th><td>7</td><td>0</td><td>1</td><td>McCarthy, Mr. Timothy J</td><td>male</td><td>54.0</td><td>0</td><td>0</td><td>17463</td><td>51.8625</td><td>E46</td><td>S</td></tr><tr><th>8</th><td>8</td><td>0</td><td>3</td><td>Palsson, Master. Gosta Leonard</td><td>male</td><td>2.0</td><td>3</td><td>1</td><td>349909</td><td>21.075</td><td>NA</td><td>S</td></tr><tr><th>9</th><td>9</td><td>1</td><td>3</td><td>Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)</td><td>female</td><td>27.0</td><td>0</td><td>2</td><td>347742</td><td>11.1333</td><td>NA</td><td>S</td></tr><tr><th>10</th><td>10</td><td>1</td><td>2</td><td>Nasser, Mrs. Nicholas (Adele Achem)</td><td>female</td><td>14.0</td><td>1</td><td>0</td><td>237736</td><td>30.0708</td><td>NA</td><td>C</td></tr><tr><th>11</th><td>11</td><td>1</td><td>3</td><td>Sandstrom, Miss. Marguerite Rut</td><td>female</td><td>4.0</td><td>1</td><td>1</td><td>PP 9549</td><td>16.7</td><td>G6</td><td>S</td></tr><tr><th>12</th><td>12</td><td>1</td><td>1</td><td>Bonnell, Miss. Elizabeth</td><td>female</td><td>58.0</td><td>0</td><td>0</td><td>113783</td><td>26.55</td><td>C103</td><td>S</td></tr><tr><th>13</th><td>13</td><td>0</td><td>3</td><td>Saundercock, Mr. William Henry</td><td>male</td><td>20.0</td><td>0</td><td>0</td><td>A/5. 2151</td><td>8.05</td><td>NA</td><td>S</td></tr><tr><th>14</th><td>14</td><td>0</td><td>3</td><td>Andersson, Mr. Anders Johan</td><td>male</td><td>39.0</td><td>1</td><td>5</td><td>347082</td><td>31.275</td><td>NA</td><td>S</td></tr><tr><th>15</th><td>15</td><td>0</td><td>3</td><td>Vestrom, Miss. Hulda Amanda Adolfina</td><td>female</td><td>14.0</td><td>0</td><td>0</td><td>350406</td><td>7.8542</td><td>NA</td><td>S</td></tr><tr><th>16</th><td>16</td><td>1</td><td>2</td><td>Hewlett, Mrs. (Mary D Kingcome) </td><td>female</td><td>55.0</td><td>0</td><td>0</td><td>248706</td><td>16.0</td><td>NA</td><td>S</td></tr><tr><th>17</th><td>17</td><td>0</td><td>3</td><td>Rice, Master. Eugene</td><td>male</td><td>2.0</td><td>4</td><td>1</td><td>382652</td><td>29.125</td><td>NA</td><td>Q</td></tr><tr><th>18</th><td>18</td><td>1</td><td>2</td><td>Williams, Mr. Charles Eugene</td><td>male</td><td>NA</td><td>0</td><td>0</td><td>244373</td><td>13.0</td><td>NA</td><td>S</td></tr><tr><th>19</th><td>19</td><td>0</td><td>3</td><td>Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)</td><td>female</td><td>31.0</td><td>1</td><td>0</td><td>345763</td><td>18.0</td><td>NA</td><td>S</td></tr><tr><th>20</th><td>20</td><td>1</td><td>3</td><td>Masselmani, Mrs. Fatima</td><td>female</td><td>NA</td><td>0</td><td>0</td><td>2649</td><td>7.225</td><td>NA</td><td>C</td></tr><tr><th>21</th><td>21</td><td>0</td><td>2</td><td>Fynney, Mr. Joseph J</td><td>male</td><td>35.0</td><td>0</td><td>0</td><td>239865</td><td>26.0</td><td>NA</td><td>S</td></tr><tr><th>22</th><td>22</td><td>1</td><td>2</td><td>Beesley, Mr. Lawrence</td><td>male</td><td>34.0</td><td>0</td><td>0</td><td>248698</td><td>13.0</td><td>D56</td><td>S</td></tr><tr><th>23</th><td>23</td><td>1</td><td>3</td><td>McGowan, Miss. Anna \"Annie\"</td><td>female</td><td>15.0</td><td>0</td><td>0</td><td>330923</td><td>8.0292</td><td>NA</td><td>Q</td></tr><tr><th>24</th><td>24</td><td>1</td><td>1</td><td>Sloper, Mr. William Thompson</td><td>male</td><td>28.0</td><td>0</td><td>0</td><td>113788</td><td>35.5</td><td>A6</td><td>S</td></tr><tr><th>25</th><td>25</td><td>0</td><td>3</td><td>Palsson, Miss. Torborg Danira</td><td>female</td><td>8.0</td><td>3</td><td>1</td><td>349909</td><td>21.075</td><td>NA</td><td>S</td></tr><tr><th>26</th><td>26</td><td>1</td><td>3</td><td>Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)</td><td>female</td><td>38.0</td><td>1</td><td>5</td><td>347077</td><td>31.3875</td><td>NA</td><td>S</td></tr><tr><th>27</th><td>27</td><td>0</td><td>3</td><td>Emir, Mr. Farred Chehab</td><td>male</td><td>NA</td><td>0</td><td>0</td><td>2631</td><td>7.225</td><td>NA</td><td>C</td></tr><tr><th>28</th><td>28</td><td>0</td><td>1</td><td>Fortune, Mr. Charles Alexander</td><td>male</td><td>19.0</td><td>3</td><td>2</td><td>19950</td><td>263.0</td><td>C23 C25 C27</td><td>S</td></tr><tr><th>29</th><td>29</td><td>1</td><td>3</td><td>O'Dwyer, Miss. Ellen \"Nellie\"</td><td>female</td><td>NA</td><td>0</td><td>0</td><td>330959</td><td>7.8792</td><td>NA</td><td>Q</td></tr><tr><th>30</th><td>30</td><td>0</td><td>3</td><td>Todoroff, Mr. Lalio</td><td>male</td><td>NA</td><td>0</td><td>0</td><td>349216</td><td>7.8958</td><td>NA</td><td>S</td></tr><tr><th>&vellip;</th><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td></tr></table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 1,
"text": [
"891x12 DataFrame\n",
"| Row | PassengerId | Survived | Pclass |\n",
"|-----|-------------|----------|--------|\n",
"| 1 | 1 | 0 | 3 |\n",
"| 2 | 2 | 1 | 1 |\n",
"| 3 | 3 | 1 | 3 |\n",
"| 4 | 4 | 1 | 1 |\n",
"| 5 | 5 | 0 | 3 |\n",
"| 6 | 6 | 0 | 3 |\n",
"| 7 | 7 | 0 | 1 |\n",
"| 8 | 8 | 0 | 3 |\n",
"| 9 | 9 | 1 | 3 |\n",
"| 10 | 10 | 1 | 2 |\n",
"| 11 | 11 | 1 | 3 |\n",
"\u22ee\n",
"| 880 | 880 | 1 | 1 |\n",
"| 881 | 881 | 1 | 2 |\n",
"| 882 | 882 | 0 | 3 |\n",
"| 883 | 883 | 0 | 3 |\n",
"| 884 | 884 | 0 | 2 |\n",
"| 885 | 885 | 0 | 3 |\n",
"| 886 | 886 | 0 | 3 |\n",
"| 887 | 887 | 0 | 2 |\n",
"| 888 | 888 | 1 | 1 |\n",
"| 889 | 889 | 0 | 3 |\n",
"| 890 | 890 | 1 | 1 |\n",
"| 891 | 891 | 0 | 3 |\n",
"\n",
"| Row | Name | Sex |\n",
"|-----|-------------------------------------------------------|----------|\n",
"| 1 | \"Braund, Mr. Owen Harris\" | \"male\" |\n",
"| 2 | \"Cumings, Mrs. John Bradley (Florence Briggs Thayer)\" | \"female\" |\n",
"| 3 | \"Heikkinen, Miss. Laina\" | \"female\" |\n",
"| 4 | \"Futrelle, Mrs. Jacques Heath (Lily May Peel)\" | \"female\" |\n",
"| 5 | \"Allen, Mr. William Henry\" | \"male\" |\n",
"| 6 | \"Moran, Mr. James\" | \"male\" |\n",
"| 7 | \"McCarthy, Mr. Timothy J\" | \"male\" |\n",
"| 8 | \"Palsson, Master. Gosta Leonard\" | \"male\" |\n",
"| 9 | \"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\" | \"female\" |\n",
"| 10 | \"Nasser, Mrs. Nicholas (Adele Achem)\" | \"female\" |\n",
"| 11 | \"Sandstrom, Miss. Marguerite Rut\" | \"female\" |\n",
"\u22ee\n",
"| 880 | \"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)\" | \"female\" |\n",
"| 881 | \"Shelley, Mrs. William (Imanita Parrish Hall)\" | \"female\" |\n",
"| 882 | \"Markun, Mr. Johann\" | \"male\" |\n",
"| 883 | \"Dahlberg, Miss. Gerda Ulrika\" | \"female\" |\n",
"| 884 | \"Banfield, Mr. Frederick James\" | \"male\" |\n",
"| 885 | \"Sutehall, Mr. Henry Jr\" | \"male\" |\n",
"| 886 | \"Rice, Mrs. William (Margaret Norton)\" | \"female\" |\n",
"| 887 | \"Montvila, Rev. Juozas\" | \"male\" |\n",
"| 888 | \"Graham, Miss. Margaret Edith\" | \"female\" |\n",
"| 889 | \"Johnston, Miss. Catherine Helen \\\"Carrie\\\"\" | \"female\" |\n",
"| 890 | \"Behr, Mr. Karl Howell\" | \"male\" |\n",
"| 891 | \"Dooley, Mr. Patrick\" | \"male\" |\n",
"\n",
"| Row | Age | SibSp | Parch | Ticket | Fare | Cabin |\n",
"|-----|------|-------|-------|--------------------|---------|--------|\n",
"| 1 | 22.0 | 1 | 0 | \"A/5 21171\" | 7.25 | NA |\n",
"| 2 | 38.0 | 1 | 0 | \"PC 17599\" | 71.2833 | \"C85\" |\n",
"| 3 | 26.0 | 0 | 0 | \"STON/O2. 3101282\" | 7.925 | NA |\n",
"| 4 | 35.0 | 1 | 0 | \"113803\" | 53.1 | \"C123\" |\n",
"| 5 | 35.0 | 0 | 0 | \"373450\" | 8.05 | NA |\n",
"| 6 | NA | 0 | 0 | \"330877\" | 8.4583 | NA |\n",
"| 7 | 54.0 | 0 | 0 | \"17463\" | 51.8625 | \"E46\" |\n",
"| 8 | 2.0 | 3 | 1 | \"349909\" | 21.075 | NA |\n",
"| 9 | 27.0 | 0 | 2 | \"347742\" | 11.1333 | NA |\n",
"| 10 | 14.0 | 1 | 0 | \"237736\" | 30.0708 | NA |\n",
"| 11 | 4.0 | 1 | 1 | \"PP 9549\" | 16.7 | \"G6\" |\n",
"\u22ee\n",
"| 880 | 56.0 | 0 | 1 | \"11767\" | 83.1583 | \"C50\" |\n",
"| 881 | 25.0 | 0 | 1 | \"230433\" | 26.0 | NA |\n",
"| 882 | 33.0 | 0 | 0 | \"349257\" | 7.8958 | NA |\n",
"| 883 | 22.0 | 0 | 0 | \"7552\" | 10.5167 | NA |\n",
"| 884 | 28.0 | 0 | 0 | \"C.A./SOTON 34068\" | 10.5 | NA |\n",
"| 885 | 25.0 | 0 | 0 | \"SOTON/OQ 392076\" | 7.05 | NA |\n",
"| 886 | 39.0 | 0 | 5 | \"382652\" | 29.125 | NA |\n",
"| 887 | 27.0 | 0 | 0 | \"211536\" | 13.0 | NA |\n",
"| 888 | 19.0 | 0 | 0 | \"112053\" | 30.0 | \"B42\" |\n",
"| 889 | NA | 1 | 2 | \"W./C. 6607\" | 23.45 | NA |\n",
"| 890 | 26.0 | 0 | 0 | \"111369\" | 30.0 | \"C148\" |\n",
"| 891 | 32.0 | 0 | 0 | \"370376\" | 7.75 | NA |\n",
"\n",
"| Row | Embarked |\n",
"|-----|----------|\n",
"| 1 | \"S\" |\n",
"| 2 | \"C\" |\n",
"| 3 | \"S\" |\n",
"| 4 | \"S\" |\n",
"| 5 | \"S\" |\n",
"| 6 | \"Q\" |\n",
"| 7 | \"S\" |\n",
"| 8 | \"S\" |\n",
"| 9 | \"S\" |\n",
"| 10 | \"C\" |\n",
"| 11 | \"S\" |\n",
"\u22ee\n",
"| 880 | \"C\" |\n",
"| 881 | \"S\" |\n",
"| 882 | \"S\" |\n",
"| 883 | \"S\" |\n",
"| 884 | \"S\" |\n",
"| 885 | \"S\" |\n",
"| 886 | \"Q\" |\n",
"| 887 | \"S\" |\n",
"| 888 | \"S\" |\n",
"| 889 | \"S\" |\n",
"| 890 | \"C\" |\n",
"| 891 | \"Q\" |"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"List the summary of the data"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"describe(df)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"PassengerId\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Min 1.0"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"1st Qu. 223.5\n",
"Median 446.0\n",
"Mean 446.0\n",
"3rd Qu. 668.5\n",
"Max 891.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Survived\n",
"Min 0.0\n",
"1st Qu. 0.0\n",
"Median 0.0\n",
"Mean 0.3838383838383838\n",
"3rd Qu. 1.0\n",
"Max 1.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Pclass\n",
"Min 1.0\n",
"1st Qu. 2.0\n",
"Median 3.0\n",
"Mean 2.308641975308642\n",
"3rd Qu. 3.0\n",
"Max 3.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Name\n",
"Length 891\n",
"Type UTF8String\n",
"NAs 0\n",
"NA% 0.0%\n",
"Unique 891\n",
"\n",
"Sex\n",
"Length 891\n",
"Type UTF8String\n",
"NAs 0\n",
"NA% 0.0%\n",
"Unique 2\n",
"\n",
"Age\n",
"Min 0.42\n",
"1st Qu. 20.125\n",
"Median 28.0\n",
"Mean 29.69911764705882\n",
"3rd Qu. 38.0\n",
"Max 80.0\n",
"NAs 177\n",
"NA% 19.87%\n",
"\n",
"SibSp\n",
"Min 0.0\n",
"1st Qu. 0.0\n",
"Median 0.0\n",
"Mean 0.5230078563411896\n",
"3rd Qu. 1.0\n",
"Max 8.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Parch\n",
"Min 0.0\n",
"1st Qu. 0.0\n",
"Median 0.0\n",
"Mean 0.38159371492704824\n",
"3rd Qu. 0.0\n",
"Max 6.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Ticket\n",
"Length 891\n",
"Type UTF8String\n",
"NAs 0\n",
"NA% 0.0%\n",
"Unique 681\n",
"\n",
"Fare\n",
"Min 0.0\n",
"1st Qu. 7.9104\n",
"Median 14.4542\n",
"Mean 32.20420796857464\n",
"3rd Qu. 31.0\n",
"Max 512.3292\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Cabin\n",
"Length 891\n",
"Type UTF8String\n",
"NAs 687\n",
"NA% 77.1%\n",
"Unique 148\n",
"\n",
"Embarked\n",
"Length 891\n",
"Type UTF8String\n",
"NAs 2\n",
"NA% 0.22%\n",
"Unique 4\n",
"\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Test the data type"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"typeof(df)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
"DataFrame (constructor with 22 methods)"
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get the first row"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[1,:]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<table class=\"data-frame\"><tr><th></th><th>PassengerId</th><th>Survived</th><th>Pclass</th><th>Name</th><th>Sex</th><th>Age</th><th>SibSp</th><th>Parch</th><th>Ticket</th><th>Fare</th><th>Cabin</th><th>Embarked</th></tr><tr><th>1</th><td>1</td><td>0</td><td>3</td><td>Braund, Mr. Owen Harris</td><td>male</td><td>22.0</td><td>1</td><td>0</td><td>A/5 21171</td><td>7.25</td><td>NA</td><td>S</td></tr></table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"1x12 DataFrame\n",
"| Row | PassengerId | Survived | Pclass | Name | Sex |\n",
"|-----|-------------|----------|--------|---------------------------|--------|\n",
"| 1 | 1 | 0 | 3 | \"Braund, Mr. Owen Harris\" | \"male\" |\n",
"\n",
"| Row | Age | SibSp | Parch | Ticket | Fare | Cabin | Embarked |\n",
"|-----|------|-------|-------|-------------|------|-------|----------|\n",
"| 1 | 22.0 | 1 | 0 | \"A/5 21171\" | 7.25 | NA | \"S\" |"
]
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Read the column of Passenger's name"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[:Name]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 5,
"text": [
"891-element DataArray{UTF8String,1}:\n",
" \"Braund, Mr. Owen Harris\" \n",
" \"Cumings, Mrs. John Bradley (Florence Briggs Thayer)\"\n",
" \"Heikkinen, Miss. Laina\" \n",
" \"Futrelle, Mrs. Jacques Heath (Lily May Peel)\" \n",
" \"Allen, Mr. William Henry\" \n",
" \"Moran, Mr. James\" \n",
" \"McCarthy, Mr. Timothy J\" \n",
" \"Palsson, Master. Gosta Leonard\" \n",
" \"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\" \n",
" \"Nasser, Mrs. Nicholas (Adele Achem)\" \n",
" \"Sandstrom, Miss. Marguerite Rut\" \n",
" \"Bonnell, Miss. Elizabeth\" \n",
" \"Saundercock, Mr. William Henry\" \n",
" \u22ee \n",
" \"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)\" \n",
" \"Shelley, Mrs. William (Imanita Parrish Hall)\" \n",
" \"Markun, Mr. Johann\" \n",
" \"Dahlberg, Miss. Gerda Ulrika\" \n",
" \"Banfield, Mr. Frederick James\" \n",
" \"Sutehall, Mr. Henry Jr\" \n",
" \"Rice, Mrs. William (Margaret Norton)\" \n",
" \"Montvila, Rev. Juozas\" \n",
" \"Graham, Miss. Margaret Edith\" \n",
" \"Johnston, Miss. Catherine Helen \\\"Carrie\\\"\" \n",
" \"Behr, Mr. Karl Howell\" \n",
" \"Dooley, Mr. Patrick\" "
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Convert data to factors"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pool!(df,[:Sex])\n",
"pool!(df,[:Survived])\n",
"pool!(df,[:Pclass])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "heading",
"level": 5,
"metadata": {},
"source": [
"Plot the histogram of Sex by Suvived column"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plot(df,x=\"Sex\",color=\"Survived\",Geom.histogram)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\"\n",
" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
" xmlns:gadfly=\"http://www.gadflyjl.org/ns\"\n",
" version=\"1.2\"\n",
" width=\"141.42mm\" height=\"100mm\" viewBox=\"0 0 141.42 100\"\n",
" stroke=\"none\"\n",
" fill=\"#000000\"\n",
" stroke-width=\"0.3\"\n",
" font-size=\"3.88\"\n",
"\n",
" id=\"fig-8be528a403df4859ab87da7e32cf1464\">\n",
"<g class=\"plotroot yscalable\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-1\">\n",
" <g font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#564A55\" stroke=\"none\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-2\">\n",
" <text x=\"67.07\" y=\"92\" text-anchor=\"middle\">Sex</text>\n",
" </g>\n",
" <g class=\"guide xlabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-3\">\n",
" <text x=\"39.54\" y=\"86.39\" text-anchor=\"middle\" visibility=\"visible\" gadfly:scale=\"1.0\">male</text>\n",
" <text x=\"94.59\" y=\"86.39\" text-anchor=\"middle\" visibility=\"visible\" gadfly:scale=\"1.0\">female</text>\n",
" </g>\n",
" <g class=\"guide colorkey\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-4\">\n",
" <g font-size=\"2.82\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#4C404B\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-5\">\n",
" <text x=\"126.43\" y=\"41.75\" dy=\"0.35em\">1.0</text>\n",
" <text x=\"126.43\" y=\"51.47\" dy=\"0.35em\">0.5</text>\n",
" <text x=\"126.43\" y=\"61.19\" dy=\"0.35em\">0.0</text>\n",
" </g>\n",
" <g shape-rendering=\"crispEdges\" stroke=\"none\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-6\">\n",
" <rect x=\"124.11\" y=\"60.7\" width=\"1.31\" height=\"0.49\" fill=\"#004D84\"/>\n",
" <rect x=\"124.11\" y=\"60.21\" width=\"1.31\" height=\"0.49\" fill=\"#005B8D\"/>\n",
" <rect x=\"124.11\" y=\"59.73\" width=\"1.31\" height=\"0.49\" fill=\"#006995\"/>\n",
" <rect x=\"124.11\" y=\"59.24\" width=\"1.31\" height=\"0.49\" fill=\"#00769D\"/>\n",
" <rect x=\"124.11\" y=\"58.76\" width=\"1.31\" height=\"0.49\" fill=\"#0083A3\"/>\n",
" <rect x=\"124.11\" y=\"58.27\" width=\"1.31\" height=\"0.49\" fill=\"#278FA9\"/>\n",
" <rect x=\"124.11\" y=\"57.78\" width=\"1.31\" height=\"0.49\" fill=\"#409BAF\"/>\n",
" <rect x=\"124.11\" y=\"57.3\" width=\"1.31\" height=\"0.49\" fill=\"#55A7B5\"/>\n",
" <rect x=\"124.11\" y=\"56.81\" width=\"1.31\" height=\"0.49\" fill=\"#69B2BA\"/>\n",
" <rect x=\"124.11\" y=\"56.33\" width=\"1.31\" height=\"0.49\" fill=\"#7BBCC0\"/>\n",
" <rect x=\"124.11\" y=\"55.84\" width=\"1.31\" height=\"0.49\" fill=\"#8DC6C5\"/>\n",
" <rect x=\"124.11\" y=\"55.36\" width=\"1.31\" height=\"0.49\" fill=\"#9ED0CB\"/>\n",
" <rect x=\"124.11\" y=\"54.87\" width=\"1.31\" height=\"0.49\" fill=\"#A5CFC7\"/>\n",
" <rect x=\"124.11\" y=\"54.38\" width=\"1.31\" height=\"0.49\" fill=\"#ABCEC4\"/>\n",
" <rect x=\"124.11\" y=\"53.9\" width=\"1.31\" height=\"0.49\" fill=\"#B1CCC2\"/>\n",
" <rect x=\"124.11\" y=\"53.41\" width=\"1.31\" height=\"0.49\" fill=\"#B5CCC1\"/>\n",
" <rect x=\"124.11\" y=\"52.93\" width=\"1.31\" height=\"0.49\" fill=\"#B7CBBF\"/>\n",
" <rect x=\"124.11\" y=\"52.44\" width=\"1.31\" height=\"0.49\" fill=\"#B9CBBD\"/>\n",
" <rect x=\"124.11\" y=\"51.95\" width=\"1.31\" height=\"0.49\" fill=\"#BBCBBB\"/>\n",
" <rect x=\"124.11\" y=\"51.47\" width=\"1.31\" height=\"0.49\" fill=\"#BDCABA\"/>\n",
" <rect x=\"124.11\" y=\"50.98\" width=\"1.31\" height=\"0.49\" fill=\"#BFCAB8\"/>\n",
" <rect x=\"124.11\" y=\"50.5\" width=\"1.31\" height=\"0.49\" fill=\"#C2C9B7\"/>\n",
" <rect x=\"124.11\" y=\"50.01\" width=\"1.31\" height=\"0.49\" fill=\"#C4C9B6\"/>\n",
" <rect x=\"124.11\" y=\"49.53\" width=\"1.31\" height=\"0.49\" fill=\"#C6C8B5\"/>\n",
" <rect x=\"124.11\" y=\"49.04\" width=\"1.31\" height=\"0.49\" fill=\"#C9C7B4\"/>\n",
" <rect x=\"124.11\" y=\"48.55\" width=\"1.31\" height=\"0.49\" fill=\"#CCC7B2\"/>\n",
" <rect x=\"124.11\" y=\"48.07\" width=\"1.31\" height=\"0.49\" fill=\"#CFC6AE\"/>\n",
" <rect x=\"124.11\" y=\"47.58\" width=\"1.31\" height=\"0.49\" fill=\"#D4C5AA\"/>\n",
" <rect x=\"124.11\" y=\"47.1\" width=\"1.31\" height=\"0.49\" fill=\"#D8C3A6\"/>\n",
" <rect x=\"124.11\" y=\"46.61\" width=\"1.31\" height=\"0.49\" fill=\"#D3B79A\"/>\n",
" <rect x=\"124.11\" y=\"46.13\" width=\"1.31\" height=\"0.49\" fill=\"#CDAB8E\"/>\n",
" <rect x=\"124.11\" y=\"45.64\" width=\"1.31\" height=\"0.49\" fill=\"#C89E82\"/>\n",
" <rect x=\"124.11\" y=\"45.15\" width=\"1.31\" height=\"0.49\" fill=\"#C19177\"/>\n",
" <rect x=\"124.11\" y=\"44.67\" width=\"1.31\" height=\"0.49\" fill=\"#BA836C\"/>\n",
" <rect x=\"124.11\" y=\"44.18\" width=\"1.31\" height=\"0.49\" fill=\"#B27563\"/>\n",
" <rect x=\"124.11\" y=\"43.7\" width=\"1.31\" height=\"0.49\" fill=\"#AA665A\"/>\n",
" <rect x=\"124.11\" y=\"43.21\" width=\"1.31\" height=\"0.49\" fill=\"#A05752\"/>\n",
" <rect x=\"124.11\" y=\"42.72\" width=\"1.31\" height=\"0.49\" fill=\"#96484A\"/>\n",
" <rect x=\"124.11\" y=\"42.24\" width=\"1.31\" height=\"0.49\" fill=\"#8B3844\"/>\n",
" <rect x=\"124.11\" y=\"41.75\" width=\"1.31\" height=\"0.49\" fill=\"#7E273E\"/>\n",
" <g stroke=\"#FFFFFF\" stroke-width=\"0.2\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-7\">\n",
" <path fill=\"none\" d=\"M124.11,41.75 L 125.43 41.75\"/>\n",
" <path fill=\"none\" d=\"M124.11,51.47 L 125.43 51.47\"/>\n",
" <path fill=\"none\" d=\"M124.11,61.19 L 125.43 61.19\"/>\n",
" </g>\n",
" </g>\n",
" <g fill=\"#362A35\" font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" stroke=\"none\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-8\">\n",
" <text x=\"124.11\" y=\"37.75\">Survived</text>\n",
" </g>\n",
" </g>\n",
" <g clip-path=\"url(#fig-8be528a403df4859ab87da7e32cf1464-element-10)\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-9\">\n",
" <g pointer-events=\"visible\" opacity=\"1\" fill=\"none\" stroke=\"none\" class=\"guide background\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-11\">\n",
" <rect x=\"12.02\" y=\"5\" width=\"110.09\" height=\"77.72\"/>\n",
" </g>\n",
" <g class=\"guide ygridlines xfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-12\">\n",
" <path fill=\"none\" d=\"M12.02,166.72 L 122.11 166.72\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,154.43 L 122.11 154.43\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,142.14 L 122.11 142.14\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,129.86 L 122.11 129.86\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,117.57 L 122.11 117.57\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,105.29 L 122.11 105.29\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,93 L 122.11 93\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 122.11 80.72\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,68.43 L 122.11 68.43\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,56.14 L 122.11 56.14\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,43.86 L 122.11 43.86\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,31.57 L 122.11 31.57\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,19.29 L 122.11 19.29\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,7 L 122.11 7\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-5.29 L 122.11 -5.29\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-17.57 L 122.11 -17.57\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-29.86 L 122.11 -29.86\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-42.14 L 122.11 -42.14\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-54.43 L 122.11 -54.43\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-66.72 L 122.11 -66.72\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-79 L 122.11 -79\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,154.43 L 122.11 154.43\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,151.97 L 122.11 151.97\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,149.52 L 122.11 149.52\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,147.06 L 122.11 147.06\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,144.6 L 122.11 144.6\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,142.14 L 122.11 142.14\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,139.69 L 122.11 139.69\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,137.23 L 122.11 137.23\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,134.77 L 122.11 134.77\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,132.32 L 122.11 132.32\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,129.86 L 122.11 129.86\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,127.4 L 122.11 127.4\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,124.94 L 122.11 124.94\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,122.49 L 122.11 122.49\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,120.03 L 122.11 120.03\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,117.57 L 122.11 117.57\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,115.12 L 122.11 115.12\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,112.66 L 122.11 112.66\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,110.2 L 122.11 110.2\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,107.74 L 122.11 107.74\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,105.29 L 122.11 105.29\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,102.83 L 122.11 102.83\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,100.37 L 122.11 100.37\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,97.92 L 122.11 97.92\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,95.46 L 122.11 95.46\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,93 L 122.11 93\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,90.54 L 122.11 90.54\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,88.09 L 122.11 88.09\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,85.63 L 122.11 85.63\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,83.17 L 122.11 83.17\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 122.11 80.72\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,78.26 L 122.11 78.26\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,75.8 L 122.11 75.8\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,73.34 L 122.11 73.34\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,70.89 L 122.11 70.89\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,68.43 L 122.11 68.43\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,65.97 L 122.11 65.97\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,63.51 L 122.11 63.51\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,61.06 L 122.11 61.06\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,58.6 L 122.11 58.6\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,56.14 L 122.11 56.14\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,53.69 L 122.11 53.69\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,51.23 L 122.11 51.23\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,48.77 L 122.11 48.77\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,46.31 L 122.11 46.31\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,43.86 L 122.11 43.86\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,41.4 L 122.11 41.4\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,38.94 L 122.11 38.94\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,36.49 L 122.11 36.49\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,34.03 L 122.11 34.03\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,31.57 L 122.11 31.57\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,29.11 L 122.11 29.11\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,26.66 L 122.11 26.66\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,24.2 L 122.11 24.2\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,21.74 L 122.11 21.74\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,19.29 L 122.11 19.29\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,16.83 L 122.11 16.83\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,14.37 L 122.11 14.37\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,11.91 L 122.11 11.91\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,9.46 L 122.11 9.46\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,7 L 122.11 7\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,4.54 L 122.11 4.54\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,2.09 L 122.11 2.09\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-0.37 L 122.11 -0.37\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-2.83 L 122.11 -2.83\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-5.29 L 122.11 -5.29\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-7.74 L 122.11 -7.74\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-10.2 L 122.11 -10.2\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-12.66 L 122.11 -12.66\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-15.11 L 122.11 -15.11\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-17.57 L 122.11 -17.57\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-20.03 L 122.11 -20.03\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-22.49 L 122.11 -22.49\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-24.94 L 122.11 -24.94\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-27.4 L 122.11 -27.4\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-29.86 L 122.11 -29.86\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-32.31 L 122.11 -32.31\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-34.77 L 122.11 -34.77\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-37.23 L 122.11 -37.23\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-39.69 L 122.11 -39.69\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-42.14 L 122.11 -42.14\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-44.6 L 122.11 -44.6\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-47.06 L 122.11 -47.06\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-49.51 L 122.11 -49.51\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-51.97 L 122.11 -51.97\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-54.43 L 122.11 -54.43\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-56.89 L 122.11 -56.89\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-59.34 L 122.11 -59.34\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-61.8 L 122.11 -61.8\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-64.26 L 122.11 -64.26\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-66.72 L 122.11 -66.72\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,203.57 L 122.11 203.57\" visibility=\"hidden\" gadfly:scale=\"0.5\"/>\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 122.11 80.72\" visibility=\"hidden\" gadfly:scale=\"0.5\"/>\n",
" <path fill=\"none\" d=\"M12.02,-42.14 L 122.11 -42.14\" visibility=\"hidden\" gadfly:scale=\"0.5\"/>\n",
" <path fill=\"none\" d=\"M12.02,-165 L 122.11 -165\" visibility=\"hidden\" gadfly:scale=\"0.5\"/>\n",
" <path fill=\"none\" d=\"M12.02,154.43 L 122.11 154.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,148.29 L 122.11 148.29\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,142.14 L 122.11 142.14\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,136 L 122.11 136\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,129.86 L 122.11 129.86\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,123.72 L 122.11 123.72\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,117.57 L 122.11 117.57\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,111.43 L 122.11 111.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,105.29 L 122.11 105.29\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,99.14 L 122.11 99.14\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,93 L 122.11 93\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,86.86 L 122.11 86.86\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 122.11 80.72\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,74.57 L 122.11 74.57\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,68.43 L 122.11 68.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,62.29 L 122.11 62.29\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,56.14 L 122.11 56.14\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,50 L 122.11 50\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,43.86 L 122.11 43.86\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,37.71 L 122.11 37.71\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,31.57 L 122.11 31.57\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,25.43 L 122.11 25.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,19.29 L 122.11 19.29\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,13.14 L 122.11 13.14\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,7 L 122.11 7\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,0.86 L 122.11 0.86\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-5.29 L 122.11 -5.29\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-11.43 L 122.11 -11.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-17.57 L 122.11 -17.57\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-23.71 L 122.11 -23.71\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-29.86 L 122.11 -29.86\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-36 L 122.11 -36\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-42.14 L 122.11 -42.14\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-48.29 L 122.11 -48.29\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-54.43 L 122.11 -54.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-60.57 L 122.11 -60.57\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-66.72 L 122.11 -66.72\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" </g>\n",
" <g class=\"guide xgridlines yfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" visibility=\"visible\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-13\">\n",
" <path fill=\"none\" d=\"M67.07,5 L 67.07 82.72\" gadfly:scale=\"1.0\"/>\n",
" </g>\n",
" <g class=\"plotpanel\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-14\">\n",
" <g stroke=\"none\" fill=\"#00BFFF\" shape-rendering=\"crispEdges\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-15\">\n",
" <g class=\"geometry\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-16\">\n",
" <rect x=\"12.02\" y=\"23.22\" width=\"55.05\" height=\"57.5\" fill=\"#004D84\"/>\n",
" <rect x=\"67.07\" y=\"70.76\" width=\"55.05\" height=\"9.95\" fill=\"#004D84\"/>\n",
" <rect x=\"12.02\" y=\"9.83\" width=\"55.05\" height=\"13.39\" fill=\"#7E273E\"/>\n",
" <rect x=\"67.07\" y=\"42.14\" width=\"55.05\" height=\"28.63\" fill=\"#7E273E\"/>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g opacity=\"0\" class=\"guide zoomslider\" stroke=\"none\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-17\">\n",
" <g fill=\"#EAEAEA\" stroke-width=\"0.3\" stroke-opacity=\"0\" stroke=\"#6A6A6A\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-18\">\n",
" <rect x=\"115.11\" y=\"8\" width=\"4\" height=\"4\"/>\n",
" <g class=\"button_logo\" fill=\"#6A6A6A\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-19\">\n",
" <path d=\"M115.91,9.6 L 116.71 9.6 116.71 8.8 117.51 8.8 117.51 9.6 118.31 9.6 118.31 10.4 117.51 10.4 117.51 11.2 116.71 11.2 116.71 10.4 115.91 10.4 z\"/>\n",
" </g>\n",
" </g>\n",
" <g fill=\"#EAEAEA\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-20\">\n",
" <rect x=\"95.61\" y=\"8\" width=\"19\" height=\"4\"/>\n",
" </g>\n",
" <g class=\"zoomslider_thumb\" fill=\"#6A6A6A\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-21\">\n",
" <rect x=\"104.11\" y=\"8\" width=\"2\" height=\"4\"/>\n",
" </g>\n",
" <g fill=\"#EAEAEA\" stroke-width=\"0.3\" stroke-opacity=\"0\" stroke=\"#6A6A6A\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-22\">\n",
" <rect x=\"91.11\" y=\"8\" width=\"4\" height=\"4\"/>\n",
" <g class=\"button_logo\" fill=\"#6A6A6A\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-23\">\n",
" <path d=\"M91.91,9.6 L 94.31 9.6 94.31 10.4 91.91 10.4 z\"/>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g class=\"guide ylabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"fig-8be528a403df4859ab87da7e32cf1464-element-24\">\n",
" <text x=\"11.02\" y=\"166.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-700</text>\n",
" <text x=\"11.02\" y=\"154.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-600</text>\n",
" <text x=\"11.02\" y=\"142.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-500</text>\n",
" <text x=\"11.02\" y=\"129.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-400</text>\n",
" <text x=\"11.02\" y=\"117.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-300</text>\n",
" <text x=\"11.02\" y=\"105.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-200</text>\n",
" <text x=\"11.02\" y=\"93\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-100</text>\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">0</text>\n",
" <text x=\"11.02\" y=\"68.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">100</text>\n",
" <text x=\"11.02\" y=\"56.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">200</text>\n",
" <text x=\"11.02\" y=\"43.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">300</text>\n",
" <text x=\"11.02\" y=\"31.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">400</text>\n",
" <text x=\"11.02\" y=\"19.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">500</text>\n",
" <text x=\"11.02\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">600</text>\n",
" <text x=\"11.02\" y=\"-5.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">700</text>\n",
" <text x=\"11.02\" y=\"-17.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">800</text>\n",
" <text x=\"11.02\" y=\"-29.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">900</text>\n",
" <text x=\"11.02\" y=\"-42.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1000</text>\n",
" <text x=\"11.02\" y=\"-54.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1100</text>\n",
" <text x=\"11.02\" y=\"-66.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1200</text>\n",
" <text x=\"11.02\" y=\"-79\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1300</text>\n",
" <text x=\"11.02\" y=\"154.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-600</text>\n",
" <text x=\"11.02\" y=\"151.97\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-580</text>\n",
" <text x=\"11.02\" y=\"149.52\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-560</text>\n",
" <text x=\"11.02\" y=\"147.06\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-540</text>\n",
" <text x=\"11.02\" y=\"144.6\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-520</text>\n",
" <text x=\"11.02\" y=\"142.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-500</text>\n",
" <text x=\"11.02\" y=\"139.69\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-480</text>\n",
" <text x=\"11.02\" y=\"137.23\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-460</text>\n",
" <text x=\"11.02\" y=\"134.77\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-440</text>\n",
" <text x=\"11.02\" y=\"132.32\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-420</text>\n",
" <text x=\"11.02\" y=\"129.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-400</text>\n",
" <text x=\"11.02\" y=\"127.4\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-380</text>\n",
" <text x=\"11.02\" y=\"124.94\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-360</text>\n",
" <text x=\"11.02\" y=\"122.49\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-340</text>\n",
" <text x=\"11.02\" y=\"120.03\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-320</text>\n",
" <text x=\"11.02\" y=\"117.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-300</text>\n",
" <text x=\"11.02\" y=\"115.12\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-280</text>\n",
" <text x=\"11.02\" y=\"112.66\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-260</text>\n",
" <text x=\"11.02\" y=\"110.2\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-240</text>\n",
" <text x=\"11.02\" y=\"107.74\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-220</text>\n",
" <text x=\"11.02\" y=\"105.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-200</text>\n",
" <text x=\"11.02\" y=\"102.83\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-180</text>\n",
" <text x=\"11.02\" y=\"100.37\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-160</text>\n",
" <text x=\"11.02\" y=\"97.92\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-140</text>\n",
" <text x=\"11.02\" y=\"95.46\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-120</text>\n",
" <text x=\"11.02\" y=\"93\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-100</text>\n",
" <text x=\"11.02\" y=\"90.54\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-80</text>\n",
" <text x=\"11.02\" y=\"88.09\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-60</text>\n",
" <text x=\"11.02\" y=\"85.63\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-40</text>\n",
" <text x=\"11.02\" y=\"83.17\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-20</text>\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">0</text>\n",
" <text x=\"11.02\" y=\"78.26\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">20</text>\n",
" <text x=\"11.02\" y=\"75.8\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">40</text>\n",
" <text x=\"11.02\" y=\"73.34\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">60</text>\n",
" <text x=\"11.02\" y=\"70.89\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">80</text>\n",
" <text x=\"11.02\" y=\"68.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">100</text>\n",
" <text x=\"11.02\" y=\"65.97\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">120</text>\n",
" <text x=\"11.02\" y=\"63.51\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">140</text>\n",
" <text x=\"11.02\" y=\"61.06\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">160</text>\n",
" <text x=\"11.02\" y=\"58.6\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">180</text>\n",
" <text x=\"11.02\" y=\"56.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">200</text>\n",
" <text x=\"11.02\" y=\"53.69\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">220</text>\n",
" <text x=\"11.02\" y=\"51.23\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">240</text>\n",
" <text x=\"11.02\" y=\"48.77\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">260</text>\n",
" <text x=\"11.02\" y=\"46.31\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">280</text>\n",
" <text x=\"11.02\" y=\"43.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">300</text>\n",
" <text x=\"11.02\" y=\"41.4\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">320</text>\n",
" <text x=\"11.02\" y=\"38.94\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">340</text>\n",
" <text x=\"11.02\" y=\"36.49\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">360</text>\n",
" <text x=\"11.02\" y=\"34.03\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">380</text>\n",
" <text x=\"11.02\" y=\"31.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">400</text>\n",
" <text x=\"11.02\" y=\"29.11\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">420</text>\n",
" <text x=\"11.02\" y=\"26.66\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">440</text>\n",
" <text x=\"11.02\" y=\"24.2\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">460</text>\n",
" <text x=\"11.02\" y=\"21.74\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">480</text>\n",
" <text x=\"11.02\" y=\"19.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">500</text>\n",
" <text x=\"11.02\" y=\"16.83\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">520</text>\n",
" <text x=\"11.02\" y=\"14.37\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">540</text>\n",
" <text x=\"11.02\" y=\"11.91\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">560</text>\n",
" <text x=\"11.02\" y=\"9.46\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">580</text>\n",
" <text x=\"11.02\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">600</text>\n",
" <text x=\"11.02\" y=\"4.54\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">620</text>\n",
" <text x=\"11.02\" y=\"2.09\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">640</text>\n",
" <text x=\"11.02\" y=\"-0.37\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">660</text>\n",
" <text x=\"11.02\" y=\"-2.83\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">680</text>\n",
" <text x=\"11.02\" y=\"-5.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">700</text>\n",
" <text x=\"11.02\" y=\"-7.74\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">720</text>\n",
" <text x=\"11.02\" y=\"-10.2\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">740</text>\n",
" <text x=\"11.02\" y=\"-12.66\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">760</text>\n",
" <text x=\"11.02\" y=\"-15.11\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">780</text>\n",
" <text x=\"11.02\" y=\"-17.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">800</text>\n",
" <text x=\"11.02\" y=\"-20.03\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">820</text>\n",
" <text x=\"11.02\" y=\"-22.49\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">840</text>\n",
" <text x=\"11.02\" y=\"-24.94\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">860</text>\n",
" <text x=\"11.02\" y=\"-27.4\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">880</text>\n",
" <text x=\"11.02\" y=\"-29.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">900</text>\n",
" <text x=\"11.02\" y=\"-32.31\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">920</text>\n",
" <text x=\"11.02\" y=\"-34.77\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">940</text>\n",
" <text x=\"11.02\" y=\"-37.23\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">960</text>\n",
" <text x=\"11.02\" y=\"-39.69\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">980</text>\n",
" <text x=\"11.02\" y=\"-42.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1000</text>\n",
" <text x=\"11.02\" y=\"-44.6\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1020</text>\n",
" <text x=\"11.02\" y=\"-47.06\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1040</text>\n",
" <text x=\"11.02\" y=\"-49.51\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1060</text>\n",
" <text x=\"11.02\" y=\"-51.97\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1080</text>\n",
" <text x=\"11.02\" y=\"-54.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1100</text>\n",
" <text x=\"11.02\" y=\"-56.89\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1120</text>\n",
" <text x=\"11.02\" y=\"-59.34\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1140</text>\n",
" <text x=\"11.02\" y=\"-61.8\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1160</text>\n",
" <text x=\"11.02\" y=\"-64.26\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1180</text>\n",
" <text x=\"11.02\" y=\"-66.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1200</text>\n",
" <text x=\"11.02\" y=\"203.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"0.5\">-1000</text>\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"0.5\">0</text>\n",
" <text x=\"11.02\" y=\"-42.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"0.5\">1000</text>\n",
" <text x=\"11.02\" y=\"-165\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"0.5\">2000</text>\n",
" <text x=\"11.02\" y=\"154.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-600</text>\n",
" <text x=\"11.02\" y=\"148.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-550</text>\n",
" <text x=\"11.02\" y=\"142.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-500</text>\n",
" <text x=\"11.02\" y=\"136\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-450</text>\n",
" <text x=\"11.02\" y=\"129.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-400</text>\n",
" <text x=\"11.02\" y=\"123.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-350</text>\n",
" <text x=\"11.02\" y=\"117.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-300</text>\n",
" <text x=\"11.02\" y=\"111.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-250</text>\n",
" <text x=\"11.02\" y=\"105.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-200</text>\n",
" <text x=\"11.02\" y=\"99.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-150</text>\n",
" <text x=\"11.02\" y=\"93\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-100</text>\n",
" <text x=\"11.02\" y=\"86.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-50</text>\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">0</text>\n",
" <text x=\"11.02\" y=\"74.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">50</text>\n",
" <text x=\"11.02\" y=\"68.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">100</text>\n",
" <text x=\"11.02\" y=\"62.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">150</text>\n",
" <text x=\"11.02\" y=\"56.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">200</text>\n",
" <text x=\"11.02\" y=\"50\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">250</text>\n",
" <text x=\"11.02\" y=\"43.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">300</text>\n",
" <text x=\"11.02\" y=\"37.71\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">350</text>\n",
" <text x=\"11.02\" y=\"31.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">400</text>\n",
" <text x=\"11.02\" y=\"25.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">450</text>\n",
" <text x=\"11.02\" y=\"19.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">500</text>\n",
" <text x=\"11.02\" y=\"13.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">550</text>\n",
" <text x=\"11.02\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">600</text>\n",
" <text x=\"11.02\" y=\"0.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">650</text>\n",
" <text x=\"11.02\" y=\"-5.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">700</text>\n",
" <text x=\"11.02\" y=\"-11.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">750</text>\n",
" <text x=\"11.02\" y=\"-17.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">800</text>\n",
" <text x=\"11.02\" y=\"-23.71\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">850</text>\n",
" <text x=\"11.02\" y=\"-29.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">900</text>\n",
" <text x=\"11.02\" y=\"-36\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">950</text>\n",
" <text x=\"11.02\" y=\"-42.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1000</text>\n",
" <text x=\"11.02\" y=\"-48.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1050</text>\n",
" <text x=\"11.02\" y=\"-54.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1100</text>\n",
" <text x=\"11.02\" y=\"-60.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1150</text>\n",
" <text x=\"11.02\" y=\"-66.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1200</text>\n",
" </g>\n",
"</g>\n",
"<defs>\n",
"<clipPath id=\"fig-8be528a403df4859ab87da7e32cf1464-element-10\">\n",
" <path d=\"M12.02,5 L 122.11 5 122.11 82.72 12.02 82.72\" />\n",
"</clipPath\n",
"></defs>\n",
"<script> <![CDATA[\n",
"(function(N){var k=/[\\.\\/]/,L=/\\s*,\\s*/,C=function(a,d){return a-d},a,v,y={n:{}},M=function(){for(var a=0,d=this.length;a<d;a++)if(\"undefined\"!=typeof this[a])return this[a]},A=function(){for(var a=this.length;--a;)if(\"undefined\"!=typeof this[a])return this[a]},w=function(k,d){k=String(k);var f=v,n=Array.prototype.slice.call(arguments,2),u=w.listeners(k),p=0,b,q=[],e={},l=[],r=a;l.firstDefined=M;l.lastDefined=A;a=k;for(var s=v=0,x=u.length;s<x;s++)\"zIndex\"in u[s]&&(q.push(u[s].zIndex),0>u[s].zIndex&&\n",
"(e[u[s].zIndex]=u[s]));for(q.sort(C);0>q[p];)if(b=e[q[p++] ],l.push(b.apply(d,n)),v)return v=f,l;for(s=0;s<x;s++)if(b=u[s],\"zIndex\"in b)if(b.zIndex==q[p]){l.push(b.apply(d,n));if(v)break;do if(p++,(b=e[q[p] ])&&l.push(b.apply(d,n)),v)break;while(b)}else e[b.zIndex]=b;else if(l.push(b.apply(d,n)),v)break;v=f;a=r;return l};w._events=y;w.listeners=function(a){a=a.split(k);var d=y,f,n,u,p,b,q,e,l=[d],r=[];u=0;for(p=a.length;u<p;u++){e=[];b=0;for(q=l.length;b<q;b++)for(d=l[b].n,f=[d[a[u] ],d[\"*\"] ],n=2;n--;)if(d=\n",
"f[n])e.push(d),r=r.concat(d.f||[]);l=e}return r};w.on=function(a,d){a=String(a);if(\"function\"!=typeof d)return function(){};for(var f=a.split(L),n=0,u=f.length;n<u;n++)(function(a){a=a.split(k);for(var b=y,f,e=0,l=a.length;e<l;e++)b=b.n,b=b.hasOwnProperty(a[e])&&b[a[e] ]||(b[a[e] ]={n:{}});b.f=b.f||[];e=0;for(l=b.f.length;e<l;e++)if(b.f[e]==d){f=!0;break}!f&&b.f.push(d)})(f[n]);return function(a){+a==+a&&(d.zIndex=+a)}};w.f=function(a){var d=[].slice.call(arguments,1);return function(){w.apply(null,\n",
"[a,null].concat(d).concat([].slice.call(arguments,0)))}};w.stop=function(){v=1};w.nt=function(k){return k?(new RegExp(\"(?:\\\\.|\\\\/|^)\"+k+\"(?:\\\\.|\\\\/|$)\")).test(a):a};w.nts=function(){return a.split(k)};w.off=w.unbind=function(a,d){if(a){var f=a.split(L);if(1<f.length)for(var n=0,u=f.length;n<u;n++)w.off(f[n],d);else{for(var f=a.split(k),p,b,q,e,l=[y],n=0,u=f.length;n<u;n++)for(e=0;e<l.length;e+=q.length-2){q=[e,1];p=l[e].n;if(\"*\"!=f[n])p[f[n] ]&&q.push(p[f[n] ]);else for(b in p)p.hasOwnProperty(b)&&\n",
"q.push(p[b]);l.splice.apply(l,q)}n=0;for(u=l.length;n<u;n++)for(p=l[n];p.n;){if(d){if(p.f){e=0;for(f=p.f.length;e<f;e++)if(p.f[e]==d){p.f.splice(e,1);break}!p.f.length&&delete p.f}for(b in p.n)if(p.n.hasOwnProperty(b)&&p.n[b].f){q=p.n[b].f;e=0;for(f=q.length;e<f;e++)if(q[e]==d){q.splice(e,1);break}!q.length&&delete p.n[b].f}}else for(b in delete p.f,p.n)p.n.hasOwnProperty(b)&&p.n[b].f&&delete p.n[b].f;p=p.n}}}else w._events=y={n:{}}};w.once=function(a,d){var f=function(){w.unbind(a,f);return d.apply(this,\n",
"arguments)};return w.on(a,f)};w.version=\"0.4.2\";w.toString=function(){return\"You are running Eve 0.4.2\"};\"undefined\"!=typeof module&&module.exports?module.exports=w:\"function\"===typeof define&&define.amd?define(\"eve\",[],function(){return w}):N.eve=w})(this);\n",
"(function(N,k){\"function\"===typeof define&&define.amd?define(\"Snap.svg\",[\"eve\"],function(L){return k(N,L)}):k(N,N.eve)})(this,function(N,k){var L=function(a){var k={},y=N.requestAnimationFrame||N.webkitRequestAnimationFrame||N.mozRequestAnimationFrame||N.oRequestAnimationFrame||N.msRequestAnimationFrame||function(a){setTimeout(a,16)},M=Array.isArray||function(a){return a instanceof Array||\"[object Array]\"==Object.prototype.toString.call(a)},A=0,w=\"M\"+(+new Date).toString(36),z=function(a){if(null==\n",
"a)return this.s;var b=this.s-a;this.b+=this.dur*b;this.B+=this.dur*b;this.s=a},d=function(a){if(null==a)return this.spd;this.spd=a},f=function(a){if(null==a)return this.dur;this.s=this.s*a/this.dur;this.dur=a},n=function(){delete k[this.id];this.update();a(\"mina.stop.\"+this.id,this)},u=function(){this.pdif||(delete k[this.id],this.update(),this.pdif=this.get()-this.b)},p=function(){this.pdif&&(this.b=this.get()-this.pdif,delete this.pdif,k[this.id]=this)},b=function(){var a;if(M(this.start)){a=[];\n",
"for(var b=0,e=this.start.length;b<e;b++)a[b]=+this.start[b]+(this.end[b]-this.start[b])*this.easing(this.s)}else a=+this.start+(this.end-this.start)*this.easing(this.s);this.set(a)},q=function(){var l=0,b;for(b in k)if(k.hasOwnProperty(b)){var e=k[b],f=e.get();l++;e.s=(f-e.b)/(e.dur/e.spd);1<=e.s&&(delete k[b],e.s=1,l--,function(b){setTimeout(function(){a(\"mina.finish.\"+b.id,b)})}(e));e.update()}l&&y(q)},e=function(a,r,s,x,G,h,J){a={id:w+(A++).toString(36),start:a,end:r,b:s,s:0,dur:x-s,spd:1,get:G,\n",
"set:h,easing:J||e.linear,status:z,speed:d,duration:f,stop:n,pause:u,resume:p,update:b};k[a.id]=a;r=0;for(var K in k)if(k.hasOwnProperty(K)&&(r++,2==r))break;1==r&&y(q);return a};e.time=Date.now||function(){return+new Date};e.getById=function(a){return k[a]||null};e.linear=function(a){return a};e.easeout=function(a){return Math.pow(a,1.7)};e.easein=function(a){return Math.pow(a,0.48)};e.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=0.48-a/1.04,e=Math.sqrt(0.1734+b*b);a=e-b;a=Math.pow(Math.abs(a),\n",
"1/3)*(0>a?-1:1);b=-e-b;b=Math.pow(Math.abs(b),1/3)*(0>b?-1:1);a=a+b+0.5;return 3*(1-a)*a*a+a*a*a};e.backin=function(a){return 1==a?1:a*a*(2.70158*a-1.70158)};e.backout=function(a){if(0==a)return 0;a-=1;return a*a*(2.70158*a+1.70158)+1};e.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-0.075)*Math.PI/0.3)+1};e.bounce=function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a};\n",
"return N.mina=e}(\"undefined\"==typeof k?function(){}:k),C=function(){function a(c,t){if(c){if(c.tagName)return x(c);if(y(c,\"array\")&&a.set)return a.set.apply(a,c);if(c instanceof e)return c;if(null==t)return c=G.doc.querySelector(c),x(c)}return new s(null==c?\"100%\":c,null==t?\"100%\":t)}function v(c,a){if(a){\"#text\"==c&&(c=G.doc.createTextNode(a.text||\"\"));\"string\"==typeof c&&(c=v(c));if(\"string\"==typeof a)return\"xlink:\"==a.substring(0,6)?c.getAttributeNS(m,a.substring(6)):\"xml:\"==a.substring(0,4)?c.getAttributeNS(la,\n",
"a.substring(4)):c.getAttribute(a);for(var da in a)if(a[h](da)){var b=J(a[da]);b?\"xlink:\"==da.substring(0,6)?c.setAttributeNS(m,da.substring(6),b):\"xml:\"==da.substring(0,4)?c.setAttributeNS(la,da.substring(4),b):c.setAttribute(da,b):c.removeAttribute(da)}}else c=G.doc.createElementNS(la,c);return c}function y(c,a){a=J.prototype.toLowerCase.call(a);return\"finite\"==a?isFinite(c):\"array\"==a&&(c instanceof Array||Array.isArray&&Array.isArray(c))?!0:\"null\"==a&&null===c||a==typeof c&&null!==c||\"object\"==\n",
"a&&c===Object(c)||$.call(c).slice(8,-1).toLowerCase()==a}function M(c){if(\"function\"==typeof c||Object(c)!==c)return c;var a=new c.constructor,b;for(b in c)c[h](b)&&(a[b]=M(c[b]));return a}function A(c,a,b){function m(){var e=Array.prototype.slice.call(arguments,0),f=e.join(\"\\u2400\"),d=m.cache=m.cache||{},l=m.count=m.count||[];if(d[h](f)){a:for(var e=l,l=f,B=0,H=e.length;B<H;B++)if(e[B]===l){e.push(e.splice(B,1)[0]);break a}return b?b(d[f]):d[f]}1E3<=l.length&&delete d[l.shift()];l.push(f);d[f]=c.apply(a,\n",
"e);return b?b(d[f]):d[f]}return m}function w(c,a,b,m,e,f){return null==e?(c-=b,a-=m,c||a?(180*I.atan2(-a,-c)/C+540)%360:0):w(c,a,e,f)-w(b,m,e,f)}function z(c){return c%360*C/180}function d(c){var a=[];c=c.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g,function(c,b,m){m=m.split(/\\s*,\\s*|\\s+/);\"rotate\"==b&&1==m.length&&m.push(0,0);\"scale\"==b&&(2<m.length?m=m.slice(0,2):2==m.length&&m.push(0,0),1==m.length&&m.push(m[0],0,0));\"skewX\"==b?a.push([\"m\",1,0,I.tan(z(m[0])),1,0,0]):\"skewY\"==b?a.push([\"m\",1,I.tan(z(m[0])),\n",
"0,1,0,0]):a.push([b.charAt(0)].concat(m));return c});return a}function f(c,t){var b=O(c),m=new a.Matrix;if(b)for(var e=0,f=b.length;e<f;e++){var h=b[e],d=h.length,B=J(h[0]).toLowerCase(),H=h[0]!=B,l=H?m.invert():0,E;\"t\"==B&&2==d?m.translate(h[1],0):\"t\"==B&&3==d?H?(d=l.x(0,0),B=l.y(0,0),H=l.x(h[1],h[2]),l=l.y(h[1],h[2]),m.translate(H-d,l-B)):m.translate(h[1],h[2]):\"r\"==B?2==d?(E=E||t,m.rotate(h[1],E.x+E.width/2,E.y+E.height/2)):4==d&&(H?(H=l.x(h[2],h[3]),l=l.y(h[2],h[3]),m.rotate(h[1],H,l)):m.rotate(h[1],\n",
"h[2],h[3])):\"s\"==B?2==d||3==d?(E=E||t,m.scale(h[1],h[d-1],E.x+E.width/2,E.y+E.height/2)):4==d?H?(H=l.x(h[2],h[3]),l=l.y(h[2],h[3]),m.scale(h[1],h[1],H,l)):m.scale(h[1],h[1],h[2],h[3]):5==d&&(H?(H=l.x(h[3],h[4]),l=l.y(h[3],h[4]),m.scale(h[1],h[2],H,l)):m.scale(h[1],h[2],h[3],h[4])):\"m\"==B&&7==d&&m.add(h[1],h[2],h[3],h[4],h[5],h[6])}return m}function n(c,t){if(null==t){var m=!0;t=\"linearGradient\"==c.type||\"radialGradient\"==c.type?c.node.getAttribute(\"gradientTransform\"):\"pattern\"==c.type?c.node.getAttribute(\"patternTransform\"):\n",
"c.node.getAttribute(\"transform\");if(!t)return new a.Matrix;t=d(t)}else t=a._.rgTransform.test(t)?J(t).replace(/\\.{3}|\\u2026/g,c._.transform||aa):d(t),y(t,\"array\")&&(t=a.path?a.path.toString.call(t):J(t)),c._.transform=t;var b=f(t,c.getBBox(1));if(m)return b;c.matrix=b}function u(c){c=c.node.ownerSVGElement&&x(c.node.ownerSVGElement)||c.node.parentNode&&x(c.node.parentNode)||a.select(\"svg\")||a(0,0);var t=c.select(\"defs\"),t=null==t?!1:t.node;t||(t=r(\"defs\",c.node).node);return t}function p(c){return c.node.ownerSVGElement&&\n",
"x(c.node.ownerSVGElement)||a.select(\"svg\")}function b(c,a,m){function b(c){if(null==c)return aa;if(c==+c)return c;v(B,{width:c});try{return B.getBBox().width}catch(a){return 0}}function h(c){if(null==c)return aa;if(c==+c)return c;v(B,{height:c});try{return B.getBBox().height}catch(a){return 0}}function e(b,B){null==a?d[b]=B(c.attr(b)||0):b==a&&(d=B(null==m?c.attr(b)||0:m))}var f=p(c).node,d={},B=f.querySelector(\".svg---mgr\");B||(B=v(\"rect\"),v(B,{x:-9E9,y:-9E9,width:10,height:10,\"class\":\"svg---mgr\",\n",
"fill:\"none\"}),f.appendChild(B));switch(c.type){case \"rect\":e(\"rx\",b),e(\"ry\",h);case \"image\":e(\"width\",b),e(\"height\",h);case \"text\":e(\"x\",b);e(\"y\",h);break;case \"circle\":e(\"cx\",b);e(\"cy\",h);e(\"r\",b);break;case \"ellipse\":e(\"cx\",b);e(\"cy\",h);e(\"rx\",b);e(\"ry\",h);break;case \"line\":e(\"x1\",b);e(\"x2\",b);e(\"y1\",h);e(\"y2\",h);break;case \"marker\":e(\"refX\",b);e(\"markerWidth\",b);e(\"refY\",h);e(\"markerHeight\",h);break;case \"radialGradient\":e(\"fx\",b);e(\"fy\",h);break;case \"tspan\":e(\"dx\",b);e(\"dy\",h);break;default:e(a,\n",
"b)}f.removeChild(B);return d}function q(c){y(c,\"array\")||(c=Array.prototype.slice.call(arguments,0));for(var a=0,b=0,m=this.node;this[a];)delete this[a++];for(a=0;a<c.length;a++)\"set\"==c[a].type?c[a].forEach(function(c){m.appendChild(c.node)}):m.appendChild(c[a].node);for(var h=m.childNodes,a=0;a<h.length;a++)this[b++]=x(h[a]);return this}function e(c){if(c.snap in E)return E[c.snap];var a=this.id=V(),b;try{b=c.ownerSVGElement}catch(m){}this.node=c;b&&(this.paper=new s(b));this.type=c.tagName;this.anims=\n",
"{};this._={transform:[]};c.snap=a;E[a]=this;\"g\"==this.type&&(this.add=q);if(this.type in{g:1,mask:1,pattern:1})for(var e in s.prototype)s.prototype[h](e)&&(this[e]=s.prototype[e])}function l(c){this.node=c}function r(c,a){var b=v(c);a.appendChild(b);return x(b)}function s(c,a){var b,m,f,d=s.prototype;if(c&&\"svg\"==c.tagName){if(c.snap in E)return E[c.snap];var l=c.ownerDocument;b=new e(c);m=c.getElementsByTagName(\"desc\")[0];f=c.getElementsByTagName(\"defs\")[0];m||(m=v(\"desc\"),m.appendChild(l.createTextNode(\"Created with Snap\")),\n",
"b.node.appendChild(m));f||(f=v(\"defs\"),b.node.appendChild(f));b.defs=f;for(var ca in d)d[h](ca)&&(b[ca]=d[ca]);b.paper=b.root=b}else b=r(\"svg\",G.doc.body),v(b.node,{height:a,version:1.1,width:c,xmlns:la});return b}function x(c){return!c||c instanceof e||c instanceof l?c:c.tagName&&\"svg\"==c.tagName.toLowerCase()?new s(c):c.tagName&&\"object\"==c.tagName.toLowerCase()&&\"image/svg+xml\"==c.type?new s(c.contentDocument.getElementsByTagName(\"svg\")[0]):new e(c)}a.version=\"0.3.0\";a.toString=function(){return\"Snap v\"+\n",
"this.version};a._={};var G={win:N,doc:N.document};a._.glob=G;var h=\"hasOwnProperty\",J=String,K=parseFloat,U=parseInt,I=Math,P=I.max,Q=I.min,Y=I.abs,C=I.PI,aa=\"\",$=Object.prototype.toString,F=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i;a._.separator=\n",
"RegExp(\"[,\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]+\");var S=RegExp(\"[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*\"),X={hs:1,rg:1},W=RegExp(\"([a-z])[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)\",\n",
"\"ig\"),ma=RegExp(\"([rstm])[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)\",\"ig\"),Z=RegExp(\"(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*\",\n",
"\"ig\"),na=0,ba=\"S\"+(+new Date).toString(36),V=function(){return ba+(na++).toString(36)},m=\"http://www.w3.org/1999/xlink\",la=\"http://www.w3.org/2000/svg\",E={},ca=a.url=function(c){return\"url('#\"+c+\"')\"};a._.$=v;a._.id=V;a.format=function(){var c=/\\{([^\\}]+)\\}/g,a=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,b=function(c,b,m){var h=m;b.replace(a,function(c,a,b,m,t){a=a||m;h&&(a in h&&(h=h[a]),\"function\"==typeof h&&t&&(h=h()))});return h=(null==h||h==m?c:h)+\"\"};return function(a,m){return J(a).replace(c,\n",
"function(c,a){return b(c,a,m)})}}();a._.clone=M;a._.cacher=A;a.rad=z;a.deg=function(c){return 180*c/C%360};a.angle=w;a.is=y;a.snapTo=function(c,a,b){b=y(b,\"finite\")?b:10;if(y(c,\"array\"))for(var m=c.length;m--;){if(Y(c[m]-a)<=b)return c[m]}else{c=+c;m=a%c;if(m<b)return a-m;if(m>c-b)return a-m+c}return a};a.getRGB=A(function(c){if(!c||(c=J(c)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka};if(\"none\"==c)return{r:-1,g:-1,b:-1,hex:\"none\",toString:ka};!X[h](c.toLowerCase().substring(0,\n",
"2))&&\"#\"!=c.charAt()&&(c=T(c));if(!c)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka};var b,m,e,f,d;if(c=c.match(F)){c[2]&&(e=U(c[2].substring(5),16),m=U(c[2].substring(3,5),16),b=U(c[2].substring(1,3),16));c[3]&&(e=U((d=c[3].charAt(3))+d,16),m=U((d=c[3].charAt(2))+d,16),b=U((d=c[3].charAt(1))+d,16));c[4]&&(d=c[4].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b*=2.55),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m*=2.55),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e*=2.55),\"rgba\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),\n",
"d[3]&&\"%\"==d[3].slice(-1)&&(f/=100));if(c[5])return d=c[5].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b/=100),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m/=100),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e/=100),\"deg\"!=d[0].slice(-3)&&\"\\u00b0\"!=d[0].slice(-1)||(b/=360),\"hsba\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),d[3]&&\"%\"==d[3].slice(-1)&&(f/=100),a.hsb2rgb(b,m,e,f);if(c[6])return d=c[6].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b/=100),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m/=100),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e/=100),\n",
"\"deg\"!=d[0].slice(-3)&&\"\\u00b0\"!=d[0].slice(-1)||(b/=360),\"hsla\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),d[3]&&\"%\"==d[3].slice(-1)&&(f/=100),a.hsl2rgb(b,m,e,f);b=Q(I.round(b),255);m=Q(I.round(m),255);e=Q(I.round(e),255);f=Q(P(f,0),1);c={r:b,g:m,b:e,toString:ka};c.hex=\"#\"+(16777216|e|m<<8|b<<16).toString(16).slice(1);c.opacity=y(f,\"finite\")?f:1;return c}return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka}},a);a.hsb=A(function(c,b,m){return a.hsb2rgb(c,b,m).hex});a.hsl=A(function(c,b,m){return a.hsl2rgb(c,\n",
"b,m).hex});a.rgb=A(function(c,a,b,m){if(y(m,\"finite\")){var e=I.round;return\"rgba(\"+[e(c),e(a),e(b),+m.toFixed(2)]+\")\"}return\"#\"+(16777216|b|a<<8|c<<16).toString(16).slice(1)});var T=function(c){var a=G.doc.getElementsByTagName(\"head\")[0]||G.doc.getElementsByTagName(\"svg\")[0];T=A(function(c){if(\"red\"==c.toLowerCase())return\"rgb(255, 0, 0)\";a.style.color=\"rgb(255, 0, 0)\";a.style.color=c;c=G.doc.defaultView.getComputedStyle(a,aa).getPropertyValue(\"color\");return\"rgb(255, 0, 0)\"==c?null:c});return T(c)},\n",
"qa=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},ra=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},ka=function(){return 1==this.opacity||null==this.opacity?this.hex:\"rgba(\"+[this.r,this.g,this.b,this.opacity]+\")\"},D=function(c,b,m){null==b&&y(c,\"object\")&&\"r\"in c&&\"g\"in c&&\"b\"in c&&(m=c.b,b=c.g,c=c.r);null==b&&y(c,string)&&(m=a.getRGB(c),c=m.r,b=m.g,m=m.b);if(1<c||1<b||1<m)c/=255,b/=255,m/=255;return[c,b,m]},oa=function(c,b,m,e){c=I.round(255*c);b=I.round(255*b);m=I.round(255*m);c={r:c,\n",
"g:b,b:m,opacity:y(e,\"finite\")?e:1,hex:a.rgb(c,b,m),toString:ka};y(e,\"finite\")&&(c.opacity=e);return c};a.color=function(c){var b;y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"b\"in c?(b=a.hsb2rgb(c),c.r=b.r,c.g=b.g,c.b=b.b,c.opacity=1,c.hex=b.hex):y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"l\"in c?(b=a.hsl2rgb(c),c.r=b.r,c.g=b.g,c.b=b.b,c.opacity=1,c.hex=b.hex):(y(c,\"string\")&&(c=a.getRGB(c)),y(c,\"object\")&&\"r\"in c&&\"g\"in c&&\"b\"in c&&!(\"error\"in c)?(b=a.rgb2hsl(c),c.h=b.h,c.s=b.s,c.l=b.l,b=a.rgb2hsb(c),c.v=b.b):(c={hex:\"none\"},\n",
"c.r=c.g=c.b=c.h=c.s=c.v=c.l=-1,c.error=1));c.toString=ka;return c};a.hsb2rgb=function(c,a,b,m){y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"b\"in c&&(b=c.b,a=c.s,c=c.h,m=c.o);var e,h,d;c=360*c%360/60;d=b*a;a=d*(1-Y(c%2-1));b=e=h=b-d;c=~~c;b+=[d,a,0,0,a,d][c];e+=[a,d,d,a,0,0][c];h+=[0,0,a,d,d,a][c];return oa(b,e,h,m)};a.hsl2rgb=function(c,a,b,m){y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"l\"in c&&(b=c.l,a=c.s,c=c.h);if(1<c||1<a||1<b)c/=360,a/=100,b/=100;var e,h,d;c=360*c%360/60;d=2*a*(0.5>b?b:1-b);a=d*(1-Y(c%2-1));b=e=\n",
"h=b-d/2;c=~~c;b+=[d,a,0,0,a,d][c];e+=[a,d,d,a,0,0][c];h+=[0,0,a,d,d,a][c];return oa(b,e,h,m)};a.rgb2hsb=function(c,a,b){b=D(c,a,b);c=b[0];a=b[1];b=b[2];var m,e;m=P(c,a,b);e=m-Q(c,a,b);c=((0==e?0:m==c?(a-b)/e:m==a?(b-c)/e+2:(c-a)/e+4)+360)%6*60/360;return{h:c,s:0==e?0:e/m,b:m,toString:qa}};a.rgb2hsl=function(c,a,b){b=D(c,a,b);c=b[0];a=b[1];b=b[2];var m,e,h;m=P(c,a,b);e=Q(c,a,b);h=m-e;c=((0==h?0:m==c?(a-b)/h:m==a?(b-c)/h+2:(c-a)/h+4)+360)%6*60/360;m=(m+e)/2;return{h:c,s:0==h?0:0.5>m?h/(2*m):h/(2-2*\n",
"m),l:m,toString:ra}};a.parsePathString=function(c){if(!c)return null;var b=a.path(c);if(b.arr)return a.path.clone(b.arr);var m={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];y(c,\"array\")&&y(c[0],\"array\")&&(e=a.path.clone(c));e.length||J(c).replace(W,function(c,a,b){var h=[];c=a.toLowerCase();b.replace(Z,function(c,a){a&&h.push(+a)});\"m\"==c&&2<h.length&&(e.push([a].concat(h.splice(0,2))),c=\"l\",a=\"m\"==a?\"l\":\"L\");\"o\"==c&&1==h.length&&e.push([a,h[0] ]);if(\"r\"==c)e.push([a].concat(h));else for(;h.length>=\n",
"m[c]&&(e.push([a].concat(h.splice(0,m[c]))),m[c]););});e.toString=a.path.toString;b.arr=a.path.clone(e);return e};var O=a.parseTransformString=function(c){if(!c)return null;var b=[];y(c,\"array\")&&y(c[0],\"array\")&&(b=a.path.clone(c));b.length||J(c).replace(ma,function(c,a,m){var e=[];a.toLowerCase();m.replace(Z,function(c,a){a&&e.push(+a)});b.push([a].concat(e))});b.toString=a.path.toString;return b};a._.svgTransform2string=d;a._.rgTransform=RegExp(\"^[a-z][\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*-?\\\\.?\\\\d\",\n",
"\"i\");a._.transform2matrix=f;a._unit2px=b;a._.getSomeDefs=u;a._.getSomeSVG=p;a.select=function(c){return x(G.doc.querySelector(c))};a.selectAll=function(c){c=G.doc.querySelectorAll(c);for(var b=(a.set||Array)(),m=0;m<c.length;m++)b.push(x(c[m]));return b};setInterval(function(){for(var c in E)if(E[h](c)){var a=E[c],b=a.node;(\"svg\"!=a.type&&!b.ownerSVGElement||\"svg\"==a.type&&(!b.parentNode||\"ownerSVGElement\"in b.parentNode&&!b.ownerSVGElement))&&delete E[c]}},1E4);(function(c){function m(c){function a(c,\n",
"b){var m=v(c.node,b);(m=(m=m&&m.match(d))&&m[2])&&\"#\"==m.charAt()&&(m=m.substring(1))&&(f[m]=(f[m]||[]).concat(function(a){var m={};m[b]=ca(a);v(c.node,m)}))}function b(c){var a=v(c.node,\"xlink:href\");a&&\"#\"==a.charAt()&&(a=a.substring(1))&&(f[a]=(f[a]||[]).concat(function(a){c.attr(\"xlink:href\",\"#\"+a)}))}var e=c.selectAll(\"*\"),h,d=/^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/;c=[];for(var f={},l=0,E=e.length;l<E;l++){h=e[l];a(h,\"fill\");a(h,\"stroke\");a(h,\"filter\");a(h,\"mask\");a(h,\"clip-path\");b(h);var t=v(h.node,\n",
"\"id\");t&&(v(h.node,{id:h.id}),c.push({old:t,id:h.id}))}l=0;for(E=c.length;l<E;l++)if(e=f[c[l].old])for(h=0,t=e.length;h<t;h++)e[h](c[l].id)}function e(c,a,b){return function(m){m=m.slice(c,a);1==m.length&&(m=m[0]);return b?b(m):m}}function d(c){return function(){var a=c?\"<\"+this.type:\"\",b=this.node.attributes,m=this.node.childNodes;if(c)for(var e=0,h=b.length;e<h;e++)a+=\" \"+b[e].name+'=\"'+b[e].value.replace(/\"/g,'\\\\\"')+'\"';if(m.length){c&&(a+=\">\");e=0;for(h=m.length;e<h;e++)3==m[e].nodeType?a+=m[e].nodeValue:\n",
"1==m[e].nodeType&&(a+=x(m[e]).toString());c&&(a+=\"</\"+this.type+\">\")}else c&&(a+=\"/>\");return a}}c.attr=function(c,a){if(!c)return this;if(y(c,\"string\"))if(1<arguments.length){var b={};b[c]=a;c=b}else return k(\"snap.util.getattr.\"+c,this).firstDefined();for(var m in c)c[h](m)&&k(\"snap.util.attr.\"+m,this,c[m]);return this};c.getBBox=function(c){if(!a.Matrix||!a.path)return this.node.getBBox();var b=this,m=new a.Matrix;if(b.removed)return a._.box();for(;\"use\"==b.type;)if(c||(m=m.add(b.transform().localMatrix.translate(b.attr(\"x\")||\n",
"0,b.attr(\"y\")||0))),b.original)b=b.original;else var e=b.attr(\"xlink:href\"),b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf(\"#\")+1));var e=b._,h=a.path.get[b.type]||a.path.get.deflt;try{if(c)return e.bboxwt=h?a.path.getBBox(b.realPath=h(b)):a._.box(b.node.getBBox()),a._.box(e.bboxwt);b.realPath=h(b);b.matrix=b.transform().localMatrix;e.bbox=a.path.getBBox(a.path.map(b.realPath,m.add(b.matrix)));return a._.box(e.bbox)}catch(d){return a._.box()}};var f=function(){return this.string};\n",
"c.transform=function(c){var b=this._;if(null==c){var m=this;c=new a.Matrix(this.node.getCTM());for(var e=n(this),h=[e],d=new a.Matrix,l=e.toTransformString(),b=J(e)==J(this.matrix)?J(b.transform):l;\"svg\"!=m.type&&(m=m.parent());)h.push(n(m));for(m=h.length;m--;)d.add(h[m]);return{string:b,globalMatrix:c,totalMatrix:d,localMatrix:e,diffMatrix:c.clone().add(e.invert()),global:c.toTransformString(),total:d.toTransformString(),local:l,toString:f}}c instanceof a.Matrix?this.matrix=c:n(this,c);this.node&&\n",
"(\"linearGradient\"==this.type||\"radialGradient\"==this.type?v(this.node,{gradientTransform:this.matrix}):\"pattern\"==this.type?v(this.node,{patternTransform:this.matrix}):v(this.node,{transform:this.matrix}));return this};c.parent=function(){return x(this.node.parentNode)};c.append=c.add=function(c){if(c){if(\"set\"==c.type){var a=this;c.forEach(function(c){a.add(c)});return this}c=x(c);this.node.appendChild(c.node);c.paper=this.paper}return this};c.appendTo=function(c){c&&(c=x(c),c.append(this));return this};\n",
"c.prepend=function(c){if(c){if(\"set\"==c.type){var a=this,b;c.forEach(function(c){b?b.after(c):a.prepend(c);b=c});return this}c=x(c);var m=c.parent();this.node.insertBefore(c.node,this.node.firstChild);this.add&&this.add();c.paper=this.paper;this.parent()&&this.parent().add();m&&m.add()}return this};c.prependTo=function(c){c=x(c);c.prepend(this);return this};c.before=function(c){if(\"set\"==c.type){var a=this;c.forEach(function(c){var b=c.parent();a.node.parentNode.insertBefore(c.node,a.node);b&&b.add()});\n",
"this.parent().add();return this}c=x(c);var b=c.parent();this.node.parentNode.insertBefore(c.node,this.node);this.parent()&&this.parent().add();b&&b.add();c.paper=this.paper;return this};c.after=function(c){c=x(c);var a=c.parent();this.node.nextSibling?this.node.parentNode.insertBefore(c.node,this.node.nextSibling):this.node.parentNode.appendChild(c.node);this.parent()&&this.parent().add();a&&a.add();c.paper=this.paper;return this};c.insertBefore=function(c){c=x(c);var a=this.parent();c.node.parentNode.insertBefore(this.node,\n",
"c.node);this.paper=c.paper;a&&a.add();c.parent()&&c.parent().add();return this};c.insertAfter=function(c){c=x(c);var a=this.parent();c.node.parentNode.insertBefore(this.node,c.node.nextSibling);this.paper=c.paper;a&&a.add();c.parent()&&c.parent().add();return this};c.remove=function(){var c=this.parent();this.node.parentNode&&this.node.parentNode.removeChild(this.node);delete this.paper;this.removed=!0;c&&c.add();return this};c.select=function(c){return x(this.node.querySelector(c))};c.selectAll=\n",
"function(c){c=this.node.querySelectorAll(c);for(var b=(a.set||Array)(),m=0;m<c.length;m++)b.push(x(c[m]));return b};c.asPX=function(c,a){null==a&&(a=this.attr(c));return+b(this,c,a)};c.use=function(){var c,a=this.node.id;a||(a=this.id,v(this.node,{id:a}));c=\"linearGradient\"==this.type||\"radialGradient\"==this.type||\"pattern\"==this.type?r(this.type,this.node.parentNode):r(\"use\",this.node.parentNode);v(c.node,{\"xlink:href\":\"#\"+a});c.original=this;return c};var l=/\\S+/g;c.addClass=function(c){var a=(c||\n",
"\"\").match(l)||[];c=this.node;var b=c.className.baseVal,m=b.match(l)||[],e,h,d;if(a.length){for(e=0;d=a[e++];)h=m.indexOf(d),~h||m.push(d);a=m.join(\" \");b!=a&&(c.className.baseVal=a)}return this};c.removeClass=function(c){var a=(c||\"\").match(l)||[];c=this.node;var b=c.className.baseVal,m=b.match(l)||[],e,h;if(m.length){for(e=0;h=a[e++];)h=m.indexOf(h),~h&&m.splice(h,1);a=m.join(\" \");b!=a&&(c.className.baseVal=a)}return this};c.hasClass=function(c){return!!~(this.node.className.baseVal.match(l)||[]).indexOf(c)};\n",
"c.toggleClass=function(c,a){if(null!=a)return a?this.addClass(c):this.removeClass(c);var b=(c||\"\").match(l)||[],m=this.node,e=m.className.baseVal,h=e.match(l)||[],d,f,E;for(d=0;E=b[d++];)f=h.indexOf(E),~f?h.splice(f,1):h.push(E);b=h.join(\" \");e!=b&&(m.className.baseVal=b);return this};c.clone=function(){var c=x(this.node.cloneNode(!0));v(c.node,\"id\")&&v(c.node,{id:c.id});m(c);c.insertAfter(this);return c};c.toDefs=function(){u(this).appendChild(this.node);return this};c.pattern=c.toPattern=function(c,\n",
"a,b,m){var e=r(\"pattern\",u(this));null==c&&(c=this.getBBox());y(c,\"object\")&&\"x\"in c&&(a=c.y,b=c.width,m=c.height,c=c.x);v(e.node,{x:c,y:a,width:b,height:m,patternUnits:\"userSpaceOnUse\",id:e.id,viewBox:[c,a,b,m].join(\" \")});e.node.appendChild(this.node);return e};c.marker=function(c,a,b,m,e,h){var d=r(\"marker\",u(this));null==c&&(c=this.getBBox());y(c,\"object\")&&\"x\"in c&&(a=c.y,b=c.width,m=c.height,e=c.refX||c.cx,h=c.refY||c.cy,c=c.x);v(d.node,{viewBox:[c,a,b,m].join(\" \"),markerWidth:b,markerHeight:m,\n",
"orient:\"auto\",refX:e||0,refY:h||0,id:d.id});d.node.appendChild(this.node);return d};var E=function(c,a,b,m){\"function\"!=typeof b||b.length||(m=b,b=L.linear);this.attr=c;this.dur=a;b&&(this.easing=b);m&&(this.callback=m)};a._.Animation=E;a.animation=function(c,a,b,m){return new E(c,a,b,m)};c.inAnim=function(){var c=[],a;for(a in this.anims)this.anims[h](a)&&function(a){c.push({anim:new E(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(c){return a.status(c)},stop:function(){a.stop()}})}(this.anims[a]);\n",
"return c};a.animate=function(c,a,b,m,e,h){\"function\"!=typeof e||e.length||(h=e,e=L.linear);var d=L.time();c=L(c,a,d,d+m,L.time,b,e);h&&k.once(\"mina.finish.\"+c.id,h);return c};c.stop=function(){for(var c=this.inAnim(),a=0,b=c.length;a<b;a++)c[a].stop();return this};c.animate=function(c,a,b,m){\"function\"!=typeof b||b.length||(m=b,b=L.linear);c instanceof E&&(m=c.callback,b=c.easing,a=b.dur,c=c.attr);var d=[],f=[],l={},t,ca,n,T=this,q;for(q in c)if(c[h](q)){T.equal?(n=T.equal(q,J(c[q])),t=n.from,ca=\n",
"n.to,n=n.f):(t=+T.attr(q),ca=+c[q]);var la=y(t,\"array\")?t.length:1;l[q]=e(d.length,d.length+la,n);d=d.concat(t);f=f.concat(ca)}t=L.time();var p=L(d,f,t,t+a,L.time,function(c){var a={},b;for(b in l)l[h](b)&&(a[b]=l[b](c));T.attr(a)},b);T.anims[p.id]=p;p._attrs=c;p._callback=m;k(\"snap.animcreated.\"+T.id,p);k.once(\"mina.finish.\"+p.id,function(){delete T.anims[p.id];m&&m.call(T)});k.once(\"mina.stop.\"+p.id,function(){delete T.anims[p.id]});return T};var T={};c.data=function(c,b){var m=T[this.id]=T[this.id]||\n",
"{};if(0==arguments.length)return k(\"snap.data.get.\"+this.id,this,m,null),m;if(1==arguments.length){if(a.is(c,\"object\")){for(var e in c)c[h](e)&&this.data(e,c[e]);return this}k(\"snap.data.get.\"+this.id,this,m[c],c);return m[c]}m[c]=b;k(\"snap.data.set.\"+this.id,this,b,c);return this};c.removeData=function(c){null==c?T[this.id]={}:T[this.id]&&delete T[this.id][c];return this};c.outerSVG=c.toString=d(1);c.innerSVG=d()})(e.prototype);a.parse=function(c){var a=G.doc.createDocumentFragment(),b=!0,m=G.doc.createElement(\"div\");\n",
"c=J(c);c.match(/^\\s*<\\s*svg(?:\\s|>)/)||(c=\"<svg>\"+c+\"</svg>\",b=!1);m.innerHTML=c;if(c=m.getElementsByTagName(\"svg\")[0])if(b)a=c;else for(;c.firstChild;)a.appendChild(c.firstChild);m.innerHTML=aa;return new l(a)};l.prototype.select=e.prototype.select;l.prototype.selectAll=e.prototype.selectAll;a.fragment=function(){for(var c=Array.prototype.slice.call(arguments,0),b=G.doc.createDocumentFragment(),m=0,e=c.length;m<e;m++){var h=c[m];h.node&&h.node.nodeType&&b.appendChild(h.node);h.nodeType&&b.appendChild(h);\n",
"\"string\"==typeof h&&b.appendChild(a.parse(h).node)}return new l(b)};a._.make=r;a._.wrap=x;s.prototype.el=function(c,a){var b=r(c,this.node);a&&b.attr(a);return b};k.on(\"snap.util.getattr\",function(){var c=k.nt(),c=c.substring(c.lastIndexOf(\".\")+1),a=c.replace(/[A-Z]/g,function(c){return\"-\"+c.toLowerCase()});return pa[h](a)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(a):v(this.node,c)});var pa={\"alignment-baseline\":0,\"baseline-shift\":0,clip:0,\"clip-path\":0,\n",
"\"clip-rule\":0,color:0,\"color-interpolation\":0,\"color-interpolation-filters\":0,\"color-profile\":0,\"color-rendering\":0,cursor:0,direction:0,display:0,\"dominant-baseline\":0,\"enable-background\":0,fill:0,\"fill-opacity\":0,\"fill-rule\":0,filter:0,\"flood-color\":0,\"flood-opacity\":0,font:0,\"font-family\":0,\"font-size\":0,\"font-size-adjust\":0,\"font-stretch\":0,\"font-style\":0,\"font-variant\":0,\"font-weight\":0,\"glyph-orientation-horizontal\":0,\"glyph-orientation-vertical\":0,\"image-rendering\":0,kerning:0,\"letter-spacing\":0,\n",
"\"lighting-color\":0,marker:0,\"marker-end\":0,\"marker-mid\":0,\"marker-start\":0,mask:0,opacity:0,overflow:0,\"pointer-events\":0,\"shape-rendering\":0,\"stop-color\":0,\"stop-opacity\":0,stroke:0,\"stroke-dasharray\":0,\"stroke-dashoffset\":0,\"stroke-linecap\":0,\"stroke-linejoin\":0,\"stroke-miterlimit\":0,\"stroke-opacity\":0,\"stroke-width\":0,\"text-anchor\":0,\"text-decoration\":0,\"text-rendering\":0,\"unicode-bidi\":0,visibility:0,\"word-spacing\":0,\"writing-mode\":0};k.on(\"snap.util.attr\",function(c){var a=k.nt(),b={},a=a.substring(a.lastIndexOf(\".\")+\n",
"1);b[a]=c;var m=a.replace(/-(\\w)/gi,function(c,a){return a.toUpperCase()}),a=a.replace(/[A-Z]/g,function(c){return\"-\"+c.toLowerCase()});pa[h](a)?this.node.style[m]=null==c?aa:c:v(this.node,b)});a.ajax=function(c,a,b,m){var e=new XMLHttpRequest,h=V();if(e){if(y(a,\"function\"))m=b,b=a,a=null;else if(y(a,\"object\")){var d=[],f;for(f in a)a.hasOwnProperty(f)&&d.push(encodeURIComponent(f)+\"=\"+encodeURIComponent(a[f]));a=d.join(\"&\")}e.open(a?\"POST\":\"GET\",c,!0);a&&(e.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),\n",
"e.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"));b&&(k.once(\"snap.ajax.\"+h+\".0\",b),k.once(\"snap.ajax.\"+h+\".200\",b),k.once(\"snap.ajax.\"+h+\".304\",b));e.onreadystatechange=function(){4==e.readyState&&k(\"snap.ajax.\"+h+\".\"+e.status,m,e)};if(4==e.readyState)return e;e.send(a);return e}};a.load=function(c,b,m){a.ajax(c,function(c){c=a.parse(c.responseText);m?b.call(m,c):b(c)})};a.getElementByPoint=function(c,a){var b,m,e=G.doc.elementFromPoint(c,a);if(G.win.opera&&\"svg\"==e.tagName){b=\n",
"e;m=b.getBoundingClientRect();b=b.ownerDocument;var h=b.body,d=b.documentElement;b=m.top+(g.win.pageYOffset||d.scrollTop||h.scrollTop)-(d.clientTop||h.clientTop||0);m=m.left+(g.win.pageXOffset||d.scrollLeft||h.scrollLeft)-(d.clientLeft||h.clientLeft||0);h=e.createSVGRect();h.x=c-m;h.y=a-b;h.width=h.height=1;b=e.getIntersectionList(h,null);b.length&&(e=b[b.length-1])}return e?x(e):null};a.plugin=function(c){c(a,e,s,G,l)};return G.win.Snap=a}();C.plugin(function(a,k,y,M,A){function w(a,d,f,b,q,e){null==\n",
"d&&\"[object SVGMatrix]\"==z.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,this.f=a.f):null!=a?(this.a=+a,this.b=+d,this.c=+f,this.d=+b,this.e=+q,this.f=+e):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)}var z=Object.prototype.toString,d=String,f=Math;(function(n){function k(a){return a[0]*a[0]+a[1]*a[1]}function p(a){var d=f.sqrt(k(a));a[0]&&(a[0]/=d);a[1]&&(a[1]/=d)}n.add=function(a,d,e,f,n,p){var k=[[],[],[] ],u=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1] ];d=[[a,\n",
"e,n],[d,f,p],[0,0,1] ];a&&a instanceof w&&(d=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1] ]);for(a=0;3>a;a++)for(e=0;3>e;e++){for(f=n=0;3>f;f++)n+=u[a][f]*d[f][e];k[a][e]=n}this.a=k[0][0];this.b=k[1][0];this.c=k[0][1];this.d=k[1][1];this.e=k[0][2];this.f=k[1][2];return this};n.invert=function(){var a=this.a*this.d-this.b*this.c;return new w(this.d/a,-this.b/a,-this.c/a,this.a/a,(this.c*this.f-this.d*this.e)/a,(this.b*this.e-this.a*this.f)/a)};n.clone=function(){return new w(this.a,this.b,this.c,this.d,this.e,\n",
"this.f)};n.translate=function(a,d){return this.add(1,0,0,1,a,d)};n.scale=function(a,d,e,f){null==d&&(d=a);(e||f)&&this.add(1,0,0,1,e,f);this.add(a,0,0,d,0,0);(e||f)&&this.add(1,0,0,1,-e,-f);return this};n.rotate=function(b,d,e){b=a.rad(b);d=d||0;e=e||0;var l=+f.cos(b).toFixed(9);b=+f.sin(b).toFixed(9);this.add(l,b,-b,l,d,e);return this.add(1,0,0,1,-d,-e)};n.x=function(a,d){return a*this.a+d*this.c+this.e};n.y=function(a,d){return a*this.b+d*this.d+this.f};n.get=function(a){return+this[d.fromCharCode(97+\n",
"a)].toFixed(4)};n.toString=function(){return\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\"};n.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};n.determinant=function(){return this.a*this.d-this.b*this.c};n.split=function(){var b={};b.dx=this.e;b.dy=this.f;var d=[[this.a,this.c],[this.b,this.d] ];b.scalex=f.sqrt(k(d[0]));p(d[0]);b.shear=d[0][0]*d[1][0]+d[0][1]*d[1][1];d[1]=[d[1][0]-d[0][0]*b.shear,d[1][1]-d[0][1]*b.shear];b.scaley=f.sqrt(k(d[1]));\n",
"p(d[1]);b.shear/=b.scaley;0>this.determinant()&&(b.scalex=-b.scalex);var e=-d[0][1],d=d[1][1];0>d?(b.rotate=a.deg(f.acos(d)),0>e&&(b.rotate=360-b.rotate)):b.rotate=a.deg(f.asin(e));b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate);b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate;b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b};n.toTransformString=function(a){a=a||this.split();if(+a.shear.toFixed(9))return\"m\"+[this.get(0),\n",
"this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)];a.scalex=+a.scalex.toFixed(4);a.scaley=+a.scaley.toFixed(4);a.rotate=+a.rotate.toFixed(4);return(a.dx||a.dy?\"t\"+[+a.dx.toFixed(4),+a.dy.toFixed(4)]:\"\")+(1!=a.scalex||1!=a.scaley?\"s\"+[a.scalex,a.scaley,0,0]:\"\")+(a.rotate?\"r\"+[+a.rotate.toFixed(4),0,0]:\"\")}})(w.prototype);a.Matrix=w;a.matrix=function(a,d,f,b,k,e){return new w(a,d,f,b,k,e)}});C.plugin(function(a,v,y,M,A){function w(h){return function(d){k.stop();d instanceof A&&1==d.node.childNodes.length&&\n",
"(\"radialGradient\"==d.node.firstChild.tagName||\"linearGradient\"==d.node.firstChild.tagName||\"pattern\"==d.node.firstChild.tagName)&&(d=d.node.firstChild,b(this).appendChild(d),d=u(d));if(d instanceof v)if(\"radialGradient\"==d.type||\"linearGradient\"==d.type||\"pattern\"==d.type){d.node.id||e(d.node,{id:d.id});var f=l(d.node.id)}else f=d.attr(h);else f=a.color(d),f.error?(f=a(b(this).ownerSVGElement).gradient(d))?(f.node.id||e(f.node,{id:f.id}),f=l(f.node.id)):f=d:f=r(f);d={};d[h]=f;e(this.node,d);this.node.style[h]=\n",
"x}}function z(a){k.stop();a==+a&&(a+=\"px\");this.node.style.fontSize=a}function d(a){var b=[];a=a.childNodes;for(var e=0,f=a.length;e<f;e++){var l=a[e];3==l.nodeType&&b.push(l.nodeValue);\"tspan\"==l.tagName&&(1==l.childNodes.length&&3==l.firstChild.nodeType?b.push(l.firstChild.nodeValue):b.push(d(l)))}return b}function f(){k.stop();return this.node.style.fontSize}var n=a._.make,u=a._.wrap,p=a.is,b=a._.getSomeDefs,q=/^url\\(#?([^)]+)\\)$/,e=a._.$,l=a.url,r=String,s=a._.separator,x=\"\";k.on(\"snap.util.attr.mask\",\n",
"function(a){if(a instanceof v||a instanceof A){k.stop();a instanceof A&&1==a.node.childNodes.length&&(a=a.node.firstChild,b(this).appendChild(a),a=u(a));if(\"mask\"==a.type)var d=a;else d=n(\"mask\",b(this)),d.node.appendChild(a.node);!d.node.id&&e(d.node,{id:d.id});e(this.node,{mask:l(d.id)})}});(function(a){k.on(\"snap.util.attr.clip\",a);k.on(\"snap.util.attr.clip-path\",a);k.on(\"snap.util.attr.clipPath\",a)})(function(a){if(a instanceof v||a instanceof A){k.stop();if(\"clipPath\"==a.type)var d=a;else d=\n",
"n(\"clipPath\",b(this)),d.node.appendChild(a.node),!d.node.id&&e(d.node,{id:d.id});e(this.node,{\"clip-path\":l(d.id)})}});k.on(\"snap.util.attr.fill\",w(\"fill\"));k.on(\"snap.util.attr.stroke\",w(\"stroke\"));var G=/^([lr])(?:\\(([^)]*)\\))?(.*)$/i;k.on(\"snap.util.grad.parse\",function(a){a=r(a);var b=a.match(G);if(!b)return null;a=b[1];var e=b[2],b=b[3],e=e.split(/\\s*,\\s*/).map(function(a){return+a==a?+a:a});1==e.length&&0==e[0]&&(e=[]);b=b.split(\"-\");b=b.map(function(a){a=a.split(\":\");var b={color:a[0]};a[1]&&\n",
"(b.offset=parseFloat(a[1]));return b});return{type:a,params:e,stops:b}});k.on(\"snap.util.attr.d\",function(b){k.stop();p(b,\"array\")&&p(b[0],\"array\")&&(b=a.path.toString.call(b));b=r(b);b.match(/[ruo]/i)&&(b=a.path.toAbsolute(b));e(this.node,{d:b})})(-1);k.on(\"snap.util.attr.#text\",function(a){k.stop();a=r(a);for(a=M.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(a)})(-1);k.on(\"snap.util.attr.path\",function(a){k.stop();this.attr({d:a})})(-1);\n",
"k.on(\"snap.util.attr.class\",function(a){k.stop();this.node.className.baseVal=a})(-1);k.on(\"snap.util.attr.viewBox\",function(a){a=p(a,\"object\")&&\"x\"in a?[a.x,a.y,a.width,a.height].join(\" \"):p(a,\"array\")?a.join(\" \"):a;e(this.node,{viewBox:a});k.stop()})(-1);k.on(\"snap.util.attr.transform\",function(a){this.transform(a);k.stop()})(-1);k.on(\"snap.util.attr.r\",function(a){\"rect\"==this.type&&(k.stop(),e(this.node,{rx:a,ry:a}))})(-1);k.on(\"snap.util.attr.textpath\",function(a){k.stop();if(\"text\"==this.type){var d,\n",
"f;if(!a&&this.textPath){for(a=this.textPath;a.node.firstChild;)this.node.appendChild(a.node.firstChild);a.remove();delete this.textPath}else if(p(a,\"string\")?(d=b(this),a=u(d.parentNode).path(a),d.appendChild(a.node),d=a.id,a.attr({id:d})):(a=u(a),a instanceof v&&(d=a.attr(\"id\"),d||(d=a.id,a.attr({id:d})))),d)if(a=this.textPath,f=this.node,a)a.attr({\"xlink:href\":\"#\"+d});else{for(a=e(\"textPath\",{\"xlink:href\":\"#\"+d});f.firstChild;)a.appendChild(f.firstChild);f.appendChild(a);this.textPath=u(a)}}})(-1);\n",
"k.on(\"snap.util.attr.text\",function(a){if(\"text\"==this.type){for(var b=this.node,d=function(a){var b=e(\"tspan\");if(p(a,\"array\"))for(var f=0;f<a.length;f++)b.appendChild(d(a[f]));else b.appendChild(M.doc.createTextNode(a));b.normalize&&b.normalize();return b};b.firstChild;)b.removeChild(b.firstChild);for(a=d(a);a.firstChild;)b.appendChild(a.firstChild)}k.stop()})(-1);k.on(\"snap.util.attr.fontSize\",z)(-1);k.on(\"snap.util.attr.font-size\",z)(-1);k.on(\"snap.util.getattr.transform\",function(){k.stop();\n",
"return this.transform()})(-1);k.on(\"snap.util.getattr.textpath\",function(){k.stop();return this.textPath})(-1);(function(){function b(d){return function(){k.stop();var b=M.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue(\"marker-\"+d);return\"none\"==b?b:a(M.doc.getElementById(b.match(q)[1]))}}function d(a){return function(b){k.stop();var d=\"marker\"+a.charAt(0).toUpperCase()+a.substring(1);if(\"\"==b||!b)this.node.style[d]=\"none\";else if(\"marker\"==b.type){var f=b.node.id;f||e(b.node,{id:b.id});\n",
"this.node.style[d]=l(f)}}}k.on(\"snap.util.getattr.marker-end\",b(\"end\"))(-1);k.on(\"snap.util.getattr.markerEnd\",b(\"end\"))(-1);k.on(\"snap.util.getattr.marker-start\",b(\"start\"))(-1);k.on(\"snap.util.getattr.markerStart\",b(\"start\"))(-1);k.on(\"snap.util.getattr.marker-mid\",b(\"mid\"))(-1);k.on(\"snap.util.getattr.markerMid\",b(\"mid\"))(-1);k.on(\"snap.util.attr.marker-end\",d(\"end\"))(-1);k.on(\"snap.util.attr.markerEnd\",d(\"end\"))(-1);k.on(\"snap.util.attr.marker-start\",d(\"start\"))(-1);k.on(\"snap.util.attr.markerStart\",\n",
"d(\"start\"))(-1);k.on(\"snap.util.attr.marker-mid\",d(\"mid\"))(-1);k.on(\"snap.util.attr.markerMid\",d(\"mid\"))(-1)})();k.on(\"snap.util.getattr.r\",function(){if(\"rect\"==this.type&&e(this.node,\"rx\")==e(this.node,\"ry\"))return k.stop(),e(this.node,\"rx\")})(-1);k.on(\"snap.util.getattr.text\",function(){if(\"text\"==this.type||\"tspan\"==this.type){k.stop();var a=d(this.node);return 1==a.length?a[0]:a}})(-1);k.on(\"snap.util.getattr.#text\",function(){return this.node.textContent})(-1);k.on(\"snap.util.getattr.viewBox\",\n",
"function(){k.stop();var b=e(this.node,\"viewBox\");if(b)return b=b.split(s),a._.box(+b[0],+b[1],+b[2],+b[3])})(-1);k.on(\"snap.util.getattr.points\",function(){var a=e(this.node,\"points\");k.stop();if(a)return a.split(s)})(-1);k.on(\"snap.util.getattr.path\",function(){var a=e(this.node,\"d\");k.stop();return a})(-1);k.on(\"snap.util.getattr.class\",function(){return this.node.className.baseVal})(-1);k.on(\"snap.util.getattr.fontSize\",f)(-1);k.on(\"snap.util.getattr.font-size\",f)(-1)});C.plugin(function(a,v,y,\n",
"M,A){function w(a){return a}function z(a){return function(b){return+b.toFixed(3)+a}}var d={\"+\":function(a,b){return a+b},\"-\":function(a,b){return a-b},\"/\":function(a,b){return a/b},\"*\":function(a,b){return a*b}},f=String,n=/[a-z]+$/i,u=/^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;k.on(\"snap.util.attr\",function(a){if(a=f(a).match(u)){var b=k.nt(),b=b.substring(b.lastIndexOf(\".\")+1),q=this.attr(b),e={};k.stop();var l=a[3]||\"\",r=q.match(n),s=d[a[1] ];r&&r==l?a=s(parseFloat(q),+a[2]):(q=this.asPX(b),\n",
"a=s(this.asPX(b),this.asPX(b,a[2]+l)));isNaN(q)||isNaN(a)||(e[b]=a,this.attr(e))}})(-10);k.on(\"snap.util.equal\",function(a,b){var q=f(this.attr(a)||\"\"),e=f(b).match(u);if(e){k.stop();var l=e[3]||\"\",r=q.match(n),s=d[e[1] ];if(r&&r==l)return{from:parseFloat(q),to:s(parseFloat(q),+e[2]),f:z(r)};q=this.asPX(a);return{from:q,to:s(q,this.asPX(a,e[2]+l)),f:w}}})(-10)});C.plugin(function(a,v,y,M,A){var w=y.prototype,z=a.is;w.rect=function(a,d,k,p,b,q){var e;null==q&&(q=b);z(a,\"object\")&&\"[object Object]\"==\n",
"a?e=a:null!=a&&(e={x:a,y:d,width:k,height:p},null!=b&&(e.rx=b,e.ry=q));return this.el(\"rect\",e)};w.circle=function(a,d,k){var p;z(a,\"object\")&&\"[object Object]\"==a?p=a:null!=a&&(p={cx:a,cy:d,r:k});return this.el(\"circle\",p)};var d=function(){function a(){this.parentNode.removeChild(this)}return function(d,k){var p=M.doc.createElement(\"img\"),b=M.doc.body;p.style.cssText=\"position:absolute;left:-9999em;top:-9999em\";p.onload=function(){k.call(p);p.onload=p.onerror=null;b.removeChild(p)};p.onerror=a;\n",
"b.appendChild(p);p.src=d}}();w.image=function(f,n,k,p,b){var q=this.el(\"image\");if(z(f,\"object\")&&\"src\"in f)q.attr(f);else if(null!=f){var e={\"xlink:href\":f,preserveAspectRatio:\"none\"};null!=n&&null!=k&&(e.x=n,e.y=k);null!=p&&null!=b?(e.width=p,e.height=b):d(f,function(){a._.$(q.node,{width:this.offsetWidth,height:this.offsetHeight})});a._.$(q.node,e)}return q};w.ellipse=function(a,d,k,p){var b;z(a,\"object\")&&\"[object Object]\"==a?b=a:null!=a&&(b={cx:a,cy:d,rx:k,ry:p});return this.el(\"ellipse\",b)};\n",
"w.path=function(a){var d;z(a,\"object\")&&!z(a,\"array\")?d=a:a&&(d={d:a});return this.el(\"path\",d)};w.group=w.g=function(a){var d=this.el(\"g\");1==arguments.length&&a&&!a.type?d.attr(a):arguments.length&&d.add(Array.prototype.slice.call(arguments,0));return d};w.svg=function(a,d,k,p,b,q,e,l){var r={};z(a,\"object\")&&null==d?r=a:(null!=a&&(r.x=a),null!=d&&(r.y=d),null!=k&&(r.width=k),null!=p&&(r.height=p),null!=b&&null!=q&&null!=e&&null!=l&&(r.viewBox=[b,q,e,l]));return this.el(\"svg\",r)};w.mask=function(a){var d=\n",
"this.el(\"mask\");1==arguments.length&&a&&!a.type?d.attr(a):arguments.length&&d.add(Array.prototype.slice.call(arguments,0));return d};w.ptrn=function(a,d,k,p,b,q,e,l){if(z(a,\"object\"))var r=a;else arguments.length?(r={},null!=a&&(r.x=a),null!=d&&(r.y=d),null!=k&&(r.width=k),null!=p&&(r.height=p),null!=b&&null!=q&&null!=e&&null!=l&&(r.viewBox=[b,q,e,l])):r={patternUnits:\"userSpaceOnUse\"};return this.el(\"pattern\",r)};w.use=function(a){return null!=a?(make(\"use\",this.node),a instanceof v&&(a.attr(\"id\")||\n",
"a.attr({id:ID()}),a=a.attr(\"id\")),this.el(\"use\",{\"xlink:href\":a})):v.prototype.use.call(this)};w.text=function(a,d,k){var p={};z(a,\"object\")?p=a:null!=a&&(p={x:a,y:d,text:k||\"\"});return this.el(\"text\",p)};w.line=function(a,d,k,p){var b={};z(a,\"object\")?b=a:null!=a&&(b={x1:a,x2:k,y1:d,y2:p});return this.el(\"line\",b)};w.polyline=function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments,0));var d={};z(a,\"object\")&&!z(a,\"array\")?d=a:null!=a&&(d={points:a});return this.el(\"polyline\",d)};\n",
"w.polygon=function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments,0));var d={};z(a,\"object\")&&!z(a,\"array\")?d=a:null!=a&&(d={points:a});return this.el(\"polygon\",d)};(function(){function d(){return this.selectAll(\"stop\")}function n(b,d){var f=e(\"stop\"),k={offset:+d+\"%\"};b=a.color(b);k[\"stop-color\"]=b.hex;1>b.opacity&&(k[\"stop-opacity\"]=b.opacity);e(f,k);this.node.appendChild(f);return this}function u(){if(\"linearGradient\"==this.type){var b=e(this.node,\"x1\")||0,d=e(this.node,\"x2\")||\n",
"1,f=e(this.node,\"y1\")||0,k=e(this.node,\"y2\")||0;return a._.box(b,f,math.abs(d-b),math.abs(k-f))}b=this.node.r||0;return a._.box((this.node.cx||0.5)-b,(this.node.cy||0.5)-b,2*b,2*b)}function p(a,d){function f(a,b){for(var d=(b-u)/(a-w),e=w;e<a;e++)h[e].offset=+(+u+d*(e-w)).toFixed(2);w=a;u=b}var n=k(\"snap.util.grad.parse\",null,d).firstDefined(),p;if(!n)return null;n.params.unshift(a);p=\"l\"==n.type.toLowerCase()?b.apply(0,n.params):q.apply(0,n.params);n.type!=n.type.toLowerCase()&&e(p.node,{gradientUnits:\"userSpaceOnUse\"});\n",
"var h=n.stops,n=h.length,u=0,w=0;n--;for(var v=0;v<n;v++)\"offset\"in h[v]&&f(v,h[v].offset);h[n].offset=h[n].offset||100;f(n,h[n].offset);for(v=0;v<=n;v++){var y=h[v];p.addStop(y.color,y.offset)}return p}function b(b,k,p,q,w){b=a._.make(\"linearGradient\",b);b.stops=d;b.addStop=n;b.getBBox=u;null!=k&&e(b.node,{x1:k,y1:p,x2:q,y2:w});return b}function q(b,k,p,q,w,h){b=a._.make(\"radialGradient\",b);b.stops=d;b.addStop=n;b.getBBox=u;null!=k&&e(b.node,{cx:k,cy:p,r:q});null!=w&&null!=h&&e(b.node,{fx:w,fy:h});\n",
"return b}var e=a._.$;w.gradient=function(a){return p(this.defs,a)};w.gradientLinear=function(a,d,e,f){return b(this.defs,a,d,e,f)};w.gradientRadial=function(a,b,d,e,f){return q(this.defs,a,b,d,e,f)};w.toString=function(){var b=this.node.ownerDocument,d=b.createDocumentFragment(),b=b.createElement(\"div\"),e=this.node.cloneNode(!0);d.appendChild(b);b.appendChild(e);a._.$(e,{xmlns:\"http://www.w3.org/2000/svg\"});b=b.innerHTML;d.removeChild(d.firstChild);return b};w.clear=function(){for(var a=this.node.firstChild,\n",
"b;a;)b=a.nextSibling,\"defs\"!=a.tagName?a.parentNode.removeChild(a):w.clear.call({node:a}),a=b}})()});C.plugin(function(a,k,y,M){function A(a){var b=A.ps=A.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100};setTimeout(function(){for(var d in b)b[L](d)&&d!=a&&(b[d].sleep--,!b[d].sleep&&delete b[d])});return b[a]}function w(a,b,d,e){null==a&&(a=b=d=e=0);null==b&&(b=a.y,d=a.width,e=a.height,a=a.x);return{x:a,y:b,width:d,w:d,height:e,h:e,x2:a+d,y2:b+e,cx:a+d/2,cy:b+e/2,r1:F.min(d,e)/2,r2:F.max(d,e)/2,r0:F.sqrt(d*\n",
"d+e*e)/2,path:s(a,b,d,e),vb:[a,b,d,e].join(\" \")}}function z(){return this.join(\",\").replace(N,\"$1\")}function d(a){a=C(a);a.toString=z;return a}function f(a,b,d,h,f,k,l,n,p){if(null==p)return e(a,b,d,h,f,k,l,n);if(0>p||e(a,b,d,h,f,k,l,n)<p)p=void 0;else{var q=0.5,O=1-q,s;for(s=e(a,b,d,h,f,k,l,n,O);0.01<Z(s-p);)q/=2,O+=(s<p?1:-1)*q,s=e(a,b,d,h,f,k,l,n,O);p=O}return u(a,b,d,h,f,k,l,n,p)}function n(b,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,h,l){a instanceof k&&(a=a.attr(\"d\"));\n",
"a=I(a);for(var n,p,D,q,O=\"\",s={},c=0,t=0,r=a.length;t<r;t++){D=a[t];if(\"M\"==D[0])n=+D[1],p=+D[2];else{q=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6]);if(c+q>h){if(d&&!s.start){n=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6],h-c);O+=[\"C\"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)];if(l)return O;s.start=O;O=[\"M\"+e(n.x),e(n.y)+\"C\"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(D[5]),e(D[6])].join();c+=q;n=+D[5];p=+D[6];continue}if(!b&&!d)return n=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6],h-c)}c+=q;n=+D[5];p=+D[6]}O+=\n",
"D.shift()+D}s.end=O;return n=b?c:d?s:u(n,p,D[0],D[1],D[2],D[3],D[4],D[5],1)},null,a._.clone)}function u(a,b,d,e,h,f,k,l,n){var p=1-n,q=ma(p,3),s=ma(p,2),c=n*n,t=c*n,r=q*a+3*s*n*d+3*p*n*n*h+t*k,q=q*b+3*s*n*e+3*p*n*n*f+t*l,s=a+2*n*(d-a)+c*(h-2*d+a),t=b+2*n*(e-b)+c*(f-2*e+b),x=d+2*n*(h-d)+c*(k-2*h+d),c=e+2*n*(f-e)+c*(l-2*f+e);a=p*a+n*d;b=p*b+n*e;h=p*h+n*k;f=p*f+n*l;l=90-180*F.atan2(s-x,t-c)/S;return{x:r,y:q,m:{x:s,y:t},n:{x:x,y:c},start:{x:a,y:b},end:{x:h,y:f},alpha:l}}function p(b,d,e,h,f,n,k,l){a.is(b,\n",
"\"array\")||(b=[b,d,e,h,f,n,k,l]);b=U.apply(null,b);return w(b.min.x,b.min.y,b.max.x-b.min.x,b.max.y-b.min.y)}function b(a,b,d){return b>=a.x&&b<=a.x+a.width&&d>=a.y&&d<=a.y+a.height}function q(a,d){a=w(a);d=w(d);return b(d,a.x,a.y)||b(d,a.x2,a.y)||b(d,a.x,a.y2)||b(d,a.x2,a.y2)||b(a,d.x,d.y)||b(a,d.x2,d.y)||b(a,d.x,d.y2)||b(a,d.x2,d.y2)||(a.x<d.x2&&a.x>d.x||d.x<a.x2&&d.x>a.x)&&(a.y<d.y2&&a.y>d.y||d.y<a.y2&&d.y>a.y)}function e(a,b,d,e,h,f,n,k,l){null==l&&(l=1);l=(1<l?1:0>l?0:l)/2;for(var p=[-0.1252,\n",
"0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,-0.9041,0.9041,-0.9816,0.9816],q=[0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],s=0,c=0;12>c;c++)var t=l*p[c]+l,r=t*(t*(-3*a+9*d-9*h+3*n)+6*a-12*d+6*h)-3*a+3*d,t=t*(t*(-3*b+9*e-9*f+3*k)+6*b-12*e+6*f)-3*b+3*e,s=s+q[c]*F.sqrt(r*r+t*t);return l*s}function l(a,b,d){a=I(a);b=I(b);for(var h,f,l,n,k,s,r,O,x,c,t=d?0:[],w=0,v=a.length;w<v;w++)if(x=a[w],\"M\"==x[0])h=k=x[1],f=s=x[2];else{\"C\"==x[0]?(x=[h,f].concat(x.slice(1)),\n",
"h=x[6],f=x[7]):(x=[h,f,h,f,k,s,k,s],h=k,f=s);for(var G=0,y=b.length;G<y;G++)if(c=b[G],\"M\"==c[0])l=r=c[1],n=O=c[2];else{\"C\"==c[0]?(c=[l,n].concat(c.slice(1)),l=c[6],n=c[7]):(c=[l,n,l,n,r,O,r,O],l=r,n=O);var z;var K=x,B=c;z=d;var H=p(K),J=p(B);if(q(H,J)){for(var H=e.apply(0,K),J=e.apply(0,B),H=~~(H/8),J=~~(J/8),U=[],A=[],F={},M=z?0:[],P=0;P<H+1;P++){var C=u.apply(0,K.concat(P/H));U.push({x:C.x,y:C.y,t:P/H})}for(P=0;P<J+1;P++)C=u.apply(0,B.concat(P/J)),A.push({x:C.x,y:C.y,t:P/J});for(P=0;P<H;P++)for(K=\n",
"0;K<J;K++){var Q=U[P],L=U[P+1],B=A[K],C=A[K+1],N=0.001>Z(L.x-Q.x)?\"y\":\"x\",S=0.001>Z(C.x-B.x)?\"y\":\"x\",R;R=Q.x;var Y=Q.y,V=L.x,ea=L.y,fa=B.x,ga=B.y,ha=C.x,ia=C.y;if(W(R,V)<X(fa,ha)||X(R,V)>W(fa,ha)||W(Y,ea)<X(ga,ia)||X(Y,ea)>W(ga,ia))R=void 0;else{var $=(R*ea-Y*V)*(fa-ha)-(R-V)*(fa*ia-ga*ha),aa=(R*ea-Y*V)*(ga-ia)-(Y-ea)*(fa*ia-ga*ha),ja=(R-V)*(ga-ia)-(Y-ea)*(fa-ha);if(ja){var $=$/ja,aa=aa/ja,ja=+$.toFixed(2),ba=+aa.toFixed(2);R=ja<+X(R,V).toFixed(2)||ja>+W(R,V).toFixed(2)||ja<+X(fa,ha).toFixed(2)||\n",
"ja>+W(fa,ha).toFixed(2)||ba<+X(Y,ea).toFixed(2)||ba>+W(Y,ea).toFixed(2)||ba<+X(ga,ia).toFixed(2)||ba>+W(ga,ia).toFixed(2)?void 0:{x:$,y:aa}}else R=void 0}R&&F[R.x.toFixed(4)]!=R.y.toFixed(4)&&(F[R.x.toFixed(4)]=R.y.toFixed(4),Q=Q.t+Z((R[N]-Q[N])/(L[N]-Q[N]))*(L.t-Q.t),B=B.t+Z((R[S]-B[S])/(C[S]-B[S]))*(C.t-B.t),0<=Q&&1>=Q&&0<=B&&1>=B&&(z?M++:M.push({x:R.x,y:R.y,t1:Q,t2:B})))}z=M}else z=z?0:[];if(d)t+=z;else{H=0;for(J=z.length;H<J;H++)z[H].segment1=w,z[H].segment2=G,z[H].bez1=x,z[H].bez2=c;t=t.concat(z)}}}return t}\n",
"function r(a){var b=A(a);if(b.bbox)return C(b.bbox);if(!a)return w();a=I(a);for(var d=0,e=0,h=[],f=[],l,n=0,k=a.length;n<k;n++)l=a[n],\"M\"==l[0]?(d=l[1],e=l[2],h.push(d),f.push(e)):(d=U(d,e,l[1],l[2],l[3],l[4],l[5],l[6]),h=h.concat(d.min.x,d.max.x),f=f.concat(d.min.y,d.max.y),d=l[5],e=l[6]);a=X.apply(0,h);l=X.apply(0,f);h=W.apply(0,h);f=W.apply(0,f);f=w(a,l,h-a,f-l);b.bbox=C(f);return f}function s(a,b,d,e,h){if(h)return[[\"M\",+a+ +h,b],[\"l\",d-2*h,0],[\"a\",h,h,0,0,1,h,h],[\"l\",0,e-2*h],[\"a\",h,h,0,0,1,\n",
"-h,h],[\"l\",2*h-d,0],[\"a\",h,h,0,0,1,-h,-h],[\"l\",0,2*h-e],[\"a\",h,h,0,0,1,h,-h],[\"z\"] ];a=[[\"M\",a,b],[\"l\",d,0],[\"l\",0,e],[\"l\",-d,0],[\"z\"] ];a.toString=z;return a}function x(a,b,d,e,h){null==h&&null==e&&(e=d);a=+a;b=+b;d=+d;e=+e;if(null!=h){var f=Math.PI/180,l=a+d*Math.cos(-e*f);a+=d*Math.cos(-h*f);var n=b+d*Math.sin(-e*f);b+=d*Math.sin(-h*f);d=[[\"M\",l,n],[\"A\",d,d,0,+(180<h-e),0,a,b] ]}else d=[[\"M\",a,b],[\"m\",0,-e],[\"a\",d,e,0,1,1,0,2*e],[\"a\",d,e,0,1,1,0,-2*e],[\"z\"] ];d.toString=z;return d}function G(b){var e=\n",
"A(b);if(e.abs)return d(e.abs);Q(b,\"array\")&&Q(b&&b[0],\"array\")||(b=a.parsePathString(b));if(!b||!b.length)return[[\"M\",0,0] ];var h=[],f=0,l=0,n=0,k=0,p=0;\"M\"==b[0][0]&&(f=+b[0][1],l=+b[0][2],n=f,k=l,p++,h[0]=[\"M\",f,l]);for(var q=3==b.length&&\"M\"==b[0][0]&&\"R\"==b[1][0].toUpperCase()&&\"Z\"==b[2][0].toUpperCase(),s,r,w=p,c=b.length;w<c;w++){h.push(s=[]);r=b[w];p=r[0];if(p!=p.toUpperCase())switch(s[0]=p.toUpperCase(),s[0]){case \"A\":s[1]=r[1];s[2]=r[2];s[3]=r[3];s[4]=r[4];s[5]=r[5];s[6]=+r[6]+f;s[7]=+r[7]+\n",
"l;break;case \"V\":s[1]=+r[1]+l;break;case \"H\":s[1]=+r[1]+f;break;case \"R\":for(var t=[f,l].concat(r.slice(1)),u=2,v=t.length;u<v;u++)t[u]=+t[u]+f,t[++u]=+t[u]+l;h.pop();h=h.concat(P(t,q));break;case \"O\":h.pop();t=x(f,l,r[1],r[2]);t.push(t[0]);h=h.concat(t);break;case \"U\":h.pop();h=h.concat(x(f,l,r[1],r[2],r[3]));s=[\"U\"].concat(h[h.length-1].slice(-2));break;case \"M\":n=+r[1]+f,k=+r[2]+l;default:for(u=1,v=r.length;u<v;u++)s[u]=+r[u]+(u%2?f:l)}else if(\"R\"==p)t=[f,l].concat(r.slice(1)),h.pop(),h=h.concat(P(t,\n",
"q)),s=[\"R\"].concat(r.slice(-2));else if(\"O\"==p)h.pop(),t=x(f,l,r[1],r[2]),t.push(t[0]),h=h.concat(t);else if(\"U\"==p)h.pop(),h=h.concat(x(f,l,r[1],r[2],r[3])),s=[\"U\"].concat(h[h.length-1].slice(-2));else for(t=0,u=r.length;t<u;t++)s[t]=r[t];p=p.toUpperCase();if(\"O\"!=p)switch(s[0]){case \"Z\":f=+n;l=+k;break;case \"H\":f=s[1];break;case \"V\":l=s[1];break;case \"M\":n=s[s.length-2],k=s[s.length-1];default:f=s[s.length-2],l=s[s.length-1]}}h.toString=z;e.abs=d(h);return h}function h(a,b,d,e){return[a,b,d,e,d,\n",
"e]}function J(a,b,d,e,h,f){var l=1/3,n=2/3;return[l*a+n*d,l*b+n*e,l*h+n*d,l*f+n*e,h,f]}function K(b,d,e,h,f,l,n,k,p,s){var r=120*S/180,q=S/180*(+f||0),c=[],t,x=a._.cacher(function(a,b,c){var d=a*F.cos(c)-b*F.sin(c);a=a*F.sin(c)+b*F.cos(c);return{x:d,y:a}});if(s)v=s[0],t=s[1],l=s[2],u=s[3];else{t=x(b,d,-q);b=t.x;d=t.y;t=x(k,p,-q);k=t.x;p=t.y;F.cos(S/180*f);F.sin(S/180*f);t=(b-k)/2;v=(d-p)/2;u=t*t/(e*e)+v*v/(h*h);1<u&&(u=F.sqrt(u),e*=u,h*=u);var u=e*e,w=h*h,u=(l==n?-1:1)*F.sqrt(Z((u*w-u*v*v-w*t*t)/\n",
"(u*v*v+w*t*t)));l=u*e*v/h+(b+k)/2;var u=u*-h*t/e+(d+p)/2,v=F.asin(((d-u)/h).toFixed(9));t=F.asin(((p-u)/h).toFixed(9));v=b<l?S-v:v;t=k<l?S-t:t;0>v&&(v=2*S+v);0>t&&(t=2*S+t);n&&v>t&&(v-=2*S);!n&&t>v&&(t-=2*S)}if(Z(t-v)>r){var c=t,w=k,G=p;t=v+r*(n&&t>v?1:-1);k=l+e*F.cos(t);p=u+h*F.sin(t);c=K(k,p,e,h,f,0,n,w,G,[t,c,l,u])}l=t-v;f=F.cos(v);r=F.sin(v);n=F.cos(t);t=F.sin(t);l=F.tan(l/4);e=4/3*e*l;l*=4/3*h;h=[b,d];b=[b+e*r,d-l*f];d=[k+e*t,p-l*n];k=[k,p];b[0]=2*h[0]-b[0];b[1]=2*h[1]-b[1];if(s)return[b,d,k].concat(c);\n",
"c=[b,d,k].concat(c).join().split(\",\");s=[];k=0;for(p=c.length;k<p;k++)s[k]=k%2?x(c[k-1],c[k],q).y:x(c[k],c[k+1],q).x;return s}function U(a,b,d,e,h,f,l,k){for(var n=[],p=[[],[] ],s,r,c,t,q=0;2>q;++q)0==q?(r=6*a-12*d+6*h,s=-3*a+9*d-9*h+3*l,c=3*d-3*a):(r=6*b-12*e+6*f,s=-3*b+9*e-9*f+3*k,c=3*e-3*b),1E-12>Z(s)?1E-12>Z(r)||(s=-c/r,0<s&&1>s&&n.push(s)):(t=r*r-4*c*s,c=F.sqrt(t),0>t||(t=(-r+c)/(2*s),0<t&&1>t&&n.push(t),s=(-r-c)/(2*s),0<s&&1>s&&n.push(s)));for(r=q=n.length;q--;)s=n[q],c=1-s,p[0][q]=c*c*c*a+3*\n",
"c*c*s*d+3*c*s*s*h+s*s*s*l,p[1][q]=c*c*c*b+3*c*c*s*e+3*c*s*s*f+s*s*s*k;p[0][r]=a;p[1][r]=b;p[0][r+1]=l;p[1][r+1]=k;p[0].length=p[1].length=r+2;return{min:{x:X.apply(0,p[0]),y:X.apply(0,p[1])},max:{x:W.apply(0,p[0]),y:W.apply(0,p[1])}}}function I(a,b){var e=!b&&A(a);if(!b&&e.curve)return d(e.curve);var f=G(a),l=b&&G(b),n={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},p=function(a,b,c){if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];a[0]in{T:1,Q:1}||(b.qx=b.qy=null);\n",
"switch(a[0]){case \"M\":b.X=a[1];b.Y=a[2];break;case \"A\":a=[\"C\"].concat(K.apply(0,[b.x,b.y].concat(a.slice(1))));break;case \"S\":\"C\"==c||\"S\"==c?(c=2*b.x-b.bx,b=2*b.y-b.by):(c=b.x,b=b.y);a=[\"C\",c,b].concat(a.slice(1));break;case \"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y);a=[\"C\"].concat(J(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case \"Q\":b.qx=a[1];b.qy=a[2];a=[\"C\"].concat(J(b.x,b.y,a[1],a[2],a[3],a[4]));break;case \"L\":a=[\"C\"].concat(h(b.x,b.y,a[1],a[2]));break;case \"H\":a=[\"C\"].concat(h(b.x,\n",
"b.y,a[1],b.y));break;case \"V\":a=[\"C\"].concat(h(b.x,b.y,b.x,a[1]));break;case \"Z\":a=[\"C\"].concat(h(b.x,b.y,b.X,b.Y))}return a},s=function(a,b){if(7<a[b].length){a[b].shift();for(var c=a[b];c.length;)q[b]=\"A\",l&&(u[b]=\"A\"),a.splice(b++,0,[\"C\"].concat(c.splice(0,6)));a.splice(b,1);v=W(f.length,l&&l.length||0)}},r=function(a,b,c,d,e){a&&b&&\"M\"==a[e][0]&&\"M\"!=b[e][0]&&(b.splice(e,0,[\"M\",d.x,d.y]),c.bx=0,c.by=0,c.x=a[e][1],c.y=a[e][2],v=W(f.length,l&&l.length||0))},q=[],u=[],c=\"\",t=\"\",x=0,v=W(f.length,\n",
"l&&l.length||0);for(;x<v;x++){f[x]&&(c=f[x][0]);\"C\"!=c&&(q[x]=c,x&&(t=q[x-1]));f[x]=p(f[x],n,t);\"A\"!=q[x]&&\"C\"==c&&(q[x]=\"C\");s(f,x);l&&(l[x]&&(c=l[x][0]),\"C\"!=c&&(u[x]=c,x&&(t=u[x-1])),l[x]=p(l[x],k,t),\"A\"!=u[x]&&\"C\"==c&&(u[x]=\"C\"),s(l,x));r(f,l,n,k,x);r(l,f,k,n,x);var w=f[x],z=l&&l[x],y=w.length,U=l&&z.length;n.x=w[y-2];n.y=w[y-1];n.bx=$(w[y-4])||n.x;n.by=$(w[y-3])||n.y;k.bx=l&&($(z[U-4])||k.x);k.by=l&&($(z[U-3])||k.y);k.x=l&&z[U-2];k.y=l&&z[U-1]}l||(e.curve=d(f));return l?[f,l]:f}function P(a,\n",
"b){for(var d=[],e=0,h=a.length;h-2*!b>e;e+=2){var f=[{x:+a[e-2],y:+a[e-1]},{x:+a[e],y:+a[e+1]},{x:+a[e+2],y:+a[e+3]},{x:+a[e+4],y:+a[e+5]}];b?e?h-4==e?f[3]={x:+a[0],y:+a[1]}:h-2==e&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[h-2],y:+a[h-1]}:h-4==e?f[3]=f[2]:e||(f[0]={x:+a[e],y:+a[e+1]});d.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return d}y=k.prototype;var Q=a.is,C=a._.clone,L=\"hasOwnProperty\",\n",
"N=/,?([a-z]),?/gi,$=parseFloat,F=Math,S=F.PI,X=F.min,W=F.max,ma=F.pow,Z=F.abs;M=n(1);var na=n(),ba=n(0,1),V=a._unit2px;a.path=A;a.path.getTotalLength=M;a.path.getPointAtLength=na;a.path.getSubpath=function(a,b,d){if(1E-6>this.getTotalLength(a)-d)return ba(a,b).end;a=ba(a,d,1);return b?ba(a,b).end:a};y.getTotalLength=function(){if(this.node.getTotalLength)return this.node.getTotalLength()};y.getPointAtLength=function(a){return na(this.attr(\"d\"),a)};y.getSubpath=function(b,d){return a.path.getSubpath(this.attr(\"d\"),\n",
"b,d)};a._.box=w;a.path.findDotsAtSegment=u;a.path.bezierBBox=p;a.path.isPointInsideBBox=b;a.path.isBBoxIntersect=q;a.path.intersection=function(a,b){return l(a,b)};a.path.intersectionNumber=function(a,b){return l(a,b,1)};a.path.isPointInside=function(a,d,e){var h=r(a);return b(h,d,e)&&1==l(a,[[\"M\",d,e],[\"H\",h.x2+10] ],1)%2};a.path.getBBox=r;a.path.get={path:function(a){return a.attr(\"path\")},circle:function(a){a=V(a);return x(a.cx,a.cy,a.r)},ellipse:function(a){a=V(a);return x(a.cx||0,a.cy||0,a.rx,\n",
"a.ry)},rect:function(a){a=V(a);return s(a.x||0,a.y||0,a.width,a.height,a.rx,a.ry)},image:function(a){a=V(a);return s(a.x||0,a.y||0,a.width,a.height)},line:function(a){return\"M\"+[a.attr(\"x1\")||0,a.attr(\"y1\")||0,a.attr(\"x2\"),a.attr(\"y2\")]},polyline:function(a){return\"M\"+a.attr(\"points\")},polygon:function(a){return\"M\"+a.attr(\"points\")+\"z\"},deflt:function(a){a=a.node.getBBox();return s(a.x,a.y,a.width,a.height)}};a.path.toRelative=function(b){var e=A(b),h=String.prototype.toLowerCase;if(e.rel)return d(e.rel);\n",
"a.is(b,\"array\")&&a.is(b&&b[0],\"array\")||(b=a.parsePathString(b));var f=[],l=0,n=0,k=0,p=0,s=0;\"M\"==b[0][0]&&(l=b[0][1],n=b[0][2],k=l,p=n,s++,f.push([\"M\",l,n]));for(var r=b.length;s<r;s++){var q=f[s]=[],x=b[s];if(x[0]!=h.call(x[0]))switch(q[0]=h.call(x[0]),q[0]){case \"a\":q[1]=x[1];q[2]=x[2];q[3]=x[3];q[4]=x[4];q[5]=x[5];q[6]=+(x[6]-l).toFixed(3);q[7]=+(x[7]-n).toFixed(3);break;case \"v\":q[1]=+(x[1]-n).toFixed(3);break;case \"m\":k=x[1],p=x[2];default:for(var c=1,t=x.length;c<t;c++)q[c]=+(x[c]-(c%2?l:\n",
"n)).toFixed(3)}else for(f[s]=[],\"m\"==x[0]&&(k=x[1]+l,p=x[2]+n),q=0,c=x.length;q<c;q++)f[s][q]=x[q];x=f[s].length;switch(f[s][0]){case \"z\":l=k;n=p;break;case \"h\":l+=+f[s][x-1];break;case \"v\":n+=+f[s][x-1];break;default:l+=+f[s][x-2],n+=+f[s][x-1]}}f.toString=z;e.rel=d(f);return f};a.path.toAbsolute=G;a.path.toCubic=I;a.path.map=function(a,b){if(!b)return a;var d,e,h,f,l,n,k;a=I(a);h=0;for(l=a.length;h<l;h++)for(k=a[h],f=1,n=k.length;f<n;f+=2)d=b.x(k[f],k[f+1]),e=b.y(k[f],k[f+1]),k[f]=d,k[f+1]=e;return a};\n",
"a.path.toString=z;a.path.clone=d});C.plugin(function(a,v,y,C){var A=Math.max,w=Math.min,z=function(a){this.items=[];this.bindings={};this.length=0;this.type=\"set\";if(a)for(var f=0,n=a.length;f<n;f++)a[f]&&(this[this.items.length]=this.items[this.items.length]=a[f],this.length++)};v=z.prototype;v.push=function(){for(var a,f,n=0,k=arguments.length;n<k;n++)if(a=arguments[n])f=this.items.length,this[f]=this.items[f]=a,this.length++;return this};v.pop=function(){this.length&&delete this[this.length--];\n",
"return this.items.pop()};v.forEach=function(a,f){for(var n=0,k=this.items.length;n<k&&!1!==a.call(f,this.items[n],n);n++);return this};v.animate=function(d,f,n,u){\"function\"!=typeof n||n.length||(u=n,n=L.linear);d instanceof a._.Animation&&(u=d.callback,n=d.easing,f=n.dur,d=d.attr);var p=arguments;if(a.is(d,\"array\")&&a.is(p[p.length-1],\"array\"))var b=!0;var q,e=function(){q?this.b=q:q=this.b},l=0,r=u&&function(){l++==this.length&&u.call(this)};return this.forEach(function(a,l){k.once(\"snap.animcreated.\"+\n",
"a.id,e);b?p[l]&&a.animate.apply(a,p[l]):a.animate(d,f,n,r)})};v.remove=function(){for(;this.length;)this.pop().remove();return this};v.bind=function(a,f,k){var u={};if(\"function\"==typeof f)this.bindings[a]=f;else{var p=k||a;this.bindings[a]=function(a){u[p]=a;f.attr(u)}}return this};v.attr=function(a){var f={},k;for(k in a)if(this.bindings[k])this.bindings[k](a[k]);else f[k]=a[k];a=0;for(k=this.items.length;a<k;a++)this.items[a].attr(f);return this};v.clear=function(){for(;this.length;)this.pop()};\n",
"v.splice=function(a,f,k){a=0>a?A(this.length+a,0):a;f=A(0,w(this.length-a,f));var u=[],p=[],b=[],q;for(q=2;q<arguments.length;q++)b.push(arguments[q]);for(q=0;q<f;q++)p.push(this[a+q]);for(;q<this.length-a;q++)u.push(this[a+q]);var e=b.length;for(q=0;q<e+u.length;q++)this.items[a+q]=this[a+q]=q<e?b[q]:u[q-e];for(q=this.items.length=this.length-=f-e;this[q];)delete this[q++];return new z(p)};v.exclude=function(a){for(var f=0,k=this.length;f<k;f++)if(this[f]==a)return this.splice(f,1),!0;return!1};\n",
"v.insertAfter=function(a){for(var f=this.items.length;f--;)this.items[f].insertAfter(a);return this};v.getBBox=function(){for(var a=[],f=[],k=[],u=[],p=this.items.length;p--;)if(!this.items[p].removed){var b=this.items[p].getBBox();a.push(b.x);f.push(b.y);k.push(b.x+b.width);u.push(b.y+b.height)}a=w.apply(0,a);f=w.apply(0,f);k=A.apply(0,k);u=A.apply(0,u);return{x:a,y:f,x2:k,y2:u,width:k-a,height:u-f,cx:a+(k-a)/2,cy:f+(u-f)/2}};v.clone=function(a){a=new z;for(var f=0,k=this.items.length;f<k;f++)a.push(this.items[f].clone());\n",
"return a};v.toString=function(){return\"Snap\\u2018s set\"};v.type=\"set\";a.set=function(){var a=new z;arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0));return a}});C.plugin(function(a,v,y,C){function A(a){var b=a[0];switch(b.toLowerCase()){case \"t\":return[b,0,0];case \"m\":return[b,1,0,0,1,0,0];case \"r\":return 4==a.length?[b,0,a[2],a[3] ]:[b,0];case \"s\":return 5==a.length?[b,1,1,a[3],a[4] ]:3==a.length?[b,1,1]:[b,1]}}function w(b,d,f){d=q(d).replace(/\\.{3}|\\u2026/g,b);b=a.parseTransformString(b)||\n",
"[];d=a.parseTransformString(d)||[];for(var k=Math.max(b.length,d.length),p=[],v=[],h=0,w,z,y,I;h<k;h++){y=b[h]||A(d[h]);I=d[h]||A(y);if(y[0]!=I[0]||\"r\"==y[0].toLowerCase()&&(y[2]!=I[2]||y[3]!=I[3])||\"s\"==y[0].toLowerCase()&&(y[3]!=I[3]||y[4]!=I[4])){b=a._.transform2matrix(b,f());d=a._.transform2matrix(d,f());p=[[\"m\",b.a,b.b,b.c,b.d,b.e,b.f] ];v=[[\"m\",d.a,d.b,d.c,d.d,d.e,d.f] ];break}p[h]=[];v[h]=[];w=0;for(z=Math.max(y.length,I.length);w<z;w++)w in y&&(p[h][w]=y[w]),w in I&&(v[h][w]=I[w])}return{from:u(p),\n",
"to:u(v),f:n(p)}}function z(a){return a}function d(a){return function(b){return+b.toFixed(3)+a}}function f(b){return a.rgb(b[0],b[1],b[2])}function n(a){var b=0,d,f,k,n,h,p,q=[];d=0;for(f=a.length;d<f;d++){h=\"[\";p=['\"'+a[d][0]+'\"'];k=1;for(n=a[d].length;k<n;k++)p[k]=\"val[\"+b++ +\"]\";h+=p+\"]\";q[d]=h}return Function(\"val\",\"return Snap.path.toString.call([\"+q+\"])\")}function u(a){for(var b=[],d=0,f=a.length;d<f;d++)for(var k=1,n=a[d].length;k<n;k++)b.push(a[d][k]);return b}var p={},b=/[a-z]+$/i,q=String;\n",
"p.stroke=p.fill=\"colour\";v.prototype.equal=function(a,b){return k(\"snap.util.equal\",this,a,b).firstDefined()};k.on(\"snap.util.equal\",function(e,k){var r,s;r=q(this.attr(e)||\"\");var x=this;if(r==+r&&k==+k)return{from:+r,to:+k,f:z};if(\"colour\"==p[e])return r=a.color(r),s=a.color(k),{from:[r.r,r.g,r.b,r.opacity],to:[s.r,s.g,s.b,s.opacity],f:f};if(\"transform\"==e||\"gradientTransform\"==e||\"patternTransform\"==e)return k instanceof a.Matrix&&(k=k.toTransformString()),a._.rgTransform.test(k)||(k=a._.svgTransform2string(k)),\n",
"w(r,k,function(){return x.getBBox(1)});if(\"d\"==e||\"path\"==e)return r=a.path.toCubic(r,k),{from:u(r[0]),to:u(r[1]),f:n(r[0])};if(\"points\"==e)return r=q(r).split(a._.separator),s=q(k).split(a._.separator),{from:r,to:s,f:function(a){return a}};aUnit=r.match(b);s=q(k).match(b);return aUnit&&aUnit==s?{from:parseFloat(r),to:parseFloat(k),f:d(aUnit)}:{from:this.asPX(e),to:this.asPX(e,k),f:z}})});C.plugin(function(a,v,y,C){var A=v.prototype,w=\"createTouch\"in C.doc;v=\"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\".split(\" \");\n",
"var z={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},d=function(a,b){var d=\"y\"==a?\"scrollTop\":\"scrollLeft\",e=b&&b.node?b.node.ownerDocument:C.doc;return e[d in e.documentElement?\"documentElement\":\"body\"][d]},f=function(){this.returnValue=!1},n=function(){return this.originalEvent.preventDefault()},u=function(){this.cancelBubble=!0},p=function(){return this.originalEvent.stopPropagation()},b=function(){if(C.doc.addEventListener)return function(a,b,e,f){var k=w&&z[b]?z[b]:b,l=function(k){var l=\n",
"d(\"y\",f),q=d(\"x\",f);if(w&&z.hasOwnProperty(b))for(var r=0,u=k.targetTouches&&k.targetTouches.length;r<u;r++)if(k.targetTouches[r].target==a||a.contains(k.targetTouches[r].target)){u=k;k=k.targetTouches[r];k.originalEvent=u;k.preventDefault=n;k.stopPropagation=p;break}return e.call(f,k,k.clientX+q,k.clientY+l)};b!==k&&a.addEventListener(b,l,!1);a.addEventListener(k,l,!1);return function(){b!==k&&a.removeEventListener(b,l,!1);a.removeEventListener(k,l,!1);return!0}};if(C.doc.attachEvent)return function(a,\n",
"b,e,h){var k=function(a){a=a||h.node.ownerDocument.window.event;var b=d(\"y\",h),k=d(\"x\",h),k=a.clientX+k,b=a.clientY+b;a.preventDefault=a.preventDefault||f;a.stopPropagation=a.stopPropagation||u;return e.call(h,a,k,b)};a.attachEvent(\"on\"+b,k);return function(){a.detachEvent(\"on\"+b,k);return!0}}}(),q=[],e=function(a){for(var b=a.clientX,e=a.clientY,f=d(\"y\"),l=d(\"x\"),n,p=q.length;p--;){n=q[p];if(w)for(var r=a.touches&&a.touches.length,u;r--;){if(u=a.touches[r],u.identifier==n.el._drag.id||n.el.node.contains(u.target)){b=\n",
"u.clientX;e=u.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();b+=l;e+=f;k(\"snap.drag.move.\"+n.el.id,n.move_scope||n.el,b-n.el._drag.x,e-n.el._drag.y,b,e,a)}},l=function(b){a.unmousemove(e).unmouseup(l);for(var d=q.length,f;d--;)f=q[d],f.el._drag={},k(\"snap.drag.end.\"+f.el.id,f.end_scope||f.start_scope||f.move_scope||f.el,b);q=[]};for(y=v.length;y--;)(function(d){a[d]=A[d]=function(e,f){a.is(e,\"function\")&&(this.events=this.events||[],this.events.push({name:d,\n",
"f:e,unbind:b(this.node||document,d,e,f||this)}));return this};a[\"un\"+d]=A[\"un\"+d]=function(a){for(var b=this.events||[],e=b.length;e--;)if(b[e].name==d&&(b[e].f==a||!a)){b[e].unbind();b.splice(e,1);!b.length&&delete this.events;break}return this}})(v[y]);A.hover=function(a,b,d,e){return this.mouseover(a,d).mouseout(b,e||d)};A.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var r=[];A.drag=function(b,d,f,h,n,p){function u(r,v,w){(r.originalEvent||r).preventDefault();this._drag.x=v;\n",
"this._drag.y=w;this._drag.id=r.identifier;!q.length&&a.mousemove(e).mouseup(l);q.push({el:this,move_scope:h,start_scope:n,end_scope:p});d&&k.on(\"snap.drag.start.\"+this.id,d);b&&k.on(\"snap.drag.move.\"+this.id,b);f&&k.on(\"snap.drag.end.\"+this.id,f);k(\"snap.drag.start.\"+this.id,n||h||this,v,w,r)}if(!arguments.length){var v;return this.drag(function(a,b){this.attr({transform:v+(v?\"T\":\"t\")+[a,b]})},function(){v=this.transform().local})}this._drag={};r.push({el:this,start:u});this.mousedown(u);return this};\n",
"A.undrag=function(){for(var b=r.length;b--;)r[b].el==this&&(this.unmousedown(r[b].start),r.splice(b,1),k.unbind(\"snap.drag.*.\"+this.id));!r.length&&a.unmousemove(e).unmouseup(l);return this}});C.plugin(function(a,v,y,C){y=y.prototype;var A=/^\\s*url\\((.+)\\)/,w=String,z=a._.$;a.filter={};y.filter=function(d){var f=this;\"svg\"!=f.type&&(f=f.paper);d=a.parse(w(d));var k=a._.id(),u=z(\"filter\");z(u,{id:k,filterUnits:\"userSpaceOnUse\"});u.appendChild(d.node);f.defs.appendChild(u);return new v(u)};k.on(\"snap.util.getattr.filter\",\n",
"function(){k.stop();var d=z(this.node,\"filter\");if(d)return(d=w(d).match(A))&&a.select(d[1])});k.on(\"snap.util.attr.filter\",function(d){if(d instanceof v&&\"filter\"==d.type){k.stop();var f=d.node.id;f||(z(d.node,{id:d.id}),f=d.id);z(this.node,{filter:a.url(f)})}d&&\"none\"!=d||(k.stop(),this.node.removeAttribute(\"filter\"))});a.filter.blur=function(d,f){null==d&&(d=2);return a.format('<feGaussianBlur stdDeviation=\"{def}\"/>',{def:null==f?d:[d,f]})};a.filter.blur.toString=function(){return this()};a.filter.shadow=\n",
"function(d,f,k,u,p){\"string\"==typeof k&&(p=u=k,k=4);\"string\"!=typeof u&&(p=u,u=\"#000\");null==k&&(k=4);null==p&&(p=1);null==d&&(d=0,f=2);null==f&&(f=d);u=a.color(u||\"#000\");return a.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>',\n",
"{color:u,dx:d,dy:f,blur:k,opacity:p})};a.filter.shadow.toString=function(){return this()};a.filter.grayscale=function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>',{a:0.2126+0.7874*(1-d),b:0.7152-0.7152*(1-d),c:0.0722-0.0722*(1-d),d:0.2126-0.2126*(1-d),e:0.7152+0.2848*(1-d),f:0.0722-0.0722*(1-d),g:0.2126-0.2126*(1-d),h:0.0722+0.9278*(1-d)})};a.filter.grayscale.toString=function(){return this()};a.filter.sepia=\n",
"function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>',{a:0.393+0.607*(1-d),b:0.769-0.769*(1-d),c:0.189-0.189*(1-d),d:0.349-0.349*(1-d),e:0.686+0.314*(1-d),f:0.168-0.168*(1-d),g:0.272-0.272*(1-d),h:0.534-0.534*(1-d),i:0.131+0.869*(1-d)})};a.filter.sepia.toString=function(){return this()};a.filter.saturate=function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>',{amount:1-\n",
"d})};a.filter.saturate.toString=function(){return this()};a.filter.hueRotate=function(d){return a.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>',{angle:d||0})};a.filter.hueRotate.toString=function(){return this()};a.filter.invert=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>',{amount:d,\n",
"amount2:1-d})};a.filter.invert.toString=function(){return this()};a.filter.brightness=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>',{amount:d})};a.filter.brightness.toString=function(){return this()};a.filter.contrast=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>',\n",
"{amount:d,amount2:0.5-d/2})};a.filter.contrast.toString=function(){return this()}});return C});\n",
"\n",
"]]> </script>\n",
"<script> <![CDATA[\n",
"\n",
"(function (glob, factory) {\n",
" // AMD support\n",
" if (typeof define === \"function\" && define.amd) {\n",
" // Define as an anonymous module\n",
" define(\"Gadfly\", [\"Snap.svg\"], function (Snap) {\n",
" return factory(Snap);\n",
" });\n",
" } else {\n",
" // Browser globals (glob is window)\n",
" // Snap adds itself to window\n",
" glob.Gadfly = factory(glob.Snap);\n",
" }\n",
"}(this, function (Snap) {\n",
"\n",
"var Gadfly = {};\n",
"\n",
"// Get an x/y coordinate value in pixels\n",
"var xPX = function(fig, x) {\n",
" var client_box = fig.node.getBoundingClientRect();\n",
" return x * fig.node.viewBox.baseVal.width / client_box.width;\n",
"};\n",
"\n",
"var yPX = function(fig, y) {\n",
" var client_box = fig.node.getBoundingClientRect();\n",
" return y * fig.node.viewBox.baseVal.height / client_box.height;\n",
"};\n",
"\n",
"\n",
"Snap.plugin(function (Snap, Element, Paper, global) {\n",
" // Traverse upwards from a snap element to find and return the first\n",
" // note with the \"plotroot\" class.\n",
" Element.prototype.plotroot = function () {\n",
" var element = this;\n",
" while (!element.hasClass(\"plotroot\") && element.parent() != null) {\n",
" element = element.parent();\n",
" }\n",
" return element;\n",
" };\n",
"\n",
" Element.prototype.svgroot = function () {\n",
" var element = this;\n",
" while (element.node.nodeName != \"svg\" && element.parent() != null) {\n",
" element = element.parent();\n",
" }\n",
" return element;\n",
" };\n",
"\n",
" Element.prototype.plotbounds = function () {\n",
" var root = this.plotroot()\n",
" var bbox = root.select(\".guide.background\").node.getBBox();\n",
" return {\n",
" x0: bbox.x,\n",
" x1: bbox.x + bbox.width,\n",
" y0: bbox.y,\n",
" y1: bbox.y + bbox.height\n",
" };\n",
" };\n",
"\n",
" Element.prototype.plotcenter = function () {\n",
" var root = this.plotroot()\n",
" var bbox = root.select(\".guide.background\").node.getBBox();\n",
" return {\n",
" x: bbox.x + bbox.width / 2,\n",
" y: bbox.y + bbox.height / 2\n",
" };\n",
" };\n",
"\n",
" // Emulate IE style mouseenter/mouseleave events, since Microsoft always\n",
" // does everything right.\n",
" // See: http://www.dynamic-tools.net/toolbox/isMouseLeaveOrEnter/\n",
" var events = [\"mouseenter\", \"mouseleave\"];\n",
"\n",
" for (i in events) {\n",
" (function (event_name) {\n",
" var event_name = events[i];\n",
" Element.prototype[event_name] = function (fn, scope) {\n",
" if (Snap.is(fn, \"function\")) {\n",
" var fn2 = function (event) {\n",
" if (event.type != \"mouseover\" && event.type != \"mouseout\") {\n",
" return;\n",
" }\n",
"\n",
" var reltg = event.relatedTarget ? event.relatedTarget :\n",
" event.type == \"mouseout\" ? event.toElement : event.fromElement;\n",
" while (reltg && reltg != this.node) reltg = reltg.parentNode;\n",
"\n",
" if (reltg != this.node) {\n",
" return fn.apply(this, event);\n",
" }\n",
" };\n",
"\n",
" if (event_name == \"mouseenter\") {\n",
" this.mouseover(fn2, scope);\n",
" } else {\n",
" this.mouseout(fn2, scope);\n",
" }\n",
" }\n",
" return this;\n",
" };\n",
" })(events[i]);\n",
" }\n",
"\n",
"\n",
" Element.prototype.mousewheel = function (fn, scope) {\n",
" if (Snap.is(fn, \"function\")) {\n",
" var el = this;\n",
" var fn2 = function (event) {\n",
" fn.apply(el, [event]);\n",
" };\n",
" }\n",
"\n",
" this.node.addEventListener(\n",
" /Firefox/i.test(navigator.userAgent) ? \"DOMMouseScroll\" : \"mousewheel\",\n",
" fn2);\n",
"\n",
" return this;\n",
" };\n",
"\n",
"\n",
" // Snap's attr function can be too slow for things like panning/zooming.\n",
" // This is a function to directly update element attributes without going\n",
" // through eve.\n",
" Element.prototype.attribute = function(key, val) {\n",
" if (val === undefined) {\n",
" return this.node.getAttribute(key, val);\n",
" } else {\n",
" return this.node.setAttribute(key, val);\n",
" }\n",
" };\n",
"});\n",
"\n",
"\n",
"// When the plot is moused over, emphasize the grid lines.\n",
"Gadfly.plot_mouseover = function(event) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
"\n",
" var xgridlines = root.select(\".xgridlines\"),\n",
" ygridlines = root.select(\".ygridlines\");\n",
"\n",
" xgridlines.data(\"unfocused_strokedash\",\n",
" xgridlines.attr(\"stroke-dasharray\").replace(/px/g, \"mm\"))\n",
" ygridlines.data(\"unfocused_strokedash\",\n",
" ygridlines.attr(\"stroke-dasharray\").replace(/px/g, \"mm\"))\n",
"\n",
" // emphasize grid lines\n",
" var destcolor = root.data(\"focused_xgrid_color\");\n",
" xgridlines.attr(\"stroke-dasharray\", \"none\")\n",
" .selectAll(\"path\")\n",
" .animate({stroke: destcolor}, 250);\n",
"\n",
" destcolor = root.data(\"focused_ygrid_color\");\n",
" ygridlines.attr(\"stroke-dasharray\", \"none\")\n",
" .selectAll(\"path\")\n",
" .animate({stroke: destcolor}, 250);\n",
"\n",
" // reveal zoom slider\n",
" root.select(\".zoomslider\")\n",
" .animate({opacity: 1.0}, 250);\n",
"};\n",
"\n",
"\n",
"// Unemphasize grid lines on mouse out.\n",
"Gadfly.plot_mouseout = function(event) {\n",
" var root = this.plotroot();\n",
" var xgridlines = root.select(\".xgridlines\"),\n",
" ygridlines = root.select(\".ygridlines\");\n",
"\n",
" var destcolor = root.data(\"unfocused_xgrid_color\");\n",
"\n",
" xgridlines.attr(\"stroke-dasharray\", xgridlines.data(\"unfocused_strokedash\"))\n",
" .selectAll(\"path\")\n",
" .animate({stroke: destcolor}, 250);\n",
"\n",
" destcolor = root.data(\"unfocused_ygrid_color\");\n",
" ygridlines.attr(\"stroke-dasharray\", ygridlines.data(\"unfocused_strokedash\"))\n",
" .selectAll(\"path\")\n",
" .animate({stroke: destcolor}, 250);\n",
"\n",
" // hide zoom slider\n",
" root.select(\".zoomslider\")\n",
" .animate({opacity: 0.0}, 250);\n",
"};\n",
"\n",
"\n",
"var set_geometry_transform = function(root, tx, ty, scale) {\n",
" var xscalable = root.hasClass(\"xscalable\"),\n",
" yscalable = root.hasClass(\"yscalable\");\n",
"\n",
" var old_scale = root.data(\"scale\");\n",
"\n",
" var xscale = xscalable ? scale : 1.0,\n",
" yscale = yscalable ? scale : 1.0;\n",
"\n",
" tx = xscalable ? tx : 0.0;\n",
" ty = yscalable ? ty : 0.0;\n",
"\n",
" var t = new Snap.Matrix().translate(tx, ty).scale(xscale, yscale);\n",
"\n",
" root.selectAll(\".geometry, image\")\n",
" .forEach(function (element, i) {\n",
" element.transform(t);\n",
" });\n",
"\n",
" bounds = root.plotbounds();\n",
"\n",
" if (yscalable) {\n",
" var xfixed_t = new Snap.Matrix().translate(0, ty).scale(1.0, yscale);\n",
" root.selectAll(\".xfixed\")\n",
" .forEach(function (element, i) {\n",
" element.transform(xfixed_t);\n",
" });\n",
"\n",
" root.select(\".ylabels\")\n",
" .transform(xfixed_t)\n",
" .selectAll(\"text\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" var cx = element.asPX(\"x\"),\n",
" cy = element.asPX(\"y\");\n",
" var st = element.data(\"static_transform\");\n",
" unscale_t = new Snap.Matrix();\n",
" unscale_t.scale(1, 1/scale, cx, cy).add(st);\n",
" element.transform(unscale_t);\n",
"\n",
" var y = cy * scale + ty;\n",
" element.attr(\"visibility\",\n",
" bounds.y0 <= y && y <= bounds.y1 ? \"visible\" : \"hidden\");\n",
" }\n",
" });\n",
" }\n",
"\n",
" if (xscalable) {\n",
" var yfixed_t = new Snap.Matrix().translate(tx, 0).scale(xscale, 1.0);\n",
" var xtrans = new Snap.Matrix().translate(tx, 0);\n",
" root.selectAll(\".yfixed\")\n",
" .forEach(function (element, i) {\n",
" element.transform(yfixed_t);\n",
" });\n",
"\n",
" root.select(\".xlabels\")\n",
" .transform(yfixed_t)\n",
" .selectAll(\"text\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" var cx = element.asPX(\"x\"),\n",
" cy = element.asPX(\"y\");\n",
" var st = element.data(\"static_transform\");\n",
" unscale_t = new Snap.Matrix();\n",
" unscale_t.scale(1/scale, 1, cx, cy).add(st);\n",
"\n",
" element.transform(unscale_t);\n",
"\n",
" var x = cx * scale + tx;\n",
" element.attr(\"visibility\",\n",
" bounds.x0 <= x && x <= bounds.x1 ? \"visible\" : \"hidden\");\n",
" }\n",
" });\n",
" }\n",
"\n",
" // we must unscale anything that is scale invariance: widths, raiduses, etc.\n",
" var size_attribs = [\"font-size\"];\n",
" var unscaled_selection = \".geometry, .geometry *\";\n",
" if (xscalable) {\n",
" size_attribs.push(\"rx\");\n",
" unscaled_selection += \", .xgridlines\";\n",
" }\n",
" if (yscalable) {\n",
" size_attribs.push(\"ry\");\n",
" unscaled_selection += \", .ygridlines\";\n",
" }\n",
"\n",
" root.selectAll(unscaled_selection)\n",
" .forEach(function (element, i) {\n",
" // circle need special help\n",
" if (element.node.nodeName == \"circle\") {\n",
" var cx = element.attribute(\"cx\"),\n",
" cy = element.attribute(\"cy\");\n",
" unscale_t = new Snap.Matrix().scale(1/xscale, 1/yscale,\n",
" cx, cy);\n",
" element.transform(unscale_t);\n",
" return;\n",
" }\n",
"\n",
" for (i in size_attribs) {\n",
" var key = size_attribs[i];\n",
" var val = parseFloat(element.attribute(key));\n",
" if (val !== undefined && val != 0 && !isNaN(val)) {\n",
" element.attribute(key, val * old_scale / scale);\n",
" }\n",
" }\n",
" });\n",
"};\n",
"\n",
"\n",
"// Find the most appropriate tick scale and update label visibility.\n",
"var update_tickscale = function(root, scale, axis) {\n",
" if (!root.hasClass(axis + \"scalable\")) return;\n",
"\n",
" var tickscales = root.data(axis + \"tickscales\");\n",
" var best_tickscale = 1.0;\n",
" var best_tickscale_dist = Infinity;\n",
" for (tickscale in tickscales) {\n",
" var dist = Math.abs(Math.log(tickscale) - Math.log(scale));\n",
" if (dist < best_tickscale_dist) {\n",
" best_tickscale_dist = dist;\n",
" best_tickscale = tickscale;\n",
" }\n",
" }\n",
"\n",
" if (best_tickscale != root.data(axis + \"tickscale\")) {\n",
" root.data(axis + \"tickscale\", best_tickscale);\n",
" var mark_inscale_gridlines = function (element, i) {\n",
" var inscale = element.attr(\"gadfly:scale\") == best_tickscale;\n",
" element.attribute(\"gadfly:inscale\", inscale);\n",
" element.attr(\"visibility\", inscale ? \"visible\" : \"hidden\");\n",
" };\n",
"\n",
" var mark_inscale_labels = function (element, i) {\n",
" var inscale = element.attr(\"gadfly:scale\") == best_tickscale;\n",
" element.attribute(\"gadfly:inscale\", inscale);\n",
" element.attr(\"visibility\", inscale ? \"visible\" : \"hidden\");\n",
" };\n",
"\n",
" root.select(\".\" + axis + \"gridlines\").selectAll(\"path\").forEach(mark_inscale_gridlines);\n",
" root.select(\".\" + axis + \"labels\").selectAll(\"text\").forEach(mark_inscale_labels);\n",
" }\n",
"};\n",
"\n",
"\n",
"var set_plot_pan_zoom = function(root, tx, ty, scale) {\n",
" var old_scale = root.data(\"scale\");\n",
" var bounds = root.plotbounds();\n",
"\n",
" var width = bounds.x1 - bounds.x0,\n",
" height = bounds.y1 - bounds.y0;\n",
"\n",
" // compute the viewport derived from tx, ty, and scale\n",
" var x_min = -width * scale - (scale * width - width),\n",
" x_max = width * scale,\n",
" y_min = -height * scale - (scale * height - height),\n",
" y_max = height * scale;\n",
"\n",
" var x0 = bounds.x0 - scale * bounds.x0,\n",
" y0 = bounds.y0 - scale * bounds.y0;\n",
"\n",
" var tx = Math.max(Math.min(tx - x0, x_max), x_min),\n",
" ty = Math.max(Math.min(ty - y0, y_max), y_min);\n",
"\n",
" tx += x0;\n",
" ty += y0;\n",
"\n",
" // when the scale change, we may need to alter which set of\n",
" // ticks is being displayed\n",
" if (scale != old_scale) {\n",
" update_tickscale(root, scale, \"x\");\n",
" update_tickscale(root, scale, \"y\");\n",
" }\n",
"\n",
" set_geometry_transform(root, tx, ty, scale);\n",
"\n",
" root.data(\"scale\", scale);\n",
" root.data(\"tx\", tx);\n",
" root.data(\"ty\", ty);\n",
"};\n",
"\n",
"\n",
"var scale_centered_translation = function(root, scale) {\n",
" var bounds = root.plotbounds();\n",
"\n",
" var width = bounds.x1 - bounds.x0,\n",
" height = bounds.y1 - bounds.y0;\n",
"\n",
" var tx0 = root.data(\"tx\"),\n",
" ty0 = root.data(\"ty\");\n",
"\n",
" var scale0 = root.data(\"scale\");\n",
"\n",
" // how off from center the current view is\n",
" var xoff = tx0 - (bounds.x0 * (1 - scale0) + (width * (1 - scale0)) / 2),\n",
" yoff = ty0 - (bounds.y0 * (1 - scale0) + (height * (1 - scale0)) / 2);\n",
"\n",
" // rescale offsets\n",
" xoff = xoff * scale / scale0;\n",
" yoff = yoff * scale / scale0;\n",
"\n",
" // adjust for the panel position being scaled\n",
" var x_edge_adjust = bounds.x0 * (1 - scale),\n",
" y_edge_adjust = bounds.y0 * (1 - scale);\n",
"\n",
" return {\n",
" x: xoff + x_edge_adjust + (width - width * scale) / 2,\n",
" y: yoff + y_edge_adjust + (height - height * scale) / 2\n",
" };\n",
"};\n",
"\n",
"\n",
"// Initialize data for panning zooming if it isn't already.\n",
"var init_pan_zoom = function(root) {\n",
" if (root.data(\"zoompan-ready\")) {\n",
" return;\n",
" }\n",
"\n",
" // The non-scaling-stroke trick. Rather than try to correct for the\n",
" // stroke-width when zooming, we force it to a fixed value.\n",
" var px_per_mm = root.node.getCTM().a;\n",
"\n",
" // Drag events report deltas in pixels, which we'd like to convert to\n",
" // millimeters.\n",
" root.data(\"px_per_mm\", px_per_mm);\n",
"\n",
" root.selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" sw = element.asPX(\"stroke-width\") * px_per_mm;\n",
" if (sw > 0) {\n",
" element.attribute(\"stroke-width\", sw);\n",
" element.attribute(\"vector-effect\", \"non-scaling-stroke\");\n",
" }\n",
" });\n",
"\n",
" // Store ticks labels original tranformation\n",
" root.selectAll(\".xlabels > text, .ylabels > text\")\n",
" .forEach(function (element, i) {\n",
" var lm = element.transform().localMatrix;\n",
" element.data(\"static_transform\",\n",
" new Snap.Matrix(lm.a, lm.b, lm.c, lm.d, lm.e, lm.f));\n",
" });\n",
"\n",
" if (root.data(\"tx\") === undefined) root.data(\"tx\", 0);\n",
" if (root.data(\"ty\") === undefined) root.data(\"ty\", 0);\n",
" if (root.data(\"scale\") === undefined) root.data(\"scale\", 1.0);\n",
" if (root.data(\"xtickscales\") === undefined) {\n",
"\n",
" // index all the tick scales that are listed\n",
" var xtickscales = {};\n",
" var ytickscales = {};\n",
" var add_x_tick_scales = function (element, i) {\n",
" xtickscales[element.attribute(\"gadfly:scale\")] = true;\n",
" };\n",
" var add_y_tick_scales = function (element, i) {\n",
" ytickscales[element.attribute(\"gadfly:scale\")] = true;\n",
" };\n",
"\n",
" root.select(\".xgridlines\").selectAll(\"path\").forEach(add_x_tick_scales);\n",
" root.select(\".ygridlines\").selectAll(\"path\").forEach(add_y_tick_scales);\n",
" root.select(\".xlabels\").selectAll(\"text\").forEach(add_x_tick_scales);\n",
" root.select(\".ylabels\").selectAll(\"text\").forEach(add_y_tick_scales);\n",
"\n",
" root.data(\"xtickscales\", xtickscales);\n",
" root.data(\"ytickscales\", ytickscales);\n",
" root.data(\"xtickscale\", 1.0);\n",
" }\n",
"\n",
" var min_scale = 1.0, max_scale = 1.0;\n",
" for (scale in xtickscales) {\n",
" min_scale = Math.min(min_scale, scale);\n",
" max_scale = Math.max(max_scale, scale);\n",
" }\n",
" for (scale in ytickscales) {\n",
" min_scale = Math.min(min_scale, scale);\n",
" max_scale = Math.max(max_scale, scale);\n",
" }\n",
" root.data(\"min_scale\", min_scale);\n",
" root.data(\"max_scale\", max_scale);\n",
"\n",
" // store the original positions of labels\n",
" root.select(\".xlabels\")\n",
" .selectAll(\"text\")\n",
" .forEach(function (element, i) {\n",
" element.data(\"x\", element.asPX(\"x\"));\n",
" });\n",
"\n",
" root.select(\".ylabels\")\n",
" .selectAll(\"text\")\n",
" .forEach(function (element, i) {\n",
" element.data(\"y\", element.asPX(\"y\"));\n",
" });\n",
"\n",
" // mark grid lines and ticks as in or out of scale.\n",
" var mark_inscale = function (element, i) {\n",
" element.attribute(\"gadfly:inscale\", element.attribute(\"gadfly:scale\") == 1.0);\n",
" };\n",
"\n",
" root.select(\".xgridlines\").selectAll(\"path\").forEach(mark_inscale);\n",
" root.select(\".ygridlines\").selectAll(\"path\").forEach(mark_inscale);\n",
" root.select(\".xlabels\").selectAll(\"text\").forEach(mark_inscale);\n",
" root.select(\".ylabels\").selectAll(\"text\").forEach(mark_inscale);\n",
"\n",
" // figure out the upper ond lower bounds on panning using the maximum\n",
" // and minum grid lines\n",
" var bounds = root.plotbounds();\n",
" var pan_bounds = {\n",
" x0: 0.0,\n",
" y0: 0.0,\n",
" x1: 0.0,\n",
" y1: 0.0\n",
" };\n",
"\n",
" root.select(\".xgridlines\")\n",
" .selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" var bbox = element.node.getBBox();\n",
" if (bounds.x1 - bbox.x < pan_bounds.x0) {\n",
" pan_bounds.x0 = bounds.x1 - bbox.x;\n",
" }\n",
" if (bounds.x0 - bbox.x > pan_bounds.x1) {\n",
" pan_bounds.x1 = bounds.x0 - bbox.x;\n",
" }\n",
" }\n",
" });\n",
"\n",
" root.select(\".ygridlines\")\n",
" .selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" var bbox = element.node.getBBox();\n",
" if (bounds.y1 - bbox.y < pan_bounds.y0) {\n",
" pan_bounds.y0 = bounds.y1 - bbox.y;\n",
" }\n",
" if (bounds.y0 - bbox.y > pan_bounds.y1) {\n",
" pan_bounds.y1 = bounds.y0 - bbox.y;\n",
" }\n",
" }\n",
" });\n",
"\n",
" // nudge these values a little\n",
" pan_bounds.x0 -= 5;\n",
" pan_bounds.x1 += 5;\n",
" pan_bounds.y0 -= 5;\n",
" pan_bounds.y1 += 5;\n",
" root.data(\"pan_bounds\", pan_bounds);\n",
"\n",
" // Set all grid lines at scale 1.0 to visible. Out of bounds lines\n",
" // will be clipped.\n",
" root.select(\".xgridlines\")\n",
" .selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" element.attr(\"visibility\", \"visible\");\n",
" }\n",
" });\n",
"\n",
" root.select(\".ygridlines\")\n",
" .selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" element.attr(\"visibility\", \"visible\");\n",
" }\n",
" });\n",
"\n",
" root.data(\"zoompan-ready\", true)\n",
"};\n",
"\n",
"\n",
"// Panning\n",
"Gadfly.guide_background_drag_onmove = function(dx, dy, x, y, event) {\n",
" var root = this.plotroot();\n",
" var px_per_mm = root.data(\"px_per_mm\");\n",
" dx /= px_per_mm;\n",
" dy /= px_per_mm;\n",
"\n",
" var tx0 = root.data(\"tx\"),\n",
" ty0 = root.data(\"ty\");\n",
"\n",
" var dx0 = root.data(\"dx\"),\n",
" dy0 = root.data(\"dy\");\n",
"\n",
" root.data(\"dx\", dx);\n",
" root.data(\"dy\", dy);\n",
"\n",
" dx = dx - dx0;\n",
" dy = dy - dy0;\n",
"\n",
" var tx = tx0 + dx,\n",
" ty = ty0 + dy;\n",
"\n",
" set_plot_pan_zoom(root, tx, ty, root.data(\"scale\"));\n",
"};\n",
"\n",
"\n",
"Gadfly.guide_background_drag_onstart = function(x, y, event) {\n",
" var root = this.plotroot();\n",
" root.data(\"dx\", 0);\n",
" root.data(\"dy\", 0);\n",
" init_pan_zoom(root);\n",
"};\n",
"\n",
"\n",
"Gadfly.guide_background_drag_onend = function(event) {\n",
" var root = this.plotroot();\n",
"};\n",
"\n",
"\n",
"Gadfly.guide_background_scroll = function(event) {\n",
" if (event.shiftKey) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
" var new_scale = root.data(\"scale\") * Math.pow(2, 0.002 * event.wheelDelta);\n",
" new_scale = Math.max(\n",
" root.data(\"min_scale\"),\n",
" Math.min(root.data(\"max_scale\"), new_scale))\n",
" update_plot_scale(root, new_scale);\n",
" event.stopPropagation();\n",
" }\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_button_mouseover = function(event) {\n",
" this.select(\".button_logo\")\n",
" .animate({fill: this.data(\"mouseover_color\")}, 100);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_button_mouseout = function(event) {\n",
" this.select(\".button_logo\")\n",
" .animate({fill: this.data(\"mouseout_color\")}, 100);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_zoomout_click = function(event) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
" var min_scale = root.data(\"min_scale\"),\n",
" scale = root.data(\"scale\");\n",
" Snap.animate(\n",
" scale,\n",
" Math.max(min_scale, scale / 1.5),\n",
" function (new_scale) {\n",
" update_plot_scale(root, new_scale);\n",
" },\n",
" 200);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_zoomin_click = function(event) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
" var max_scale = root.data(\"max_scale\"),\n",
" scale = root.data(\"scale\");\n",
"\n",
" Snap.animate(\n",
" scale,\n",
" Math.min(max_scale, scale * 1.5),\n",
" function (new_scale) {\n",
" update_plot_scale(root, new_scale);\n",
" },\n",
" 200);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_track_click = function(event) {\n",
" // TODO\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_mousedown = function(event) {\n",
" this.animate({fill: this.data(\"mouseover_color\")}, 100);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_mouseup = function(event) {\n",
" this.animate({fill: this.data(\"mouseout_color\")}, 100);\n",
"};\n",
"\n",
"\n",
"// compute the position in [0, 1] of the zoom slider thumb from the current scale\n",
"var slider_position_from_scale = function(scale, min_scale, max_scale) {\n",
" if (scale >= 1.0) {\n",
" return 0.5 + 0.5 * (Math.log(scale) / Math.log(max_scale));\n",
" }\n",
" else {\n",
" return 0.5 * (Math.log(scale) - Math.log(min_scale)) / (0 - Math.log(min_scale));\n",
" }\n",
"}\n",
"\n",
"\n",
"var update_plot_scale = function(root, new_scale) {\n",
" var trans = scale_centered_translation(root, new_scale);\n",
" set_plot_pan_zoom(root, trans.x, trans.y, new_scale);\n",
"\n",
" root.selectAll(\".zoomslider_thumb\")\n",
" .forEach(function (element, i) {\n",
" var min_pos = element.data(\"min_pos\"),\n",
" max_pos = element.data(\"max_pos\"),\n",
" min_scale = root.data(\"min_scale\"),\n",
" max_scale = root.data(\"max_scale\");\n",
" var xmid = (min_pos + max_pos) / 2;\n",
" var xpos = slider_position_from_scale(new_scale, min_scale, max_scale);\n",
" element.transform(new Snap.Matrix().translate(\n",
" Math.max(min_pos, Math.min(\n",
" max_pos, min_pos + (max_pos - min_pos) * xpos)) - xmid, 0));\n",
" });\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_dragmove = function(dx, dy, x, y) {\n",
" var root = this.plotroot();\n",
" var min_pos = this.data(\"min_pos\"),\n",
" max_pos = this.data(\"max_pos\"),\n",
" min_scale = root.data(\"min_scale\"),\n",
" max_scale = root.data(\"max_scale\"),\n",
" old_scale = root.data(\"old_scale\");\n",
"\n",
" var px_per_mm = root.data(\"px_per_mm\");\n",
" dx /= px_per_mm;\n",
" dy /= px_per_mm;\n",
"\n",
" var xmid = (min_pos + max_pos) / 2;\n",
" var xpos = slider_position_from_scale(old_scale, min_scale, max_scale) +\n",
" dx / (max_pos - min_pos);\n",
"\n",
" // compute the new scale\n",
" var new_scale;\n",
" if (xpos >= 0.5) {\n",
" new_scale = Math.exp(2.0 * (xpos - 0.5) * Math.log(max_scale));\n",
" }\n",
" else {\n",
" new_scale = Math.exp(2.0 * xpos * (0 - Math.log(min_scale)) +\n",
" Math.log(min_scale));\n",
" }\n",
" new_scale = Math.min(max_scale, Math.max(min_scale, new_scale));\n",
"\n",
" update_plot_scale(root, new_scale);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_dragstart = function(event) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
"\n",
" // keep track of what the scale was when we started dragging\n",
" root.data(\"old_scale\", root.data(\"scale\"));\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_dragend = function(event) {\n",
"};\n",
"\n",
"\n",
"var toggle_color_class = function(root, color_class, ison) {\n",
" var guides = root.selectAll(\".guide.\" + color_class + \",.guide .\" + color_class);\n",
" var geoms = root.selectAll(\".geometry.\" + color_class + \",.geometry .\" + color_class);\n",
" if (ison) {\n",
" guides.animate({opacity: 0.5}, 250);\n",
" geoms.animate({opacity: 0.0}, 250);\n",
" } else {\n",
" guides.animate({opacity: 1.0}, 250);\n",
" geoms.animate({opacity: 1.0}, 250);\n",
" }\n",
"};\n",
"\n",
"\n",
"Gadfly.colorkey_swatch_click = function(event) {\n",
" var root = this.plotroot();\n",
" var color_class = this.data(\"color_class\");\n",
"\n",
" if (event.shiftKey) {\n",
" root.selectAll(\".colorkey text\")\n",
" .forEach(function (element) {\n",
" var other_color_class = element.data(\"color_class\");\n",
" if (other_color_class != color_class) {\n",
" toggle_color_class(root, other_color_class,\n",
" element.attr(\"opacity\") == 1.0);\n",
" }\n",
" });\n",
" } else {\n",
" toggle_color_class(root, color_class, this.attr(\"opacity\") == 1.0);\n",
" }\n",
"};\n",
"\n",
"\n",
"return Gadfly;\n",
"\n",
"}));\n",
"\n",
"\n",
"//@ sourceURL=gadfly.js\n",
"\n",
"(function (glob, factory) {\n",
" // AMD support\n",
" if (typeof require === \"function\" && typeof define === \"function\" && define.amd) {\n",
" require([\"Snap.svg\", \"Gadfly\"], function (Snap, Gadfly) {\n",
" factory(Snap, Gadfly);\n",
" });\n",
" } else {\n",
" factory(glob.Snap, glob.Gadfly);\n",
" }\n",
"})(window, function (Snap, Gadfly) {\n",
" var fig = Snap(\"#fig-8be528a403df4859ab87da7e32cf1464\");\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-9\")\n",
" .mouseenter(Gadfly.plot_mouseover)\n",
".mouseleave(Gadfly.plot_mouseout)\n",
".mousewheel(Gadfly.guide_background_scroll)\n",
".drag(Gadfly.guide_background_drag_onmove,\n",
" Gadfly.guide_background_drag_onstart,\n",
" Gadfly.guide_background_drag_onend)\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-12\")\n",
" .plotroot().data(\"unfocused_ygrid_color\", \"#D0D0E0\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-12\")\n",
" .plotroot().data(\"focused_ygrid_color\", \"#A0A0A0\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-13\")\n",
" .plotroot().data(\"unfocused_xgrid_color\", \"#D0D0E0\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-13\")\n",
" .plotroot().data(\"focused_xgrid_color\", \"#A0A0A0\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-18\")\n",
" .data(\"mouseover_color\", \"#cd5c5c\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-18\")\n",
" .data(\"mouseout_color\", \"#6a6a6a\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-18\")\n",
" .click(Gadfly.zoomslider_zoomin_click)\n",
".mouseenter(Gadfly.zoomslider_button_mouseover)\n",
".mouseleave(Gadfly.zoomslider_button_mouseout)\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-20\")\n",
" .data(\"max_pos\", 106.11)\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-20\")\n",
" .data(\"min_pos\", 89.11)\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-20\")\n",
" .click(Gadfly.zoomslider_track_click);\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-21\")\n",
" .data(\"max_pos\", 106.11)\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-21\")\n",
" .data(\"min_pos\", 89.11)\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-21\")\n",
" .data(\"mouseover_color\", \"#cd5c5c\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-21\")\n",
" .data(\"mouseout_color\", \"#6a6a6a\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-21\")\n",
" .drag(Gadfly.zoomslider_thumb_dragmove,\n",
" Gadfly.zoomslider_thumb_dragstart,\n",
" Gadfly.zoomslider_thumb_dragend)\n",
".mousedown(Gadfly.zoomslider_thumb_mousedown)\n",
".mouseup(Gadfly.zoomslider_thumb_mouseup)\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-22\")\n",
" .data(\"mouseover_color\", \"#cd5c5c\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-22\")\n",
" .data(\"mouseout_color\", \"#6a6a6a\")\n",
";\n",
"fig.select(\"#fig-8be528a403df4859ab87da7e32cf1464-element-22\")\n",
" .click(Gadfly.zoomslider_zoomout_click)\n",
".mouseenter(Gadfly.zoomslider_button_mouseover)\n",
".mouseleave(Gadfly.zoomslider_button_mouseout)\n",
";\n",
" });\n",
"]]> </script>\n",
"</svg>\n"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAAhcAAAF6CAYAAACqW3pRAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3deXgV9dk+8PuZOUtykhASVkFIQkHRKElYBNfG1qWAULUErK0VaU2FhLrU+rZv+1bfavVX+7a4JFqoUtTaWqPVsmhVrAsu7EmwES1LEkEgIEu2k5xl5vn9wdJgiYJwMjBzf64r18U855s594SZ8DBn5jsAERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER1D1dXrez/9tJpO5yAi9zKcDkBEXUvVd//gwZv6OJ2DiNyLzQWRx6jin7GYEXE6BxG5l3TFm8ycOTOIpvhFthhpgdbA32ZVzGoDgNumTUtrtZLHikjU3+p/6fPqREREdPzzdcm7NNt/URimIVgdTYneU1xcnAsgFo76lwBYB2B7LBQpAXBxcXGx/1D1LslJ5AHV1bVjWlt91eecM4BNOxElRMLPXJRcW3KBiPyqbF7Z2QAw87oZkzRurIIP5wJaVPaH8q8DQOnUkkpYcmVn9bInymoTnZXIC6qq6v5s28YPhw8fuMXpLETkTgm/5sIwdJhCPyiZWvKH0mtL/wQbTWVPlNVCkQuV6gMDVdaKzx7RaZ2IjgkRnR+NRlqczkFE7pXwj0XUNgaJ6DgxjG/Zth0A5Hc3fbv43LhqHxG8tX+ciG4F0Bed1YnomMjLy/mz0xmIyN0S3lyIoc224rmyuQ8uBoCZU0v+Fvf5rlBgDaD994+zgUzTwkLbgO9Q9Y7rrK6unQ7IlYDxi7y8gUuqquoeEMFpsVjgmyNGnLRzzZr6l20bOwoKsq9evbr+dNPU+1XxZn5+9p3V1XXfAHADILPz8rKeqaqq+5kIvmxZcuPw4VnvV1fXPQmg97BhWZcsX/5xZlJS/ClVfJifn11aXf3R+YD9c9vGcwUF2Q9VVdUXi2iRKu7Oz89+raqq7rciONPn02tyc3O2VVXV/x2wG/Pzc6ZUVW04RcQsV9V38vNzbq+srP26YUgpoI/m5eU8VVVV+2MR+aph2D8888xBayorax8zDOkXi30yDsgI+f3mM6qyPj8/a3p1de0YQO4EZEFeXtYDVVV100TwTduWewsKsl6prKz7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Ex+I6Lf/suiZpwDgyrFXnuwTcxNEvvL0oqdfmzJu0mUKWQCV70L0V6J4iGctiOhImU4HIKKj99769yI162r+1qt/71+n+tJehIF6Ac4B8AOJSkbN+poXzxh6xjgAV0KNytNPOX1U7pDcsw0xcgU4S4F17697/92ade//64whuQMguANAzfa2HdfW1dXZzm4dEZ1o+LEI0QnuqolX9bNj9vg2X9uTCxYsCANYuu/rV5PHT/4joNcXFhbeAkUvAJYYetKnTlk+Kbau3b+gog1QAQQ7Xn/99XhXbgsRuQNvRSU6wWlMkyE6J2QFL/70a6L26wCMXr16GSq6AYDPiNu/+8uiipn7vn5gA1WA+S8AuGrcN0ZD5b8geicUl04eO/n6Lt4cInIBXnNBdOKTonFFb4jgJBV8K3dk7koAqFlZM9Kw8ZgCdU+/UDF2woQJoWQr6QOovK2m3upXfziu8R9BdGY8bp0SC8Qak62kSgDvPf1CxaTJ4ybfDdGZamBYxYKKWoe3kYhOIDxzQXTiUxj4JhQfio1l7y+vaX1/eU2r2Pirqi7zif9qAFiwYEFYDUyC6BixURvX2McCnQLIpL++9NetITvpVwB6xy1rJgA0a/P/QrEJFh674447+LuCiA4bz1wQuUjRZUX9TeiQGPTjZxc+u+5QYwoLC319UvvkIo5A+o70qjmr5sS6OicRERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERGdoP4/YiOjrTKftpMAAAAASUVORK5CYII=",
"prompt_number": 7,
"svg": [
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\"\n",
" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
" xmlns:gadfly=\"http://www.gadflyjl.org/ns\"\n",
" version=\"1.2\"\n",
" width=\"141.42mm\" height=\"100mm\" viewBox=\"0 0 141.42 100\"\n",
" stroke=\"none\"\n",
" fill=\"#000000\"\n",
" stroke-width=\"0.3\"\n",
" font-size=\"3.88\"\n",
">\n",
"<g class=\"plotroot yscalable\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-1\">\n",
" <g font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#564A55\" stroke=\"none\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-2\">\n",
" <text x=\"67.07\" y=\"92\" text-anchor=\"middle\">Sex</text>\n",
" </g>\n",
" <g class=\"guide xlabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-3\">\n",
" <text x=\"39.54\" y=\"86.39\" text-anchor=\"middle\">male</text>\n",
" <text x=\"94.59\" y=\"86.39\" text-anchor=\"middle\">female</text>\n",
" </g>\n",
" <g class=\"guide colorkey\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-4\">\n",
" <g font-size=\"2.82\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#4C404B\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-5\">\n",
" <text x=\"126.43\" y=\"41.75\" dy=\"0.35em\">1.0</text>\n",
" <text x=\"126.43\" y=\"51.47\" dy=\"0.35em\">0.5</text>\n",
" <text x=\"126.43\" y=\"61.19\" dy=\"0.35em\">0.0</text>\n",
" </g>\n",
" <g shape-rendering=\"crispEdges\" stroke=\"none\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-6\">\n",
" <rect x=\"124.11\" y=\"60.7\" width=\"1.31\" height=\"0.49\" fill=\"#004D84\"/>\n",
" <rect x=\"124.11\" y=\"60.21\" width=\"1.31\" height=\"0.49\" fill=\"#005B8D\"/>\n",
" <rect x=\"124.11\" y=\"59.73\" width=\"1.31\" height=\"0.49\" fill=\"#006995\"/>\n",
" <rect x=\"124.11\" y=\"59.24\" width=\"1.31\" height=\"0.49\" fill=\"#00769D\"/>\n",
" <rect x=\"124.11\" y=\"58.76\" width=\"1.31\" height=\"0.49\" fill=\"#0083A3\"/>\n",
" <rect x=\"124.11\" y=\"58.27\" width=\"1.31\" height=\"0.49\" fill=\"#278FA9\"/>\n",
" <rect x=\"124.11\" y=\"57.78\" width=\"1.31\" height=\"0.49\" fill=\"#409BAF\"/>\n",
" <rect x=\"124.11\" y=\"57.3\" width=\"1.31\" height=\"0.49\" fill=\"#55A7B5\"/>\n",
" <rect x=\"124.11\" y=\"56.81\" width=\"1.31\" height=\"0.49\" fill=\"#69B2BA\"/>\n",
" <rect x=\"124.11\" y=\"56.33\" width=\"1.31\" height=\"0.49\" fill=\"#7BBCC0\"/>\n",
" <rect x=\"124.11\" y=\"55.84\" width=\"1.31\" height=\"0.49\" fill=\"#8DC6C5\"/>\n",
" <rect x=\"124.11\" y=\"55.36\" width=\"1.31\" height=\"0.49\" fill=\"#9ED0CB\"/>\n",
" <rect x=\"124.11\" y=\"54.87\" width=\"1.31\" height=\"0.49\" fill=\"#A5CFC7\"/>\n",
" <rect x=\"124.11\" y=\"54.38\" width=\"1.31\" height=\"0.49\" fill=\"#ABCEC4\"/>\n",
" <rect x=\"124.11\" y=\"53.9\" width=\"1.31\" height=\"0.49\" fill=\"#B1CCC2\"/>\n",
" <rect x=\"124.11\" y=\"53.41\" width=\"1.31\" height=\"0.49\" fill=\"#B5CCC1\"/>\n",
" <rect x=\"124.11\" y=\"52.93\" width=\"1.31\" height=\"0.49\" fill=\"#B7CBBF\"/>\n",
" <rect x=\"124.11\" y=\"52.44\" width=\"1.31\" height=\"0.49\" fill=\"#B9CBBD\"/>\n",
" <rect x=\"124.11\" y=\"51.95\" width=\"1.31\" height=\"0.49\" fill=\"#BBCBBB\"/>\n",
" <rect x=\"124.11\" y=\"51.47\" width=\"1.31\" height=\"0.49\" fill=\"#BDCABA\"/>\n",
" <rect x=\"124.11\" y=\"50.98\" width=\"1.31\" height=\"0.49\" fill=\"#BFCAB8\"/>\n",
" <rect x=\"124.11\" y=\"50.5\" width=\"1.31\" height=\"0.49\" fill=\"#C2C9B7\"/>\n",
" <rect x=\"124.11\" y=\"50.01\" width=\"1.31\" height=\"0.49\" fill=\"#C4C9B6\"/>\n",
" <rect x=\"124.11\" y=\"49.53\" width=\"1.31\" height=\"0.49\" fill=\"#C6C8B5\"/>\n",
" <rect x=\"124.11\" y=\"49.04\" width=\"1.31\" height=\"0.49\" fill=\"#C9C7B4\"/>\n",
" <rect x=\"124.11\" y=\"48.55\" width=\"1.31\" height=\"0.49\" fill=\"#CCC7B2\"/>\n",
" <rect x=\"124.11\" y=\"48.07\" width=\"1.31\" height=\"0.49\" fill=\"#CFC6AE\"/>\n",
" <rect x=\"124.11\" y=\"47.58\" width=\"1.31\" height=\"0.49\" fill=\"#D4C5AA\"/>\n",
" <rect x=\"124.11\" y=\"47.1\" width=\"1.31\" height=\"0.49\" fill=\"#D8C3A6\"/>\n",
" <rect x=\"124.11\" y=\"46.61\" width=\"1.31\" height=\"0.49\" fill=\"#D3B79A\"/>\n",
" <rect x=\"124.11\" y=\"46.13\" width=\"1.31\" height=\"0.49\" fill=\"#CDAB8E\"/>\n",
" <rect x=\"124.11\" y=\"45.64\" width=\"1.31\" height=\"0.49\" fill=\"#C89E82\"/>\n",
" <rect x=\"124.11\" y=\"45.15\" width=\"1.31\" height=\"0.49\" fill=\"#C19177\"/>\n",
" <rect x=\"124.11\" y=\"44.67\" width=\"1.31\" height=\"0.49\" fill=\"#BA836C\"/>\n",
" <rect x=\"124.11\" y=\"44.18\" width=\"1.31\" height=\"0.49\" fill=\"#B27563\"/>\n",
" <rect x=\"124.11\" y=\"43.7\" width=\"1.31\" height=\"0.49\" fill=\"#AA665A\"/>\n",
" <rect x=\"124.11\" y=\"43.21\" width=\"1.31\" height=\"0.49\" fill=\"#A05752\"/>\n",
" <rect x=\"124.11\" y=\"42.72\" width=\"1.31\" height=\"0.49\" fill=\"#96484A\"/>\n",
" <rect x=\"124.11\" y=\"42.24\" width=\"1.31\" height=\"0.49\" fill=\"#8B3844\"/>\n",
" <rect x=\"124.11\" y=\"41.75\" width=\"1.31\" height=\"0.49\" fill=\"#7E273E\"/>\n",
" <g stroke=\"#FFFFFF\" stroke-width=\"0.2\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-7\">\n",
" <path fill=\"none\" d=\"M124.11,41.75 L 125.43 41.75\"/>\n",
" <path fill=\"none\" d=\"M124.11,51.47 L 125.43 51.47\"/>\n",
" <path fill=\"none\" d=\"M124.11,61.19 L 125.43 61.19\"/>\n",
" </g>\n",
" </g>\n",
" <g fill=\"#362A35\" font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" stroke=\"none\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-8\">\n",
" <text x=\"124.11\" y=\"37.75\">Survived</text>\n",
" </g>\n",
" </g>\n",
" <g clip-path=\"url(#fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-10)\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-9\">\n",
" <g pointer-events=\"visible\" opacity=\"1\" fill=\"none\" stroke=\"none\" class=\"guide background\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-11\">\n",
" <rect x=\"12.02\" y=\"5\" width=\"110.09\" height=\"77.72\"/>\n",
" </g>\n",
" <g class=\"guide ygridlines xfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-12\">\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 122.11 80.72\"/>\n",
" <path fill=\"none\" d=\"M12.02,68.43 L 122.11 68.43\"/>\n",
" <path fill=\"none\" d=\"M12.02,56.14 L 122.11 56.14\"/>\n",
" <path fill=\"none\" d=\"M12.02,43.86 L 122.11 43.86\"/>\n",
" <path fill=\"none\" d=\"M12.02,31.57 L 122.11 31.57\"/>\n",
" <path fill=\"none\" d=\"M12.02,19.29 L 122.11 19.29\"/>\n",
" <path fill=\"none\" d=\"M12.02,7 L 122.11 7\"/>\n",
" </g>\n",
" <g class=\"guide xgridlines yfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-13\">\n",
" <path fill=\"none\" d=\"M67.07,5 L 67.07 82.72\"/>\n",
" </g>\n",
" <g class=\"plotpanel\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-14\">\n",
" <g stroke=\"none\" fill=\"#00BFFF\" shape-rendering=\"crispEdges\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-15\">\n",
" <g class=\"geometry\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-16\">\n",
" <rect x=\"12.02\" y=\"23.22\" width=\"55.05\" height=\"57.5\" fill=\"#004D84\"/>\n",
" <rect x=\"67.07\" y=\"70.76\" width=\"55.05\" height=\"9.95\" fill=\"#004D84\"/>\n",
" <rect x=\"12.02\" y=\"9.83\" width=\"55.05\" height=\"13.39\" fill=\"#7E273E\"/>\n",
" <rect x=\"67.07\" y=\"42.14\" width=\"55.05\" height=\"28.63\" fill=\"#7E273E\"/>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g class=\"guide ylabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-17\">\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\">0</text>\n",
" <text x=\"11.02\" y=\"68.43\" text-anchor=\"end\" dy=\"0.35em\">100</text>\n",
" <text x=\"11.02\" y=\"56.14\" text-anchor=\"end\" dy=\"0.35em\">200</text>\n",
" <text x=\"11.02\" y=\"43.86\" text-anchor=\"end\" dy=\"0.35em\">300</text>\n",
" <text x=\"11.02\" y=\"31.57\" text-anchor=\"end\" dy=\"0.35em\">400</text>\n",
" <text x=\"11.02\" y=\"19.29\" text-anchor=\"end\" dy=\"0.35em\">500</text>\n",
" <text x=\"11.02\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\">600</text>\n",
" </g>\n",
"</g>\n",
"<defs>\n",
"<clipPath id=\"fig-38cf7f7c66d24bdfbd1baa591f917b6c-element-10\">\n",
" <path d=\"M12.02,5 L 122.11 5 122.11 82.72 12.02 82.72\" />\n",
"</clipPath\n",
"></defs>\n",
"</svg>\n"
],
"text": [
"Plot(...)"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[!isna(df[:Age]),:]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<table class=\"data-frame\"><tr><th></th><th>PassengerId</th><th>Survived</th><th>Pclass</th><th>Name</th><th>Sex</th><th>Age</th><th>SibSp</th><th>Parch</th><th>Ticket</th><th>Fare</th><th>Cabin</th><th>Embarked</th></tr><tr><th>1</th><td>1</td><td>0</td><td>3</td><td>Braund, Mr. Owen Harris</td><td>male</td><td>22.0</td><td>1</td><td>0</td><td>A/5 21171</td><td>7.25</td><td>NA</td><td>S</td></tr><tr><th>2</th><td>2</td><td>1</td><td>1</td><td>Cumings, Mrs. John Bradley (Florence Briggs Thayer)</td><td>female</td><td>38.0</td><td>1</td><td>0</td><td>PC 17599</td><td>71.2833</td><td>C85</td><td>C</td></tr><tr><th>3</th><td>3</td><td>1</td><td>3</td><td>Heikkinen, Miss. Laina</td><td>female</td><td>26.0</td><td>0</td><td>0</td><td>STON/O2. 3101282</td><td>7.925</td><td>NA</td><td>S</td></tr><tr><th>4</th><td>4</td><td>1</td><td>1</td><td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td><td>female</td><td>35.0</td><td>1</td><td>0</td><td>113803</td><td>53.1</td><td>C123</td><td>S</td></tr><tr><th>5</th><td>5</td><td>0</td><td>3</td><td>Allen, Mr. William Henry</td><td>male</td><td>35.0</td><td>0</td><td>0</td><td>373450</td><td>8.05</td><td>NA</td><td>S</td></tr><tr><th>6</th><td>7</td><td>0</td><td>1</td><td>McCarthy, Mr. Timothy J</td><td>male</td><td>54.0</td><td>0</td><td>0</td><td>17463</td><td>51.8625</td><td>E46</td><td>S</td></tr><tr><th>7</th><td>8</td><td>0</td><td>3</td><td>Palsson, Master. Gosta Leonard</td><td>male</td><td>2.0</td><td>3</td><td>1</td><td>349909</td><td>21.075</td><td>NA</td><td>S</td></tr><tr><th>8</th><td>9</td><td>1</td><td>3</td><td>Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)</td><td>female</td><td>27.0</td><td>0</td><td>2</td><td>347742</td><td>11.1333</td><td>NA</td><td>S</td></tr><tr><th>9</th><td>10</td><td>1</td><td>2</td><td>Nasser, Mrs. Nicholas (Adele Achem)</td><td>female</td><td>14.0</td><td>1</td><td>0</td><td>237736</td><td>30.0708</td><td>NA</td><td>C</td></tr><tr><th>10</th><td>11</td><td>1</td><td>3</td><td>Sandstrom, Miss. Marguerite Rut</td><td>female</td><td>4.0</td><td>1</td><td>1</td><td>PP 9549</td><td>16.7</td><td>G6</td><td>S</td></tr><tr><th>11</th><td>12</td><td>1</td><td>1</td><td>Bonnell, Miss. Elizabeth</td><td>female</td><td>58.0</td><td>0</td><td>0</td><td>113783</td><td>26.55</td><td>C103</td><td>S</td></tr><tr><th>12</th><td>13</td><td>0</td><td>3</td><td>Saundercock, Mr. William Henry</td><td>male</td><td>20.0</td><td>0</td><td>0</td><td>A/5. 2151</td><td>8.05</td><td>NA</td><td>S</td></tr><tr><th>13</th><td>14</td><td>0</td><td>3</td><td>Andersson, Mr. Anders Johan</td><td>male</td><td>39.0</td><td>1</td><td>5</td><td>347082</td><td>31.275</td><td>NA</td><td>S</td></tr><tr><th>14</th><td>15</td><td>0</td><td>3</td><td>Vestrom, Miss. Hulda Amanda Adolfina</td><td>female</td><td>14.0</td><td>0</td><td>0</td><td>350406</td><td>7.8542</td><td>NA</td><td>S</td></tr><tr><th>15</th><td>16</td><td>1</td><td>2</td><td>Hewlett, Mrs. (Mary D Kingcome) </td><td>female</td><td>55.0</td><td>0</td><td>0</td><td>248706</td><td>16.0</td><td>NA</td><td>S</td></tr><tr><th>16</th><td>17</td><td>0</td><td>3</td><td>Rice, Master. Eugene</td><td>male</td><td>2.0</td><td>4</td><td>1</td><td>382652</td><td>29.125</td><td>NA</td><td>Q</td></tr><tr><th>17</th><td>19</td><td>0</td><td>3</td><td>Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)</td><td>female</td><td>31.0</td><td>1</td><td>0</td><td>345763</td><td>18.0</td><td>NA</td><td>S</td></tr><tr><th>18</th><td>21</td><td>0</td><td>2</td><td>Fynney, Mr. Joseph J</td><td>male</td><td>35.0</td><td>0</td><td>0</td><td>239865</td><td>26.0</td><td>NA</td><td>S</td></tr><tr><th>19</th><td>22</td><td>1</td><td>2</td><td>Beesley, Mr. Lawrence</td><td>male</td><td>34.0</td><td>0</td><td>0</td><td>248698</td><td>13.0</td><td>D56</td><td>S</td></tr><tr><th>20</th><td>23</td><td>1</td><td>3</td><td>McGowan, Miss. Anna \"Annie\"</td><td>female</td><td>15.0</td><td>0</td><td>0</td><td>330923</td><td>8.0292</td><td>NA</td><td>Q</td></tr><tr><th>21</th><td>24</td><td>1</td><td>1</td><td>Sloper, Mr. William Thompson</td><td>male</td><td>28.0</td><td>0</td><td>0</td><td>113788</td><td>35.5</td><td>A6</td><td>S</td></tr><tr><th>22</th><td>25</td><td>0</td><td>3</td><td>Palsson, Miss. Torborg Danira</td><td>female</td><td>8.0</td><td>3</td><td>1</td><td>349909</td><td>21.075</td><td>NA</td><td>S</td></tr><tr><th>23</th><td>26</td><td>1</td><td>3</td><td>Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)</td><td>female</td><td>38.0</td><td>1</td><td>5</td><td>347077</td><td>31.3875</td><td>NA</td><td>S</td></tr><tr><th>24</th><td>28</td><td>0</td><td>1</td><td>Fortune, Mr. Charles Alexander</td><td>male</td><td>19.0</td><td>3</td><td>2</td><td>19950</td><td>263.0</td><td>C23 C25 C27</td><td>S</td></tr><tr><th>25</th><td>31</td><td>0</td><td>1</td><td>Uruchurtu, Don. Manuel E</td><td>male</td><td>40.0</td><td>0</td><td>0</td><td>PC 17601</td><td>27.7208</td><td>NA</td><td>C</td></tr><tr><th>26</th><td>34</td><td>0</td><td>2</td><td>Wheadon, Mr. Edward H</td><td>male</td><td>66.0</td><td>0</td><td>0</td><td>C.A. 24579</td><td>10.5</td><td>NA</td><td>S</td></tr><tr><th>27</th><td>35</td><td>0</td><td>1</td><td>Meyer, Mr. Edgar Joseph</td><td>male</td><td>28.0</td><td>1</td><td>0</td><td>PC 17604</td><td>82.1708</td><td>NA</td><td>C</td></tr><tr><th>28</th><td>36</td><td>0</td><td>1</td><td>Holverson, Mr. Alexander Oskar</td><td>male</td><td>42.0</td><td>1</td><td>0</td><td>113789</td><td>52.0</td><td>NA</td><td>S</td></tr><tr><th>29</th><td>38</td><td>0</td><td>3</td><td>Cann, Mr. Ernest Charles</td><td>male</td><td>21.0</td><td>0</td><td>0</td><td>A./5. 2152</td><td>8.05</td><td>NA</td><td>S</td></tr><tr><th>30</th><td>39</td><td>0</td><td>3</td><td>Vander Planke, Miss. Augusta Maria</td><td>female</td><td>18.0</td><td>2</td><td>0</td><td>345764</td><td>18.0</td><td>NA</td><td>S</td></tr><tr><th>&vellip;</th><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td></tr></table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 8,
"text": [
"714x12 DataFrame\n",
"| Row | PassengerId | Survived | Pclass |\n",
"|-----|-------------|----------|--------|\n",
"| 1 | 1 | 0 | 3 |\n",
"| 2 | 2 | 1 | 1 |\n",
"| 3 | 3 | 1 | 3 |\n",
"| 4 | 4 | 1 | 1 |\n",
"| 5 | 5 | 0 | 3 |\n",
"| 6 | 7 | 0 | 1 |\n",
"| 7 | 8 | 0 | 3 |\n",
"| 8 | 9 | 1 | 3 |\n",
"| 9 | 10 | 1 | 2 |\n",
"| 10 | 11 | 1 | 3 |\n",
"| 11 | 12 | 1 | 1 |\n",
"\u22ee\n",
"| 703 | 878 | 0 | 3 |\n",
"| 704 | 880 | 1 | 1 |\n",
"| 705 | 881 | 1 | 2 |\n",
"| 706 | 882 | 0 | 3 |\n",
"| 707 | 883 | 0 | 3 |\n",
"| 708 | 884 | 0 | 2 |\n",
"| 709 | 885 | 0 | 3 |\n",
"| 710 | 886 | 0 | 3 |\n",
"| 711 | 887 | 0 | 2 |\n",
"| 712 | 888 | 1 | 1 |\n",
"| 713 | 890 | 1 | 1 |\n",
"| 714 | 891 | 0 | 3 |\n",
"\n",
"| Row | Name | Sex |\n",
"|-----|-------------------------------------------------------|----------|\n",
"| 1 | \"Braund, Mr. Owen Harris\" | \"male\" |\n",
"| 2 | \"Cumings, Mrs. John Bradley (Florence Briggs Thayer)\" | \"female\" |\n",
"| 3 | \"Heikkinen, Miss. Laina\" | \"female\" |\n",
"| 4 | \"Futrelle, Mrs. Jacques Heath (Lily May Peel)\" | \"female\" |\n",
"| 5 | \"Allen, Mr. William Henry\" | \"male\" |\n",
"| 6 | \"McCarthy, Mr. Timothy J\" | \"male\" |\n",
"| 7 | \"Palsson, Master. Gosta Leonard\" | \"male\" |\n",
"| 8 | \"Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)\" | \"female\" |\n",
"| 9 | \"Nasser, Mrs. Nicholas (Adele Achem)\" | \"female\" |\n",
"| 10 | \"Sandstrom, Miss. Marguerite Rut\" | \"female\" |\n",
"| 11 | \"Bonnell, Miss. Elizabeth\" | \"female\" |\n",
"\u22ee\n",
"| 703 | \"Petroff, Mr. Nedelio\" | \"male\" |\n",
"| 704 | \"Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)\" | \"female\" |\n",
"| 705 | \"Shelley, Mrs. William (Imanita Parrish Hall)\" | \"female\" |\n",
"| 706 | \"Markun, Mr. Johann\" | \"male\" |\n",
"| 707 | \"Dahlberg, Miss. Gerda Ulrika\" | \"female\" |\n",
"| 708 | \"Banfield, Mr. Frederick James\" | \"male\" |\n",
"| 709 | \"Sutehall, Mr. Henry Jr\" | \"male\" |\n",
"| 710 | \"Rice, Mrs. William (Margaret Norton)\" | \"female\" |\n",
"| 711 | \"Montvila, Rev. Juozas\" | \"male\" |\n",
"| 712 | \"Graham, Miss. Margaret Edith\" | \"female\" |\n",
"| 713 | \"Behr, Mr. Karl Howell\" | \"male\" |\n",
"| 714 | \"Dooley, Mr. Patrick\" | \"male\" |\n",
"\n",
"| Row | Age | SibSp | Parch | Ticket | Fare | Cabin |\n",
"|-----|------|-------|-------|--------------------|---------|--------|\n",
"| 1 | 22.0 | 1 | 0 | \"A/5 21171\" | 7.25 | NA |\n",
"| 2 | 38.0 | 1 | 0 | \"PC 17599\" | 71.2833 | \"C85\" |\n",
"| 3 | 26.0 | 0 | 0 | \"STON/O2. 3101282\" | 7.925 | NA |\n",
"| 4 | 35.0 | 1 | 0 | \"113803\" | 53.1 | \"C123\" |\n",
"| 5 | 35.0 | 0 | 0 | \"373450\" | 8.05 | NA |\n",
"| 6 | 54.0 | 0 | 0 | \"17463\" | 51.8625 | \"E46\" |\n",
"| 7 | 2.0 | 3 | 1 | \"349909\" | 21.075 | NA |\n",
"| 8 | 27.0 | 0 | 2 | \"347742\" | 11.1333 | NA |\n",
"| 9 | 14.0 | 1 | 0 | \"237736\" | 30.0708 | NA |\n",
"| 10 | 4.0 | 1 | 1 | \"PP 9549\" | 16.7 | \"G6\" |\n",
"| 11 | 58.0 | 0 | 0 | \"113783\" | 26.55 | \"C103\" |\n",
"\u22ee\n",
"| 703 | 19.0 | 0 | 0 | \"349212\" | 7.8958 | NA |\n",
"| 704 | 56.0 | 0 | 1 | \"11767\" | 83.1583 | \"C50\" |\n",
"| 705 | 25.0 | 0 | 1 | \"230433\" | 26.0 | NA |\n",
"| 706 | 33.0 | 0 | 0 | \"349257\" | 7.8958 | NA |\n",
"| 707 | 22.0 | 0 | 0 | \"7552\" | 10.5167 | NA |\n",
"| 708 | 28.0 | 0 | 0 | \"C.A./SOTON 34068\" | 10.5 | NA |\n",
"| 709 | 25.0 | 0 | 0 | \"SOTON/OQ 392076\" | 7.05 | NA |\n",
"| 710 | 39.0 | 0 | 5 | \"382652\" | 29.125 | NA |\n",
"| 711 | 27.0 | 0 | 0 | \"211536\" | 13.0 | NA |\n",
"| 712 | 19.0 | 0 | 0 | \"112053\" | 30.0 | \"B42\" |\n",
"| 713 | 26.0 | 0 | 0 | \"111369\" | 30.0 | \"C148\" |\n",
"| 714 | 32.0 | 0 | 0 | \"370376\" | 7.75 | NA |\n",
"\n",
"| Row | Embarked |\n",
"|-----|----------|\n",
"| 1 | \"S\" |\n",
"| 2 | \"C\" |\n",
"| 3 | \"S\" |\n",
"| 4 | \"S\" |\n",
"| 5 | \"S\" |\n",
"| 6 | \"S\" |\n",
"| 7 | \"S\" |\n",
"| 8 | \"S\" |\n",
"| 9 | \"C\" |\n",
"| 10 | \"S\" |\n",
"| 11 | \"S\" |\n",
"\u22ee\n",
"| 703 | \"S\" |\n",
"| 704 | \"C\" |\n",
"| 705 | \"S\" |\n",
"| 706 | \"S\" |\n",
"| 707 | \"S\" |\n",
"| 708 | \"S\" |\n",
"| 709 | \"S\" |\n",
"| 710 | \"Q\" |\n",
"| 711 | \"S\" |\n",
"| 712 | \"S\" |\n",
"| 713 | \"C\" |\n",
"| 714 | \"Q\" |"
]
}
],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"averageAge=mean(df[!isna(df[:Age]),:Age])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 9,
"text": [
"29.69911764705882"
]
}
],
"prompt_number": 9
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Fill NAs in df[:Age] by average"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[:Age]=array(df[:Age],averageAge)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 10,
"text": [
"891-element Array{Float64,1}:\n",
" 22.0 \n",
" 38.0 \n",
" 26.0 \n",
" 35.0 \n",
" 35.0 \n",
" 29.6991\n",
" 54.0 \n",
" 2.0 \n",
" 27.0 \n",
" 14.0 \n",
" 4.0 \n",
" 58.0 \n",
" 20.0 \n",
" \u22ee \n",
" 56.0 \n",
" 25.0 \n",
" 33.0 \n",
" 22.0 \n",
" 28.0 \n",
" 25.0 \n",
" 39.0 \n",
" 27.0 \n",
" 19.0 \n",
" 29.6991\n",
" 26.0 \n",
" 32.0 "
]
}
],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"typeof(df[:Sex])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"PooledDataArray{UTF8String,Uint8,1} (constructor with 1 method)"
]
}
],
"prompt_number": 11
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Clean Embarked column"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plot(x=df[!isna(df[:Embarked]),:Embarked],Geom.histogram)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\"\n",
" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
" xmlns:gadfly=\"http://www.gadflyjl.org/ns\"\n",
" version=\"1.2\"\n",
" width=\"141.42mm\" height=\"100mm\" viewBox=\"0 0 141.42 100\"\n",
" stroke=\"none\"\n",
" fill=\"#000000\"\n",
" stroke-width=\"0.3\"\n",
" font-size=\"3.88\"\n",
"\n",
" id=\"fig-6554c859282e4cab9ae9a878f25500dd\">\n",
"<g class=\"plotroot yscalable\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-1\">\n",
" <g font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#564A55\" stroke=\"none\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-2\">\n",
" <text x=\"74.22\" y=\"92\" text-anchor=\"middle\">x</text>\n",
" </g>\n",
" <g class=\"guide xlabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-3\">\n",
" <text x=\"32.75\" y=\"86.39\" text-anchor=\"middle\" visibility=\"visible\" gadfly:scale=\"1.0\">S</text>\n",
" <text x=\"74.22\" y=\"86.39\" text-anchor=\"middle\" visibility=\"visible\" gadfly:scale=\"1.0\">C</text>\n",
" <text x=\"115.69\" y=\"86.39\" text-anchor=\"middle\" visibility=\"visible\" gadfly:scale=\"1.0\">Q</text>\n",
" </g>\n",
" <g clip-path=\"url(#fig-6554c859282e4cab9ae9a878f25500dd-element-5)\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-4\">\n",
" <g pointer-events=\"visible\" opacity=\"1\" fill=\"none\" stroke=\"none\" class=\"guide background\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-6\">\n",
" <rect x=\"12.02\" y=\"5\" width=\"124.4\" height=\"77.72\"/>\n",
" </g>\n",
" <g class=\"guide ygridlines xfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-7\">\n",
" <path fill=\"none\" d=\"M12.02,172.86 L 136.42 172.86\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,154.43 L 136.42 154.43\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,136 L 136.42 136\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,117.57 L 136.42 117.57\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,99.14 L 136.42 99.14\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 136.42 80.72\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,62.29 L 136.42 62.29\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,43.86 L 136.42 43.86\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,25.43 L 136.42 25.43\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,7 L 136.42 7\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-11.43 L 136.42 -11.43\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-29.86 L 136.42 -29.86\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-48.29 L 136.42 -48.29\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-66.71 L 136.42 -66.71\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-85.14 L 136.42 -85.14\" visibility=\"hidden\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,154.43 L 136.42 154.43\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,149.82 L 136.42 149.82\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,145.22 L 136.42 145.22\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,140.61 L 136.42 140.61\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,136 L 136.42 136\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,131.39 L 136.42 131.39\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,126.79 L 136.42 126.79\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,122.18 L 136.42 122.18\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,117.57 L 136.42 117.57\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,112.97 L 136.42 112.97\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,108.36 L 136.42 108.36\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,103.75 L 136.42 103.75\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,99.14 L 136.42 99.14\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,94.54 L 136.42 94.54\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,89.93 L 136.42 89.93\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,85.32 L 136.42 85.32\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 136.42 80.72\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,76.11 L 136.42 76.11\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,71.5 L 136.42 71.5\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,66.89 L 136.42 66.89\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,62.29 L 136.42 62.29\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,57.68 L 136.42 57.68\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,53.07 L 136.42 53.07\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,48.46 L 136.42 48.46\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,43.86 L 136.42 43.86\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,39.25 L 136.42 39.25\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,34.64 L 136.42 34.64\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,30.04 L 136.42 30.04\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,25.43 L 136.42 25.43\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,20.82 L 136.42 20.82\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,16.21 L 136.42 16.21\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,11.61 L 136.42 11.61\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,7 L 136.42 7\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,2.39 L 136.42 2.39\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-2.21 L 136.42 -2.21\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-6.82 L 136.42 -6.82\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-11.43 L 136.42 -11.43\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-16.04 L 136.42 -16.04\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-20.64 L 136.42 -20.64\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-25.25 L 136.42 -25.25\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-29.86 L 136.42 -29.86\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-34.46 L 136.42 -34.46\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-39.07 L 136.42 -39.07\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-43.68 L 136.42 -43.68\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-48.29 L 136.42 -48.29\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-52.89 L 136.42 -52.89\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-57.5 L 136.42 -57.5\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-62.11 L 136.42 -62.11\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-66.71 L 136.42 -66.71\" visibility=\"hidden\" gadfly:scale=\"10.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,172.86 L 136.42 172.86\" visibility=\"hidden\" gadfly:scale=\"0.5\"/>\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 136.42 80.72\" visibility=\"hidden\" gadfly:scale=\"0.5\"/>\n",
" <path fill=\"none\" d=\"M12.02,-11.43 L 136.42 -11.43\" visibility=\"hidden\" gadfly:scale=\"0.5\"/>\n",
" <path fill=\"none\" d=\"M12.02,-103.57 L 136.42 -103.57\" visibility=\"hidden\" gadfly:scale=\"0.5\"/>\n",
" <path fill=\"none\" d=\"M12.02,154.43 L 136.42 154.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,149.82 L 136.42 149.82\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,145.22 L 136.42 145.22\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,140.61 L 136.42 140.61\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,136 L 136.42 136\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,131.39 L 136.42 131.39\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,126.79 L 136.42 126.79\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,122.18 L 136.42 122.18\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,117.57 L 136.42 117.57\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,112.97 L 136.42 112.97\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,108.36 L 136.42 108.36\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,103.75 L 136.42 103.75\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,99.14 L 136.42 99.14\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,94.54 L 136.42 94.54\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,89.93 L 136.42 89.93\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,85.32 L 136.42 85.32\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 136.42 80.72\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,76.11 L 136.42 76.11\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,71.5 L 136.42 71.5\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,66.89 L 136.42 66.89\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,62.29 L 136.42 62.29\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,57.68 L 136.42 57.68\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,53.07 L 136.42 53.07\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,48.46 L 136.42 48.46\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,43.86 L 136.42 43.86\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,39.25 L 136.42 39.25\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,34.64 L 136.42 34.64\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,30.04 L 136.42 30.04\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,25.43 L 136.42 25.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,20.82 L 136.42 20.82\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,16.21 L 136.42 16.21\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,11.61 L 136.42 11.61\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,7 L 136.42 7\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,2.39 L 136.42 2.39\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-2.21 L 136.42 -2.21\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-6.82 L 136.42 -6.82\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-11.43 L 136.42 -11.43\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-16.04 L 136.42 -16.04\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-20.64 L 136.42 -20.64\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-25.25 L 136.42 -25.25\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-29.86 L 136.42 -29.86\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-34.46 L 136.42 -34.46\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-39.07 L 136.42 -39.07\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-43.68 L 136.42 -43.68\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-48.29 L 136.42 -48.29\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-52.89 L 136.42 -52.89\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-57.5 L 136.42 -57.5\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-62.11 L 136.42 -62.11\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" <path fill=\"none\" d=\"M12.02,-66.71 L 136.42 -66.71\" visibility=\"hidden\" gadfly:scale=\"5.0\"/>\n",
" </g>\n",
" <g class=\"guide xgridlines yfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-8\">\n",
" <path fill=\"none\" d=\"M53.49,5 L 53.49 82.72\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" <path fill=\"none\" d=\"M94.95,5 L 94.95 82.72\" visibility=\"visible\" gadfly:scale=\"1.0\"/>\n",
" </g>\n",
" <g class=\"plotpanel\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-9\">\n",
" <g stroke=\"none\" fill=\"#00BFFF\" shape-rendering=\"crispEdges\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-10\">\n",
" <g class=\"geometry\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-11\">\n",
" <rect x=\"12.02\" y=\"21.37\" width=\"41.47\" height=\"59.34\"/>\n",
" <rect x=\"53.49\" y=\"65.23\" width=\"41.47\" height=\"15.48\"/>\n",
" <rect x=\"94.95\" y=\"73.62\" width=\"41.47\" height=\"7.1\"/>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g opacity=\"0\" class=\"guide zoomslider\" stroke=\"none\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-12\">\n",
" <g fill=\"#EAEAEA\" stroke-width=\"0.3\" stroke-opacity=\"0\" stroke=\"#6A6A6A\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-13\">\n",
" <rect x=\"129.42\" y=\"8\" width=\"4\" height=\"4\"/>\n",
" <g class=\"button_logo\" fill=\"#6A6A6A\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-14\">\n",
" <path d=\"M130.22,9.6 L 131.02 9.6 131.02 8.8 131.82 8.8 131.82 9.6 132.62 9.6 132.62 10.4 131.82 10.4 131.82 11.2 131.02 11.2 131.02 10.4 130.22 10.4 z\"/>\n",
" </g>\n",
" </g>\n",
" <g fill=\"#EAEAEA\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-15\">\n",
" <rect x=\"109.92\" y=\"8\" width=\"19\" height=\"4\"/>\n",
" </g>\n",
" <g class=\"zoomslider_thumb\" fill=\"#6A6A6A\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-16\">\n",
" <rect x=\"118.42\" y=\"8\" width=\"2\" height=\"4\"/>\n",
" </g>\n",
" <g fill=\"#EAEAEA\" stroke-width=\"0.3\" stroke-opacity=\"0\" stroke=\"#6A6A6A\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-17\">\n",
" <rect x=\"105.42\" y=\"8\" width=\"4\" height=\"4\"/>\n",
" <g class=\"button_logo\" fill=\"#6A6A6A\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-18\">\n",
" <path d=\"M106.22,9.6 L 108.62 9.6 108.62 10.4 106.22 10.4 z\"/>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g class=\"guide ylabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-19\">\n",
" <text x=\"11.02\" y=\"172.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-1000</text>\n",
" <text x=\"11.02\" y=\"154.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-800</text>\n",
" <text x=\"11.02\" y=\"136\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-600</text>\n",
" <text x=\"11.02\" y=\"117.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-400</text>\n",
" <text x=\"11.02\" y=\"99.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">-200</text>\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">0</text>\n",
" <text x=\"11.02\" y=\"62.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">200</text>\n",
" <text x=\"11.02\" y=\"43.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">400</text>\n",
" <text x=\"11.02\" y=\"25.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">600</text>\n",
" <text x=\"11.02\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"visible\" gadfly:scale=\"1.0\">800</text>\n",
" <text x=\"11.02\" y=\"-11.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1000</text>\n",
" <text x=\"11.02\" y=\"-29.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1200</text>\n",
" <text x=\"11.02\" y=\"-48.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1400</text>\n",
" <text x=\"11.02\" y=\"-66.71\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1600</text>\n",
" <text x=\"11.02\" y=\"-85.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"1.0\">1800</text>\n",
" <text x=\"11.02\" y=\"154.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-800</text>\n",
" <text x=\"11.02\" y=\"149.82\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-750</text>\n",
" <text x=\"11.02\" y=\"145.22\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-700</text>\n",
" <text x=\"11.02\" y=\"140.61\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-650</text>\n",
" <text x=\"11.02\" y=\"136\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-600</text>\n",
" <text x=\"11.02\" y=\"131.39\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-550</text>\n",
" <text x=\"11.02\" y=\"126.79\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-500</text>\n",
" <text x=\"11.02\" y=\"122.18\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-450</text>\n",
" <text x=\"11.02\" y=\"117.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-400</text>\n",
" <text x=\"11.02\" y=\"112.97\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-350</text>\n",
" <text x=\"11.02\" y=\"108.36\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-300</text>\n",
" <text x=\"11.02\" y=\"103.75\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-250</text>\n",
" <text x=\"11.02\" y=\"99.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-200</text>\n",
" <text x=\"11.02\" y=\"94.54\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-150</text>\n",
" <text x=\"11.02\" y=\"89.93\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-100</text>\n",
" <text x=\"11.02\" y=\"85.32\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">-50</text>\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">0</text>\n",
" <text x=\"11.02\" y=\"76.11\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">50</text>\n",
" <text x=\"11.02\" y=\"71.5\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">100</text>\n",
" <text x=\"11.02\" y=\"66.89\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">150</text>\n",
" <text x=\"11.02\" y=\"62.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">200</text>\n",
" <text x=\"11.02\" y=\"57.68\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">250</text>\n",
" <text x=\"11.02\" y=\"53.07\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">300</text>\n",
" <text x=\"11.02\" y=\"48.46\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">350</text>\n",
" <text x=\"11.02\" y=\"43.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">400</text>\n",
" <text x=\"11.02\" y=\"39.25\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">450</text>\n",
" <text x=\"11.02\" y=\"34.64\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">500</text>\n",
" <text x=\"11.02\" y=\"30.04\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">550</text>\n",
" <text x=\"11.02\" y=\"25.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">600</text>\n",
" <text x=\"11.02\" y=\"20.82\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">650</text>\n",
" <text x=\"11.02\" y=\"16.21\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">700</text>\n",
" <text x=\"11.02\" y=\"11.61\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">750</text>\n",
" <text x=\"11.02\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">800</text>\n",
" <text x=\"11.02\" y=\"2.39\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">850</text>\n",
" <text x=\"11.02\" y=\"-2.21\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">900</text>\n",
" <text x=\"11.02\" y=\"-6.82\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">950</text>\n",
" <text x=\"11.02\" y=\"-11.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1000</text>\n",
" <text x=\"11.02\" y=\"-16.04\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1050</text>\n",
" <text x=\"11.02\" y=\"-20.64\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1100</text>\n",
" <text x=\"11.02\" y=\"-25.25\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1150</text>\n",
" <text x=\"11.02\" y=\"-29.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1200</text>\n",
" <text x=\"11.02\" y=\"-34.46\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1250</text>\n",
" <text x=\"11.02\" y=\"-39.07\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1300</text>\n",
" <text x=\"11.02\" y=\"-43.68\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1350</text>\n",
" <text x=\"11.02\" y=\"-48.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1400</text>\n",
" <text x=\"11.02\" y=\"-52.89\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1450</text>\n",
" <text x=\"11.02\" y=\"-57.5\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1500</text>\n",
" <text x=\"11.02\" y=\"-62.11\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1550</text>\n",
" <text x=\"11.02\" y=\"-66.71\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"10.0\">1600</text>\n",
" <text x=\"11.02\" y=\"172.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"0.5\">-1000</text>\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"0.5\">0</text>\n",
" <text x=\"11.02\" y=\"-11.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"0.5\">1000</text>\n",
" <text x=\"11.02\" y=\"-103.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"0.5\">2000</text>\n",
" <text x=\"11.02\" y=\"154.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-800</text>\n",
" <text x=\"11.02\" y=\"149.82\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-750</text>\n",
" <text x=\"11.02\" y=\"145.22\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-700</text>\n",
" <text x=\"11.02\" y=\"140.61\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-650</text>\n",
" <text x=\"11.02\" y=\"136\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-600</text>\n",
" <text x=\"11.02\" y=\"131.39\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-550</text>\n",
" <text x=\"11.02\" y=\"126.79\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-500</text>\n",
" <text x=\"11.02\" y=\"122.18\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-450</text>\n",
" <text x=\"11.02\" y=\"117.57\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-400</text>\n",
" <text x=\"11.02\" y=\"112.97\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-350</text>\n",
" <text x=\"11.02\" y=\"108.36\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-300</text>\n",
" <text x=\"11.02\" y=\"103.75\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-250</text>\n",
" <text x=\"11.02\" y=\"99.14\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-200</text>\n",
" <text x=\"11.02\" y=\"94.54\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-150</text>\n",
" <text x=\"11.02\" y=\"89.93\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-100</text>\n",
" <text x=\"11.02\" y=\"85.32\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">-50</text>\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">0</text>\n",
" <text x=\"11.02\" y=\"76.11\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">50</text>\n",
" <text x=\"11.02\" y=\"71.5\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">100</text>\n",
" <text x=\"11.02\" y=\"66.89\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">150</text>\n",
" <text x=\"11.02\" y=\"62.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">200</text>\n",
" <text x=\"11.02\" y=\"57.68\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">250</text>\n",
" <text x=\"11.02\" y=\"53.07\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">300</text>\n",
" <text x=\"11.02\" y=\"48.46\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">350</text>\n",
" <text x=\"11.02\" y=\"43.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">400</text>\n",
" <text x=\"11.02\" y=\"39.25\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">450</text>\n",
" <text x=\"11.02\" y=\"34.64\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">500</text>\n",
" <text x=\"11.02\" y=\"30.04\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">550</text>\n",
" <text x=\"11.02\" y=\"25.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">600</text>\n",
" <text x=\"11.02\" y=\"20.82\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">650</text>\n",
" <text x=\"11.02\" y=\"16.21\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">700</text>\n",
" <text x=\"11.02\" y=\"11.61\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">750</text>\n",
" <text x=\"11.02\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">800</text>\n",
" <text x=\"11.02\" y=\"2.39\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">850</text>\n",
" <text x=\"11.02\" y=\"-2.21\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">900</text>\n",
" <text x=\"11.02\" y=\"-6.82\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">950</text>\n",
" <text x=\"11.02\" y=\"-11.43\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1000</text>\n",
" <text x=\"11.02\" y=\"-16.04\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1050</text>\n",
" <text x=\"11.02\" y=\"-20.64\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1100</text>\n",
" <text x=\"11.02\" y=\"-25.25\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1150</text>\n",
" <text x=\"11.02\" y=\"-29.86\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1200</text>\n",
" <text x=\"11.02\" y=\"-34.46\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1250</text>\n",
" <text x=\"11.02\" y=\"-39.07\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1300</text>\n",
" <text x=\"11.02\" y=\"-43.68\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1350</text>\n",
" <text x=\"11.02\" y=\"-48.29\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1400</text>\n",
" <text x=\"11.02\" y=\"-52.89\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1450</text>\n",
" <text x=\"11.02\" y=\"-57.5\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1500</text>\n",
" <text x=\"11.02\" y=\"-62.11\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1550</text>\n",
" <text x=\"11.02\" y=\"-66.71\" text-anchor=\"end\" dy=\"0.35em\" visibility=\"hidden\" gadfly:scale=\"5.0\">1600</text>\n",
" </g>\n",
"</g>\n",
"<defs>\n",
"<clipPath id=\"fig-6554c859282e4cab9ae9a878f25500dd-element-5\">\n",
" <path d=\"M12.02,5 L 136.42 5 136.42 82.72 12.02 82.72\" />\n",
"</clipPath\n",
"></defs>\n",
"<script> <![CDATA[\n",
"(function(N){var k=/[\\.\\/]/,L=/\\s*,\\s*/,C=function(a,d){return a-d},a,v,y={n:{}},M=function(){for(var a=0,d=this.length;a<d;a++)if(\"undefined\"!=typeof this[a])return this[a]},A=function(){for(var a=this.length;--a;)if(\"undefined\"!=typeof this[a])return this[a]},w=function(k,d){k=String(k);var f=v,n=Array.prototype.slice.call(arguments,2),u=w.listeners(k),p=0,b,q=[],e={},l=[],r=a;l.firstDefined=M;l.lastDefined=A;a=k;for(var s=v=0,x=u.length;s<x;s++)\"zIndex\"in u[s]&&(q.push(u[s].zIndex),0>u[s].zIndex&&\n",
"(e[u[s].zIndex]=u[s]));for(q.sort(C);0>q[p];)if(b=e[q[p++] ],l.push(b.apply(d,n)),v)return v=f,l;for(s=0;s<x;s++)if(b=u[s],\"zIndex\"in b)if(b.zIndex==q[p]){l.push(b.apply(d,n));if(v)break;do if(p++,(b=e[q[p] ])&&l.push(b.apply(d,n)),v)break;while(b)}else e[b.zIndex]=b;else if(l.push(b.apply(d,n)),v)break;v=f;a=r;return l};w._events=y;w.listeners=function(a){a=a.split(k);var d=y,f,n,u,p,b,q,e,l=[d],r=[];u=0;for(p=a.length;u<p;u++){e=[];b=0;for(q=l.length;b<q;b++)for(d=l[b].n,f=[d[a[u] ],d[\"*\"] ],n=2;n--;)if(d=\n",
"f[n])e.push(d),r=r.concat(d.f||[]);l=e}return r};w.on=function(a,d){a=String(a);if(\"function\"!=typeof d)return function(){};for(var f=a.split(L),n=0,u=f.length;n<u;n++)(function(a){a=a.split(k);for(var b=y,f,e=0,l=a.length;e<l;e++)b=b.n,b=b.hasOwnProperty(a[e])&&b[a[e] ]||(b[a[e] ]={n:{}});b.f=b.f||[];e=0;for(l=b.f.length;e<l;e++)if(b.f[e]==d){f=!0;break}!f&&b.f.push(d)})(f[n]);return function(a){+a==+a&&(d.zIndex=+a)}};w.f=function(a){var d=[].slice.call(arguments,1);return function(){w.apply(null,\n",
"[a,null].concat(d).concat([].slice.call(arguments,0)))}};w.stop=function(){v=1};w.nt=function(k){return k?(new RegExp(\"(?:\\\\.|\\\\/|^)\"+k+\"(?:\\\\.|\\\\/|$)\")).test(a):a};w.nts=function(){return a.split(k)};w.off=w.unbind=function(a,d){if(a){var f=a.split(L);if(1<f.length)for(var n=0,u=f.length;n<u;n++)w.off(f[n],d);else{for(var f=a.split(k),p,b,q,e,l=[y],n=0,u=f.length;n<u;n++)for(e=0;e<l.length;e+=q.length-2){q=[e,1];p=l[e].n;if(\"*\"!=f[n])p[f[n] ]&&q.push(p[f[n] ]);else for(b in p)p.hasOwnProperty(b)&&\n",
"q.push(p[b]);l.splice.apply(l,q)}n=0;for(u=l.length;n<u;n++)for(p=l[n];p.n;){if(d){if(p.f){e=0;for(f=p.f.length;e<f;e++)if(p.f[e]==d){p.f.splice(e,1);break}!p.f.length&&delete p.f}for(b in p.n)if(p.n.hasOwnProperty(b)&&p.n[b].f){q=p.n[b].f;e=0;for(f=q.length;e<f;e++)if(q[e]==d){q.splice(e,1);break}!q.length&&delete p.n[b].f}}else for(b in delete p.f,p.n)p.n.hasOwnProperty(b)&&p.n[b].f&&delete p.n[b].f;p=p.n}}}else w._events=y={n:{}}};w.once=function(a,d){var f=function(){w.unbind(a,f);return d.apply(this,\n",
"arguments)};return w.on(a,f)};w.version=\"0.4.2\";w.toString=function(){return\"You are running Eve 0.4.2\"};\"undefined\"!=typeof module&&module.exports?module.exports=w:\"function\"===typeof define&&define.amd?define(\"eve\",[],function(){return w}):N.eve=w})(this);\n",
"(function(N,k){\"function\"===typeof define&&define.amd?define(\"Snap.svg\",[\"eve\"],function(L){return k(N,L)}):k(N,N.eve)})(this,function(N,k){var L=function(a){var k={},y=N.requestAnimationFrame||N.webkitRequestAnimationFrame||N.mozRequestAnimationFrame||N.oRequestAnimationFrame||N.msRequestAnimationFrame||function(a){setTimeout(a,16)},M=Array.isArray||function(a){return a instanceof Array||\"[object Array]\"==Object.prototype.toString.call(a)},A=0,w=\"M\"+(+new Date).toString(36),z=function(a){if(null==\n",
"a)return this.s;var b=this.s-a;this.b+=this.dur*b;this.B+=this.dur*b;this.s=a},d=function(a){if(null==a)return this.spd;this.spd=a},f=function(a){if(null==a)return this.dur;this.s=this.s*a/this.dur;this.dur=a},n=function(){delete k[this.id];this.update();a(\"mina.stop.\"+this.id,this)},u=function(){this.pdif||(delete k[this.id],this.update(),this.pdif=this.get()-this.b)},p=function(){this.pdif&&(this.b=this.get()-this.pdif,delete this.pdif,k[this.id]=this)},b=function(){var a;if(M(this.start)){a=[];\n",
"for(var b=0,e=this.start.length;b<e;b++)a[b]=+this.start[b]+(this.end[b]-this.start[b])*this.easing(this.s)}else a=+this.start+(this.end-this.start)*this.easing(this.s);this.set(a)},q=function(){var l=0,b;for(b in k)if(k.hasOwnProperty(b)){var e=k[b],f=e.get();l++;e.s=(f-e.b)/(e.dur/e.spd);1<=e.s&&(delete k[b],e.s=1,l--,function(b){setTimeout(function(){a(\"mina.finish.\"+b.id,b)})}(e));e.update()}l&&y(q)},e=function(a,r,s,x,G,h,J){a={id:w+(A++).toString(36),start:a,end:r,b:s,s:0,dur:x-s,spd:1,get:G,\n",
"set:h,easing:J||e.linear,status:z,speed:d,duration:f,stop:n,pause:u,resume:p,update:b};k[a.id]=a;r=0;for(var K in k)if(k.hasOwnProperty(K)&&(r++,2==r))break;1==r&&y(q);return a};e.time=Date.now||function(){return+new Date};e.getById=function(a){return k[a]||null};e.linear=function(a){return a};e.easeout=function(a){return Math.pow(a,1.7)};e.easein=function(a){return Math.pow(a,0.48)};e.easeinout=function(a){if(1==a)return 1;if(0==a)return 0;var b=0.48-a/1.04,e=Math.sqrt(0.1734+b*b);a=e-b;a=Math.pow(Math.abs(a),\n",
"1/3)*(0>a?-1:1);b=-e-b;b=Math.pow(Math.abs(b),1/3)*(0>b?-1:1);a=a+b+0.5;return 3*(1-a)*a*a+a*a*a};e.backin=function(a){return 1==a?1:a*a*(2.70158*a-1.70158)};e.backout=function(a){if(0==a)return 0;a-=1;return a*a*(2.70158*a+1.70158)+1};e.elastic=function(a){return a==!!a?a:Math.pow(2,-10*a)*Math.sin(2*(a-0.075)*Math.PI/0.3)+1};e.bounce=function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a};\n",
"return N.mina=e}(\"undefined\"==typeof k?function(){}:k),C=function(){function a(c,t){if(c){if(c.tagName)return x(c);if(y(c,\"array\")&&a.set)return a.set.apply(a,c);if(c instanceof e)return c;if(null==t)return c=G.doc.querySelector(c),x(c)}return new s(null==c?\"100%\":c,null==t?\"100%\":t)}function v(c,a){if(a){\"#text\"==c&&(c=G.doc.createTextNode(a.text||\"\"));\"string\"==typeof c&&(c=v(c));if(\"string\"==typeof a)return\"xlink:\"==a.substring(0,6)?c.getAttributeNS(m,a.substring(6)):\"xml:\"==a.substring(0,4)?c.getAttributeNS(la,\n",
"a.substring(4)):c.getAttribute(a);for(var da in a)if(a[h](da)){var b=J(a[da]);b?\"xlink:\"==da.substring(0,6)?c.setAttributeNS(m,da.substring(6),b):\"xml:\"==da.substring(0,4)?c.setAttributeNS(la,da.substring(4),b):c.setAttribute(da,b):c.removeAttribute(da)}}else c=G.doc.createElementNS(la,c);return c}function y(c,a){a=J.prototype.toLowerCase.call(a);return\"finite\"==a?isFinite(c):\"array\"==a&&(c instanceof Array||Array.isArray&&Array.isArray(c))?!0:\"null\"==a&&null===c||a==typeof c&&null!==c||\"object\"==\n",
"a&&c===Object(c)||$.call(c).slice(8,-1).toLowerCase()==a}function M(c){if(\"function\"==typeof c||Object(c)!==c)return c;var a=new c.constructor,b;for(b in c)c[h](b)&&(a[b]=M(c[b]));return a}function A(c,a,b){function m(){var e=Array.prototype.slice.call(arguments,0),f=e.join(\"\\u2400\"),d=m.cache=m.cache||{},l=m.count=m.count||[];if(d[h](f)){a:for(var e=l,l=f,B=0,H=e.length;B<H;B++)if(e[B]===l){e.push(e.splice(B,1)[0]);break a}return b?b(d[f]):d[f]}1E3<=l.length&&delete d[l.shift()];l.push(f);d[f]=c.apply(a,\n",
"e);return b?b(d[f]):d[f]}return m}function w(c,a,b,m,e,f){return null==e?(c-=b,a-=m,c||a?(180*I.atan2(-a,-c)/C+540)%360:0):w(c,a,e,f)-w(b,m,e,f)}function z(c){return c%360*C/180}function d(c){var a=[];c=c.replace(/(?:^|\\s)(\\w+)\\(([^)]+)\\)/g,function(c,b,m){m=m.split(/\\s*,\\s*|\\s+/);\"rotate\"==b&&1==m.length&&m.push(0,0);\"scale\"==b&&(2<m.length?m=m.slice(0,2):2==m.length&&m.push(0,0),1==m.length&&m.push(m[0],0,0));\"skewX\"==b?a.push([\"m\",1,0,I.tan(z(m[0])),1,0,0]):\"skewY\"==b?a.push([\"m\",1,I.tan(z(m[0])),\n",
"0,1,0,0]):a.push([b.charAt(0)].concat(m));return c});return a}function f(c,t){var b=O(c),m=new a.Matrix;if(b)for(var e=0,f=b.length;e<f;e++){var h=b[e],d=h.length,B=J(h[0]).toLowerCase(),H=h[0]!=B,l=H?m.invert():0,E;\"t\"==B&&2==d?m.translate(h[1],0):\"t\"==B&&3==d?H?(d=l.x(0,0),B=l.y(0,0),H=l.x(h[1],h[2]),l=l.y(h[1],h[2]),m.translate(H-d,l-B)):m.translate(h[1],h[2]):\"r\"==B?2==d?(E=E||t,m.rotate(h[1],E.x+E.width/2,E.y+E.height/2)):4==d&&(H?(H=l.x(h[2],h[3]),l=l.y(h[2],h[3]),m.rotate(h[1],H,l)):m.rotate(h[1],\n",
"h[2],h[3])):\"s\"==B?2==d||3==d?(E=E||t,m.scale(h[1],h[d-1],E.x+E.width/2,E.y+E.height/2)):4==d?H?(H=l.x(h[2],h[3]),l=l.y(h[2],h[3]),m.scale(h[1],h[1],H,l)):m.scale(h[1],h[1],h[2],h[3]):5==d&&(H?(H=l.x(h[3],h[4]),l=l.y(h[3],h[4]),m.scale(h[1],h[2],H,l)):m.scale(h[1],h[2],h[3],h[4])):\"m\"==B&&7==d&&m.add(h[1],h[2],h[3],h[4],h[5],h[6])}return m}function n(c,t){if(null==t){var m=!0;t=\"linearGradient\"==c.type||\"radialGradient\"==c.type?c.node.getAttribute(\"gradientTransform\"):\"pattern\"==c.type?c.node.getAttribute(\"patternTransform\"):\n",
"c.node.getAttribute(\"transform\");if(!t)return new a.Matrix;t=d(t)}else t=a._.rgTransform.test(t)?J(t).replace(/\\.{3}|\\u2026/g,c._.transform||aa):d(t),y(t,\"array\")&&(t=a.path?a.path.toString.call(t):J(t)),c._.transform=t;var b=f(t,c.getBBox(1));if(m)return b;c.matrix=b}function u(c){c=c.node.ownerSVGElement&&x(c.node.ownerSVGElement)||c.node.parentNode&&x(c.node.parentNode)||a.select(\"svg\")||a(0,0);var t=c.select(\"defs\"),t=null==t?!1:t.node;t||(t=r(\"defs\",c.node).node);return t}function p(c){return c.node.ownerSVGElement&&\n",
"x(c.node.ownerSVGElement)||a.select(\"svg\")}function b(c,a,m){function b(c){if(null==c)return aa;if(c==+c)return c;v(B,{width:c});try{return B.getBBox().width}catch(a){return 0}}function h(c){if(null==c)return aa;if(c==+c)return c;v(B,{height:c});try{return B.getBBox().height}catch(a){return 0}}function e(b,B){null==a?d[b]=B(c.attr(b)||0):b==a&&(d=B(null==m?c.attr(b)||0:m))}var f=p(c).node,d={},B=f.querySelector(\".svg---mgr\");B||(B=v(\"rect\"),v(B,{x:-9E9,y:-9E9,width:10,height:10,\"class\":\"svg---mgr\",\n",
"fill:\"none\"}),f.appendChild(B));switch(c.type){case \"rect\":e(\"rx\",b),e(\"ry\",h);case \"image\":e(\"width\",b),e(\"height\",h);case \"text\":e(\"x\",b);e(\"y\",h);break;case \"circle\":e(\"cx\",b);e(\"cy\",h);e(\"r\",b);break;case \"ellipse\":e(\"cx\",b);e(\"cy\",h);e(\"rx\",b);e(\"ry\",h);break;case \"line\":e(\"x1\",b);e(\"x2\",b);e(\"y1\",h);e(\"y2\",h);break;case \"marker\":e(\"refX\",b);e(\"markerWidth\",b);e(\"refY\",h);e(\"markerHeight\",h);break;case \"radialGradient\":e(\"fx\",b);e(\"fy\",h);break;case \"tspan\":e(\"dx\",b);e(\"dy\",h);break;default:e(a,\n",
"b)}f.removeChild(B);return d}function q(c){y(c,\"array\")||(c=Array.prototype.slice.call(arguments,0));for(var a=0,b=0,m=this.node;this[a];)delete this[a++];for(a=0;a<c.length;a++)\"set\"==c[a].type?c[a].forEach(function(c){m.appendChild(c.node)}):m.appendChild(c[a].node);for(var h=m.childNodes,a=0;a<h.length;a++)this[b++]=x(h[a]);return this}function e(c){if(c.snap in E)return E[c.snap];var a=this.id=V(),b;try{b=c.ownerSVGElement}catch(m){}this.node=c;b&&(this.paper=new s(b));this.type=c.tagName;this.anims=\n",
"{};this._={transform:[]};c.snap=a;E[a]=this;\"g\"==this.type&&(this.add=q);if(this.type in{g:1,mask:1,pattern:1})for(var e in s.prototype)s.prototype[h](e)&&(this[e]=s.prototype[e])}function l(c){this.node=c}function r(c,a){var b=v(c);a.appendChild(b);return x(b)}function s(c,a){var b,m,f,d=s.prototype;if(c&&\"svg\"==c.tagName){if(c.snap in E)return E[c.snap];var l=c.ownerDocument;b=new e(c);m=c.getElementsByTagName(\"desc\")[0];f=c.getElementsByTagName(\"defs\")[0];m||(m=v(\"desc\"),m.appendChild(l.createTextNode(\"Created with Snap\")),\n",
"b.node.appendChild(m));f||(f=v(\"defs\"),b.node.appendChild(f));b.defs=f;for(var ca in d)d[h](ca)&&(b[ca]=d[ca]);b.paper=b.root=b}else b=r(\"svg\",G.doc.body),v(b.node,{height:a,version:1.1,width:c,xmlns:la});return b}function x(c){return!c||c instanceof e||c instanceof l?c:c.tagName&&\"svg\"==c.tagName.toLowerCase()?new s(c):c.tagName&&\"object\"==c.tagName.toLowerCase()&&\"image/svg+xml\"==c.type?new s(c.contentDocument.getElementsByTagName(\"svg\")[0]):new e(c)}a.version=\"0.3.0\";a.toString=function(){return\"Snap v\"+\n",
"this.version};a._={};var G={win:N,doc:N.document};a._.glob=G;var h=\"hasOwnProperty\",J=String,K=parseFloat,U=parseInt,I=Math,P=I.max,Q=I.min,Y=I.abs,C=I.PI,aa=\"\",$=Object.prototype.toString,F=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|rgba?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|hsba?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\)|hsla?\\(\\s*([\\d\\.]+(?:deg|\\xb0|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?%?)\\s*\\))\\s*$/i;a._.separator=\n",
"RegExp(\"[,\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]+\");var S=RegExp(\"[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*\"),X={hs:1,rg:1},W=RegExp(\"([a-z])[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)\",\n",
"\"ig\"),ma=RegExp(\"([rstm])[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029,]*((-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*)+)\",\"ig\"),Z=RegExp(\"(-?\\\\d*\\\\.?\\\\d*(?:e[\\\\-+]?\\\\d+)?)[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*,?[\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*\",\n",
"\"ig\"),na=0,ba=\"S\"+(+new Date).toString(36),V=function(){return ba+(na++).toString(36)},m=\"http://www.w3.org/1999/xlink\",la=\"http://www.w3.org/2000/svg\",E={},ca=a.url=function(c){return\"url('#\"+c+\"')\"};a._.$=v;a._.id=V;a.format=function(){var c=/\\{([^\\}]+)\\}/g,a=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[('|\")(.+?)\\2\\])(\\(\\))?/g,b=function(c,b,m){var h=m;b.replace(a,function(c,a,b,m,t){a=a||m;h&&(a in h&&(h=h[a]),\"function\"==typeof h&&t&&(h=h()))});return h=(null==h||h==m?c:h)+\"\"};return function(a,m){return J(a).replace(c,\n",
"function(c,a){return b(c,a,m)})}}();a._.clone=M;a._.cacher=A;a.rad=z;a.deg=function(c){return 180*c/C%360};a.angle=w;a.is=y;a.snapTo=function(c,a,b){b=y(b,\"finite\")?b:10;if(y(c,\"array\"))for(var m=c.length;m--;){if(Y(c[m]-a)<=b)return c[m]}else{c=+c;m=a%c;if(m<b)return a-m;if(m>c-b)return a-m+c}return a};a.getRGB=A(function(c){if(!c||(c=J(c)).indexOf(\"-\")+1)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka};if(\"none\"==c)return{r:-1,g:-1,b:-1,hex:\"none\",toString:ka};!X[h](c.toLowerCase().substring(0,\n",
"2))&&\"#\"!=c.charAt()&&(c=T(c));if(!c)return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka};var b,m,e,f,d;if(c=c.match(F)){c[2]&&(e=U(c[2].substring(5),16),m=U(c[2].substring(3,5),16),b=U(c[2].substring(1,3),16));c[3]&&(e=U((d=c[3].charAt(3))+d,16),m=U((d=c[3].charAt(2))+d,16),b=U((d=c[3].charAt(1))+d,16));c[4]&&(d=c[4].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b*=2.55),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m*=2.55),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e*=2.55),\"rgba\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),\n",
"d[3]&&\"%\"==d[3].slice(-1)&&(f/=100));if(c[5])return d=c[5].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b/=100),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m/=100),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e/=100),\"deg\"!=d[0].slice(-3)&&\"\\u00b0\"!=d[0].slice(-1)||(b/=360),\"hsba\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),d[3]&&\"%\"==d[3].slice(-1)&&(f/=100),a.hsb2rgb(b,m,e,f);if(c[6])return d=c[6].split(S),b=K(d[0]),\"%\"==d[0].slice(-1)&&(b/=100),m=K(d[1]),\"%\"==d[1].slice(-1)&&(m/=100),e=K(d[2]),\"%\"==d[2].slice(-1)&&(e/=100),\n",
"\"deg\"!=d[0].slice(-3)&&\"\\u00b0\"!=d[0].slice(-1)||(b/=360),\"hsla\"==c[1].toLowerCase().slice(0,4)&&(f=K(d[3])),d[3]&&\"%\"==d[3].slice(-1)&&(f/=100),a.hsl2rgb(b,m,e,f);b=Q(I.round(b),255);m=Q(I.round(m),255);e=Q(I.round(e),255);f=Q(P(f,0),1);c={r:b,g:m,b:e,toString:ka};c.hex=\"#\"+(16777216|e|m<<8|b<<16).toString(16).slice(1);c.opacity=y(f,\"finite\")?f:1;return c}return{r:-1,g:-1,b:-1,hex:\"none\",error:1,toString:ka}},a);a.hsb=A(function(c,b,m){return a.hsb2rgb(c,b,m).hex});a.hsl=A(function(c,b,m){return a.hsl2rgb(c,\n",
"b,m).hex});a.rgb=A(function(c,a,b,m){if(y(m,\"finite\")){var e=I.round;return\"rgba(\"+[e(c),e(a),e(b),+m.toFixed(2)]+\")\"}return\"#\"+(16777216|b|a<<8|c<<16).toString(16).slice(1)});var T=function(c){var a=G.doc.getElementsByTagName(\"head\")[0]||G.doc.getElementsByTagName(\"svg\")[0];T=A(function(c){if(\"red\"==c.toLowerCase())return\"rgb(255, 0, 0)\";a.style.color=\"rgb(255, 0, 0)\";a.style.color=c;c=G.doc.defaultView.getComputedStyle(a,aa).getPropertyValue(\"color\");return\"rgb(255, 0, 0)\"==c?null:c});return T(c)},\n",
"qa=function(){return\"hsb(\"+[this.h,this.s,this.b]+\")\"},ra=function(){return\"hsl(\"+[this.h,this.s,this.l]+\")\"},ka=function(){return 1==this.opacity||null==this.opacity?this.hex:\"rgba(\"+[this.r,this.g,this.b,this.opacity]+\")\"},D=function(c,b,m){null==b&&y(c,\"object\")&&\"r\"in c&&\"g\"in c&&\"b\"in c&&(m=c.b,b=c.g,c=c.r);null==b&&y(c,string)&&(m=a.getRGB(c),c=m.r,b=m.g,m=m.b);if(1<c||1<b||1<m)c/=255,b/=255,m/=255;return[c,b,m]},oa=function(c,b,m,e){c=I.round(255*c);b=I.round(255*b);m=I.round(255*m);c={r:c,\n",
"g:b,b:m,opacity:y(e,\"finite\")?e:1,hex:a.rgb(c,b,m),toString:ka};y(e,\"finite\")&&(c.opacity=e);return c};a.color=function(c){var b;y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"b\"in c?(b=a.hsb2rgb(c),c.r=b.r,c.g=b.g,c.b=b.b,c.opacity=1,c.hex=b.hex):y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"l\"in c?(b=a.hsl2rgb(c),c.r=b.r,c.g=b.g,c.b=b.b,c.opacity=1,c.hex=b.hex):(y(c,\"string\")&&(c=a.getRGB(c)),y(c,\"object\")&&\"r\"in c&&\"g\"in c&&\"b\"in c&&!(\"error\"in c)?(b=a.rgb2hsl(c),c.h=b.h,c.s=b.s,c.l=b.l,b=a.rgb2hsb(c),c.v=b.b):(c={hex:\"none\"},\n",
"c.r=c.g=c.b=c.h=c.s=c.v=c.l=-1,c.error=1));c.toString=ka;return c};a.hsb2rgb=function(c,a,b,m){y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"b\"in c&&(b=c.b,a=c.s,c=c.h,m=c.o);var e,h,d;c=360*c%360/60;d=b*a;a=d*(1-Y(c%2-1));b=e=h=b-d;c=~~c;b+=[d,a,0,0,a,d][c];e+=[a,d,d,a,0,0][c];h+=[0,0,a,d,d,a][c];return oa(b,e,h,m)};a.hsl2rgb=function(c,a,b,m){y(c,\"object\")&&\"h\"in c&&\"s\"in c&&\"l\"in c&&(b=c.l,a=c.s,c=c.h);if(1<c||1<a||1<b)c/=360,a/=100,b/=100;var e,h,d;c=360*c%360/60;d=2*a*(0.5>b?b:1-b);a=d*(1-Y(c%2-1));b=e=\n",
"h=b-d/2;c=~~c;b+=[d,a,0,0,a,d][c];e+=[a,d,d,a,0,0][c];h+=[0,0,a,d,d,a][c];return oa(b,e,h,m)};a.rgb2hsb=function(c,a,b){b=D(c,a,b);c=b[0];a=b[1];b=b[2];var m,e;m=P(c,a,b);e=m-Q(c,a,b);c=((0==e?0:m==c?(a-b)/e:m==a?(b-c)/e+2:(c-a)/e+4)+360)%6*60/360;return{h:c,s:0==e?0:e/m,b:m,toString:qa}};a.rgb2hsl=function(c,a,b){b=D(c,a,b);c=b[0];a=b[1];b=b[2];var m,e,h;m=P(c,a,b);e=Q(c,a,b);h=m-e;c=((0==h?0:m==c?(a-b)/h:m==a?(b-c)/h+2:(c-a)/h+4)+360)%6*60/360;m=(m+e)/2;return{h:c,s:0==h?0:0.5>m?h/(2*m):h/(2-2*\n",
"m),l:m,toString:ra}};a.parsePathString=function(c){if(!c)return null;var b=a.path(c);if(b.arr)return a.path.clone(b.arr);var m={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},e=[];y(c,\"array\")&&y(c[0],\"array\")&&(e=a.path.clone(c));e.length||J(c).replace(W,function(c,a,b){var h=[];c=a.toLowerCase();b.replace(Z,function(c,a){a&&h.push(+a)});\"m\"==c&&2<h.length&&(e.push([a].concat(h.splice(0,2))),c=\"l\",a=\"m\"==a?\"l\":\"L\");\"o\"==c&&1==h.length&&e.push([a,h[0] ]);if(\"r\"==c)e.push([a].concat(h));else for(;h.length>=\n",
"m[c]&&(e.push([a].concat(h.splice(0,m[c]))),m[c]););});e.toString=a.path.toString;b.arr=a.path.clone(e);return e};var O=a.parseTransformString=function(c){if(!c)return null;var b=[];y(c,\"array\")&&y(c[0],\"array\")&&(b=a.path.clone(c));b.length||J(c).replace(ma,function(c,a,m){var e=[];a.toLowerCase();m.replace(Z,function(c,a){a&&e.push(+a)});b.push([a].concat(e))});b.toString=a.path.toString;return b};a._.svgTransform2string=d;a._.rgTransform=RegExp(\"^[a-z][\\t\\n\\x0B\\f\\r \\u00a0\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\u2028\\u2029]*-?\\\\.?\\\\d\",\n",
"\"i\");a._.transform2matrix=f;a._unit2px=b;a._.getSomeDefs=u;a._.getSomeSVG=p;a.select=function(c){return x(G.doc.querySelector(c))};a.selectAll=function(c){c=G.doc.querySelectorAll(c);for(var b=(a.set||Array)(),m=0;m<c.length;m++)b.push(x(c[m]));return b};setInterval(function(){for(var c in E)if(E[h](c)){var a=E[c],b=a.node;(\"svg\"!=a.type&&!b.ownerSVGElement||\"svg\"==a.type&&(!b.parentNode||\"ownerSVGElement\"in b.parentNode&&!b.ownerSVGElement))&&delete E[c]}},1E4);(function(c){function m(c){function a(c,\n",
"b){var m=v(c.node,b);(m=(m=m&&m.match(d))&&m[2])&&\"#\"==m.charAt()&&(m=m.substring(1))&&(f[m]=(f[m]||[]).concat(function(a){var m={};m[b]=ca(a);v(c.node,m)}))}function b(c){var a=v(c.node,\"xlink:href\");a&&\"#\"==a.charAt()&&(a=a.substring(1))&&(f[a]=(f[a]||[]).concat(function(a){c.attr(\"xlink:href\",\"#\"+a)}))}var e=c.selectAll(\"*\"),h,d=/^\\s*url\\((\"|'|)(.*)\\1\\)\\s*$/;c=[];for(var f={},l=0,E=e.length;l<E;l++){h=e[l];a(h,\"fill\");a(h,\"stroke\");a(h,\"filter\");a(h,\"mask\");a(h,\"clip-path\");b(h);var t=v(h.node,\n",
"\"id\");t&&(v(h.node,{id:h.id}),c.push({old:t,id:h.id}))}l=0;for(E=c.length;l<E;l++)if(e=f[c[l].old])for(h=0,t=e.length;h<t;h++)e[h](c[l].id)}function e(c,a,b){return function(m){m=m.slice(c,a);1==m.length&&(m=m[0]);return b?b(m):m}}function d(c){return function(){var a=c?\"<\"+this.type:\"\",b=this.node.attributes,m=this.node.childNodes;if(c)for(var e=0,h=b.length;e<h;e++)a+=\" \"+b[e].name+'=\"'+b[e].value.replace(/\"/g,'\\\\\"')+'\"';if(m.length){c&&(a+=\">\");e=0;for(h=m.length;e<h;e++)3==m[e].nodeType?a+=m[e].nodeValue:\n",
"1==m[e].nodeType&&(a+=x(m[e]).toString());c&&(a+=\"</\"+this.type+\">\")}else c&&(a+=\"/>\");return a}}c.attr=function(c,a){if(!c)return this;if(y(c,\"string\"))if(1<arguments.length){var b={};b[c]=a;c=b}else return k(\"snap.util.getattr.\"+c,this).firstDefined();for(var m in c)c[h](m)&&k(\"snap.util.attr.\"+m,this,c[m]);return this};c.getBBox=function(c){if(!a.Matrix||!a.path)return this.node.getBBox();var b=this,m=new a.Matrix;if(b.removed)return a._.box();for(;\"use\"==b.type;)if(c||(m=m.add(b.transform().localMatrix.translate(b.attr(\"x\")||\n",
"0,b.attr(\"y\")||0))),b.original)b=b.original;else var e=b.attr(\"xlink:href\"),b=b.original=b.node.ownerDocument.getElementById(e.substring(e.indexOf(\"#\")+1));var e=b._,h=a.path.get[b.type]||a.path.get.deflt;try{if(c)return e.bboxwt=h?a.path.getBBox(b.realPath=h(b)):a._.box(b.node.getBBox()),a._.box(e.bboxwt);b.realPath=h(b);b.matrix=b.transform().localMatrix;e.bbox=a.path.getBBox(a.path.map(b.realPath,m.add(b.matrix)));return a._.box(e.bbox)}catch(d){return a._.box()}};var f=function(){return this.string};\n",
"c.transform=function(c){var b=this._;if(null==c){var m=this;c=new a.Matrix(this.node.getCTM());for(var e=n(this),h=[e],d=new a.Matrix,l=e.toTransformString(),b=J(e)==J(this.matrix)?J(b.transform):l;\"svg\"!=m.type&&(m=m.parent());)h.push(n(m));for(m=h.length;m--;)d.add(h[m]);return{string:b,globalMatrix:c,totalMatrix:d,localMatrix:e,diffMatrix:c.clone().add(e.invert()),global:c.toTransformString(),total:d.toTransformString(),local:l,toString:f}}c instanceof a.Matrix?this.matrix=c:n(this,c);this.node&&\n",
"(\"linearGradient\"==this.type||\"radialGradient\"==this.type?v(this.node,{gradientTransform:this.matrix}):\"pattern\"==this.type?v(this.node,{patternTransform:this.matrix}):v(this.node,{transform:this.matrix}));return this};c.parent=function(){return x(this.node.parentNode)};c.append=c.add=function(c){if(c){if(\"set\"==c.type){var a=this;c.forEach(function(c){a.add(c)});return this}c=x(c);this.node.appendChild(c.node);c.paper=this.paper}return this};c.appendTo=function(c){c&&(c=x(c),c.append(this));return this};\n",
"c.prepend=function(c){if(c){if(\"set\"==c.type){var a=this,b;c.forEach(function(c){b?b.after(c):a.prepend(c);b=c});return this}c=x(c);var m=c.parent();this.node.insertBefore(c.node,this.node.firstChild);this.add&&this.add();c.paper=this.paper;this.parent()&&this.parent().add();m&&m.add()}return this};c.prependTo=function(c){c=x(c);c.prepend(this);return this};c.before=function(c){if(\"set\"==c.type){var a=this;c.forEach(function(c){var b=c.parent();a.node.parentNode.insertBefore(c.node,a.node);b&&b.add()});\n",
"this.parent().add();return this}c=x(c);var b=c.parent();this.node.parentNode.insertBefore(c.node,this.node);this.parent()&&this.parent().add();b&&b.add();c.paper=this.paper;return this};c.after=function(c){c=x(c);var a=c.parent();this.node.nextSibling?this.node.parentNode.insertBefore(c.node,this.node.nextSibling):this.node.parentNode.appendChild(c.node);this.parent()&&this.parent().add();a&&a.add();c.paper=this.paper;return this};c.insertBefore=function(c){c=x(c);var a=this.parent();c.node.parentNode.insertBefore(this.node,\n",
"c.node);this.paper=c.paper;a&&a.add();c.parent()&&c.parent().add();return this};c.insertAfter=function(c){c=x(c);var a=this.parent();c.node.parentNode.insertBefore(this.node,c.node.nextSibling);this.paper=c.paper;a&&a.add();c.parent()&&c.parent().add();return this};c.remove=function(){var c=this.parent();this.node.parentNode&&this.node.parentNode.removeChild(this.node);delete this.paper;this.removed=!0;c&&c.add();return this};c.select=function(c){return x(this.node.querySelector(c))};c.selectAll=\n",
"function(c){c=this.node.querySelectorAll(c);for(var b=(a.set||Array)(),m=0;m<c.length;m++)b.push(x(c[m]));return b};c.asPX=function(c,a){null==a&&(a=this.attr(c));return+b(this,c,a)};c.use=function(){var c,a=this.node.id;a||(a=this.id,v(this.node,{id:a}));c=\"linearGradient\"==this.type||\"radialGradient\"==this.type||\"pattern\"==this.type?r(this.type,this.node.parentNode):r(\"use\",this.node.parentNode);v(c.node,{\"xlink:href\":\"#\"+a});c.original=this;return c};var l=/\\S+/g;c.addClass=function(c){var a=(c||\n",
"\"\").match(l)||[];c=this.node;var b=c.className.baseVal,m=b.match(l)||[],e,h,d;if(a.length){for(e=0;d=a[e++];)h=m.indexOf(d),~h||m.push(d);a=m.join(\" \");b!=a&&(c.className.baseVal=a)}return this};c.removeClass=function(c){var a=(c||\"\").match(l)||[];c=this.node;var b=c.className.baseVal,m=b.match(l)||[],e,h;if(m.length){for(e=0;h=a[e++];)h=m.indexOf(h),~h&&m.splice(h,1);a=m.join(\" \");b!=a&&(c.className.baseVal=a)}return this};c.hasClass=function(c){return!!~(this.node.className.baseVal.match(l)||[]).indexOf(c)};\n",
"c.toggleClass=function(c,a){if(null!=a)return a?this.addClass(c):this.removeClass(c);var b=(c||\"\").match(l)||[],m=this.node,e=m.className.baseVal,h=e.match(l)||[],d,f,E;for(d=0;E=b[d++];)f=h.indexOf(E),~f?h.splice(f,1):h.push(E);b=h.join(\" \");e!=b&&(m.className.baseVal=b);return this};c.clone=function(){var c=x(this.node.cloneNode(!0));v(c.node,\"id\")&&v(c.node,{id:c.id});m(c);c.insertAfter(this);return c};c.toDefs=function(){u(this).appendChild(this.node);return this};c.pattern=c.toPattern=function(c,\n",
"a,b,m){var e=r(\"pattern\",u(this));null==c&&(c=this.getBBox());y(c,\"object\")&&\"x\"in c&&(a=c.y,b=c.width,m=c.height,c=c.x);v(e.node,{x:c,y:a,width:b,height:m,patternUnits:\"userSpaceOnUse\",id:e.id,viewBox:[c,a,b,m].join(\" \")});e.node.appendChild(this.node);return e};c.marker=function(c,a,b,m,e,h){var d=r(\"marker\",u(this));null==c&&(c=this.getBBox());y(c,\"object\")&&\"x\"in c&&(a=c.y,b=c.width,m=c.height,e=c.refX||c.cx,h=c.refY||c.cy,c=c.x);v(d.node,{viewBox:[c,a,b,m].join(\" \"),markerWidth:b,markerHeight:m,\n",
"orient:\"auto\",refX:e||0,refY:h||0,id:d.id});d.node.appendChild(this.node);return d};var E=function(c,a,b,m){\"function\"!=typeof b||b.length||(m=b,b=L.linear);this.attr=c;this.dur=a;b&&(this.easing=b);m&&(this.callback=m)};a._.Animation=E;a.animation=function(c,a,b,m){return new E(c,a,b,m)};c.inAnim=function(){var c=[],a;for(a in this.anims)this.anims[h](a)&&function(a){c.push({anim:new E(a._attrs,a.dur,a.easing,a._callback),mina:a,curStatus:a.status(),status:function(c){return a.status(c)},stop:function(){a.stop()}})}(this.anims[a]);\n",
"return c};a.animate=function(c,a,b,m,e,h){\"function\"!=typeof e||e.length||(h=e,e=L.linear);var d=L.time();c=L(c,a,d,d+m,L.time,b,e);h&&k.once(\"mina.finish.\"+c.id,h);return c};c.stop=function(){for(var c=this.inAnim(),a=0,b=c.length;a<b;a++)c[a].stop();return this};c.animate=function(c,a,b,m){\"function\"!=typeof b||b.length||(m=b,b=L.linear);c instanceof E&&(m=c.callback,b=c.easing,a=b.dur,c=c.attr);var d=[],f=[],l={},t,ca,n,T=this,q;for(q in c)if(c[h](q)){T.equal?(n=T.equal(q,J(c[q])),t=n.from,ca=\n",
"n.to,n=n.f):(t=+T.attr(q),ca=+c[q]);var la=y(t,\"array\")?t.length:1;l[q]=e(d.length,d.length+la,n);d=d.concat(t);f=f.concat(ca)}t=L.time();var p=L(d,f,t,t+a,L.time,function(c){var a={},b;for(b in l)l[h](b)&&(a[b]=l[b](c));T.attr(a)},b);T.anims[p.id]=p;p._attrs=c;p._callback=m;k(\"snap.animcreated.\"+T.id,p);k.once(\"mina.finish.\"+p.id,function(){delete T.anims[p.id];m&&m.call(T)});k.once(\"mina.stop.\"+p.id,function(){delete T.anims[p.id]});return T};var T={};c.data=function(c,b){var m=T[this.id]=T[this.id]||\n",
"{};if(0==arguments.length)return k(\"snap.data.get.\"+this.id,this,m,null),m;if(1==arguments.length){if(a.is(c,\"object\")){for(var e in c)c[h](e)&&this.data(e,c[e]);return this}k(\"snap.data.get.\"+this.id,this,m[c],c);return m[c]}m[c]=b;k(\"snap.data.set.\"+this.id,this,b,c);return this};c.removeData=function(c){null==c?T[this.id]={}:T[this.id]&&delete T[this.id][c];return this};c.outerSVG=c.toString=d(1);c.innerSVG=d()})(e.prototype);a.parse=function(c){var a=G.doc.createDocumentFragment(),b=!0,m=G.doc.createElement(\"div\");\n",
"c=J(c);c.match(/^\\s*<\\s*svg(?:\\s|>)/)||(c=\"<svg>\"+c+\"</svg>\",b=!1);m.innerHTML=c;if(c=m.getElementsByTagName(\"svg\")[0])if(b)a=c;else for(;c.firstChild;)a.appendChild(c.firstChild);m.innerHTML=aa;return new l(a)};l.prototype.select=e.prototype.select;l.prototype.selectAll=e.prototype.selectAll;a.fragment=function(){for(var c=Array.prototype.slice.call(arguments,0),b=G.doc.createDocumentFragment(),m=0,e=c.length;m<e;m++){var h=c[m];h.node&&h.node.nodeType&&b.appendChild(h.node);h.nodeType&&b.appendChild(h);\n",
"\"string\"==typeof h&&b.appendChild(a.parse(h).node)}return new l(b)};a._.make=r;a._.wrap=x;s.prototype.el=function(c,a){var b=r(c,this.node);a&&b.attr(a);return b};k.on(\"snap.util.getattr\",function(){var c=k.nt(),c=c.substring(c.lastIndexOf(\".\")+1),a=c.replace(/[A-Z]/g,function(c){return\"-\"+c.toLowerCase()});return pa[h](a)?this.node.ownerDocument.defaultView.getComputedStyle(this.node,null).getPropertyValue(a):v(this.node,c)});var pa={\"alignment-baseline\":0,\"baseline-shift\":0,clip:0,\"clip-path\":0,\n",
"\"clip-rule\":0,color:0,\"color-interpolation\":0,\"color-interpolation-filters\":0,\"color-profile\":0,\"color-rendering\":0,cursor:0,direction:0,display:0,\"dominant-baseline\":0,\"enable-background\":0,fill:0,\"fill-opacity\":0,\"fill-rule\":0,filter:0,\"flood-color\":0,\"flood-opacity\":0,font:0,\"font-family\":0,\"font-size\":0,\"font-size-adjust\":0,\"font-stretch\":0,\"font-style\":0,\"font-variant\":0,\"font-weight\":0,\"glyph-orientation-horizontal\":0,\"glyph-orientation-vertical\":0,\"image-rendering\":0,kerning:0,\"letter-spacing\":0,\n",
"\"lighting-color\":0,marker:0,\"marker-end\":0,\"marker-mid\":0,\"marker-start\":0,mask:0,opacity:0,overflow:0,\"pointer-events\":0,\"shape-rendering\":0,\"stop-color\":0,\"stop-opacity\":0,stroke:0,\"stroke-dasharray\":0,\"stroke-dashoffset\":0,\"stroke-linecap\":0,\"stroke-linejoin\":0,\"stroke-miterlimit\":0,\"stroke-opacity\":0,\"stroke-width\":0,\"text-anchor\":0,\"text-decoration\":0,\"text-rendering\":0,\"unicode-bidi\":0,visibility:0,\"word-spacing\":0,\"writing-mode\":0};k.on(\"snap.util.attr\",function(c){var a=k.nt(),b={},a=a.substring(a.lastIndexOf(\".\")+\n",
"1);b[a]=c;var m=a.replace(/-(\\w)/gi,function(c,a){return a.toUpperCase()}),a=a.replace(/[A-Z]/g,function(c){return\"-\"+c.toLowerCase()});pa[h](a)?this.node.style[m]=null==c?aa:c:v(this.node,b)});a.ajax=function(c,a,b,m){var e=new XMLHttpRequest,h=V();if(e){if(y(a,\"function\"))m=b,b=a,a=null;else if(y(a,\"object\")){var d=[],f;for(f in a)a.hasOwnProperty(f)&&d.push(encodeURIComponent(f)+\"=\"+encodeURIComponent(a[f]));a=d.join(\"&\")}e.open(a?\"POST\":\"GET\",c,!0);a&&(e.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),\n",
"e.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\"));b&&(k.once(\"snap.ajax.\"+h+\".0\",b),k.once(\"snap.ajax.\"+h+\".200\",b),k.once(\"snap.ajax.\"+h+\".304\",b));e.onreadystatechange=function(){4==e.readyState&&k(\"snap.ajax.\"+h+\".\"+e.status,m,e)};if(4==e.readyState)return e;e.send(a);return e}};a.load=function(c,b,m){a.ajax(c,function(c){c=a.parse(c.responseText);m?b.call(m,c):b(c)})};a.getElementByPoint=function(c,a){var b,m,e=G.doc.elementFromPoint(c,a);if(G.win.opera&&\"svg\"==e.tagName){b=\n",
"e;m=b.getBoundingClientRect();b=b.ownerDocument;var h=b.body,d=b.documentElement;b=m.top+(g.win.pageYOffset||d.scrollTop||h.scrollTop)-(d.clientTop||h.clientTop||0);m=m.left+(g.win.pageXOffset||d.scrollLeft||h.scrollLeft)-(d.clientLeft||h.clientLeft||0);h=e.createSVGRect();h.x=c-m;h.y=a-b;h.width=h.height=1;b=e.getIntersectionList(h,null);b.length&&(e=b[b.length-1])}return e?x(e):null};a.plugin=function(c){c(a,e,s,G,l)};return G.win.Snap=a}();C.plugin(function(a,k,y,M,A){function w(a,d,f,b,q,e){null==\n",
"d&&\"[object SVGMatrix]\"==z.call(a)?(this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.e=a.e,this.f=a.f):null!=a?(this.a=+a,this.b=+d,this.c=+f,this.d=+b,this.e=+q,this.f=+e):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)}var z=Object.prototype.toString,d=String,f=Math;(function(n){function k(a){return a[0]*a[0]+a[1]*a[1]}function p(a){var d=f.sqrt(k(a));a[0]&&(a[0]/=d);a[1]&&(a[1]/=d)}n.add=function(a,d,e,f,n,p){var k=[[],[],[] ],u=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1] ];d=[[a,\n",
"e,n],[d,f,p],[0,0,1] ];a&&a instanceof w&&(d=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1] ]);for(a=0;3>a;a++)for(e=0;3>e;e++){for(f=n=0;3>f;f++)n+=u[a][f]*d[f][e];k[a][e]=n}this.a=k[0][0];this.b=k[1][0];this.c=k[0][1];this.d=k[1][1];this.e=k[0][2];this.f=k[1][2];return this};n.invert=function(){var a=this.a*this.d-this.b*this.c;return new w(this.d/a,-this.b/a,-this.c/a,this.a/a,(this.c*this.f-this.d*this.e)/a,(this.b*this.e-this.a*this.f)/a)};n.clone=function(){return new w(this.a,this.b,this.c,this.d,this.e,\n",
"this.f)};n.translate=function(a,d){return this.add(1,0,0,1,a,d)};n.scale=function(a,d,e,f){null==d&&(d=a);(e||f)&&this.add(1,0,0,1,e,f);this.add(a,0,0,d,0,0);(e||f)&&this.add(1,0,0,1,-e,-f);return this};n.rotate=function(b,d,e){b=a.rad(b);d=d||0;e=e||0;var l=+f.cos(b).toFixed(9);b=+f.sin(b).toFixed(9);this.add(l,b,-b,l,d,e);return this.add(1,0,0,1,-d,-e)};n.x=function(a,d){return a*this.a+d*this.c+this.e};n.y=function(a,d){return a*this.b+d*this.d+this.f};n.get=function(a){return+this[d.fromCharCode(97+\n",
"a)].toFixed(4)};n.toString=function(){return\"matrix(\"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+\")\"};n.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};n.determinant=function(){return this.a*this.d-this.b*this.c};n.split=function(){var b={};b.dx=this.e;b.dy=this.f;var d=[[this.a,this.c],[this.b,this.d] ];b.scalex=f.sqrt(k(d[0]));p(d[0]);b.shear=d[0][0]*d[1][0]+d[0][1]*d[1][1];d[1]=[d[1][0]-d[0][0]*b.shear,d[1][1]-d[0][1]*b.shear];b.scaley=f.sqrt(k(d[1]));\n",
"p(d[1]);b.shear/=b.scaley;0>this.determinant()&&(b.scalex=-b.scalex);var e=-d[0][1],d=d[1][1];0>d?(b.rotate=a.deg(f.acos(d)),0>e&&(b.rotate=360-b.rotate)):b.rotate=a.deg(f.asin(e));b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate);b.isSuperSimple=!+b.shear.toFixed(9)&&b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate;b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b};n.toTransformString=function(a){a=a||this.split();if(+a.shear.toFixed(9))return\"m\"+[this.get(0),\n",
"this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)];a.scalex=+a.scalex.toFixed(4);a.scaley=+a.scaley.toFixed(4);a.rotate=+a.rotate.toFixed(4);return(a.dx||a.dy?\"t\"+[+a.dx.toFixed(4),+a.dy.toFixed(4)]:\"\")+(1!=a.scalex||1!=a.scaley?\"s\"+[a.scalex,a.scaley,0,0]:\"\")+(a.rotate?\"r\"+[+a.rotate.toFixed(4),0,0]:\"\")}})(w.prototype);a.Matrix=w;a.matrix=function(a,d,f,b,k,e){return new w(a,d,f,b,k,e)}});C.plugin(function(a,v,y,M,A){function w(h){return function(d){k.stop();d instanceof A&&1==d.node.childNodes.length&&\n",
"(\"radialGradient\"==d.node.firstChild.tagName||\"linearGradient\"==d.node.firstChild.tagName||\"pattern\"==d.node.firstChild.tagName)&&(d=d.node.firstChild,b(this).appendChild(d),d=u(d));if(d instanceof v)if(\"radialGradient\"==d.type||\"linearGradient\"==d.type||\"pattern\"==d.type){d.node.id||e(d.node,{id:d.id});var f=l(d.node.id)}else f=d.attr(h);else f=a.color(d),f.error?(f=a(b(this).ownerSVGElement).gradient(d))?(f.node.id||e(f.node,{id:f.id}),f=l(f.node.id)):f=d:f=r(f);d={};d[h]=f;e(this.node,d);this.node.style[h]=\n",
"x}}function z(a){k.stop();a==+a&&(a+=\"px\");this.node.style.fontSize=a}function d(a){var b=[];a=a.childNodes;for(var e=0,f=a.length;e<f;e++){var l=a[e];3==l.nodeType&&b.push(l.nodeValue);\"tspan\"==l.tagName&&(1==l.childNodes.length&&3==l.firstChild.nodeType?b.push(l.firstChild.nodeValue):b.push(d(l)))}return b}function f(){k.stop();return this.node.style.fontSize}var n=a._.make,u=a._.wrap,p=a.is,b=a._.getSomeDefs,q=/^url\\(#?([^)]+)\\)$/,e=a._.$,l=a.url,r=String,s=a._.separator,x=\"\";k.on(\"snap.util.attr.mask\",\n",
"function(a){if(a instanceof v||a instanceof A){k.stop();a instanceof A&&1==a.node.childNodes.length&&(a=a.node.firstChild,b(this).appendChild(a),a=u(a));if(\"mask\"==a.type)var d=a;else d=n(\"mask\",b(this)),d.node.appendChild(a.node);!d.node.id&&e(d.node,{id:d.id});e(this.node,{mask:l(d.id)})}});(function(a){k.on(\"snap.util.attr.clip\",a);k.on(\"snap.util.attr.clip-path\",a);k.on(\"snap.util.attr.clipPath\",a)})(function(a){if(a instanceof v||a instanceof A){k.stop();if(\"clipPath\"==a.type)var d=a;else d=\n",
"n(\"clipPath\",b(this)),d.node.appendChild(a.node),!d.node.id&&e(d.node,{id:d.id});e(this.node,{\"clip-path\":l(d.id)})}});k.on(\"snap.util.attr.fill\",w(\"fill\"));k.on(\"snap.util.attr.stroke\",w(\"stroke\"));var G=/^([lr])(?:\\(([^)]*)\\))?(.*)$/i;k.on(\"snap.util.grad.parse\",function(a){a=r(a);var b=a.match(G);if(!b)return null;a=b[1];var e=b[2],b=b[3],e=e.split(/\\s*,\\s*/).map(function(a){return+a==a?+a:a});1==e.length&&0==e[0]&&(e=[]);b=b.split(\"-\");b=b.map(function(a){a=a.split(\":\");var b={color:a[0]};a[1]&&\n",
"(b.offset=parseFloat(a[1]));return b});return{type:a,params:e,stops:b}});k.on(\"snap.util.attr.d\",function(b){k.stop();p(b,\"array\")&&p(b[0],\"array\")&&(b=a.path.toString.call(b));b=r(b);b.match(/[ruo]/i)&&(b=a.path.toAbsolute(b));e(this.node,{d:b})})(-1);k.on(\"snap.util.attr.#text\",function(a){k.stop();a=r(a);for(a=M.doc.createTextNode(a);this.node.firstChild;)this.node.removeChild(this.node.firstChild);this.node.appendChild(a)})(-1);k.on(\"snap.util.attr.path\",function(a){k.stop();this.attr({d:a})})(-1);\n",
"k.on(\"snap.util.attr.class\",function(a){k.stop();this.node.className.baseVal=a})(-1);k.on(\"snap.util.attr.viewBox\",function(a){a=p(a,\"object\")&&\"x\"in a?[a.x,a.y,a.width,a.height].join(\" \"):p(a,\"array\")?a.join(\" \"):a;e(this.node,{viewBox:a});k.stop()})(-1);k.on(\"snap.util.attr.transform\",function(a){this.transform(a);k.stop()})(-1);k.on(\"snap.util.attr.r\",function(a){\"rect\"==this.type&&(k.stop(),e(this.node,{rx:a,ry:a}))})(-1);k.on(\"snap.util.attr.textpath\",function(a){k.stop();if(\"text\"==this.type){var d,\n",
"f;if(!a&&this.textPath){for(a=this.textPath;a.node.firstChild;)this.node.appendChild(a.node.firstChild);a.remove();delete this.textPath}else if(p(a,\"string\")?(d=b(this),a=u(d.parentNode).path(a),d.appendChild(a.node),d=a.id,a.attr({id:d})):(a=u(a),a instanceof v&&(d=a.attr(\"id\"),d||(d=a.id,a.attr({id:d})))),d)if(a=this.textPath,f=this.node,a)a.attr({\"xlink:href\":\"#\"+d});else{for(a=e(\"textPath\",{\"xlink:href\":\"#\"+d});f.firstChild;)a.appendChild(f.firstChild);f.appendChild(a);this.textPath=u(a)}}})(-1);\n",
"k.on(\"snap.util.attr.text\",function(a){if(\"text\"==this.type){for(var b=this.node,d=function(a){var b=e(\"tspan\");if(p(a,\"array\"))for(var f=0;f<a.length;f++)b.appendChild(d(a[f]));else b.appendChild(M.doc.createTextNode(a));b.normalize&&b.normalize();return b};b.firstChild;)b.removeChild(b.firstChild);for(a=d(a);a.firstChild;)b.appendChild(a.firstChild)}k.stop()})(-1);k.on(\"snap.util.attr.fontSize\",z)(-1);k.on(\"snap.util.attr.font-size\",z)(-1);k.on(\"snap.util.getattr.transform\",function(){k.stop();\n",
"return this.transform()})(-1);k.on(\"snap.util.getattr.textpath\",function(){k.stop();return this.textPath})(-1);(function(){function b(d){return function(){k.stop();var b=M.doc.defaultView.getComputedStyle(this.node,null).getPropertyValue(\"marker-\"+d);return\"none\"==b?b:a(M.doc.getElementById(b.match(q)[1]))}}function d(a){return function(b){k.stop();var d=\"marker\"+a.charAt(0).toUpperCase()+a.substring(1);if(\"\"==b||!b)this.node.style[d]=\"none\";else if(\"marker\"==b.type){var f=b.node.id;f||e(b.node,{id:b.id});\n",
"this.node.style[d]=l(f)}}}k.on(\"snap.util.getattr.marker-end\",b(\"end\"))(-1);k.on(\"snap.util.getattr.markerEnd\",b(\"end\"))(-1);k.on(\"snap.util.getattr.marker-start\",b(\"start\"))(-1);k.on(\"snap.util.getattr.markerStart\",b(\"start\"))(-1);k.on(\"snap.util.getattr.marker-mid\",b(\"mid\"))(-1);k.on(\"snap.util.getattr.markerMid\",b(\"mid\"))(-1);k.on(\"snap.util.attr.marker-end\",d(\"end\"))(-1);k.on(\"snap.util.attr.markerEnd\",d(\"end\"))(-1);k.on(\"snap.util.attr.marker-start\",d(\"start\"))(-1);k.on(\"snap.util.attr.markerStart\",\n",
"d(\"start\"))(-1);k.on(\"snap.util.attr.marker-mid\",d(\"mid\"))(-1);k.on(\"snap.util.attr.markerMid\",d(\"mid\"))(-1)})();k.on(\"snap.util.getattr.r\",function(){if(\"rect\"==this.type&&e(this.node,\"rx\")==e(this.node,\"ry\"))return k.stop(),e(this.node,\"rx\")})(-1);k.on(\"snap.util.getattr.text\",function(){if(\"text\"==this.type||\"tspan\"==this.type){k.stop();var a=d(this.node);return 1==a.length?a[0]:a}})(-1);k.on(\"snap.util.getattr.#text\",function(){return this.node.textContent})(-1);k.on(\"snap.util.getattr.viewBox\",\n",
"function(){k.stop();var b=e(this.node,\"viewBox\");if(b)return b=b.split(s),a._.box(+b[0],+b[1],+b[2],+b[3])})(-1);k.on(\"snap.util.getattr.points\",function(){var a=e(this.node,\"points\");k.stop();if(a)return a.split(s)})(-1);k.on(\"snap.util.getattr.path\",function(){var a=e(this.node,\"d\");k.stop();return a})(-1);k.on(\"snap.util.getattr.class\",function(){return this.node.className.baseVal})(-1);k.on(\"snap.util.getattr.fontSize\",f)(-1);k.on(\"snap.util.getattr.font-size\",f)(-1)});C.plugin(function(a,v,y,\n",
"M,A){function w(a){return a}function z(a){return function(b){return+b.toFixed(3)+a}}var d={\"+\":function(a,b){return a+b},\"-\":function(a,b){return a-b},\"/\":function(a,b){return a/b},\"*\":function(a,b){return a*b}},f=String,n=/[a-z]+$/i,u=/^\\s*([+\\-\\/*])\\s*=\\s*([\\d.eE+\\-]+)\\s*([^\\d\\s]+)?\\s*$/;k.on(\"snap.util.attr\",function(a){if(a=f(a).match(u)){var b=k.nt(),b=b.substring(b.lastIndexOf(\".\")+1),q=this.attr(b),e={};k.stop();var l=a[3]||\"\",r=q.match(n),s=d[a[1] ];r&&r==l?a=s(parseFloat(q),+a[2]):(q=this.asPX(b),\n",
"a=s(this.asPX(b),this.asPX(b,a[2]+l)));isNaN(q)||isNaN(a)||(e[b]=a,this.attr(e))}})(-10);k.on(\"snap.util.equal\",function(a,b){var q=f(this.attr(a)||\"\"),e=f(b).match(u);if(e){k.stop();var l=e[3]||\"\",r=q.match(n),s=d[e[1] ];if(r&&r==l)return{from:parseFloat(q),to:s(parseFloat(q),+e[2]),f:z(r)};q=this.asPX(a);return{from:q,to:s(q,this.asPX(a,e[2]+l)),f:w}}})(-10)});C.plugin(function(a,v,y,M,A){var w=y.prototype,z=a.is;w.rect=function(a,d,k,p,b,q){var e;null==q&&(q=b);z(a,\"object\")&&\"[object Object]\"==\n",
"a?e=a:null!=a&&(e={x:a,y:d,width:k,height:p},null!=b&&(e.rx=b,e.ry=q));return this.el(\"rect\",e)};w.circle=function(a,d,k){var p;z(a,\"object\")&&\"[object Object]\"==a?p=a:null!=a&&(p={cx:a,cy:d,r:k});return this.el(\"circle\",p)};var d=function(){function a(){this.parentNode.removeChild(this)}return function(d,k){var p=M.doc.createElement(\"img\"),b=M.doc.body;p.style.cssText=\"position:absolute;left:-9999em;top:-9999em\";p.onload=function(){k.call(p);p.onload=p.onerror=null;b.removeChild(p)};p.onerror=a;\n",
"b.appendChild(p);p.src=d}}();w.image=function(f,n,k,p,b){var q=this.el(\"image\");if(z(f,\"object\")&&\"src\"in f)q.attr(f);else if(null!=f){var e={\"xlink:href\":f,preserveAspectRatio:\"none\"};null!=n&&null!=k&&(e.x=n,e.y=k);null!=p&&null!=b?(e.width=p,e.height=b):d(f,function(){a._.$(q.node,{width:this.offsetWidth,height:this.offsetHeight})});a._.$(q.node,e)}return q};w.ellipse=function(a,d,k,p){var b;z(a,\"object\")&&\"[object Object]\"==a?b=a:null!=a&&(b={cx:a,cy:d,rx:k,ry:p});return this.el(\"ellipse\",b)};\n",
"w.path=function(a){var d;z(a,\"object\")&&!z(a,\"array\")?d=a:a&&(d={d:a});return this.el(\"path\",d)};w.group=w.g=function(a){var d=this.el(\"g\");1==arguments.length&&a&&!a.type?d.attr(a):arguments.length&&d.add(Array.prototype.slice.call(arguments,0));return d};w.svg=function(a,d,k,p,b,q,e,l){var r={};z(a,\"object\")&&null==d?r=a:(null!=a&&(r.x=a),null!=d&&(r.y=d),null!=k&&(r.width=k),null!=p&&(r.height=p),null!=b&&null!=q&&null!=e&&null!=l&&(r.viewBox=[b,q,e,l]));return this.el(\"svg\",r)};w.mask=function(a){var d=\n",
"this.el(\"mask\");1==arguments.length&&a&&!a.type?d.attr(a):arguments.length&&d.add(Array.prototype.slice.call(arguments,0));return d};w.ptrn=function(a,d,k,p,b,q,e,l){if(z(a,\"object\"))var r=a;else arguments.length?(r={},null!=a&&(r.x=a),null!=d&&(r.y=d),null!=k&&(r.width=k),null!=p&&(r.height=p),null!=b&&null!=q&&null!=e&&null!=l&&(r.viewBox=[b,q,e,l])):r={patternUnits:\"userSpaceOnUse\"};return this.el(\"pattern\",r)};w.use=function(a){return null!=a?(make(\"use\",this.node),a instanceof v&&(a.attr(\"id\")||\n",
"a.attr({id:ID()}),a=a.attr(\"id\")),this.el(\"use\",{\"xlink:href\":a})):v.prototype.use.call(this)};w.text=function(a,d,k){var p={};z(a,\"object\")?p=a:null!=a&&(p={x:a,y:d,text:k||\"\"});return this.el(\"text\",p)};w.line=function(a,d,k,p){var b={};z(a,\"object\")?b=a:null!=a&&(b={x1:a,x2:k,y1:d,y2:p});return this.el(\"line\",b)};w.polyline=function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments,0));var d={};z(a,\"object\")&&!z(a,\"array\")?d=a:null!=a&&(d={points:a});return this.el(\"polyline\",d)};\n",
"w.polygon=function(a){1<arguments.length&&(a=Array.prototype.slice.call(arguments,0));var d={};z(a,\"object\")&&!z(a,\"array\")?d=a:null!=a&&(d={points:a});return this.el(\"polygon\",d)};(function(){function d(){return this.selectAll(\"stop\")}function n(b,d){var f=e(\"stop\"),k={offset:+d+\"%\"};b=a.color(b);k[\"stop-color\"]=b.hex;1>b.opacity&&(k[\"stop-opacity\"]=b.opacity);e(f,k);this.node.appendChild(f);return this}function u(){if(\"linearGradient\"==this.type){var b=e(this.node,\"x1\")||0,d=e(this.node,\"x2\")||\n",
"1,f=e(this.node,\"y1\")||0,k=e(this.node,\"y2\")||0;return a._.box(b,f,math.abs(d-b),math.abs(k-f))}b=this.node.r||0;return a._.box((this.node.cx||0.5)-b,(this.node.cy||0.5)-b,2*b,2*b)}function p(a,d){function f(a,b){for(var d=(b-u)/(a-w),e=w;e<a;e++)h[e].offset=+(+u+d*(e-w)).toFixed(2);w=a;u=b}var n=k(\"snap.util.grad.parse\",null,d).firstDefined(),p;if(!n)return null;n.params.unshift(a);p=\"l\"==n.type.toLowerCase()?b.apply(0,n.params):q.apply(0,n.params);n.type!=n.type.toLowerCase()&&e(p.node,{gradientUnits:\"userSpaceOnUse\"});\n",
"var h=n.stops,n=h.length,u=0,w=0;n--;for(var v=0;v<n;v++)\"offset\"in h[v]&&f(v,h[v].offset);h[n].offset=h[n].offset||100;f(n,h[n].offset);for(v=0;v<=n;v++){var y=h[v];p.addStop(y.color,y.offset)}return p}function b(b,k,p,q,w){b=a._.make(\"linearGradient\",b);b.stops=d;b.addStop=n;b.getBBox=u;null!=k&&e(b.node,{x1:k,y1:p,x2:q,y2:w});return b}function q(b,k,p,q,w,h){b=a._.make(\"radialGradient\",b);b.stops=d;b.addStop=n;b.getBBox=u;null!=k&&e(b.node,{cx:k,cy:p,r:q});null!=w&&null!=h&&e(b.node,{fx:w,fy:h});\n",
"return b}var e=a._.$;w.gradient=function(a){return p(this.defs,a)};w.gradientLinear=function(a,d,e,f){return b(this.defs,a,d,e,f)};w.gradientRadial=function(a,b,d,e,f){return q(this.defs,a,b,d,e,f)};w.toString=function(){var b=this.node.ownerDocument,d=b.createDocumentFragment(),b=b.createElement(\"div\"),e=this.node.cloneNode(!0);d.appendChild(b);b.appendChild(e);a._.$(e,{xmlns:\"http://www.w3.org/2000/svg\"});b=b.innerHTML;d.removeChild(d.firstChild);return b};w.clear=function(){for(var a=this.node.firstChild,\n",
"b;a;)b=a.nextSibling,\"defs\"!=a.tagName?a.parentNode.removeChild(a):w.clear.call({node:a}),a=b}})()});C.plugin(function(a,k,y,M){function A(a){var b=A.ps=A.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100};setTimeout(function(){for(var d in b)b[L](d)&&d!=a&&(b[d].sleep--,!b[d].sleep&&delete b[d])});return b[a]}function w(a,b,d,e){null==a&&(a=b=d=e=0);null==b&&(b=a.y,d=a.width,e=a.height,a=a.x);return{x:a,y:b,width:d,w:d,height:e,h:e,x2:a+d,y2:b+e,cx:a+d/2,cy:b+e/2,r1:F.min(d,e)/2,r2:F.max(d,e)/2,r0:F.sqrt(d*\n",
"d+e*e)/2,path:s(a,b,d,e),vb:[a,b,d,e].join(\" \")}}function z(){return this.join(\",\").replace(N,\"$1\")}function d(a){a=C(a);a.toString=z;return a}function f(a,b,d,h,f,k,l,n,p){if(null==p)return e(a,b,d,h,f,k,l,n);if(0>p||e(a,b,d,h,f,k,l,n)<p)p=void 0;else{var q=0.5,O=1-q,s;for(s=e(a,b,d,h,f,k,l,n,O);0.01<Z(s-p);)q/=2,O+=(s<p?1:-1)*q,s=e(a,b,d,h,f,k,l,n,O);p=O}return u(a,b,d,h,f,k,l,n,p)}function n(b,d){function e(a){return+(+a).toFixed(3)}return a._.cacher(function(a,h,l){a instanceof k&&(a=a.attr(\"d\"));\n",
"a=I(a);for(var n,p,D,q,O=\"\",s={},c=0,t=0,r=a.length;t<r;t++){D=a[t];if(\"M\"==D[0])n=+D[1],p=+D[2];else{q=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6]);if(c+q>h){if(d&&!s.start){n=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6],h-c);O+=[\"C\"+e(n.start.x),e(n.start.y),e(n.m.x),e(n.m.y),e(n.x),e(n.y)];if(l)return O;s.start=O;O=[\"M\"+e(n.x),e(n.y)+\"C\"+e(n.n.x),e(n.n.y),e(n.end.x),e(n.end.y),e(D[5]),e(D[6])].join();c+=q;n=+D[5];p=+D[6];continue}if(!b&&!d)return n=f(n,p,D[1],D[2],D[3],D[4],D[5],D[6],h-c)}c+=q;n=+D[5];p=+D[6]}O+=\n",
"D.shift()+D}s.end=O;return n=b?c:d?s:u(n,p,D[0],D[1],D[2],D[3],D[4],D[5],1)},null,a._.clone)}function u(a,b,d,e,h,f,k,l,n){var p=1-n,q=ma(p,3),s=ma(p,2),c=n*n,t=c*n,r=q*a+3*s*n*d+3*p*n*n*h+t*k,q=q*b+3*s*n*e+3*p*n*n*f+t*l,s=a+2*n*(d-a)+c*(h-2*d+a),t=b+2*n*(e-b)+c*(f-2*e+b),x=d+2*n*(h-d)+c*(k-2*h+d),c=e+2*n*(f-e)+c*(l-2*f+e);a=p*a+n*d;b=p*b+n*e;h=p*h+n*k;f=p*f+n*l;l=90-180*F.atan2(s-x,t-c)/S;return{x:r,y:q,m:{x:s,y:t},n:{x:x,y:c},start:{x:a,y:b},end:{x:h,y:f},alpha:l}}function p(b,d,e,h,f,n,k,l){a.is(b,\n",
"\"array\")||(b=[b,d,e,h,f,n,k,l]);b=U.apply(null,b);return w(b.min.x,b.min.y,b.max.x-b.min.x,b.max.y-b.min.y)}function b(a,b,d){return b>=a.x&&b<=a.x+a.width&&d>=a.y&&d<=a.y+a.height}function q(a,d){a=w(a);d=w(d);return b(d,a.x,a.y)||b(d,a.x2,a.y)||b(d,a.x,a.y2)||b(d,a.x2,a.y2)||b(a,d.x,d.y)||b(a,d.x2,d.y)||b(a,d.x,d.y2)||b(a,d.x2,d.y2)||(a.x<d.x2&&a.x>d.x||d.x<a.x2&&d.x>a.x)&&(a.y<d.y2&&a.y>d.y||d.y<a.y2&&d.y>a.y)}function e(a,b,d,e,h,f,n,k,l){null==l&&(l=1);l=(1<l?1:0>l?0:l)/2;for(var p=[-0.1252,\n",
"0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,0.7699,-0.9041,0.9041,-0.9816,0.9816],q=[0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],s=0,c=0;12>c;c++)var t=l*p[c]+l,r=t*(t*(-3*a+9*d-9*h+3*n)+6*a-12*d+6*h)-3*a+3*d,t=t*(t*(-3*b+9*e-9*f+3*k)+6*b-12*e+6*f)-3*b+3*e,s=s+q[c]*F.sqrt(r*r+t*t);return l*s}function l(a,b,d){a=I(a);b=I(b);for(var h,f,l,n,k,s,r,O,x,c,t=d?0:[],w=0,v=a.length;w<v;w++)if(x=a[w],\"M\"==x[0])h=k=x[1],f=s=x[2];else{\"C\"==x[0]?(x=[h,f].concat(x.slice(1)),\n",
"h=x[6],f=x[7]):(x=[h,f,h,f,k,s,k,s],h=k,f=s);for(var G=0,y=b.length;G<y;G++)if(c=b[G],\"M\"==c[0])l=r=c[1],n=O=c[2];else{\"C\"==c[0]?(c=[l,n].concat(c.slice(1)),l=c[6],n=c[7]):(c=[l,n,l,n,r,O,r,O],l=r,n=O);var z;var K=x,B=c;z=d;var H=p(K),J=p(B);if(q(H,J)){for(var H=e.apply(0,K),J=e.apply(0,B),H=~~(H/8),J=~~(J/8),U=[],A=[],F={},M=z?0:[],P=0;P<H+1;P++){var C=u.apply(0,K.concat(P/H));U.push({x:C.x,y:C.y,t:P/H})}for(P=0;P<J+1;P++)C=u.apply(0,B.concat(P/J)),A.push({x:C.x,y:C.y,t:P/J});for(P=0;P<H;P++)for(K=\n",
"0;K<J;K++){var Q=U[P],L=U[P+1],B=A[K],C=A[K+1],N=0.001>Z(L.x-Q.x)?\"y\":\"x\",S=0.001>Z(C.x-B.x)?\"y\":\"x\",R;R=Q.x;var Y=Q.y,V=L.x,ea=L.y,fa=B.x,ga=B.y,ha=C.x,ia=C.y;if(W(R,V)<X(fa,ha)||X(R,V)>W(fa,ha)||W(Y,ea)<X(ga,ia)||X(Y,ea)>W(ga,ia))R=void 0;else{var $=(R*ea-Y*V)*(fa-ha)-(R-V)*(fa*ia-ga*ha),aa=(R*ea-Y*V)*(ga-ia)-(Y-ea)*(fa*ia-ga*ha),ja=(R-V)*(ga-ia)-(Y-ea)*(fa-ha);if(ja){var $=$/ja,aa=aa/ja,ja=+$.toFixed(2),ba=+aa.toFixed(2);R=ja<+X(R,V).toFixed(2)||ja>+W(R,V).toFixed(2)||ja<+X(fa,ha).toFixed(2)||\n",
"ja>+W(fa,ha).toFixed(2)||ba<+X(Y,ea).toFixed(2)||ba>+W(Y,ea).toFixed(2)||ba<+X(ga,ia).toFixed(2)||ba>+W(ga,ia).toFixed(2)?void 0:{x:$,y:aa}}else R=void 0}R&&F[R.x.toFixed(4)]!=R.y.toFixed(4)&&(F[R.x.toFixed(4)]=R.y.toFixed(4),Q=Q.t+Z((R[N]-Q[N])/(L[N]-Q[N]))*(L.t-Q.t),B=B.t+Z((R[S]-B[S])/(C[S]-B[S]))*(C.t-B.t),0<=Q&&1>=Q&&0<=B&&1>=B&&(z?M++:M.push({x:R.x,y:R.y,t1:Q,t2:B})))}z=M}else z=z?0:[];if(d)t+=z;else{H=0;for(J=z.length;H<J;H++)z[H].segment1=w,z[H].segment2=G,z[H].bez1=x,z[H].bez2=c;t=t.concat(z)}}}return t}\n",
"function r(a){var b=A(a);if(b.bbox)return C(b.bbox);if(!a)return w();a=I(a);for(var d=0,e=0,h=[],f=[],l,n=0,k=a.length;n<k;n++)l=a[n],\"M\"==l[0]?(d=l[1],e=l[2],h.push(d),f.push(e)):(d=U(d,e,l[1],l[2],l[3],l[4],l[5],l[6]),h=h.concat(d.min.x,d.max.x),f=f.concat(d.min.y,d.max.y),d=l[5],e=l[6]);a=X.apply(0,h);l=X.apply(0,f);h=W.apply(0,h);f=W.apply(0,f);f=w(a,l,h-a,f-l);b.bbox=C(f);return f}function s(a,b,d,e,h){if(h)return[[\"M\",+a+ +h,b],[\"l\",d-2*h,0],[\"a\",h,h,0,0,1,h,h],[\"l\",0,e-2*h],[\"a\",h,h,0,0,1,\n",
"-h,h],[\"l\",2*h-d,0],[\"a\",h,h,0,0,1,-h,-h],[\"l\",0,2*h-e],[\"a\",h,h,0,0,1,h,-h],[\"z\"] ];a=[[\"M\",a,b],[\"l\",d,0],[\"l\",0,e],[\"l\",-d,0],[\"z\"] ];a.toString=z;return a}function x(a,b,d,e,h){null==h&&null==e&&(e=d);a=+a;b=+b;d=+d;e=+e;if(null!=h){var f=Math.PI/180,l=a+d*Math.cos(-e*f);a+=d*Math.cos(-h*f);var n=b+d*Math.sin(-e*f);b+=d*Math.sin(-h*f);d=[[\"M\",l,n],[\"A\",d,d,0,+(180<h-e),0,a,b] ]}else d=[[\"M\",a,b],[\"m\",0,-e],[\"a\",d,e,0,1,1,0,2*e],[\"a\",d,e,0,1,1,0,-2*e],[\"z\"] ];d.toString=z;return d}function G(b){var e=\n",
"A(b);if(e.abs)return d(e.abs);Q(b,\"array\")&&Q(b&&b[0],\"array\")||(b=a.parsePathString(b));if(!b||!b.length)return[[\"M\",0,0] ];var h=[],f=0,l=0,n=0,k=0,p=0;\"M\"==b[0][0]&&(f=+b[0][1],l=+b[0][2],n=f,k=l,p++,h[0]=[\"M\",f,l]);for(var q=3==b.length&&\"M\"==b[0][0]&&\"R\"==b[1][0].toUpperCase()&&\"Z\"==b[2][0].toUpperCase(),s,r,w=p,c=b.length;w<c;w++){h.push(s=[]);r=b[w];p=r[0];if(p!=p.toUpperCase())switch(s[0]=p.toUpperCase(),s[0]){case \"A\":s[1]=r[1];s[2]=r[2];s[3]=r[3];s[4]=r[4];s[5]=r[5];s[6]=+r[6]+f;s[7]=+r[7]+\n",
"l;break;case \"V\":s[1]=+r[1]+l;break;case \"H\":s[1]=+r[1]+f;break;case \"R\":for(var t=[f,l].concat(r.slice(1)),u=2,v=t.length;u<v;u++)t[u]=+t[u]+f,t[++u]=+t[u]+l;h.pop();h=h.concat(P(t,q));break;case \"O\":h.pop();t=x(f,l,r[1],r[2]);t.push(t[0]);h=h.concat(t);break;case \"U\":h.pop();h=h.concat(x(f,l,r[1],r[2],r[3]));s=[\"U\"].concat(h[h.length-1].slice(-2));break;case \"M\":n=+r[1]+f,k=+r[2]+l;default:for(u=1,v=r.length;u<v;u++)s[u]=+r[u]+(u%2?f:l)}else if(\"R\"==p)t=[f,l].concat(r.slice(1)),h.pop(),h=h.concat(P(t,\n",
"q)),s=[\"R\"].concat(r.slice(-2));else if(\"O\"==p)h.pop(),t=x(f,l,r[1],r[2]),t.push(t[0]),h=h.concat(t);else if(\"U\"==p)h.pop(),h=h.concat(x(f,l,r[1],r[2],r[3])),s=[\"U\"].concat(h[h.length-1].slice(-2));else for(t=0,u=r.length;t<u;t++)s[t]=r[t];p=p.toUpperCase();if(\"O\"!=p)switch(s[0]){case \"Z\":f=+n;l=+k;break;case \"H\":f=s[1];break;case \"V\":l=s[1];break;case \"M\":n=s[s.length-2],k=s[s.length-1];default:f=s[s.length-2],l=s[s.length-1]}}h.toString=z;e.abs=d(h);return h}function h(a,b,d,e){return[a,b,d,e,d,\n",
"e]}function J(a,b,d,e,h,f){var l=1/3,n=2/3;return[l*a+n*d,l*b+n*e,l*h+n*d,l*f+n*e,h,f]}function K(b,d,e,h,f,l,n,k,p,s){var r=120*S/180,q=S/180*(+f||0),c=[],t,x=a._.cacher(function(a,b,c){var d=a*F.cos(c)-b*F.sin(c);a=a*F.sin(c)+b*F.cos(c);return{x:d,y:a}});if(s)v=s[0],t=s[1],l=s[2],u=s[3];else{t=x(b,d,-q);b=t.x;d=t.y;t=x(k,p,-q);k=t.x;p=t.y;F.cos(S/180*f);F.sin(S/180*f);t=(b-k)/2;v=(d-p)/2;u=t*t/(e*e)+v*v/(h*h);1<u&&(u=F.sqrt(u),e*=u,h*=u);var u=e*e,w=h*h,u=(l==n?-1:1)*F.sqrt(Z((u*w-u*v*v-w*t*t)/\n",
"(u*v*v+w*t*t)));l=u*e*v/h+(b+k)/2;var u=u*-h*t/e+(d+p)/2,v=F.asin(((d-u)/h).toFixed(9));t=F.asin(((p-u)/h).toFixed(9));v=b<l?S-v:v;t=k<l?S-t:t;0>v&&(v=2*S+v);0>t&&(t=2*S+t);n&&v>t&&(v-=2*S);!n&&t>v&&(t-=2*S)}if(Z(t-v)>r){var c=t,w=k,G=p;t=v+r*(n&&t>v?1:-1);k=l+e*F.cos(t);p=u+h*F.sin(t);c=K(k,p,e,h,f,0,n,w,G,[t,c,l,u])}l=t-v;f=F.cos(v);r=F.sin(v);n=F.cos(t);t=F.sin(t);l=F.tan(l/4);e=4/3*e*l;l*=4/3*h;h=[b,d];b=[b+e*r,d-l*f];d=[k+e*t,p-l*n];k=[k,p];b[0]=2*h[0]-b[0];b[1]=2*h[1]-b[1];if(s)return[b,d,k].concat(c);\n",
"c=[b,d,k].concat(c).join().split(\",\");s=[];k=0;for(p=c.length;k<p;k++)s[k]=k%2?x(c[k-1],c[k],q).y:x(c[k],c[k+1],q).x;return s}function U(a,b,d,e,h,f,l,k){for(var n=[],p=[[],[] ],s,r,c,t,q=0;2>q;++q)0==q?(r=6*a-12*d+6*h,s=-3*a+9*d-9*h+3*l,c=3*d-3*a):(r=6*b-12*e+6*f,s=-3*b+9*e-9*f+3*k,c=3*e-3*b),1E-12>Z(s)?1E-12>Z(r)||(s=-c/r,0<s&&1>s&&n.push(s)):(t=r*r-4*c*s,c=F.sqrt(t),0>t||(t=(-r+c)/(2*s),0<t&&1>t&&n.push(t),s=(-r-c)/(2*s),0<s&&1>s&&n.push(s)));for(r=q=n.length;q--;)s=n[q],c=1-s,p[0][q]=c*c*c*a+3*\n",
"c*c*s*d+3*c*s*s*h+s*s*s*l,p[1][q]=c*c*c*b+3*c*c*s*e+3*c*s*s*f+s*s*s*k;p[0][r]=a;p[1][r]=b;p[0][r+1]=l;p[1][r+1]=k;p[0].length=p[1].length=r+2;return{min:{x:X.apply(0,p[0]),y:X.apply(0,p[1])},max:{x:W.apply(0,p[0]),y:W.apply(0,p[1])}}}function I(a,b){var e=!b&&A(a);if(!b&&e.curve)return d(e.curve);var f=G(a),l=b&&G(b),n={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},k={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},p=function(a,b,c){if(!a)return[\"C\",b.x,b.y,b.x,b.y,b.x,b.y];a[0]in{T:1,Q:1}||(b.qx=b.qy=null);\n",
"switch(a[0]){case \"M\":b.X=a[1];b.Y=a[2];break;case \"A\":a=[\"C\"].concat(K.apply(0,[b.x,b.y].concat(a.slice(1))));break;case \"S\":\"C\"==c||\"S\"==c?(c=2*b.x-b.bx,b=2*b.y-b.by):(c=b.x,b=b.y);a=[\"C\",c,b].concat(a.slice(1));break;case \"T\":\"Q\"==c||\"T\"==c?(b.qx=2*b.x-b.qx,b.qy=2*b.y-b.qy):(b.qx=b.x,b.qy=b.y);a=[\"C\"].concat(J(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case \"Q\":b.qx=a[1];b.qy=a[2];a=[\"C\"].concat(J(b.x,b.y,a[1],a[2],a[3],a[4]));break;case \"L\":a=[\"C\"].concat(h(b.x,b.y,a[1],a[2]));break;case \"H\":a=[\"C\"].concat(h(b.x,\n",
"b.y,a[1],b.y));break;case \"V\":a=[\"C\"].concat(h(b.x,b.y,b.x,a[1]));break;case \"Z\":a=[\"C\"].concat(h(b.x,b.y,b.X,b.Y))}return a},s=function(a,b){if(7<a[b].length){a[b].shift();for(var c=a[b];c.length;)q[b]=\"A\",l&&(u[b]=\"A\"),a.splice(b++,0,[\"C\"].concat(c.splice(0,6)));a.splice(b,1);v=W(f.length,l&&l.length||0)}},r=function(a,b,c,d,e){a&&b&&\"M\"==a[e][0]&&\"M\"!=b[e][0]&&(b.splice(e,0,[\"M\",d.x,d.y]),c.bx=0,c.by=0,c.x=a[e][1],c.y=a[e][2],v=W(f.length,l&&l.length||0))},q=[],u=[],c=\"\",t=\"\",x=0,v=W(f.length,\n",
"l&&l.length||0);for(;x<v;x++){f[x]&&(c=f[x][0]);\"C\"!=c&&(q[x]=c,x&&(t=q[x-1]));f[x]=p(f[x],n,t);\"A\"!=q[x]&&\"C\"==c&&(q[x]=\"C\");s(f,x);l&&(l[x]&&(c=l[x][0]),\"C\"!=c&&(u[x]=c,x&&(t=u[x-1])),l[x]=p(l[x],k,t),\"A\"!=u[x]&&\"C\"==c&&(u[x]=\"C\"),s(l,x));r(f,l,n,k,x);r(l,f,k,n,x);var w=f[x],z=l&&l[x],y=w.length,U=l&&z.length;n.x=w[y-2];n.y=w[y-1];n.bx=$(w[y-4])||n.x;n.by=$(w[y-3])||n.y;k.bx=l&&($(z[U-4])||k.x);k.by=l&&($(z[U-3])||k.y);k.x=l&&z[U-2];k.y=l&&z[U-1]}l||(e.curve=d(f));return l?[f,l]:f}function P(a,\n",
"b){for(var d=[],e=0,h=a.length;h-2*!b>e;e+=2){var f=[{x:+a[e-2],y:+a[e-1]},{x:+a[e],y:+a[e+1]},{x:+a[e+2],y:+a[e+3]},{x:+a[e+4],y:+a[e+5]}];b?e?h-4==e?f[3]={x:+a[0],y:+a[1]}:h-2==e&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[h-2],y:+a[h-1]}:h-4==e?f[3]=f[2]:e||(f[0]={x:+a[e],y:+a[e+1]});d.push([\"C\",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return d}y=k.prototype;var Q=a.is,C=a._.clone,L=\"hasOwnProperty\",\n",
"N=/,?([a-z]),?/gi,$=parseFloat,F=Math,S=F.PI,X=F.min,W=F.max,ma=F.pow,Z=F.abs;M=n(1);var na=n(),ba=n(0,1),V=a._unit2px;a.path=A;a.path.getTotalLength=M;a.path.getPointAtLength=na;a.path.getSubpath=function(a,b,d){if(1E-6>this.getTotalLength(a)-d)return ba(a,b).end;a=ba(a,d,1);return b?ba(a,b).end:a};y.getTotalLength=function(){if(this.node.getTotalLength)return this.node.getTotalLength()};y.getPointAtLength=function(a){return na(this.attr(\"d\"),a)};y.getSubpath=function(b,d){return a.path.getSubpath(this.attr(\"d\"),\n",
"b,d)};a._.box=w;a.path.findDotsAtSegment=u;a.path.bezierBBox=p;a.path.isPointInsideBBox=b;a.path.isBBoxIntersect=q;a.path.intersection=function(a,b){return l(a,b)};a.path.intersectionNumber=function(a,b){return l(a,b,1)};a.path.isPointInside=function(a,d,e){var h=r(a);return b(h,d,e)&&1==l(a,[[\"M\",d,e],[\"H\",h.x2+10] ],1)%2};a.path.getBBox=r;a.path.get={path:function(a){return a.attr(\"path\")},circle:function(a){a=V(a);return x(a.cx,a.cy,a.r)},ellipse:function(a){a=V(a);return x(a.cx||0,a.cy||0,a.rx,\n",
"a.ry)},rect:function(a){a=V(a);return s(a.x||0,a.y||0,a.width,a.height,a.rx,a.ry)},image:function(a){a=V(a);return s(a.x||0,a.y||0,a.width,a.height)},line:function(a){return\"M\"+[a.attr(\"x1\")||0,a.attr(\"y1\")||0,a.attr(\"x2\"),a.attr(\"y2\")]},polyline:function(a){return\"M\"+a.attr(\"points\")},polygon:function(a){return\"M\"+a.attr(\"points\")+\"z\"},deflt:function(a){a=a.node.getBBox();return s(a.x,a.y,a.width,a.height)}};a.path.toRelative=function(b){var e=A(b),h=String.prototype.toLowerCase;if(e.rel)return d(e.rel);\n",
"a.is(b,\"array\")&&a.is(b&&b[0],\"array\")||(b=a.parsePathString(b));var f=[],l=0,n=0,k=0,p=0,s=0;\"M\"==b[0][0]&&(l=b[0][1],n=b[0][2],k=l,p=n,s++,f.push([\"M\",l,n]));for(var r=b.length;s<r;s++){var q=f[s]=[],x=b[s];if(x[0]!=h.call(x[0]))switch(q[0]=h.call(x[0]),q[0]){case \"a\":q[1]=x[1];q[2]=x[2];q[3]=x[3];q[4]=x[4];q[5]=x[5];q[6]=+(x[6]-l).toFixed(3);q[7]=+(x[7]-n).toFixed(3);break;case \"v\":q[1]=+(x[1]-n).toFixed(3);break;case \"m\":k=x[1],p=x[2];default:for(var c=1,t=x.length;c<t;c++)q[c]=+(x[c]-(c%2?l:\n",
"n)).toFixed(3)}else for(f[s]=[],\"m\"==x[0]&&(k=x[1]+l,p=x[2]+n),q=0,c=x.length;q<c;q++)f[s][q]=x[q];x=f[s].length;switch(f[s][0]){case \"z\":l=k;n=p;break;case \"h\":l+=+f[s][x-1];break;case \"v\":n+=+f[s][x-1];break;default:l+=+f[s][x-2],n+=+f[s][x-1]}}f.toString=z;e.rel=d(f);return f};a.path.toAbsolute=G;a.path.toCubic=I;a.path.map=function(a,b){if(!b)return a;var d,e,h,f,l,n,k;a=I(a);h=0;for(l=a.length;h<l;h++)for(k=a[h],f=1,n=k.length;f<n;f+=2)d=b.x(k[f],k[f+1]),e=b.y(k[f],k[f+1]),k[f]=d,k[f+1]=e;return a};\n",
"a.path.toString=z;a.path.clone=d});C.plugin(function(a,v,y,C){var A=Math.max,w=Math.min,z=function(a){this.items=[];this.bindings={};this.length=0;this.type=\"set\";if(a)for(var f=0,n=a.length;f<n;f++)a[f]&&(this[this.items.length]=this.items[this.items.length]=a[f],this.length++)};v=z.prototype;v.push=function(){for(var a,f,n=0,k=arguments.length;n<k;n++)if(a=arguments[n])f=this.items.length,this[f]=this.items[f]=a,this.length++;return this};v.pop=function(){this.length&&delete this[this.length--];\n",
"return this.items.pop()};v.forEach=function(a,f){for(var n=0,k=this.items.length;n<k&&!1!==a.call(f,this.items[n],n);n++);return this};v.animate=function(d,f,n,u){\"function\"!=typeof n||n.length||(u=n,n=L.linear);d instanceof a._.Animation&&(u=d.callback,n=d.easing,f=n.dur,d=d.attr);var p=arguments;if(a.is(d,\"array\")&&a.is(p[p.length-1],\"array\"))var b=!0;var q,e=function(){q?this.b=q:q=this.b},l=0,r=u&&function(){l++==this.length&&u.call(this)};return this.forEach(function(a,l){k.once(\"snap.animcreated.\"+\n",
"a.id,e);b?p[l]&&a.animate.apply(a,p[l]):a.animate(d,f,n,r)})};v.remove=function(){for(;this.length;)this.pop().remove();return this};v.bind=function(a,f,k){var u={};if(\"function\"==typeof f)this.bindings[a]=f;else{var p=k||a;this.bindings[a]=function(a){u[p]=a;f.attr(u)}}return this};v.attr=function(a){var f={},k;for(k in a)if(this.bindings[k])this.bindings[k](a[k]);else f[k]=a[k];a=0;for(k=this.items.length;a<k;a++)this.items[a].attr(f);return this};v.clear=function(){for(;this.length;)this.pop()};\n",
"v.splice=function(a,f,k){a=0>a?A(this.length+a,0):a;f=A(0,w(this.length-a,f));var u=[],p=[],b=[],q;for(q=2;q<arguments.length;q++)b.push(arguments[q]);for(q=0;q<f;q++)p.push(this[a+q]);for(;q<this.length-a;q++)u.push(this[a+q]);var e=b.length;for(q=0;q<e+u.length;q++)this.items[a+q]=this[a+q]=q<e?b[q]:u[q-e];for(q=this.items.length=this.length-=f-e;this[q];)delete this[q++];return new z(p)};v.exclude=function(a){for(var f=0,k=this.length;f<k;f++)if(this[f]==a)return this.splice(f,1),!0;return!1};\n",
"v.insertAfter=function(a){for(var f=this.items.length;f--;)this.items[f].insertAfter(a);return this};v.getBBox=function(){for(var a=[],f=[],k=[],u=[],p=this.items.length;p--;)if(!this.items[p].removed){var b=this.items[p].getBBox();a.push(b.x);f.push(b.y);k.push(b.x+b.width);u.push(b.y+b.height)}a=w.apply(0,a);f=w.apply(0,f);k=A.apply(0,k);u=A.apply(0,u);return{x:a,y:f,x2:k,y2:u,width:k-a,height:u-f,cx:a+(k-a)/2,cy:f+(u-f)/2}};v.clone=function(a){a=new z;for(var f=0,k=this.items.length;f<k;f++)a.push(this.items[f].clone());\n",
"return a};v.toString=function(){return\"Snap\\u2018s set\"};v.type=\"set\";a.set=function(){var a=new z;arguments.length&&a.push.apply(a,Array.prototype.slice.call(arguments,0));return a}});C.plugin(function(a,v,y,C){function A(a){var b=a[0];switch(b.toLowerCase()){case \"t\":return[b,0,0];case \"m\":return[b,1,0,0,1,0,0];case \"r\":return 4==a.length?[b,0,a[2],a[3] ]:[b,0];case \"s\":return 5==a.length?[b,1,1,a[3],a[4] ]:3==a.length?[b,1,1]:[b,1]}}function w(b,d,f){d=q(d).replace(/\\.{3}|\\u2026/g,b);b=a.parseTransformString(b)||\n",
"[];d=a.parseTransformString(d)||[];for(var k=Math.max(b.length,d.length),p=[],v=[],h=0,w,z,y,I;h<k;h++){y=b[h]||A(d[h]);I=d[h]||A(y);if(y[0]!=I[0]||\"r\"==y[0].toLowerCase()&&(y[2]!=I[2]||y[3]!=I[3])||\"s\"==y[0].toLowerCase()&&(y[3]!=I[3]||y[4]!=I[4])){b=a._.transform2matrix(b,f());d=a._.transform2matrix(d,f());p=[[\"m\",b.a,b.b,b.c,b.d,b.e,b.f] ];v=[[\"m\",d.a,d.b,d.c,d.d,d.e,d.f] ];break}p[h]=[];v[h]=[];w=0;for(z=Math.max(y.length,I.length);w<z;w++)w in y&&(p[h][w]=y[w]),w in I&&(v[h][w]=I[w])}return{from:u(p),\n",
"to:u(v),f:n(p)}}function z(a){return a}function d(a){return function(b){return+b.toFixed(3)+a}}function f(b){return a.rgb(b[0],b[1],b[2])}function n(a){var b=0,d,f,k,n,h,p,q=[];d=0;for(f=a.length;d<f;d++){h=\"[\";p=['\"'+a[d][0]+'\"'];k=1;for(n=a[d].length;k<n;k++)p[k]=\"val[\"+b++ +\"]\";h+=p+\"]\";q[d]=h}return Function(\"val\",\"return Snap.path.toString.call([\"+q+\"])\")}function u(a){for(var b=[],d=0,f=a.length;d<f;d++)for(var k=1,n=a[d].length;k<n;k++)b.push(a[d][k]);return b}var p={},b=/[a-z]+$/i,q=String;\n",
"p.stroke=p.fill=\"colour\";v.prototype.equal=function(a,b){return k(\"snap.util.equal\",this,a,b).firstDefined()};k.on(\"snap.util.equal\",function(e,k){var r,s;r=q(this.attr(e)||\"\");var x=this;if(r==+r&&k==+k)return{from:+r,to:+k,f:z};if(\"colour\"==p[e])return r=a.color(r),s=a.color(k),{from:[r.r,r.g,r.b,r.opacity],to:[s.r,s.g,s.b,s.opacity],f:f};if(\"transform\"==e||\"gradientTransform\"==e||\"patternTransform\"==e)return k instanceof a.Matrix&&(k=k.toTransformString()),a._.rgTransform.test(k)||(k=a._.svgTransform2string(k)),\n",
"w(r,k,function(){return x.getBBox(1)});if(\"d\"==e||\"path\"==e)return r=a.path.toCubic(r,k),{from:u(r[0]),to:u(r[1]),f:n(r[0])};if(\"points\"==e)return r=q(r).split(a._.separator),s=q(k).split(a._.separator),{from:r,to:s,f:function(a){return a}};aUnit=r.match(b);s=q(k).match(b);return aUnit&&aUnit==s?{from:parseFloat(r),to:parseFloat(k),f:d(aUnit)}:{from:this.asPX(e),to:this.asPX(e,k),f:z}})});C.plugin(function(a,v,y,C){var A=v.prototype,w=\"createTouch\"in C.doc;v=\"click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel\".split(\" \");\n",
"var z={mousedown:\"touchstart\",mousemove:\"touchmove\",mouseup:\"touchend\"},d=function(a,b){var d=\"y\"==a?\"scrollTop\":\"scrollLeft\",e=b&&b.node?b.node.ownerDocument:C.doc;return e[d in e.documentElement?\"documentElement\":\"body\"][d]},f=function(){this.returnValue=!1},n=function(){return this.originalEvent.preventDefault()},u=function(){this.cancelBubble=!0},p=function(){return this.originalEvent.stopPropagation()},b=function(){if(C.doc.addEventListener)return function(a,b,e,f){var k=w&&z[b]?z[b]:b,l=function(k){var l=\n",
"d(\"y\",f),q=d(\"x\",f);if(w&&z.hasOwnProperty(b))for(var r=0,u=k.targetTouches&&k.targetTouches.length;r<u;r++)if(k.targetTouches[r].target==a||a.contains(k.targetTouches[r].target)){u=k;k=k.targetTouches[r];k.originalEvent=u;k.preventDefault=n;k.stopPropagation=p;break}return e.call(f,k,k.clientX+q,k.clientY+l)};b!==k&&a.addEventListener(b,l,!1);a.addEventListener(k,l,!1);return function(){b!==k&&a.removeEventListener(b,l,!1);a.removeEventListener(k,l,!1);return!0}};if(C.doc.attachEvent)return function(a,\n",
"b,e,h){var k=function(a){a=a||h.node.ownerDocument.window.event;var b=d(\"y\",h),k=d(\"x\",h),k=a.clientX+k,b=a.clientY+b;a.preventDefault=a.preventDefault||f;a.stopPropagation=a.stopPropagation||u;return e.call(h,a,k,b)};a.attachEvent(\"on\"+b,k);return function(){a.detachEvent(\"on\"+b,k);return!0}}}(),q=[],e=function(a){for(var b=a.clientX,e=a.clientY,f=d(\"y\"),l=d(\"x\"),n,p=q.length;p--;){n=q[p];if(w)for(var r=a.touches&&a.touches.length,u;r--;){if(u=a.touches[r],u.identifier==n.el._drag.id||n.el.node.contains(u.target)){b=\n",
"u.clientX;e=u.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();b+=l;e+=f;k(\"snap.drag.move.\"+n.el.id,n.move_scope||n.el,b-n.el._drag.x,e-n.el._drag.y,b,e,a)}},l=function(b){a.unmousemove(e).unmouseup(l);for(var d=q.length,f;d--;)f=q[d],f.el._drag={},k(\"snap.drag.end.\"+f.el.id,f.end_scope||f.start_scope||f.move_scope||f.el,b);q=[]};for(y=v.length;y--;)(function(d){a[d]=A[d]=function(e,f){a.is(e,\"function\")&&(this.events=this.events||[],this.events.push({name:d,\n",
"f:e,unbind:b(this.node||document,d,e,f||this)}));return this};a[\"un\"+d]=A[\"un\"+d]=function(a){for(var b=this.events||[],e=b.length;e--;)if(b[e].name==d&&(b[e].f==a||!a)){b[e].unbind();b.splice(e,1);!b.length&&delete this.events;break}return this}})(v[y]);A.hover=function(a,b,d,e){return this.mouseover(a,d).mouseout(b,e||d)};A.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var r=[];A.drag=function(b,d,f,h,n,p){function u(r,v,w){(r.originalEvent||r).preventDefault();this._drag.x=v;\n",
"this._drag.y=w;this._drag.id=r.identifier;!q.length&&a.mousemove(e).mouseup(l);q.push({el:this,move_scope:h,start_scope:n,end_scope:p});d&&k.on(\"snap.drag.start.\"+this.id,d);b&&k.on(\"snap.drag.move.\"+this.id,b);f&&k.on(\"snap.drag.end.\"+this.id,f);k(\"snap.drag.start.\"+this.id,n||h||this,v,w,r)}if(!arguments.length){var v;return this.drag(function(a,b){this.attr({transform:v+(v?\"T\":\"t\")+[a,b]})},function(){v=this.transform().local})}this._drag={};r.push({el:this,start:u});this.mousedown(u);return this};\n",
"A.undrag=function(){for(var b=r.length;b--;)r[b].el==this&&(this.unmousedown(r[b].start),r.splice(b,1),k.unbind(\"snap.drag.*.\"+this.id));!r.length&&a.unmousemove(e).unmouseup(l);return this}});C.plugin(function(a,v,y,C){y=y.prototype;var A=/^\\s*url\\((.+)\\)/,w=String,z=a._.$;a.filter={};y.filter=function(d){var f=this;\"svg\"!=f.type&&(f=f.paper);d=a.parse(w(d));var k=a._.id(),u=z(\"filter\");z(u,{id:k,filterUnits:\"userSpaceOnUse\"});u.appendChild(d.node);f.defs.appendChild(u);return new v(u)};k.on(\"snap.util.getattr.filter\",\n",
"function(){k.stop();var d=z(this.node,\"filter\");if(d)return(d=w(d).match(A))&&a.select(d[1])});k.on(\"snap.util.attr.filter\",function(d){if(d instanceof v&&\"filter\"==d.type){k.stop();var f=d.node.id;f||(z(d.node,{id:d.id}),f=d.id);z(this.node,{filter:a.url(f)})}d&&\"none\"!=d||(k.stop(),this.node.removeAttribute(\"filter\"))});a.filter.blur=function(d,f){null==d&&(d=2);return a.format('<feGaussianBlur stdDeviation=\"{def}\"/>',{def:null==f?d:[d,f]})};a.filter.blur.toString=function(){return this()};a.filter.shadow=\n",
"function(d,f,k,u,p){\"string\"==typeof k&&(p=u=k,k=4);\"string\"!=typeof u&&(p=u,u=\"#000\");null==k&&(k=4);null==p&&(p=1);null==d&&(d=0,f=2);null==f&&(f=d);u=a.color(u||\"#000\");return a.format('<feGaussianBlur in=\"SourceAlpha\" stdDeviation=\"{blur}\"/><feOffset dx=\"{dx}\" dy=\"{dy}\" result=\"offsetblur\"/><feFlood flood-color=\"{color}\"/><feComposite in2=\"offsetblur\" operator=\"in\"/><feComponentTransfer><feFuncA type=\"linear\" slope=\"{opacity}\"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in=\"SourceGraphic\"/></feMerge>',\n",
"{color:u,dx:d,dy:f,blur:k,opacity:p})};a.filter.shadow.toString=function(){return this()};a.filter.grayscale=function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {b} {h} 0 0 0 0 0 1 0\"/>',{a:0.2126+0.7874*(1-d),b:0.7152-0.7152*(1-d),c:0.0722-0.0722*(1-d),d:0.2126-0.2126*(1-d),e:0.7152+0.2848*(1-d),f:0.0722-0.0722*(1-d),g:0.2126-0.2126*(1-d),h:0.0722+0.9278*(1-d)})};a.filter.grayscale.toString=function(){return this()};a.filter.sepia=\n",
"function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"matrix\" values=\"{a} {b} {c} 0 0 {d} {e} {f} 0 0 {g} {h} {i} 0 0 0 0 0 1 0\"/>',{a:0.393+0.607*(1-d),b:0.769-0.769*(1-d),c:0.189-0.189*(1-d),d:0.349-0.349*(1-d),e:0.686+0.314*(1-d),f:0.168-0.168*(1-d),g:0.272-0.272*(1-d),h:0.534-0.534*(1-d),i:0.131+0.869*(1-d)})};a.filter.sepia.toString=function(){return this()};a.filter.saturate=function(d){null==d&&(d=1);return a.format('<feColorMatrix type=\"saturate\" values=\"{amount}\"/>',{amount:1-\n",
"d})};a.filter.saturate.toString=function(){return this()};a.filter.hueRotate=function(d){return a.format('<feColorMatrix type=\"hueRotate\" values=\"{angle}\"/>',{angle:d||0})};a.filter.hueRotate.toString=function(){return this()};a.filter.invert=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncG type=\"table\" tableValues=\"{amount} {amount2}\"/><feFuncB type=\"table\" tableValues=\"{amount} {amount2}\"/></feComponentTransfer>',{amount:d,\n",
"amount2:1-d})};a.filter.invert.toString=function(){return this()};a.filter.brightness=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\"/><feFuncG type=\"linear\" slope=\"{amount}\"/><feFuncB type=\"linear\" slope=\"{amount}\"/></feComponentTransfer>',{amount:d})};a.filter.brightness.toString=function(){return this()};a.filter.contrast=function(d){null==d&&(d=1);return a.format('<feComponentTransfer><feFuncR type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncG type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/><feFuncB type=\"linear\" slope=\"{amount}\" intercept=\"{amount2}\"/></feComponentTransfer>',\n",
"{amount:d,amount2:0.5-d/2})};a.filter.contrast.toString=function(){return this()}});return C});\n",
"\n",
"]]> </script>\n",
"<script> <![CDATA[\n",
"\n",
"(function (glob, factory) {\n",
" // AMD support\n",
" if (typeof define === \"function\" && define.amd) {\n",
" // Define as an anonymous module\n",
" define(\"Gadfly\", [\"Snap.svg\"], function (Snap) {\n",
" return factory(Snap);\n",
" });\n",
" } else {\n",
" // Browser globals (glob is window)\n",
" // Snap adds itself to window\n",
" glob.Gadfly = factory(glob.Snap);\n",
" }\n",
"}(this, function (Snap) {\n",
"\n",
"var Gadfly = {};\n",
"\n",
"// Get an x/y coordinate value in pixels\n",
"var xPX = function(fig, x) {\n",
" var client_box = fig.node.getBoundingClientRect();\n",
" return x * fig.node.viewBox.baseVal.width / client_box.width;\n",
"};\n",
"\n",
"var yPX = function(fig, y) {\n",
" var client_box = fig.node.getBoundingClientRect();\n",
" return y * fig.node.viewBox.baseVal.height / client_box.height;\n",
"};\n",
"\n",
"\n",
"Snap.plugin(function (Snap, Element, Paper, global) {\n",
" // Traverse upwards from a snap element to find and return the first\n",
" // note with the \"plotroot\" class.\n",
" Element.prototype.plotroot = function () {\n",
" var element = this;\n",
" while (!element.hasClass(\"plotroot\") && element.parent() != null) {\n",
" element = element.parent();\n",
" }\n",
" return element;\n",
" };\n",
"\n",
" Element.prototype.svgroot = function () {\n",
" var element = this;\n",
" while (element.node.nodeName != \"svg\" && element.parent() != null) {\n",
" element = element.parent();\n",
" }\n",
" return element;\n",
" };\n",
"\n",
" Element.prototype.plotbounds = function () {\n",
" var root = this.plotroot()\n",
" var bbox = root.select(\".guide.background\").node.getBBox();\n",
" return {\n",
" x0: bbox.x,\n",
" x1: bbox.x + bbox.width,\n",
" y0: bbox.y,\n",
" y1: bbox.y + bbox.height\n",
" };\n",
" };\n",
"\n",
" Element.prototype.plotcenter = function () {\n",
" var root = this.plotroot()\n",
" var bbox = root.select(\".guide.background\").node.getBBox();\n",
" return {\n",
" x: bbox.x + bbox.width / 2,\n",
" y: bbox.y + bbox.height / 2\n",
" };\n",
" };\n",
"\n",
" // Emulate IE style mouseenter/mouseleave events, since Microsoft always\n",
" // does everything right.\n",
" // See: http://www.dynamic-tools.net/toolbox/isMouseLeaveOrEnter/\n",
" var events = [\"mouseenter\", \"mouseleave\"];\n",
"\n",
" for (i in events) {\n",
" (function (event_name) {\n",
" var event_name = events[i];\n",
" Element.prototype[event_name] = function (fn, scope) {\n",
" if (Snap.is(fn, \"function\")) {\n",
" var fn2 = function (event) {\n",
" if (event.type != \"mouseover\" && event.type != \"mouseout\") {\n",
" return;\n",
" }\n",
"\n",
" var reltg = event.relatedTarget ? event.relatedTarget :\n",
" event.type == \"mouseout\" ? event.toElement : event.fromElement;\n",
" while (reltg && reltg != this.node) reltg = reltg.parentNode;\n",
"\n",
" if (reltg != this.node) {\n",
" return fn.apply(this, event);\n",
" }\n",
" };\n",
"\n",
" if (event_name == \"mouseenter\") {\n",
" this.mouseover(fn2, scope);\n",
" } else {\n",
" this.mouseout(fn2, scope);\n",
" }\n",
" }\n",
" return this;\n",
" };\n",
" })(events[i]);\n",
" }\n",
"\n",
"\n",
" Element.prototype.mousewheel = function (fn, scope) {\n",
" if (Snap.is(fn, \"function\")) {\n",
" var el = this;\n",
" var fn2 = function (event) {\n",
" fn.apply(el, [event]);\n",
" };\n",
" }\n",
"\n",
" this.node.addEventListener(\n",
" /Firefox/i.test(navigator.userAgent) ? \"DOMMouseScroll\" : \"mousewheel\",\n",
" fn2);\n",
"\n",
" return this;\n",
" };\n",
"\n",
"\n",
" // Snap's attr function can be too slow for things like panning/zooming.\n",
" // This is a function to directly update element attributes without going\n",
" // through eve.\n",
" Element.prototype.attribute = function(key, val) {\n",
" if (val === undefined) {\n",
" return this.node.getAttribute(key, val);\n",
" } else {\n",
" return this.node.setAttribute(key, val);\n",
" }\n",
" };\n",
"});\n",
"\n",
"\n",
"// When the plot is moused over, emphasize the grid lines.\n",
"Gadfly.plot_mouseover = function(event) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
"\n",
" var xgridlines = root.select(\".xgridlines\"),\n",
" ygridlines = root.select(\".ygridlines\");\n",
"\n",
" xgridlines.data(\"unfocused_strokedash\",\n",
" xgridlines.attr(\"stroke-dasharray\").replace(/px/g, \"mm\"))\n",
" ygridlines.data(\"unfocused_strokedash\",\n",
" ygridlines.attr(\"stroke-dasharray\").replace(/px/g, \"mm\"))\n",
"\n",
" // emphasize grid lines\n",
" var destcolor = root.data(\"focused_xgrid_color\");\n",
" xgridlines.attr(\"stroke-dasharray\", \"none\")\n",
" .selectAll(\"path\")\n",
" .animate({stroke: destcolor}, 250);\n",
"\n",
" destcolor = root.data(\"focused_ygrid_color\");\n",
" ygridlines.attr(\"stroke-dasharray\", \"none\")\n",
" .selectAll(\"path\")\n",
" .animate({stroke: destcolor}, 250);\n",
"\n",
" // reveal zoom slider\n",
" root.select(\".zoomslider\")\n",
" .animate({opacity: 1.0}, 250);\n",
"};\n",
"\n",
"\n",
"// Unemphasize grid lines on mouse out.\n",
"Gadfly.plot_mouseout = function(event) {\n",
" var root = this.plotroot();\n",
" var xgridlines = root.select(\".xgridlines\"),\n",
" ygridlines = root.select(\".ygridlines\");\n",
"\n",
" var destcolor = root.data(\"unfocused_xgrid_color\");\n",
"\n",
" xgridlines.attr(\"stroke-dasharray\", xgridlines.data(\"unfocused_strokedash\"))\n",
" .selectAll(\"path\")\n",
" .animate({stroke: destcolor}, 250);\n",
"\n",
" destcolor = root.data(\"unfocused_ygrid_color\");\n",
" ygridlines.attr(\"stroke-dasharray\", ygridlines.data(\"unfocused_strokedash\"))\n",
" .selectAll(\"path\")\n",
" .animate({stroke: destcolor}, 250);\n",
"\n",
" // hide zoom slider\n",
" root.select(\".zoomslider\")\n",
" .animate({opacity: 0.0}, 250);\n",
"};\n",
"\n",
"\n",
"var set_geometry_transform = function(root, tx, ty, scale) {\n",
" var xscalable = root.hasClass(\"xscalable\"),\n",
" yscalable = root.hasClass(\"yscalable\");\n",
"\n",
" var old_scale = root.data(\"scale\");\n",
"\n",
" var xscale = xscalable ? scale : 1.0,\n",
" yscale = yscalable ? scale : 1.0;\n",
"\n",
" tx = xscalable ? tx : 0.0;\n",
" ty = yscalable ? ty : 0.0;\n",
"\n",
" var t = new Snap.Matrix().translate(tx, ty).scale(xscale, yscale);\n",
"\n",
" root.selectAll(\".geometry, image\")\n",
" .forEach(function (element, i) {\n",
" element.transform(t);\n",
" });\n",
"\n",
" bounds = root.plotbounds();\n",
"\n",
" if (yscalable) {\n",
" var xfixed_t = new Snap.Matrix().translate(0, ty).scale(1.0, yscale);\n",
" root.selectAll(\".xfixed\")\n",
" .forEach(function (element, i) {\n",
" element.transform(xfixed_t);\n",
" });\n",
"\n",
" root.select(\".ylabels\")\n",
" .transform(xfixed_t)\n",
" .selectAll(\"text\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" var cx = element.asPX(\"x\"),\n",
" cy = element.asPX(\"y\");\n",
" var st = element.data(\"static_transform\");\n",
" unscale_t = new Snap.Matrix();\n",
" unscale_t.scale(1, 1/scale, cx, cy).add(st);\n",
" element.transform(unscale_t);\n",
"\n",
" var y = cy * scale + ty;\n",
" element.attr(\"visibility\",\n",
" bounds.y0 <= y && y <= bounds.y1 ? \"visible\" : \"hidden\");\n",
" }\n",
" });\n",
" }\n",
"\n",
" if (xscalable) {\n",
" var yfixed_t = new Snap.Matrix().translate(tx, 0).scale(xscale, 1.0);\n",
" var xtrans = new Snap.Matrix().translate(tx, 0);\n",
" root.selectAll(\".yfixed\")\n",
" .forEach(function (element, i) {\n",
" element.transform(yfixed_t);\n",
" });\n",
"\n",
" root.select(\".xlabels\")\n",
" .transform(yfixed_t)\n",
" .selectAll(\"text\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" var cx = element.asPX(\"x\"),\n",
" cy = element.asPX(\"y\");\n",
" var st = element.data(\"static_transform\");\n",
" unscale_t = new Snap.Matrix();\n",
" unscale_t.scale(1/scale, 1, cx, cy).add(st);\n",
"\n",
" element.transform(unscale_t);\n",
"\n",
" var x = cx * scale + tx;\n",
" element.attr(\"visibility\",\n",
" bounds.x0 <= x && x <= bounds.x1 ? \"visible\" : \"hidden\");\n",
" }\n",
" });\n",
" }\n",
"\n",
" // we must unscale anything that is scale invariance: widths, raiduses, etc.\n",
" var size_attribs = [\"font-size\"];\n",
" var unscaled_selection = \".geometry, .geometry *\";\n",
" if (xscalable) {\n",
" size_attribs.push(\"rx\");\n",
" unscaled_selection += \", .xgridlines\";\n",
" }\n",
" if (yscalable) {\n",
" size_attribs.push(\"ry\");\n",
" unscaled_selection += \", .ygridlines\";\n",
" }\n",
"\n",
" root.selectAll(unscaled_selection)\n",
" .forEach(function (element, i) {\n",
" // circle need special help\n",
" if (element.node.nodeName == \"circle\") {\n",
" var cx = element.attribute(\"cx\"),\n",
" cy = element.attribute(\"cy\");\n",
" unscale_t = new Snap.Matrix().scale(1/xscale, 1/yscale,\n",
" cx, cy);\n",
" element.transform(unscale_t);\n",
" return;\n",
" }\n",
"\n",
" for (i in size_attribs) {\n",
" var key = size_attribs[i];\n",
" var val = parseFloat(element.attribute(key));\n",
" if (val !== undefined && val != 0 && !isNaN(val)) {\n",
" element.attribute(key, val * old_scale / scale);\n",
" }\n",
" }\n",
" });\n",
"};\n",
"\n",
"\n",
"// Find the most appropriate tick scale and update label visibility.\n",
"var update_tickscale = function(root, scale, axis) {\n",
" if (!root.hasClass(axis + \"scalable\")) return;\n",
"\n",
" var tickscales = root.data(axis + \"tickscales\");\n",
" var best_tickscale = 1.0;\n",
" var best_tickscale_dist = Infinity;\n",
" for (tickscale in tickscales) {\n",
" var dist = Math.abs(Math.log(tickscale) - Math.log(scale));\n",
" if (dist < best_tickscale_dist) {\n",
" best_tickscale_dist = dist;\n",
" best_tickscale = tickscale;\n",
" }\n",
" }\n",
"\n",
" if (best_tickscale != root.data(axis + \"tickscale\")) {\n",
" root.data(axis + \"tickscale\", best_tickscale);\n",
" var mark_inscale_gridlines = function (element, i) {\n",
" var inscale = element.attr(\"gadfly:scale\") == best_tickscale;\n",
" element.attribute(\"gadfly:inscale\", inscale);\n",
" element.attr(\"visibility\", inscale ? \"visible\" : \"hidden\");\n",
" };\n",
"\n",
" var mark_inscale_labels = function (element, i) {\n",
" var inscale = element.attr(\"gadfly:scale\") == best_tickscale;\n",
" element.attribute(\"gadfly:inscale\", inscale);\n",
" element.attr(\"visibility\", inscale ? \"visible\" : \"hidden\");\n",
" };\n",
"\n",
" root.select(\".\" + axis + \"gridlines\").selectAll(\"path\").forEach(mark_inscale_gridlines);\n",
" root.select(\".\" + axis + \"labels\").selectAll(\"text\").forEach(mark_inscale_labels);\n",
" }\n",
"};\n",
"\n",
"\n",
"var set_plot_pan_zoom = function(root, tx, ty, scale) {\n",
" var old_scale = root.data(\"scale\");\n",
" var bounds = root.plotbounds();\n",
"\n",
" var width = bounds.x1 - bounds.x0,\n",
" height = bounds.y1 - bounds.y0;\n",
"\n",
" // compute the viewport derived from tx, ty, and scale\n",
" var x_min = -width * scale - (scale * width - width),\n",
" x_max = width * scale,\n",
" y_min = -height * scale - (scale * height - height),\n",
" y_max = height * scale;\n",
"\n",
" var x0 = bounds.x0 - scale * bounds.x0,\n",
" y0 = bounds.y0 - scale * bounds.y0;\n",
"\n",
" var tx = Math.max(Math.min(tx - x0, x_max), x_min),\n",
" ty = Math.max(Math.min(ty - y0, y_max), y_min);\n",
"\n",
" tx += x0;\n",
" ty += y0;\n",
"\n",
" // when the scale change, we may need to alter which set of\n",
" // ticks is being displayed\n",
" if (scale != old_scale) {\n",
" update_tickscale(root, scale, \"x\");\n",
" update_tickscale(root, scale, \"y\");\n",
" }\n",
"\n",
" set_geometry_transform(root, tx, ty, scale);\n",
"\n",
" root.data(\"scale\", scale);\n",
" root.data(\"tx\", tx);\n",
" root.data(\"ty\", ty);\n",
"};\n",
"\n",
"\n",
"var scale_centered_translation = function(root, scale) {\n",
" var bounds = root.plotbounds();\n",
"\n",
" var width = bounds.x1 - bounds.x0,\n",
" height = bounds.y1 - bounds.y0;\n",
"\n",
" var tx0 = root.data(\"tx\"),\n",
" ty0 = root.data(\"ty\");\n",
"\n",
" var scale0 = root.data(\"scale\");\n",
"\n",
" // how off from center the current view is\n",
" var xoff = tx0 - (bounds.x0 * (1 - scale0) + (width * (1 - scale0)) / 2),\n",
" yoff = ty0 - (bounds.y0 * (1 - scale0) + (height * (1 - scale0)) / 2);\n",
"\n",
" // rescale offsets\n",
" xoff = xoff * scale / scale0;\n",
" yoff = yoff * scale / scale0;\n",
"\n",
" // adjust for the panel position being scaled\n",
" var x_edge_adjust = bounds.x0 * (1 - scale),\n",
" y_edge_adjust = bounds.y0 * (1 - scale);\n",
"\n",
" return {\n",
" x: xoff + x_edge_adjust + (width - width * scale) / 2,\n",
" y: yoff + y_edge_adjust + (height - height * scale) / 2\n",
" };\n",
"};\n",
"\n",
"\n",
"// Initialize data for panning zooming if it isn't already.\n",
"var init_pan_zoom = function(root) {\n",
" if (root.data(\"zoompan-ready\")) {\n",
" return;\n",
" }\n",
"\n",
" // The non-scaling-stroke trick. Rather than try to correct for the\n",
" // stroke-width when zooming, we force it to a fixed value.\n",
" var px_per_mm = root.node.getCTM().a;\n",
"\n",
" // Drag events report deltas in pixels, which we'd like to convert to\n",
" // millimeters.\n",
" root.data(\"px_per_mm\", px_per_mm);\n",
"\n",
" root.selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" sw = element.asPX(\"stroke-width\") * px_per_mm;\n",
" if (sw > 0) {\n",
" element.attribute(\"stroke-width\", sw);\n",
" element.attribute(\"vector-effect\", \"non-scaling-stroke\");\n",
" }\n",
" });\n",
"\n",
" // Store ticks labels original tranformation\n",
" root.selectAll(\".xlabels > text, .ylabels > text\")\n",
" .forEach(function (element, i) {\n",
" var lm = element.transform().localMatrix;\n",
" element.data(\"static_transform\",\n",
" new Snap.Matrix(lm.a, lm.b, lm.c, lm.d, lm.e, lm.f));\n",
" });\n",
"\n",
" if (root.data(\"tx\") === undefined) root.data(\"tx\", 0);\n",
" if (root.data(\"ty\") === undefined) root.data(\"ty\", 0);\n",
" if (root.data(\"scale\") === undefined) root.data(\"scale\", 1.0);\n",
" if (root.data(\"xtickscales\") === undefined) {\n",
"\n",
" // index all the tick scales that are listed\n",
" var xtickscales = {};\n",
" var ytickscales = {};\n",
" var add_x_tick_scales = function (element, i) {\n",
" xtickscales[element.attribute(\"gadfly:scale\")] = true;\n",
" };\n",
" var add_y_tick_scales = function (element, i) {\n",
" ytickscales[element.attribute(\"gadfly:scale\")] = true;\n",
" };\n",
"\n",
" root.select(\".xgridlines\").selectAll(\"path\").forEach(add_x_tick_scales);\n",
" root.select(\".ygridlines\").selectAll(\"path\").forEach(add_y_tick_scales);\n",
" root.select(\".xlabels\").selectAll(\"text\").forEach(add_x_tick_scales);\n",
" root.select(\".ylabels\").selectAll(\"text\").forEach(add_y_tick_scales);\n",
"\n",
" root.data(\"xtickscales\", xtickscales);\n",
" root.data(\"ytickscales\", ytickscales);\n",
" root.data(\"xtickscale\", 1.0);\n",
" }\n",
"\n",
" var min_scale = 1.0, max_scale = 1.0;\n",
" for (scale in xtickscales) {\n",
" min_scale = Math.min(min_scale, scale);\n",
" max_scale = Math.max(max_scale, scale);\n",
" }\n",
" for (scale in ytickscales) {\n",
" min_scale = Math.min(min_scale, scale);\n",
" max_scale = Math.max(max_scale, scale);\n",
" }\n",
" root.data(\"min_scale\", min_scale);\n",
" root.data(\"max_scale\", max_scale);\n",
"\n",
" // store the original positions of labels\n",
" root.select(\".xlabels\")\n",
" .selectAll(\"text\")\n",
" .forEach(function (element, i) {\n",
" element.data(\"x\", element.asPX(\"x\"));\n",
" });\n",
"\n",
" root.select(\".ylabels\")\n",
" .selectAll(\"text\")\n",
" .forEach(function (element, i) {\n",
" element.data(\"y\", element.asPX(\"y\"));\n",
" });\n",
"\n",
" // mark grid lines and ticks as in or out of scale.\n",
" var mark_inscale = function (element, i) {\n",
" element.attribute(\"gadfly:inscale\", element.attribute(\"gadfly:scale\") == 1.0);\n",
" };\n",
"\n",
" root.select(\".xgridlines\").selectAll(\"path\").forEach(mark_inscale);\n",
" root.select(\".ygridlines\").selectAll(\"path\").forEach(mark_inscale);\n",
" root.select(\".xlabels\").selectAll(\"text\").forEach(mark_inscale);\n",
" root.select(\".ylabels\").selectAll(\"text\").forEach(mark_inscale);\n",
"\n",
" // figure out the upper ond lower bounds on panning using the maximum\n",
" // and minum grid lines\n",
" var bounds = root.plotbounds();\n",
" var pan_bounds = {\n",
" x0: 0.0,\n",
" y0: 0.0,\n",
" x1: 0.0,\n",
" y1: 0.0\n",
" };\n",
"\n",
" root.select(\".xgridlines\")\n",
" .selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" var bbox = element.node.getBBox();\n",
" if (bounds.x1 - bbox.x < pan_bounds.x0) {\n",
" pan_bounds.x0 = bounds.x1 - bbox.x;\n",
" }\n",
" if (bounds.x0 - bbox.x > pan_bounds.x1) {\n",
" pan_bounds.x1 = bounds.x0 - bbox.x;\n",
" }\n",
" }\n",
" });\n",
"\n",
" root.select(\".ygridlines\")\n",
" .selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" var bbox = element.node.getBBox();\n",
" if (bounds.y1 - bbox.y < pan_bounds.y0) {\n",
" pan_bounds.y0 = bounds.y1 - bbox.y;\n",
" }\n",
" if (bounds.y0 - bbox.y > pan_bounds.y1) {\n",
" pan_bounds.y1 = bounds.y0 - bbox.y;\n",
" }\n",
" }\n",
" });\n",
"\n",
" // nudge these values a little\n",
" pan_bounds.x0 -= 5;\n",
" pan_bounds.x1 += 5;\n",
" pan_bounds.y0 -= 5;\n",
" pan_bounds.y1 += 5;\n",
" root.data(\"pan_bounds\", pan_bounds);\n",
"\n",
" // Set all grid lines at scale 1.0 to visible. Out of bounds lines\n",
" // will be clipped.\n",
" root.select(\".xgridlines\")\n",
" .selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" element.attr(\"visibility\", \"visible\");\n",
" }\n",
" });\n",
"\n",
" root.select(\".ygridlines\")\n",
" .selectAll(\"path\")\n",
" .forEach(function (element, i) {\n",
" if (element.attribute(\"gadfly:inscale\") == \"true\") {\n",
" element.attr(\"visibility\", \"visible\");\n",
" }\n",
" });\n",
"\n",
" root.data(\"zoompan-ready\", true)\n",
"};\n",
"\n",
"\n",
"// Panning\n",
"Gadfly.guide_background_drag_onmove = function(dx, dy, x, y, event) {\n",
" var root = this.plotroot();\n",
" var px_per_mm = root.data(\"px_per_mm\");\n",
" dx /= px_per_mm;\n",
" dy /= px_per_mm;\n",
"\n",
" var tx0 = root.data(\"tx\"),\n",
" ty0 = root.data(\"ty\");\n",
"\n",
" var dx0 = root.data(\"dx\"),\n",
" dy0 = root.data(\"dy\");\n",
"\n",
" root.data(\"dx\", dx);\n",
" root.data(\"dy\", dy);\n",
"\n",
" dx = dx - dx0;\n",
" dy = dy - dy0;\n",
"\n",
" var tx = tx0 + dx,\n",
" ty = ty0 + dy;\n",
"\n",
" set_plot_pan_zoom(root, tx, ty, root.data(\"scale\"));\n",
"};\n",
"\n",
"\n",
"Gadfly.guide_background_drag_onstart = function(x, y, event) {\n",
" var root = this.plotroot();\n",
" root.data(\"dx\", 0);\n",
" root.data(\"dy\", 0);\n",
" init_pan_zoom(root);\n",
"};\n",
"\n",
"\n",
"Gadfly.guide_background_drag_onend = function(event) {\n",
" var root = this.plotroot();\n",
"};\n",
"\n",
"\n",
"Gadfly.guide_background_scroll = function(event) {\n",
" if (event.shiftKey) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
" var new_scale = root.data(\"scale\") * Math.pow(2, 0.002 * event.wheelDelta);\n",
" new_scale = Math.max(\n",
" root.data(\"min_scale\"),\n",
" Math.min(root.data(\"max_scale\"), new_scale))\n",
" update_plot_scale(root, new_scale);\n",
" event.stopPropagation();\n",
" }\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_button_mouseover = function(event) {\n",
" this.select(\".button_logo\")\n",
" .animate({fill: this.data(\"mouseover_color\")}, 100);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_button_mouseout = function(event) {\n",
" this.select(\".button_logo\")\n",
" .animate({fill: this.data(\"mouseout_color\")}, 100);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_zoomout_click = function(event) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
" var min_scale = root.data(\"min_scale\"),\n",
" scale = root.data(\"scale\");\n",
" Snap.animate(\n",
" scale,\n",
" Math.max(min_scale, scale / 1.5),\n",
" function (new_scale) {\n",
" update_plot_scale(root, new_scale);\n",
" },\n",
" 200);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_zoomin_click = function(event) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
" var max_scale = root.data(\"max_scale\"),\n",
" scale = root.data(\"scale\");\n",
"\n",
" Snap.animate(\n",
" scale,\n",
" Math.min(max_scale, scale * 1.5),\n",
" function (new_scale) {\n",
" update_plot_scale(root, new_scale);\n",
" },\n",
" 200);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_track_click = function(event) {\n",
" // TODO\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_mousedown = function(event) {\n",
" this.animate({fill: this.data(\"mouseover_color\")}, 100);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_mouseup = function(event) {\n",
" this.animate({fill: this.data(\"mouseout_color\")}, 100);\n",
"};\n",
"\n",
"\n",
"// compute the position in [0, 1] of the zoom slider thumb from the current scale\n",
"var slider_position_from_scale = function(scale, min_scale, max_scale) {\n",
" if (scale >= 1.0) {\n",
" return 0.5 + 0.5 * (Math.log(scale) / Math.log(max_scale));\n",
" }\n",
" else {\n",
" return 0.5 * (Math.log(scale) - Math.log(min_scale)) / (0 - Math.log(min_scale));\n",
" }\n",
"}\n",
"\n",
"\n",
"var update_plot_scale = function(root, new_scale) {\n",
" var trans = scale_centered_translation(root, new_scale);\n",
" set_plot_pan_zoom(root, trans.x, trans.y, new_scale);\n",
"\n",
" root.selectAll(\".zoomslider_thumb\")\n",
" .forEach(function (element, i) {\n",
" var min_pos = element.data(\"min_pos\"),\n",
" max_pos = element.data(\"max_pos\"),\n",
" min_scale = root.data(\"min_scale\"),\n",
" max_scale = root.data(\"max_scale\");\n",
" var xmid = (min_pos + max_pos) / 2;\n",
" var xpos = slider_position_from_scale(new_scale, min_scale, max_scale);\n",
" element.transform(new Snap.Matrix().translate(\n",
" Math.max(min_pos, Math.min(\n",
" max_pos, min_pos + (max_pos - min_pos) * xpos)) - xmid, 0));\n",
" });\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_dragmove = function(dx, dy, x, y) {\n",
" var root = this.plotroot();\n",
" var min_pos = this.data(\"min_pos\"),\n",
" max_pos = this.data(\"max_pos\"),\n",
" min_scale = root.data(\"min_scale\"),\n",
" max_scale = root.data(\"max_scale\"),\n",
" old_scale = root.data(\"old_scale\");\n",
"\n",
" var px_per_mm = root.data(\"px_per_mm\");\n",
" dx /= px_per_mm;\n",
" dy /= px_per_mm;\n",
"\n",
" var xmid = (min_pos + max_pos) / 2;\n",
" var xpos = slider_position_from_scale(old_scale, min_scale, max_scale) +\n",
" dx / (max_pos - min_pos);\n",
"\n",
" // compute the new scale\n",
" var new_scale;\n",
" if (xpos >= 0.5) {\n",
" new_scale = Math.exp(2.0 * (xpos - 0.5) * Math.log(max_scale));\n",
" }\n",
" else {\n",
" new_scale = Math.exp(2.0 * xpos * (0 - Math.log(min_scale)) +\n",
" Math.log(min_scale));\n",
" }\n",
" new_scale = Math.min(max_scale, Math.max(min_scale, new_scale));\n",
"\n",
" update_plot_scale(root, new_scale);\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_dragstart = function(event) {\n",
" var root = this.plotroot();\n",
" init_pan_zoom(root);\n",
"\n",
" // keep track of what the scale was when we started dragging\n",
" root.data(\"old_scale\", root.data(\"scale\"));\n",
"};\n",
"\n",
"\n",
"Gadfly.zoomslider_thumb_dragend = function(event) {\n",
"};\n",
"\n",
"\n",
"var toggle_color_class = function(root, color_class, ison) {\n",
" var guides = root.selectAll(\".guide.\" + color_class + \",.guide .\" + color_class);\n",
" var geoms = root.selectAll(\".geometry.\" + color_class + \",.geometry .\" + color_class);\n",
" if (ison) {\n",
" guides.animate({opacity: 0.5}, 250);\n",
" geoms.animate({opacity: 0.0}, 250);\n",
" } else {\n",
" guides.animate({opacity: 1.0}, 250);\n",
" geoms.animate({opacity: 1.0}, 250);\n",
" }\n",
"};\n",
"\n",
"\n",
"Gadfly.colorkey_swatch_click = function(event) {\n",
" var root = this.plotroot();\n",
" var color_class = this.data(\"color_class\");\n",
"\n",
" if (event.shiftKey) {\n",
" root.selectAll(\".colorkey text\")\n",
" .forEach(function (element) {\n",
" var other_color_class = element.data(\"color_class\");\n",
" if (other_color_class != color_class) {\n",
" toggle_color_class(root, other_color_class,\n",
" element.attr(\"opacity\") == 1.0);\n",
" }\n",
" });\n",
" } else {\n",
" toggle_color_class(root, color_class, this.attr(\"opacity\") == 1.0);\n",
" }\n",
"};\n",
"\n",
"\n",
"return Gadfly;\n",
"\n",
"}));\n",
"\n",
"\n",
"//@ sourceURL=gadfly.js\n",
"\n",
"(function (glob, factory) {\n",
" // AMD support\n",
" if (typeof require === \"function\" && typeof define === \"function\" && define.amd) {\n",
" require([\"Snap.svg\", \"Gadfly\"], function (Snap, Gadfly) {\n",
" factory(Snap, Gadfly);\n",
" });\n",
" } else {\n",
" factory(glob.Snap, glob.Gadfly);\n",
" }\n",
"})(window, function (Snap, Gadfly) {\n",
" var fig = Snap(\"#fig-6554c859282e4cab9ae9a878f25500dd\");\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-4\")\n",
" .mouseenter(Gadfly.plot_mouseover)\n",
".mouseleave(Gadfly.plot_mouseout)\n",
".mousewheel(Gadfly.guide_background_scroll)\n",
".drag(Gadfly.guide_background_drag_onmove,\n",
" Gadfly.guide_background_drag_onstart,\n",
" Gadfly.guide_background_drag_onend)\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-7\")\n",
" .plotroot().data(\"unfocused_ygrid_color\", \"#D0D0E0\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-7\")\n",
" .plotroot().data(\"focused_ygrid_color\", \"#A0A0A0\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-8\")\n",
" .plotroot().data(\"unfocused_xgrid_color\", \"#D0D0E0\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-8\")\n",
" .plotroot().data(\"focused_xgrid_color\", \"#A0A0A0\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-13\")\n",
" .data(\"mouseover_color\", \"#cd5c5c\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-13\")\n",
" .data(\"mouseout_color\", \"#6a6a6a\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-13\")\n",
" .click(Gadfly.zoomslider_zoomin_click)\n",
".mouseenter(Gadfly.zoomslider_button_mouseover)\n",
".mouseleave(Gadfly.zoomslider_button_mouseout)\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-15\")\n",
" .data(\"max_pos\", 120.42)\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-15\")\n",
" .data(\"min_pos\", 103.42)\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-15\")\n",
" .click(Gadfly.zoomslider_track_click);\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-16\")\n",
" .data(\"max_pos\", 120.42)\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-16\")\n",
" .data(\"min_pos\", 103.42)\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-16\")\n",
" .data(\"mouseover_color\", \"#cd5c5c\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-16\")\n",
" .data(\"mouseout_color\", \"#6a6a6a\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-16\")\n",
" .drag(Gadfly.zoomslider_thumb_dragmove,\n",
" Gadfly.zoomslider_thumb_dragstart,\n",
" Gadfly.zoomslider_thumb_dragend)\n",
".mousedown(Gadfly.zoomslider_thumb_mousedown)\n",
".mouseup(Gadfly.zoomslider_thumb_mouseup)\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-17\")\n",
" .data(\"mouseover_color\", \"#cd5c5c\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-17\")\n",
" .data(\"mouseout_color\", \"#6a6a6a\")\n",
";\n",
"fig.select(\"#fig-6554c859282e4cab9ae9a878f25500dd-element-17\")\n",
" .click(Gadfly.zoomslider_zoomout_click)\n",
".mouseenter(Gadfly.zoomslider_button_mouseover)\n",
".mouseleave(Gadfly.zoomslider_button_mouseout)\n",
";\n",
" });\n",
"]]> </script>\n",
"</svg>\n"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAAhcAAAF6CAYAAACqW3pRAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3deWBU5f3v8e/znJlJZrIQIGxBkkkkSkuTmUmwda9aa6vWVq1oxSqBKgoJLtWq/dnbUrW1WCsuCSpu4F7QqlVbtSpalYKNmTPBuLFkJmggECBkz8yc53v/CHr93Z+Wc88leYzn8/qrczKdvBNP47fP2YgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtGJm2dTUPFF3B7hHU1OTr76+NV93B4BTUncAwJfdunUbs1MpcbfuDnCPVCq71DCS1+ruAHAKwwXAPng8WWkiMnV3gHsoZXVLKd7X3QHglBiOb3LZzMv86eyBk9mSPcnM5EvLli1LERFdOXduTo/lP1EIkfT2eF9YsmpJ33/aDgAAAF9+Q75yUVVVlZkKJBuZKCwEn+5Let8gIpo3b563V/lfJ6KZRPTdVGDgr/9pO4Au9fX1XtNMHKm7A9xj7doNubFYvEJ3B4BTQz5c5LD/OyTp3dr7l/7q9hV1FxBTQfXPqot8Kd9ZJChRt6JuZu3y2moSIr/m3JriL9o+1J0AXySdHuUn4qt0d4B7ZGb6pihF5+vuAHBqyIeLdIrWENO06qrqq2qqFtxCghJ199YliGk6sYh9+kYW7wmPqvzC7QCajB1LA8z8hO4OcA/DsNqJ+EXdHQBOeYb6GxiGkUfMnSRoGhHlCSJfVVVVJjFPEILe+OR9QvBWIpr4hdsBNCktLR0gouW6O8A9yspK2ojoKd0dAE4N+XBBHnURs1hdt7zuSiKihVXVf88RgR8ookYinvzJ2xTRGMOiZ5Ukz+dt/+xHxmLN84nE6UTy2lCo8HXTjN8mBH0tlfKdXVk5aWdjY+JFpWhHJBKc1dCQ+Lph8K3M9M9wOHhdLBb/MRFdRCTuCoWKHjfN+K+EoG9blrikoqLo3Vgs/jARjS8vLzrhrbc+HpOZmX6MmT4Ih4M1sVjLUUTq10rRk5FIcKlpJuYJwTOZ6ffhcHC1acZvFoLKPB4+d/r04m2mmXieSO0Jh4vPMs1NBwlh1DHzmnC4+DfRaPOPpBQ1RHxvKFT8mGk2Xy2E+I6U6vKyspLGaLR5hZSiIJVqP4lodMDrNR5nFhvD4aL5sVjzoUTiOiLxTChUdJtpxucKQWcrJW6MRIr+EY3G/yglhYk8c0KhAz4yzfizRDQQDgd/3NiYKGHmu4hoXSgU/FU0Gj9ZSrpUKVoeiQQfjsXiVxDR94joqlAo2GCa8fuEoCk9PcYPR43KMNLp3ieVongkErwgGm05REr1e2b6ezgcvDkWS5xHxOcS8Z9CoeLnTTNxgxA8w7LU+RUVJYlYLPEUs5LhcPEPGxo2FxmGvIeZ3w6Hi6+OxZq/TyQuV4ofikSKV0SjzZdKKU5mVteEwyVvxWLxZURU7PEETgsEetKdneIZZvFROFw0xzTjESHoRqXEPyKRohuj0fg5UlIVs7g1HC561jTj1wlBh0opLyorK9xkmvHHhSB/KBQ8uaGhpcAw1ApmioXDwSsaGhLHGwZfRUSPhULBe00zsVAIPpWZzHA4eHk0Gl8qJZUqxTM7OoLdY8Yk/s5MW8Ph4HmNjVvKmK2bifiVUKj4BtNMnCkEX6AU10UixU9Fo82LpBRHEKmaUKjkA9Ns/jORzAuHi763fv3mCUrJh4jEO6FQ0WXRaPMxUoprmMWqcLhoGfZ5d+3zSnk+ktJ6SAhhadrnf6gU/SYSCa7BPu+uff7ww6fslwsohvxqkYVVCy5QJCrrltddRERUU1XzKgu+SijhIcHX1y6vO3b+rPmjpU82kKIZQohpn7e97oG6nUPdCvB51q7dkJuZ6X04HA6eorsF3ME0E9OZuToSCS7Q3QLgxJCfc+HpyXhIEJUurKp+q2ZO9Roi+rDu/rp1bb1ta4m4bWFV9VuGT74nmZbUPVC384u2D3UnwBfxePb0EYnFujvAPfr7k1ukpHt0dwB86S2cs3DcggULsv/v7TVzawqunDs3x+52AAAAAIARLRbblhWLJZbo7gD3aGxMlJhm89W6OwCcwu2/Afahr6/LYOapujvAPZQiP7Mo1N0BAABDhJlFU9P2/3FID2CorFzJRn19a0B3BwAAAAAAAIwEa9duyDXN+DO6O8A9TDMxPRqNL9XdAeAUzrkA2IecnFGKmbbp7gD3YE4nhaB23R0AAAAAAAAwEqxezZ5otDmsuwPcIxbbltXY2DxNdweAUzgsArAPfv/GgBDiOt0d4B7MA0HLEhfr7gBwCsMFwD4olZki4jd1d4B7GEaqU0pq0N0BAAAAAAAAI8GGDRsyYrHEGbo7wD3q61vzTXPzCbo7AJzCYRGAfdi5kzKYebbuDnAPjyc1gVmeqrsDwCkMFwD7MHYsDQghVujuAPdIp71tQqindHcAAAAAAADASLBmzRY/Hn8Nw2n9+o1TYrH4+bo7AJzCYRGAfZCy30skjtDdAe5hWd5cpahCdweAUxguAPahpWVqj2UZl+nuAPfo7ZWbLcv6g+4OAAAAAAAAGAmamrZnR6Pxu3V3gHtEo5tKTTN+re4OAKdwWARgH7q69kghaKLuDnAPITw+ZsrX3QEAAAAAAAAjATPLpqZmrFzAsGlqavLV17di5QJGLBwWAdiHdes2ZqdSAudcwLBJpbJLDSOJcy5gxMJwAbAPfn+OJYTYqLsD3ENK6hOCW3R3AAAAAAAAwEhQX1/vNc3Ekbo7wD3Wrt2QG4vFcYdOGLFwWARgH9LpUX4ivkp3B7hHZqZvilKEZ4vAiIXhAmAfxo6lAWZ+QncHuIdhWO1E/KLuDgAAAAAAABgJNmzYkBGNNlfp7gD3WL9+84RotPlU3R0ATuGwCMA+7NxJGUKIH+vuAPewLCOfSJyguwPAKQwXAPvg8ezpIxKLdXeAe/T3J7dISffo7gAAAAAAAICRIBbblhWLJZbo7gD3aGxMlJhm89W6OwCcwmERgH3o6+symHmq7g5wD6XIzywKdXcAAMAQwVNRYbjhqagAAAAAAABg39q1G3JNM/6M7g5wD9NMTI9G40t1dwA4hXMuAPYhJ2eUYqZtujvAPZjTSSGoXXcHAAAAAAAAjAQrV7Lx9ttbcLUIDJs1a7b46+s34WoRGLFwWARgHwoLN2YZhoX7XMCwCQRUiWEYuM8FjFgYLgD2QanMFBG/qbsD3MMwUp1SUoPuDgAAAAAAABgJNmzYkBGLJc7Q3QHuUV/fmm+am/FUVBixcFgEYB927qQMZp6tuwPcw+NJTWCWp+ruAHAKwwXAPowdSwNCiBW6O8A90mlvmxDqKd0dAAAAAAAAMBKsWbPFj8dfw3Bav37jlFgsfr7uDgCnPLoDHHmJDyKDcIMZGBZnpKzAPenW44joD7pbwB0sy5vLzBW6OwCcGpnDhUHziehS3RngDq3KoOv78q/Q3QHuIURGXMq+23R3ADg1MocLgGG2JuWP624A9wiFJvYQ0fu6OwCcwtUiADZc7t81X3cDuEc0uqnUNOPX6u4AcArDBYANmYLzdDeAewjh8TFTvu4OAKeE7gBHVvMSwjkXMJyYzqDjxBO6MwAARgKsXADYkG9YmbobwD1WrmSjvr41oLsDwCkMFwA2XJjRcZnuBnCPgw5qmWYYyZt0dwA4heECwIZeYWzV3QDuISX1CcEtujsAnMKlqAA2LOnJW667AdyjvLxoM+GmbTCCYeUCwIbjM/qn6W4A91i7dkNuLBbHHTphxBqWlYuFCxdmUGf6eCVkjq/H9/SSVUv6iIiunDs3p8fynyiESHp7vC/sazuALt8yek57ieh3ujvAHTIzfVOU4vOJaIHuFgAnhuewSJf6M5M0pKCGZFbyhnnz5k0nolRv0vs6EW0gou2pwEA1EX133rx53s/bPiydAF/gY+UxdTeAeygldgvBb+juAHBqyO9zUT27+mghxOLa5bWHEREtnLPgDE7Lt8lDRxDxzNr7635ERFRTVR0lS5z+RdtrH6xt/vRDcZ8LGG64zwUAgG1Dfs6FlFzOxO9XV1XfXzO75hFS1Fn7YG0zMU0nFrFP38jiPeFRlV+4HUCjczI7j9XdAO6xfv3mCdFo86m6OwCcGvLDIqxkiRB8kpDyHKWUj0jceelP5x2RZp4gBH267CcEbyWiifRF2z9jvEyN3q68Q50O8KkSI3kkEZFpbv6mUkZuRkb3P7/+9a+no9GW44Sgvkik6M1otDmPWc4wDLEtFCp8p6FhcxGRUer1pj4oK5u6Zf36zeWplDE+mUy+deihpZ2xWMtRROwLhYpebm5uzty9Wx5JJDoqKgrr16/fPCGVMsqESCcikQM3mOamg5TyFBpGqjEUmro9Gm05hJlH5eQkXy8tLR1oaEgcLyX1h8NFb9TXbxolpecQj0e2lZdPWV9fv6lQSs9BRNaGioqSRGPjlrJ0Wk1QKv3vGTMO3GOaiSOVosxIpPDljRs3+rq6fEdJaXWGwyVvxWIbx1uWt9wwrC2hUMkH0eimUmZPUUaGemf69OJtDQ0tM4g4r79fvnn44VP6YrHEd4SwUuXlJf9cu3ZDrs/n+yaRtaOioiS2fv3GKamU92Ah1MZIpDgei7V8w7J4osdDb5eXF+2ORhNHMJM/Eil85d133/UMDGQfbRiqKxQqXldf35ovZSrs8aiPysuL33/77S1ThVBBpbhpxozg1lgsXmFZYoxS3jUzZhT0mmb8WKVYVVQUv9bUtD17YKDvUCFUeyRSbJrmlslKqa8ZBm8KhYLNDQ2JrxNRQUaGbJg+fcquhob4YUQia+PGwtXjxpEYNarlGMNQ3aFQ8dp16z4a6/VaEWb+uLIy+F5jY6IknaYSIvFuRUVhq2nGI0qJsYaR8a9QaGJPNNp8jBBChMPB1bHYtizLGjhMSt4ZDgejDQ0tBUT8da9XNJeVFW56++3414QQk5XympaVyheCz21oSHQrteO1zZsr1dSpLccKwb2RSHBNU9OWMQMDqkJK2hoOFzXFYvFiyxIHGobxfih0wEfRaHOYWeYHAn3rpk2b1tXQ0PxtwxBGKBR8pb6+NSBl6nCPh3aXlxe9XV8fnySlmM4s45WVUzY2NjZPS6flAUTJWEVF6Q7s8+7a5888U1j742/mkK9cCMldTPTk7ffd/lLd8rq/CaKn0x7PaSyokYknf/I+RTRGWNT0Rds/+5m5QmQPdTfAZ21QGa8QETGLr0lJlX19oz2rVpGQkiqFUN8gIvJ4rBwpqZKIi4mIDENMlJIqmb3jiYgsSx4oJVV6PN4sIiKlVLlSVElE1NaW9u39rIOJiJJJOWbwtXEAEZEQnimDny1HD77maVJSpWVZPiKiwe/D5YP/2Zs1+LV0yWCHd8LgZ3n2dqRLBjt82YOfpcoGP5somRzl3ft9914dI0cPfu2TDuMAKamyv1/s7VAHS0mVPl/SN/gzcYVSspyIKCfHE5CSKqWUBw5+zTNu8PXg/1lg5uDg90p90vENKaly1SoSfX2jPVJSpVL0tcGvWXmDr7mQiMjrTRVISZVerxw72MkHSUmVfv+nd1KNGIYMERGl052fdEwd/L7pcXs/e9Le32VQSqpMJtO5g78vmi4lVU6f/q5xwAEbjcGfX0wnIsrMTOcOfl8KDv5MtLcjvfc5IKJUSqpMpZR/b0eYiMNERKmU8u/9rNLBnyGdP/jPiScN7j9cNPi7TOX29ye3EPE7UlLl2LFjjZKSt+VnOwYGUjl7/5l/0jFp8GdK5Q/uA3KqlFQ5MODxD/5MMsRMESIiny+VMfjfVQcNfl+xd19LT967n04ZfC3zsM+7b5+n/WTIz7lYOHv+ySyMX+UH849YtGgR11RVv6SIL5css0jw9bXL646dP2v+aOmTDaRohhBi2udtr3ugbuenH4pzLmC44ZwLAADbhnzl4vYVdzxHRK+2x3f8u7qq+g1B9O+ly5eabb1ta4m4bWFV9VuGT74nmZbUPVC384u2D3UnwH9SHdjzE90N4B4NDZuLYrHExbo7AJwatqeiLliwIDudTqtly5b1fnZ7zdyaggD1dt14331ddrYTEVYuYNhd49/59u8OzZ+huwPcwTQT05m5OhIJ4j4XMCLhkesANhTL1PnN3/bdq7sD3KGpqcnX1zc6d8aMgnbdLQBO4NkiADY0W94O3Q3gHtOnT08SEQYLGLHwbBEAG64J7Pyl7gZwD9NMTI9G40t1dwA4heECwAaLRL/uBnAPKZUlBPXu+50AX0445wLADlyKCgBgG1YuAGwIe1MT9/0ugP1jzZot/vr6TYW6OwCcwnABYMPJ3s45uhvAPQIBVWIYxtW6OwCcwnABYEM7G+/rbgD3MIxUp5TUoLsDwClcigpgw119eU/qbgD3KCubuoWI7tHdAeAUVi4AbDglozOiuwHco7ExMdo0E0fq7gBwCsMFgA3lRur7uhvAPZSiAmaepbsDwCkMFwA2bGDfq7obwD3SaW+bEOop3R0ATuGcCwAbVvbl/Et3A7jH3meKvKi7A8AprFwA2HChv+M03Q3gHuvXb5wSi8XP190B4BRWLgBsyBfWNN0N4B6W5c1l5grdHQBOYeUCwIbVqcCjuhvAPYTIiBsG36a7A8AprFwA2LAm5Y/rbgD3CIUm9hARbtwGIxZWLgBsuNy/a77uBnCPaHRTqWnGr9XdAeAUhgsAGzIF5+luAPcQwuNjpnzdHQBOYbgAsOGugbwluhvAPT78sPB9y/JdobsDwCkMFwAAALBfYbgAsOHCjI7LdDeAexx0UMs0w0jepLsDwCkMFwA29Apjq+4GcA8pqU8IbtHdAeAULkUFsGFJT95y3Q3gHuXlRZuJ6A+6OwCcwsoFgA2He/uCuhvAPWKxbVmNjc24KyyMWBguAGw41tt7tu4GcA/mgaBliYt1dwA4heECwIaPlcfU3QDuoZTYTURv6O4AcArnXADYsLx/1N91N4B7VFQUthLRI7o7AJzCygWADedkdh6ruwHcY/36zROi0eZTdXcAOIXhAsCGoEwdqrsB3MOyjHwicYLuDgCnMFwA2NBoeZ/X3QDuISW1CiFwWARGLJxzAWDDMwO5Ud0N4B7l5UU4oRNGNKxcANhQHdjzE90N4B4NDZuLYrEELkWFEQvDBYANeZQu1t0A7iGlka0U4yZaMGJhuACw4ZGB3Dt0N4B7eL3dGyzL92vdHQBO4ZwLABuaLW+H7gZwj+nTpyeJqF13B4BTWLkAsOHqwC48ch2GTWNj8zTTjOOR6zBiYbgAAACA/UroDnBkNS8hokt1Z4CLMJ1Bx4kndGcAAIwEWLkAsCHsTU3U3QDusWbNFn99/aZC3R0ATmG4ALDhZG/nHN0N4B6BgCoxDONq3R0ATmG4ALChgzzNuhvAPZSyuqUU7+vuAHAKl6IC2FDXO+ox3Q3gHhUVJQkiuk13B4BTWLkAsOGUjM6I7gZwj8bGxGjTTBypuwPAKQwXADaUG6nv624A91CKCph5lu4OAKcwXADYsIF9r+puAPdIp71tQqindHcAOIVzLgBsWNmX8y/dDeAeM2YUtBPRi7o7AJzCygWADVWZe07U3QDu0dDQUhCNxnFYBEYsDBcANkyW6bDuBnAPKXk0EeGEThixMFwA2LA6FXhUdwO4hxAZccNgXIoKIxbOuQCwYU3KH9fdAO4RCk3sISLcRAtGLKxcANhwuX/XfN0N4B7R6KZS04xfq7sDwCkMFwA2ZArO090A7iGEx8dM+bo7AJzCcAFgw10DeUt0N4B7fPhh4fuW5btCdweAUxguAAAAYL/CcAFgw4UZHZfpbgD3OOiglmmGkbxJdweAUxguAGzoZ9GhuwHcgzmdFILadXcAOCV0BziympcQ0aW6M8BFmM6g48QTujMAAEYCrFwA2HC4ty+ouwHcIxbbltXY2DxNdweAUxguAGw41tt7tu4GcA/mgaBliYt1dwA4Nax36KyZXXMEEVHtito3iYiunDs3p8fynyiESHp7vC8sWbWk7z9tB9DlY+UxdTeAeygldgvBb+juAHBq2IaLS386b5JF/BSTuIWI3pw3b563N+l9nYg2ENH2VGCgmoi++0Xbh6sT4PMs7x/1d90N4B4VFYWtRPSI7g4Ap4brsIhIe3x3s+CXhWAmIvKlfGeRoETdirqZtctrq0mI/Jpza4q/aPswdQJ8rjP9XYfpbgD3qK9vzTfNzSfo7gBwaliGi4VV1VcIVqtZiNinG5mmE3/2tXhPeFTlF24H0KhUJI/R3QDu4fGkJjDLU3V3ADg15MNFzdyaGSz42NtXLL35v32BeYIgjn/yUgjeSkQTv3A7gEaNlvd53Q3gHlJSqxACh0VgxBr6cy4ULRIkfNVV1Q8KpulMJKrnVH/MTI1EPPn/vI3GGBY9qyR5Pm/7Zz/yG8bAQe9YGUOeDvCJncq7m4goGo1fIwQXZmYOXLF168F9o0fH65hFeyQSvCYa3VQqhLxCCPFWKBS81zSbv0dEpxOJx8Lh4OpYrHk+M4WZ6YZIpDgei8VvZBY54XDR/HXrPhqbkZH6PbPYGIkE/xiNthwihHW+EPIfoVDR46aZOJNIfUcIcVcoFGwwzeariahYSnl1WVlhRywWv5OIdofDxVc3NiZKlFJXEcm3w+GiZQ0NieOlVDOZ5eORSNE/TDMxj0hVGoZxY1lZ4SbTTNxApMaEQsGLTDM+SghaLATFQ6HiG2KxeAUzX0hEr4TDxX+OxeI/ZuYTmI17IpHCf0ej8V8IwVPT6YxrZswoaDfNxB3M3B2JBH/R0LC5SErxX0KQGQoV32Ga8WOJ+CdC0JOhUPHzphmfS8TfIlJ/CocP/DAWi1/PzON27w5WT5r0gb+/P+MmIrElHA5ev3795nLLEtXM4rVIJPhINNp8qhB0ohB0fyhUvNY04z8n4oMNg39dVlbSZprx24koFQ4Hfx6LfXQAc+p/EYn14XCwtrFx89FKiXOYxV8jkeBz0WjzbCHocMsSt1RWBt8zzebfEtHErKz0xXv2ZBkez8ASIWRrKFT0W9NMTCdSFxPJN8LhogdjscQpzOoHzPKBSKTozVgscQmz+rpSxm8rKgpbo9HmW4QgEQ4XX1JfH5/k8fAiIeS7oVDRrdFo4ggh1HlCGM+FQoV/Nc3ET4nUUUIYt5eXF75jmonjTLP53HQ647JRo3qsnh7PbUSiLRwO/rqxsXmaUnQZM/0rEileHo3GTxKCfyQlP1xeXvJP04zXEHGZYVjXl5VN3WKa8T8RUUY4HKyJxTaOZzauIxIfhMPBm2Ox5kOZaQ6ReD4cDj4ZizWfzUzHKMVLKypKYtjn3bXPl5aWDuyPv5lDPlx4KF2TJk+OICJBXMVEXiHEP0hRMQm6noiumz9r/mgiOsYicYVgkfy87Z/9zDh7W4a6G+CzKr39R64h+pMQxnIpVUZj48G9M2eSWr9eLhYilSIiysuTW7q65GLmVDcRETOtMwy5obc32U5EJCX/hdl4we9PbiUisixV5/EYBhFRb+/kPX5/y+J0WvQTEfl8me9ZVt/ivj5jDxHRwIDxst9P9cwZbYNFngelVBk7dxZ2CSG4sTGxOJlMp4mIcnJUa1eXXCyE1UNEpFT63x6PZ3Mymd5JRGQY1tPMxkvZ2VYrEVE6nb7D5/N4hBC8ciV3TZvWslgpufcPTOYHUg582uHxGKstS0UNI3P74M8oHzYMzuzqmtRBRCQE36iUUoMd1ra+Pt+nHf39qbcDAV/CstSuwfemnxXC+2pODrUO/n7SdzF7vcccQ9aqVQf3frZjYCBzo8+XWpxMejsHfz+ef1qWajQM//bBn4Ee9fmkf2Bgx97Pppsta7DD49mz3bKyFxuG6h38XVtmIOD7iIh2D/4M6b8Zhu/13l65de/v5x5mr3fq1KkpIkqtX9+ymNlIDn4fb7PPl1qcTie79n6fN4SQTT5f3w4iolSKV/p80u/1dn1yd81bBs8yI/L7e3ZaVvbiZJL7Bl/3NSaT/sVEvHvvZz/v86XWJJOebQ0Nm4sGfydycWXlpH4i4vXrWz7d17q7PYnsbPVpBxGvkVK+/8m+5vXy45Yl/yZlb9vgPqBuMwwpBxs7dvt84z7t8Hiy3rGsvsWGITsGv57xD58vtS6d9m4b/Bmxz7tsn98vhvUOnQurqn9BRN7bl9f9fubMmcaErHEPCxIlTFQomH5/+4q6275o+3/7INyhE4bZNf6db//u0PwZujvAHUwzMZ2ZqyOR4ALdLQBOaL/9d83cmoIA9XbdeN99XXa2ExGGCxh2YU+qxjzKV6e7A9xhzZotfp8vOW7GjAOxSgsjkvbhwhEMFzDc8GwRAADbcPtvABuuDuzCI9dh2DQ2Nk8zzTgeuQ4jFoYLAAAA2K9wWATADhwWAQCwDSsXADYUG6k83Q3gHk1NTb76+tZ83R0ATmG4ALBhVkbnfN0N4B6pVHapYSSv1d0B4BSGCwAbOsjTrLsB3EMpq1tK8b7uDgCnhu2R6wAjWV3vqMd0N4B7VFSUJIjotn2+EeBLCisXADacktEZ0d0A7tHYmBhtmokjdXcAOIXhAsCGciP1fd0N4B5KUQEzz9LdAeAUhgsAG+LKu1Z3A7iHYVjtRPyi7g4Ap3DOBYAND/fnrtbdAO5RVlbSRkRP6e4AcAorFwA2VGXuOVF3A7hHQ0NLQTQax2ERGLEwXADYMFmmw7obwD2k5NFEhBM6YcTCcAFgw+pU4FHdDeAeQmTEDYNxKSqMWDjnAsCGNSl/XHcDuEcoNLGHiHATLRixsHIBYMNlWR1VuhvAPRobEyWm2Xy17g4ApzBcANgQYGuS7gZwD6XIzywKdXcAOIXhAsCGuwbyluhuAPf48MPC9y3Ld4XuDgCncM4FgA3tltGvuwHc48wzhUVEvbo7AJzCygWADdcEdv5SdwO4h2kmpkej8aW6OwCcwnABYEM/iw7dDeAezOmkENSuuweiFNYAABmpSURBVAPAKaE7wJHVvISILtWdAS7CdAYdJ57QnQEAMBJg5QLAhsO9fUHdDeAesdi2rMbG5mm6OwCcwnABYMOx3t6zdTeAezAPBC1LXKy7A8ApDBcANrSzgbslwrAxjFSnlNSguwPAKVyKCmDDXX15T+puAPcoK5u6hYju0d0B4BRWLgBsONPfdZjuBnCP+vrWfNPcfILuDgCnMFwA2FAqksfobgD38HhSE5jlqbo7AJzCcAFgQ6PlfV53A7iHlNQqhHhEdweAUzjnAsCGZwZyo7obwD3Ky4t2E9EbujsAnMLKBYANF/o7TtPdAO6xfv3GKbFY/HzdHQBOYeUCwIZ8YeGGRjBsLMuby8wVujsAnMLKBYANz6Vy79fdAO7R2ys3W5b1B90dAE5h5QLABjPl3aa7Adzj8MOn9BFRi+4OAKewcgFgw9WBXZfpbgD3aGxsnmaa8Zt0dwA4heECwAaDOFN3A7iHUtJgpoDuDgCn8Mh1ADvwyHUAANuwcgFgQ7GRytPdAO7R1NTkq69vzdfdAeAUhgsAG2ZldM7X3QDukUpllxpG8lrdHQBOYbgAsKGDPM26G8A9lLK6pRTv6+4AcAqXogLYUNc76jHdDeAeFRUlCSK6TXcHgFNYuQCw4fiMftyhE4bN2rUbcmOxOO7QCSMWhgsAG75l9ODZIjBsMjN9U5QiPFsERiwMFwA2xJV3re4GcA/DsNqJ+EXdHQBO4ZwLABse7s9drbsB3KOsrKSNiJ7S3QHgFFYuAGyoytxzou4GcI+GhpaCaDQ+S3cHgFMYLgBsmCzTYd0N4B5S8mgiOlJ3B4BTGC4AbFhnZT2puwHco78/uUVKukd3B4BTOOcCwIaXBjJxQyMYNoceWtpJRA26OwCcwsoFgA2XZXVU6W4A92hsTJSYZvPVujsAnMJwAWBDgK1JuhvAPZQiP7Mo1N0B4BSGCwAb7hrIW6K7Adzjww8L37cs3xW6OwCcwjkXADa0W0a/7gZwjzPPFBYR9eruAHAKKxcANlwT2PlL3Q3gHqaZmB6Nxpfq7gBwCsMFgA39LDp0N4B7MKeTQlC77g4Ap4TuAEdW8xIiulR3BrgI0xl0nHhCdwYAwEiAlQsAGw739gV1N4B7xGLbshobm6fp7gBwCsMFgA3HenvP1t0A7sE8ELQscbHuDgCnMFwA2NDOBu7QCcPGMFKdUuIOnTBy4VJUABvu6svDs0Vg2JSVTd1ChGeLwMg1LMPFJedfMkGlUycqIXanvKm/LVu2LEVEdOXcuTk9lv9EIUTS2+N9YcmqJX3/aTuALmf6uw5bSYQTOmFY1Ne35ns8/RXhcMmLulsAnBjy4aL6vOqxVjq9jojWEtFHvqT3tivnzv1Gh8fT35v0vk5EG4hoeyowUE1E3503b57387YPdSfAf1IqksfobgD38HhSE5jlqUSE4QJGpCEfLqTBxyoWL9ctX/ozIqKaqupgn5V5mo+lIsGJuuV1M/duj9acW1NMKTri87bXPljbPNStAF9kA/te1d0A7pFOe9s8nv6ndHcAODXkw0Uqrf6ZkZHxOhHRwoULM1SX+obFfK3BdDaRiH36RhbvCY+qZJbTP287EWG4AG1W9uX8S3cDuMeMGQXthFULGMGG/GqROx+8c/ut99zatrBq/qHcbf1LkFh5xwN3NBLzBEEc/+R9QvBWIpr4hdsBNLrQ33Ga7gZwj/XrN06JxeLn6+4AcGpYTuisqVqwgEmcR0LMq72/tp6IiAU1EvHkT96jiMYYFj2rJHk+b/tnP++bnr7Kt9L+4UgHICKiSTJ9CBGRacYfJKKveb3GCX19bV0eT/6/mPnjSKT4R6YZjxDR3ULQ86FQ8FexWOI8Zr6YiP8YDhf/ORqN/1EIOlYpcV5FRdG7ppl4nkiNCYeLv1lfH5/k8dAzRGSGw8HzTXPzCUTy98z8UCRSfItpxi8norOFEFeFQkUvm2bifiIuEyJ9Unn5gTtiscS/haC2UCh4cmPjljKlrPuJ+KVwuPjqaDQ+Swj6OZG4JRwuesg0EzcQ8XcNQ80tKytpNM34s0Q0MRQq+mY0unGslN6/M3NTJFI8OxaLH8dMNwpBj4VCwZtiscQlzHwuEV8TDhe/EI3G7xaCIkrJH1ZUFLaaZmIdEXWEw0Xfe/vt+NcMgx4kolfD4eAVppk4k4ivZObaSKR4uWnGryOiE4WgeaFQsCEWSzzFzAd4vT2HW1Z2llL8DyHog1AoeE4s1nIUs1pCxI+Hw8V/iEbj1ULQHGb6TSQSfM40E3cQ8SHptHX6jBkHtphm/A0iGgiHg9+JRjeVCmE8ysxvRCLFl5pm/HQi+i8h6M5QKHhPLJb4DTOfQqQWhMMlb5lm/HEiCqbTvqOzszuN/v7M1US8KRwuPquhIX6YlHQ7ET0VDgevN83mC4nEBcx8XSRS/LRpxm8nosOkFGeWlxdtjsXirzKzDIeLj47F4sXMtIqI1obDwZpYrOWHzOrXRHxPOFx8ZzQav0YIOo1ZXGJZ1MFMV5lm/KL+/tRxSmWmAgHrdSJKhMPBH0ejLYcIoe5g5mcjkeJFsVj8Z8w0Xwi6IRQKPhGLJZYw81FE1qxw+MAPTTP+khAUCIWCh69fv3GKZXmeJBL14XDRRdFo/CQh6FoiWh4OB2tNM3EVEc9Uii+vqCh+Dfu8u/b5GTMK9ssD84b89t/VVdXfJaJF23u2H71q1Srrk+01s2uOIMHX1y6vO3b+rPmjpU82kKIZQohpn7e97oG6nZ9+KG7/DcMs7EnVmEf56nR3gDusWbPF7/Mlx82YcWCL7hYAJ4Z+uJhTfZNgmktE3Z9+U8G/29a9454JWeMeFiRKmKhQMP3+9hV1t82cOdP4vO3/7UMxXMBww7NFAABs0/7gspq5NQUB6u268b77uuxsJyIMFzDsLs/c9fKfDht7vO4OcIe9y9rnhsPBX+tuAXBC+x06a++rbf1/2Q6gQ6bgPN0N4B5CeHzMnK+7A8Ap7SsXjmDlAoYbDosAANiGB5cB2FBspLByAcOmqanJV1/fipULGLEwXADYMCujc77uBnCPVCq71DCS1+ruAHAKwwWADb3C2Kq7AdxDSuoTgnEZKoxY2k/oBBgJlvTkLdfdAO5RXl60mYj+oLsDwCmsXADYcHxG/zTdDeAea9duyI3F4hW6OwCcwsoFgA2jKDWbXuHdujvAHWYPJCf90dN+ABHN0d0C4ASGCwAbXksHDBKE23/DsPhA+ejlpP9K3R0ATuGwCIAN7crYobsB3OXWvtGv6W4AcArDBYAN+dIap7sB3OUS/+5v624AcArDBYANuaTG6G4AdynypL+luwHAKQwXADbsIAPPuoFh9VYq8LTuBgCnMFwA2NCl5P98Oi/AEHqsP+sD3Q0ATmG4ALDhAJku0t0A7nJ91o7ZuhsAnMJwAWCDjzhTdwO4S0DSBN0NAE5huACwYQt7NutuAHdZ0Ze7THcDgFMYLgBsSLFI6W4Ad4mlMzp0NwA4heECwIYSmTpYdwO4y805O3CHThixMFwA2JAWIqm7AdwlJQRWLmDEwnABYEOL5WnW3QDuclVnPs65gBELwwWADRmCMnQ3gLsc7emaqLsBwCkMFwA2TBapoO4GcJdT/f3n6W4AcArDBYANvYQ7dMLw2s0Sd+iEEQvDBYAN2xSeLQLD67rusXi2CIxYGC4AbBgj8VRUGF7zAx14KiqMWBguAGzII2uc7gZwl1Ij9W3dDQBOYbgAsKGDjB26G8BdNlje13Q3ADiF4QLAhl1K7tLdAO5yR2/eOt0NAE5huACwYaK0CnQ3gLv8r+ydP9LdAOAUhgsAGwKkcnQ3gLuMFgrPs4ERC8MFgA3b2LNFdwO4y+qkf6XuBgCnMFwA2NDLold3A7jLMwPZcd0NAE5huACwodBIF+tuAHdZnNs+T3cDgFMYLgBs8DD7dDeAu3iZ83Q3ADiF4QLAhs3Ki+c8wLD6ede4G3U3ADiF4QLABkPgfyswvCZROlN3A4BT+IMJYEORSJXqbgB3+UXO7ot1NwA4heECwIYkiX7dDeAuvYradDcAOOXRHQAwEnykPAkimqi7A9zjV33jxtNq/ofuDnCRATqLvi/2y6MOMFwA2JAjVU6XwkIfDJ9MwRX9LEp0d4CLBChjf30U/loC2DCO8GwRGF65UuFSVBixMFwA2NBNskN3A7hLH0vcFRZGLAwXADZsVwZOroNh1aXEHt0NAE5huACwIV9a43Q3gLtkC5WruwHAKQwXADbkkhqjuwHcJSA5S3cDgFMYLgBs2EFGq+4GcJdOhfN8YOTCcAFgQ5eSXbobwF36WfTpbgBwCsMFgA0F0jpAdwO4y2ipxupuAHAKwwWADZmkcPwbhpVXsE93A4BTGC4AbNjCns26G8Bddllyh+4GAKcwXADYkGKR0t0A7pImkdbdAOAUhgsAG0pk6mDdDeAu4w1rku4GAKcwXADYoISwdDeAuzAT624AcArDBYANccuzUXcDuMsOZWzT3QDgFIYLABsyxP57FDGAHV7C1SIwcmG4ALBhskgFdTeAu4w2cJ8LGLkwXADY0Eu4QycMrySLft0NAE5huACwYZvCs0VgeHUouVt3A4BTGC4AbBgl1SjdDeAufskB3Q0ATmG4ALBhLFkTdTeAu+QIDLQwcnl0B3yeK+fOzemx/CcKIZLeHu8LS1YtwdMBQasOMnYQUZ7uDnCPnsEn8Y7R3QHgxJdu5WLevHneXuV/nYhmEtF3U4GBv+puAtil5C7dDeAuPSy6dTcAOPWlGy58Kd9ZJChRt6JuZu3y2moSIr/m3Jpi3V3gbhOlVaC7AdwlT6rRuhsAnPrSDRfENJ1YxP7Pa/Ge8KhKjUUAFCCVo7sB3MUnOFN3A4BTX8LhgicI4vgnL4XgrUT0306mK5CpccOdBe7WzrgVMwwv3OcChlsB77/zML90J3SyoEYinvzJa0U0xrDo2c++597cnY8oUhs3UMZzl3aP3fiXrK1nZQie+GAq897HBsZ0P5fdeknKou5T+wru/VVg58TD5MBZXUpt+EnvAX+7O7AzUiAHjm5VGf+8oHds9LHARyflSFn6b85cuahnzNansz6e6xEi5+y+gtuOl32Bn2XsPj/J3HZaz+THbsneObWUBk7eZQnz3L5Jry3PbD1qnIcqNlgZf7+0b+yHTwS2zsyUXPBwb+D+R1Re57NZrQstpv4f9Rbc/avcrvGHqa6ze5k3z+yZ/MwdmdtChR51zHbyvDmne3z9Y1lt38sR1rR/p43HF/VP+PipwMdVXilGXdBRUDvd2+u7NKtj3oCydpzeO+WRG7ztJeUZyVM6lGg8p3fS6gezPz58DIlD4uR5sbp7/HtPZLWeniloyrPprAfu6B+1+9nsjxcwS+uUnkl3/dzXPu47vuSsPpLNZ3RP/GttxtayYi8f16Y8/5rbO/6tRwLbvjtKqq+/nfQ8+evk+JZncreeKxWPuXZg1B1+SeIX3j0XWYJ2/rCr4KHfZewoCntTp3aRbPpJ98SXVmRtOzRfqG/FLfFSdd+kplWBbacGpCp6ri/7oaVW7s6/BrbMl1LSD7on37HA6Bx7sr/7p71KJmb2Tnyqzr91etDg49tZrpvdM3Hto1nbvpMr1Dca096nf9k/Lv50Tus5Hqb8Ol/BnR91dKsbAp0L0iR2/6h70gOLvNunHJKRPr1TGe+d3TvhxfsC2785QaYPa06JV2oGJq1/PHvbD/2kil9O+h65OZm/45msrRdKqTwnd02uO9+3J+80X8/sfhIf/bh70hO1WdunFYv099oV18/unfzmQ4Htx4yW6dCagcznf9c5puX+vLaZmUKNv6lzzH3N6Yxk3ZitF6VI7Dlv98SHaka1FxwhU6d1Cs+HF+4a948/jGqPFMnU4XH2vP7LjnGNd45qO3GUVCUvJHNXLe/J2v7g6K1VBlFg1u5JS4/1dOXMy+k+r0eJrefvmfiXX2a3l5Z7UyfsIE/04t3j1tyat+PI8SIdalSZz9+wZ/Sm+/LazvALNeGe/uwVL/fldD86emt1imX3eR0TVvwsu3fC8d49Z+y2xMYFnRNf+H3ujnCxkT6i2fK8+V+d48yludu+N9rgqavTo55Y1hXY9tCYtvMMVjlzOyctPcQzEJgf2FU1IDxtVbvGPf7LUbsPLJf939/OntglHePeuG30jsPHUTrSmPK+eEN3/oZ7Rm07PUvypBUDYx54vjej6+G8rfNZUP9Pd0+6vyqrY/z3fH0zO5VsvnDPhL/9btSushI5cPQW5f3XlXvyG+4cvf34UWQd/KbyPlm7J7/1gdHbfuolHlW9a9KdxZ4B3xW5u+b2E+2Ys3vSyp9ndwUP8XafvEPJdy7eM+G1JXlbD50oqLIp6Xv5+p6x7983ZtuP/MwHPNaX8/DT/dkdj47dNk8xWefsmnjv2Zm783/o7z+rV8r4z3ZOeO63ubumH2QMHNOS9q67qiu/fmne9uNGC+trb/T7/lrXN3bLg2O2zfIwj/6vztHLMiSJ32TvviAlxK7zdk18dGFgV+HhGQOn7GZ6b0HHpFduGrXzm5Nl8pAP2ffKbzrGvnfP6O2nZJFVuLI759EnU9m7Hh7deoGUks7eOfHu07zdY87M7jq7h4yW83ePf+a3eTu/dpBIHvex8v37ij1j36rL237sGGF9fV0y49lbesYk7s1v/XGmkGN17fPvJMWzVyUnbXrCv+XsTMMYf0tP3rKmVCB5d15rTUrxnlN7Jy9flNk2+RCPdUY30wdn9RQ8f1/W9soJIn3kR5Z87cK+iebKrI9/kCXEgW9YOY/d0JfT9nSg9XyPpMDJ3QW3zRS7c6qy+ub2K9H6495Jq27x7zyo1Bg4cUeaGqr6C15/0L/122MMDuPv/PD9nd/ekdwxZ/j/tT88ambXHFFTVb2aiGj+rPmjq6uqm6vPq8ZtcEGbpqbt2dFo/G7dHeAe0eimUtOMX6u7A8CpL91hkbbetrVE3Lawqvotwyffk0xL6h6o26m7C9yrq2uPFIJwnwsYNkJ4fMyUr7sD4CunZm5NwZVz5+IkOtCOmUVT0/Zs3R3gHitXslFf34o7dMKI9aU75+ITtffV4lkOAAAAI9CX7rAIwJfNunUbc1Kp3kd1d4B7HHRQyzTDSN6kuwPAKQwXAPvg9+dYQoiNujvAPaSkPiG4RXcHAAAAAAAAAAAAAAAAAAAAAAAMH6E7AIbexVUXlyqRnk0sjiHiekH82O3L71iruwu+uhYtWuTZmdhxNTN9l0h0MfGf/Zb/Lzc9eFOP7jb46pk5c6YxIWvcL4jpOyRELpGIscG/q7u3LqG7za1wtYgLKLYeEYres6Q6T7DYzCT/unD2wgN1d8FX1474jr+w4m+TEL8nol8S0XH9nr6bdXfBV9PE7PGPEMnvk5DLyBI/IUEfCovWLpizYIruNrfCcPEVt/D8hQeQoElji8f/+Y777th8+4q624jEr5VUo3S3wVfTwqqFRwmi6fnF40+svb/2hdrltet9Pb4FRERVVVV4jDjsV5ecf8kExRTKD+YfX7u8dlXtg7XNtffX3iSI1kmWp+ruc6sv7R06Yf+4/Z7bP6qpqn6nPb7jjeqq6idJ0Ku199feRUSsuw2+mlhYM0iJ1xYtWpT+ZNuSVUv6iOhCjVnwFaXSqRMli1c+u78RESmiJwTxOUR0u6Y0V8PKhQvkB8f9gImuFUSTBdOjNVXV7y5YsADPyoAhwSx8gsjS3QFuIaYxif+5vzElBNEkDUFAWLn4yltQteCQHc07cutW1P2NiP5GRJdUV1U/KPvoAiJaojkPvoIEiQ9Y8IL/e3NNVc3zrHgWnnIM+5MStJGIryGihUSDJxPH43GPYHEoCzI157kWVi6++sYKQUsurboouPc1C+IuwcKvMwq+ulRAvUREXFNV8+nx7uo51T8jom4MFrC/yaRcKYhyq2dXn0lE1B5vPzKbsl4lwZdIltfr7nMrXIrqAgvnVP+Wmc4lomYmypREOwZ8qdnLli3bo7sNvpqq51R/SzA/SCR6BZFgEr1k0azaB2ubdbfBV8/C8xZ+k6X1EJFIEvNWEuJgIkoK5gW3r1j6ou4+N8Jw4SLV51UflMpMNS9btiyluwVcQdScWxM0MozeW++5tU13DHz1LZizYIpQIndc77gN27O2jxFCzKi7v+5Z3V0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/x/wbBEA2K/OPPnM2cTqJMPwVj/6zKPtRERnnTTzBmJK/vnvq36juw8Ahh4euQ4A+1XKl3qWSBytrPStRERnnXzGT5joF0Ty77rbAGB4YOUCAPa7s0464wdM4hli8TMSvFgwLcWqBYB7GLoDAOCrp2nDux9+o3T6FBK0iIiatvftmB2Px5XuLgAYHjgsAgBDggW3ERGRoB2vvvpqWnMOAAwjrFwAwH73k5N+/C0meR8J/h2xmDN96je2Nm1satDdBQDDAysXALBfnXLKKQFF8gEiemrlc4//mkjcSJJvnnnKzGLdbQAwPDBcAMB+FVCZi4lofNqyFhIRdXHXb4lpC1m0YtGiRfibAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7/W8T7eWi1KtO7gAAAABJRU5ErkJggg==",
"prompt_number": 12,
"svg": [
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\"\n",
" xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n",
" xmlns:gadfly=\"http://www.gadflyjl.org/ns\"\n",
" version=\"1.2\"\n",
" width=\"141.42mm\" height=\"100mm\" viewBox=\"0 0 141.42 100\"\n",
" stroke=\"none\"\n",
" fill=\"#000000\"\n",
" stroke-width=\"0.3\"\n",
" font-size=\"3.88\"\n",
">\n",
"<g class=\"plotroot yscalable\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-1\">\n",
" <g font-size=\"3.88\" font-family=\"'PT Sans','Helvetica Neue','Helvetica',sans-serif\" fill=\"#564A55\" stroke=\"none\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-2\">\n",
" <text x=\"74.22\" y=\"92\" text-anchor=\"middle\">x</text>\n",
" </g>\n",
" <g class=\"guide xlabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-3\">\n",
" <text x=\"32.75\" y=\"86.39\" text-anchor=\"middle\">S</text>\n",
" <text x=\"74.22\" y=\"86.39\" text-anchor=\"middle\">C</text>\n",
" <text x=\"115.69\" y=\"86.39\" text-anchor=\"middle\">Q</text>\n",
" </g>\n",
" <g clip-path=\"url(#fig-a5d0f52666534fb68d35a48634567c7a-element-5)\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-4\">\n",
" <g pointer-events=\"visible\" opacity=\"1\" fill=\"none\" stroke=\"none\" class=\"guide background\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-6\">\n",
" <rect x=\"12.02\" y=\"5\" width=\"124.4\" height=\"77.72\"/>\n",
" </g>\n",
" <g class=\"guide ygridlines xfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-7\">\n",
" <path fill=\"none\" d=\"M12.02,80.72 L 136.42 80.72\"/>\n",
" <path fill=\"none\" d=\"M12.02,62.29 L 136.42 62.29\"/>\n",
" <path fill=\"none\" d=\"M12.02,43.86 L 136.42 43.86\"/>\n",
" <path fill=\"none\" d=\"M12.02,25.43 L 136.42 25.43\"/>\n",
" <path fill=\"none\" d=\"M12.02,7 L 136.42 7\"/>\n",
" </g>\n",
" <g class=\"guide xgridlines yfixed\" stroke-dasharray=\"0.5,0.5\" stroke-width=\"0.2\" stroke=\"#D0D0E0\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-8\">\n",
" <path fill=\"none\" d=\"M53.49,5 L 53.49 82.72\"/>\n",
" <path fill=\"none\" d=\"M94.95,5 L 94.95 82.72\"/>\n",
" </g>\n",
" <g class=\"plotpanel\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-9\">\n",
" <g stroke=\"none\" fill=\"#00BFFF\" shape-rendering=\"crispEdges\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-10\">\n",
" <g class=\"geometry\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-11\">\n",
" <rect x=\"12.02\" y=\"21.37\" width=\"41.47\" height=\"59.34\"/>\n",
" <rect x=\"53.49\" y=\"65.23\" width=\"41.47\" height=\"15.48\"/>\n",
" <rect x=\"94.95\" y=\"73.62\" width=\"41.47\" height=\"7.1\"/>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g class=\"guide ylabels\" font-size=\"2.82\" font-family=\"'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif\" fill=\"#6C606B\" id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-12\">\n",
" <text x=\"11.02\" y=\"80.72\" text-anchor=\"end\" dy=\"0.35em\">0</text>\n",
" <text x=\"11.02\" y=\"62.29\" text-anchor=\"end\" dy=\"0.35em\">200</text>\n",
" <text x=\"11.02\" y=\"43.86\" text-anchor=\"end\" dy=\"0.35em\">400</text>\n",
" <text x=\"11.02\" y=\"25.43\" text-anchor=\"end\" dy=\"0.35em\">600</text>\n",
" <text x=\"11.02\" y=\"7\" text-anchor=\"end\" dy=\"0.35em\">800</text>\n",
" </g>\n",
"</g>\n",
"<defs>\n",
"<clipPath id=\"fig-a5d0f52666534fb68d35a48634567c7a-element-5\">\n",
" <path d=\"M12.02,5 L 136.42 5 136.42 82.72 12.02 82.72\" />\n",
"</clipPath\n",
"></defs>\n",
"</svg>\n"
],
"text": [
"Plot(...)"
]
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"df[:Embarked]=array(df[:Embarked],utf8(\"S\"))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 13,
"text": [
"891-element Array{UTF8String,1}:\n",
" \"S\"\n",
" \"C\"\n",
" \"S\"\n",
" \"S\"\n",
" \"S\"\n",
" \"Q\"\n",
" \"S\"\n",
" \"S\"\n",
" \"S\"\n",
" \"C\"\n",
" \"S\"\n",
" \"S\"\n",
" \"S\"\n",
" \u22ee \n",
" \"C\"\n",
" \"S\"\n",
" \"S\"\n",
" \"S\"\n",
" \"S\"\n",
" \"S\"\n",
" \"Q\"\n",
" \"S\"\n",
" \"S\"\n",
" \"S\"\n",
" \"C\"\n",
" \"Q\""
]
}
],
"prompt_number": 13
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pool!(df,[:Embarked])\n",
"typeof(df[:Embarked])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
"PooledDataArray{UTF8String,Uint8,1} (constructor with 1 method)"
]
}
],
"prompt_number": 14
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"select feature and form a new DataFrame for classification tree"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"newdata=df[:,[:Pclass,:Age,:Sex,:SibSp,:Parch,:Fare,:Embarked]]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<table class=\"data-frame\"><tr><th></th><th>Pclass</th><th>Age</th><th>Sex</th><th>SibSp</th><th>Parch</th><th>Fare</th><th>Embarked</th></tr><tr><th>1</th><td>3</td><td>22.0</td><td>male</td><td>1</td><td>0</td><td>7.25</td><td>S</td></tr><tr><th>2</th><td>1</td><td>38.0</td><td>female</td><td>1</td><td>0</td><td>71.2833</td><td>C</td></tr><tr><th>3</th><td>3</td><td>26.0</td><td>female</td><td>0</td><td>0</td><td>7.925</td><td>S</td></tr><tr><th>4</th><td>1</td><td>35.0</td><td>female</td><td>1</td><td>0</td><td>53.1</td><td>S</td></tr><tr><th>5</th><td>3</td><td>35.0</td><td>male</td><td>0</td><td>0</td><td>8.05</td><td>S</td></tr><tr><th>6</th><td>3</td><td>29.69911764705882</td><td>male</td><td>0</td><td>0</td><td>8.4583</td><td>Q</td></tr><tr><th>7</th><td>1</td><td>54.0</td><td>male</td><td>0</td><td>0</td><td>51.8625</td><td>S</td></tr><tr><th>8</th><td>3</td><td>2.0</td><td>male</td><td>3</td><td>1</td><td>21.075</td><td>S</td></tr><tr><th>9</th><td>3</td><td>27.0</td><td>female</td><td>0</td><td>2</td><td>11.1333</td><td>S</td></tr><tr><th>10</th><td>2</td><td>14.0</td><td>female</td><td>1</td><td>0</td><td>30.0708</td><td>C</td></tr><tr><th>11</th><td>3</td><td>4.0</td><td>female</td><td>1</td><td>1</td><td>16.7</td><td>S</td></tr><tr><th>12</th><td>1</td><td>58.0</td><td>female</td><td>0</td><td>0</td><td>26.55</td><td>S</td></tr><tr><th>13</th><td>3</td><td>20.0</td><td>male</td><td>0</td><td>0</td><td>8.05</td><td>S</td></tr><tr><th>14</th><td>3</td><td>39.0</td><td>male</td><td>1</td><td>5</td><td>31.275</td><td>S</td></tr><tr><th>15</th><td>3</td><td>14.0</td><td>female</td><td>0</td><td>0</td><td>7.8542</td><td>S</td></tr><tr><th>16</th><td>2</td><td>55.0</td><td>female</td><td>0</td><td>0</td><td>16.0</td><td>S</td></tr><tr><th>17</th><td>3</td><td>2.0</td><td>male</td><td>4</td><td>1</td><td>29.125</td><td>Q</td></tr><tr><th>18</th><td>2</td><td>29.69911764705882</td><td>male</td><td>0</td><td>0</td><td>13.0</td><td>S</td></tr><tr><th>19</th><td>3</td><td>31.0</td><td>female</td><td>1</td><td>0</td><td>18.0</td><td>S</td></tr><tr><th>20</th><td>3</td><td>29.69911764705882</td><td>female</td><td>0</td><td>0</td><td>7.225</td><td>C</td></tr><tr><th>21</th><td>2</td><td>35.0</td><td>male</td><td>0</td><td>0</td><td>26.0</td><td>S</td></tr><tr><th>22</th><td>2</td><td>34.0</td><td>male</td><td>0</td><td>0</td><td>13.0</td><td>S</td></tr><tr><th>23</th><td>3</td><td>15.0</td><td>female</td><td>0</td><td>0</td><td>8.0292</td><td>Q</td></tr><tr><th>24</th><td>1</td><td>28.0</td><td>male</td><td>0</td><td>0</td><td>35.5</td><td>S</td></tr><tr><th>25</th><td>3</td><td>8.0</td><td>female</td><td>3</td><td>1</td><td>21.075</td><td>S</td></tr><tr><th>26</th><td>3</td><td>38.0</td><td>female</td><td>1</td><td>5</td><td>31.3875</td><td>S</td></tr><tr><th>27</th><td>3</td><td>29.69911764705882</td><td>male</td><td>0</td><td>0</td><td>7.225</td><td>C</td></tr><tr><th>28</th><td>1</td><td>19.0</td><td>male</td><td>3</td><td>2</td><td>263.0</td><td>S</td></tr><tr><th>29</th><td>3</td><td>29.69911764705882</td><td>female</td><td>0</td><td>0</td><td>7.8792</td><td>Q</td></tr><tr><th>30</th><td>3</td><td>29.69911764705882</td><td>male</td><td>0</td><td>0</td><td>7.8958</td><td>S</td></tr><tr><th>&vellip;</th><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td></tr></table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 15,
"text": [
"891x7 DataFrame\n",
"| Row | Pclass | Age | Sex | SibSp | Parch | Fare | Embarked |\n",
"|-----|--------|---------|----------|-------|-------|---------|----------|\n",
"| 1 | 3 | 22.0 | \"male\" | 1 | 0 | 7.25 | \"S\" |\n",
"| 2 | 1 | 38.0 | \"female\" | 1 | 0 | 71.2833 | \"C\" |\n",
"| 3 | 3 | 26.0 | \"female\" | 0 | 0 | 7.925 | \"S\" |\n",
"| 4 | 1 | 35.0 | \"female\" | 1 | 0 | 53.1 | \"S\" |\n",
"| 5 | 3 | 35.0 | \"male\" | 0 | 0 | 8.05 | \"S\" |\n",
"| 6 | 3 | 29.6991 | \"male\" | 0 | 0 | 8.4583 | \"Q\" |\n",
"| 7 | 1 | 54.0 | \"male\" | 0 | 0 | 51.8625 | \"S\" |\n",
"| 8 | 3 | 2.0 | \"male\" | 3 | 1 | 21.075 | \"S\" |\n",
"| 9 | 3 | 27.0 | \"female\" | 0 | 2 | 11.1333 | \"S\" |\n",
"| 10 | 2 | 14.0 | \"female\" | 1 | 0 | 30.0708 | \"C\" |\n",
"| 11 | 3 | 4.0 | \"female\" | 1 | 1 | 16.7 | \"S\" |\n",
"\u22ee\n",
"| 880 | 1 | 56.0 | \"female\" | 0 | 1 | 83.1583 | \"C\" |\n",
"| 881 | 2 | 25.0 | \"female\" | 0 | 1 | 26.0 | \"S\" |\n",
"| 882 | 3 | 33.0 | \"male\" | 0 | 0 | 7.8958 | \"S\" |\n",
"| 883 | 3 | 22.0 | \"female\" | 0 | 0 | 10.5167 | \"S\" |\n",
"| 884 | 2 | 28.0 | \"male\" | 0 | 0 | 10.5 | \"S\" |\n",
"| 885 | 3 | 25.0 | \"male\" | 0 | 0 | 7.05 | \"S\" |\n",
"| 886 | 3 | 39.0 | \"female\" | 0 | 5 | 29.125 | \"Q\" |\n",
"| 887 | 2 | 27.0 | \"male\" | 0 | 0 | 13.0 | \"S\" |\n",
"| 888 | 1 | 19.0 | \"female\" | 0 | 0 | 30.0 | \"S\" |\n",
"| 889 | 3 | 29.6991 | \"female\" | 1 | 2 | 23.45 | \"S\" |\n",
"| 890 | 1 | 26.0 | \"male\" | 0 | 0 | 30.0 | \"C\" |\n",
"| 891 | 3 | 32.0 | \"male\" | 0 | 0 | 7.75 | \"Q\" |"
]
}
],
"prompt_number": 15
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"describe(newdata)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Pclass"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Min 1.0\n",
"1st Qu. 2.0\n",
"Median 3.0\n",
"Mean 2.308641975308642\n",
"3rd Qu. 3.0\n",
"Max 3.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Age\n",
"Min 0.42\n",
"1st Qu. 22.0\n",
"Median 29.69911764705882\n",
"Mean 29.699117647058845\n",
"3rd Qu. 35.0\n",
"Max 80.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Sex\n",
"Length 891"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Type Pooled UTF8String\n",
"NAs 0\n",
"NA% 0.0%\n",
"Unique 2\n",
"\n",
"SibSp\n",
"Min 0.0\n",
"1st Qu. 0.0\n",
"Median 0.0\n",
"Mean 0.5230078563411896\n",
"3rd Qu. 1.0\n",
"Max 8.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Parch\n",
"Min 0.0\n",
"1st Qu. 0.0\n",
"Median 0.0\n",
"Mean 0.38159371492704824\n",
"3rd Qu. 0.0\n",
"Max 6.0\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Fare\n",
"Min 0.0\n",
"1st Qu. 7.9104\n",
"Median 14.4542\n",
"Mean 32.20420796857464\n",
"3rd Qu. 31.0\n",
"Max 512.3292\n",
"NAs 0\n",
"NA% 0.0%\n",
"\n",
"Embarked\n",
"Length 891\n",
"Type Pooled UTF8String\n",
"NAs 0\n",
"NA% 0.0%\n",
"Unique 3\n",
"\n"
]
}
],
"prompt_number": 16
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"Tree Classification"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"using DecisionTree"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"xTrain=newdata"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<table class=\"data-frame\"><tr><th></th><th>Pclass</th><th>Age</th><th>Sex</th><th>SibSp</th><th>Parch</th><th>Fare</th><th>Embarked</th></tr><tr><th>1</th><td>3</td><td>22.0</td><td>male</td><td>1</td><td>0</td><td>7.25</td><td>S</td></tr><tr><th>2</th><td>1</td><td>38.0</td><td>female</td><td>1</td><td>0</td><td>71.2833</td><td>C</td></tr><tr><th>3</th><td>3</td><td>26.0</td><td>female</td><td>0</td><td>0</td><td>7.925</td><td>S</td></tr><tr><th>4</th><td>1</td><td>35.0</td><td>female</td><td>1</td><td>0</td><td>53.1</td><td>S</td></tr><tr><th>5</th><td>3</td><td>35.0</td><td>male</td><td>0</td><td>0</td><td>8.05</td><td>S</td></tr><tr><th>6</th><td>3</td><td>29.69911764705882</td><td>male</td><td>0</td><td>0</td><td>8.4583</td><td>Q</td></tr><tr><th>7</th><td>1</td><td>54.0</td><td>male</td><td>0</td><td>0</td><td>51.8625</td><td>S</td></tr><tr><th>8</th><td>3</td><td>2.0</td><td>male</td><td>3</td><td>1</td><td>21.075</td><td>S</td></tr><tr><th>9</th><td>3</td><td>27.0</td><td>female</td><td>0</td><td>2</td><td>11.1333</td><td>S</td></tr><tr><th>10</th><td>2</td><td>14.0</td><td>female</td><td>1</td><td>0</td><td>30.0708</td><td>C</td></tr><tr><th>11</th><td>3</td><td>4.0</td><td>female</td><td>1</td><td>1</td><td>16.7</td><td>S</td></tr><tr><th>12</th><td>1</td><td>58.0</td><td>female</td><td>0</td><td>0</td><td>26.55</td><td>S</td></tr><tr><th>13</th><td>3</td><td>20.0</td><td>male</td><td>0</td><td>0</td><td>8.05</td><td>S</td></tr><tr><th>14</th><td>3</td><td>39.0</td><td>male</td><td>1</td><td>5</td><td>31.275</td><td>S</td></tr><tr><th>15</th><td>3</td><td>14.0</td><td>female</td><td>0</td><td>0</td><td>7.8542</td><td>S</td></tr><tr><th>16</th><td>2</td><td>55.0</td><td>female</td><td>0</td><td>0</td><td>16.0</td><td>S</td></tr><tr><th>17</th><td>3</td><td>2.0</td><td>male</td><td>4</td><td>1</td><td>29.125</td><td>Q</td></tr><tr><th>18</th><td>2</td><td>29.69911764705882</td><td>male</td><td>0</td><td>0</td><td>13.0</td><td>S</td></tr><tr><th>19</th><td>3</td><td>31.0</td><td>female</td><td>1</td><td>0</td><td>18.0</td><td>S</td></tr><tr><th>20</th><td>3</td><td>29.69911764705882</td><td>female</td><td>0</td><td>0</td><td>7.225</td><td>C</td></tr><tr><th>21</th><td>2</td><td>35.0</td><td>male</td><td>0</td><td>0</td><td>26.0</td><td>S</td></tr><tr><th>22</th><td>2</td><td>34.0</td><td>male</td><td>0</td><td>0</td><td>13.0</td><td>S</td></tr><tr><th>23</th><td>3</td><td>15.0</td><td>female</td><td>0</td><td>0</td><td>8.0292</td><td>Q</td></tr><tr><th>24</th><td>1</td><td>28.0</td><td>male</td><td>0</td><td>0</td><td>35.5</td><td>S</td></tr><tr><th>25</th><td>3</td><td>8.0</td><td>female</td><td>3</td><td>1</td><td>21.075</td><td>S</td></tr><tr><th>26</th><td>3</td><td>38.0</td><td>female</td><td>1</td><td>5</td><td>31.3875</td><td>S</td></tr><tr><th>27</th><td>3</td><td>29.69911764705882</td><td>male</td><td>0</td><td>0</td><td>7.225</td><td>C</td></tr><tr><th>28</th><td>1</td><td>19.0</td><td>male</td><td>3</td><td>2</td><td>263.0</td><td>S</td></tr><tr><th>29</th><td>3</td><td>29.69911764705882</td><td>female</td><td>0</td><td>0</td><td>7.8792</td><td>Q</td></tr><tr><th>30</th><td>3</td><td>29.69911764705882</td><td>male</td><td>0</td><td>0</td><td>7.8958</td><td>S</td></tr><tr><th>&vellip;</th><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td></tr></table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"891x7 DataFrame\n",
"| Row | Pclass | Age | Sex | SibSp | Parch | Fare | Embarked |\n",
"|-----|--------|---------|----------|-------|-------|---------|----------|\n",
"| 1 | 3 | 22.0 | \"male\" | 1 | 0 | 7.25 | \"S\" |\n",
"| 2 | 1 | 38.0 | \"female\" | 1 | 0 | 71.2833 | \"C\" |\n",
"| 3 | 3 | 26.0 | \"female\" | 0 | 0 | 7.925 | \"S\" |\n",
"| 4 | 1 | 35.0 | \"female\" | 1 | 0 | 53.1 | \"S\" |\n",
"| 5 | 3 | 35.0 | \"male\" | 0 | 0 | 8.05 | \"S\" |\n",
"| 6 | 3 | 29.6991 | \"male\" | 0 | 0 | 8.4583 | \"Q\" |\n",
"| 7 | 1 | 54.0 | \"male\" | 0 | 0 | 51.8625 | \"S\" |\n",
"| 8 | 3 | 2.0 | \"male\" | 3 | 1 | 21.075 | \"S\" |\n",
"| 9 | 3 | 27.0 | \"female\" | 0 | 2 | 11.1333 | \"S\" |\n",
"| 10 | 2 | 14.0 | \"female\" | 1 | 0 | 30.0708 | \"C\" |\n",
"| 11 | 3 | 4.0 | \"female\" | 1 | 1 | 16.7 | \"S\" |\n",
"\u22ee\n",
"| 880 | 1 | 56.0 | \"female\" | 0 | 1 | 83.1583 | \"C\" |\n",
"| 881 | 2 | 25.0 | \"female\" | 0 | 1 | 26.0 | \"S\" |\n",
"| 882 | 3 | 33.0 | \"male\" | 0 | 0 | 7.8958 | \"S\" |\n",
"| 883 | 3 | 22.0 | \"female\" | 0 | 0 | 10.5167 | \"S\" |\n",
"| 884 | 2 | 28.0 | \"male\" | 0 | 0 | 10.5 | \"S\" |\n",
"| 885 | 3 | 25.0 | \"male\" | 0 | 0 | 7.05 | \"S\" |\n",
"| 886 | 3 | 39.0 | \"female\" | 0 | 5 | 29.125 | \"Q\" |\n",
"| 887 | 2 | 27.0 | \"male\" | 0 | 0 | 13.0 | \"S\" |\n",
"| 888 | 1 | 19.0 | \"female\" | 0 | 0 | 30.0 | \"S\" |\n",
"| 889 | 3 | 29.6991 | \"female\" | 1 | 2 | 23.45 | \"S\" |\n",
"| 890 | 1 | 26.0 | \"male\" | 0 | 0 | 30.0 | \"C\" |\n",
"| 891 | 3 | 32.0 | \"male\" | 0 | 0 | 7.75 | \"Q\" |"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"yTrain=df[:Survived]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
"891-element PooledDataArray{Int64,Uint8,1}:\n",
" 0\n",
" 1\n",
" 1\n",
" 1\n",
" 0\n",
" 0\n",
" 0\n",
" 0\n",
" 1\n",
" 1\n",
" 1\n",
" 1\n",
" 0\n",
" \u22ee\n",
" 1\n",
" 1\n",
" 0\n",
" 0\n",
" 0\n",
" 0\n",
" 0\n",
" 0\n",
" 1\n",
" 0\n",
" 1\n",
" 0"
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"yTrain=array(yTrain)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 26,
"text": [
"891-element Array{Int64,1}:\n",
" 0\n",
" 1\n",
" 1\n",
" 1\n",
" 0\n",
" 0\n",
" 0\n",
" 0\n",
" 1\n",
" 1\n",
" 1\n",
" 1\n",
" 0\n",
" \u22ee\n",
" 1\n",
" 1\n",
" 0\n",
" 0\n",
" 0\n",
" 0\n",
" 0\n",
" 0\n",
" 1\n",
" 0\n",
" 1\n",
" 0"
]
}
],
"prompt_number": 26
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"xTrain=array(xTrain)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 27,
"text": [
"891x7 Array{Any,2}:\n",
" 3 22.0 \"male\" 1 0 7.25 \"S\"\n",
" 1 38.0 \"female\" 1 0 71.2833 \"C\"\n",
" 3 26.0 \"female\" 0 0 7.925 \"S\"\n",
" 1 35.0 \"female\" 1 0 53.1 \"S\"\n",
" 3 35.0 \"male\" 0 0 8.05 \"S\"\n",
" 3 29.6991 \"male\" 0 0 8.4583 \"Q\"\n",
" 1 54.0 \"male\" 0 0 51.8625 \"S\"\n",
" 3 2.0 \"male\" 3 1 21.075 \"S\"\n",
" 3 27.0 \"female\" 0 2 11.1333 \"S\"\n",
" 2 14.0 \"female\" 1 0 30.0708 \"C\"\n",
" 3 4.0 \"female\" 1 1 16.7 \"S\"\n",
" 1 58.0 \"female\" 0 0 26.55 \"S\"\n",
" 3 20.0 \"male\" 0 0 8.05 \"S\"\n",
" \u22ee \u22ee \n",
" 1 56.0 \"female\" 0 1 83.1583 \"C\"\n",
" 2 25.0 \"female\" 0 1 26.0 \"S\"\n",
" 3 33.0 \"male\" 0 0 7.8958 \"S\"\n",
" 3 22.0 \"female\" 0 0 10.5167 \"S\"\n",
" 2 28.0 \"male\" 0 0 10.5 \"S\"\n",
" 3 25.0 \"male\" 0 0 7.05 \"S\"\n",
" 3 39.0 \"female\" 0 5 29.125 \"Q\"\n",
" 2 27.0 \"male\" 0 0 13.0 \"S\"\n",
" 1 19.0 \"female\" 0 0 30.0 \"S\"\n",
" 3 29.6991 \"female\" 1 2 23.45 \"S\"\n",
" 1 26.0 \"male\" 0 0 30.0 \"C\"\n",
" 3 32.0 \"male\" 0 0 7.75 \"Q\""
]
}
],
"prompt_number": 27
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"accuracy = nfoldCV_forest(yTrain, xTrain, 5, 20, 4, 0.7)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Fold 1"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Classes: {0,1}\n",
"Matrix: \n",
"[125 12\n",
" 23 62]\n",
"Accuracy: 0.8423423423423423\n",
"Kappa: 0.6579804560260585\n",
"\n",
"Fold "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"2\n",
"Classes: {0,1}\n",
"Matrix: \n",
"[134 11\n",
" 26 51]\n",
"Accuracy: 0.8333333333333334\n",
"Kappa: 0.6145471609572971\n",
"\n",
"Fold "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"3\n",
"Classes: {0,1}\n",
"Matrix: \n",
"[121 19\n",
" 26 56]\n",
"Accuracy: 0.7972972972972973\n",
"Kappa: 0.5570630486831604\n",
"\n",
"Fold "
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"4\n",
"Classes: {0,1}\n",
"Matrix: \n",
"[110 15\n",
" 26 71]\n",
"Accuracy: 0.8153153153153153\n",
"Kappa: 0.6198312588756161\n",
"\n",
"Mean Accuracy: 0.822072072072072\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 31,
"text": [
"4-element Array{Float64,1}:\n",
" 0.842342\n",
" 0.833333\n",
" 0.797297\n",
" 0.815315"
]
}
],
"prompt_number": 31
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment