Skip to content

Instantly share code, notes, and snippets.

@mjumbewu
Created January 21, 2011 18:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mjumbewu/790129 to your computer and use it in GitHub Desktop.
Save mjumbewu/790129 to your computer and use it in GitHub Desktop.
An SVG-based map of the United States of America
<!--
Thanks to:
@atogle, @evansml, @maxogden, @chachasikes, @peterfecteau, @mjumbewu
-->
<!doctype html>
<html>
<head>
<title>United States</title>
<style type="text/css" media="screen">
#canvas {
height: 300px;
left: 50%;
margin: -150px 0 0 -300px;
position: absolute;
top: 50%;
width: 600px;
}
#paper {
height: 300px;
left: 0;
position: absolute;
top: 0;
width: 300px;
}
.state-desc {
display: none;
height: 400px;
overflow: auto;
position: absolute;
left: 0;
top: 0;
width: 300px;
}
h2 {
text-align: center;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script src="raphael-min.js" type="text/javascript" charset="utf-8"></script>
<script src="raphael.zoom.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
//var R = Raphael("paper", 900, 900);
var R = Raphael(150, 150, 900, 900);
var attr = {
fill: "#333",
stroke: "#666",
"stroke-width": 1,
"stroke-linejoin": "round"
};
var attr = {
fill: "#333",
stroke: "#666",
"stroke-width": 1,
"stroke-linejoin": "round"
}
var us = {
'hi' : {
svg: R.path("M 233.08751,519.30948 L 235.02744,515.75293 L 237.2907,515.42961 L 237.61402,516.23791 L 235.51242,519.30948 L 233.08751,519.30948 z M 243.27217,515.59127 L 249.4153,518.17784 L 251.51689,517.85452 L 253.1335,513.97465 L 252.48686,510.57977 L 248.28366,510.09479 L 244.24213,511.87306 L 243.27217,515.59127 z M 273.9878,525.61427 L 277.706,531.11074 L 280.13092,530.78742 L 281.26255,530.30244 L 282.7175,531.59573 L 286.43571,531.43407 L 287.40568,529.97912 L 284.49577,528.20085 L 282.55584,524.48263 L 280.45424,520.92609 L 274.63444,523.83599 L 273.9878,525.61427 z M 294.19545,534.50564 L 295.48874,532.5657 L 300.17691,533.53566 L 300.82356,533.05068 L 306.96668,533.69732 L 306.64336,534.99062 L 304.05678,536.44556 L 299.69193,536.12224 L 294.19545,534.50564 z M 299.53027,539.67879 L 301.47021,543.55866 L 304.54176,542.42703 L 304.86509,540.81041 L 303.24848,538.70882 L 299.53027,538.3855 L 299.53027,539.67879 z M 306.4817,538.54716 L 308.74496,535.63726 L 313.43313,538.06218 L 317.79798,539.19381 L 322.16284,541.94205 L 322.16284,543.88198 L 318.6063,545.66026 L 313.75645,546.63022 L 311.33154,545.17527 L 306.4817,538.54716 z M 323.13281,554.06663 L 324.74942,552.77335 L 328.14431,554.38997 L 335.74238,557.94651 L 339.13727,560.0481 L 340.75387,562.47302 L 342.69381,566.83787 L 346.73534,569.42445 L 346.41202,570.71775 L 342.53215,573.95097 L 338.32896,575.40592 L 336.87401,574.75928 L 333.80244,576.53754 L 331.37753,579.77077 L 329.11427,582.68067 L 327.33599,582.51901 L 323.77945,579.93243 L 323.45613,575.40592 L 324.10277,572.981 L 322.48616,567.32286 L 320.38456,565.54458 L 320.2229,562.958 L 322.48616,561.98804 L 324.58776,558.91648 L 325.07274,557.94651 L 323.45613,556.16823 L 323.13281,554.06663 z").attr("id", "HI").attr(attr),
name: "Hawaii",
desc: ""
},
'ak' : {
svg: R.path("M 158.07671,453.67502 L 157.75339,539.03215 L 159.36999,540.00211 L 162.44156,540.16377 L 163.8965,539.03215 L 166.48308,539.03215 L 166.64475,541.94205 L 173.59618,548.73182 L 174.08117,551.3184 L 177.47605,549.37846 L 178.1227,549.2168 L 178.44602,546.14524 L 179.90096,544.52863 L 181.0326,544.36697 L 182.97253,542.91201 L 186.04409,545.01361 L 186.69074,547.92352 L 188.63067,549.05514 L 189.7623,551.48006 L 193.64218,553.25833 L 197.03706,559.2398 L 199.78529,563.11966 L 202.04855,565.86791 L 203.50351,569.58611 L 208.515,571.36439 L 213.68817,573.46598 L 214.65813,577.83084 L 215.14311,580.9024 L 214.17315,584.29729 L 212.39487,586.56054 L 210.77826,585.75224 L 209.32331,582.68067 L 206.57507,581.22573 L 204.7968,580.09409 L 203.98849,580.9024 L 205.44344,583.65065 L 205.6051,587.36885 L 204.47347,587.85383 L 202.53354,585.9139 L 200.43195,584.62061 L 200.91693,586.23722 L 202.21021,588.0155 L 201.40191,588.8238 C 201.40191,588.8238 200.59361,588.50048 200.10863,587.85383 C 199.62363,587.20719 198.00703,584.45895 198.00703,584.45895 L 197.03706,582.19569 C 197.03706,582.19569 196.71374,583.48898 196.06709,583.16565 C 195.42044,582.84233 194.7738,581.71071 194.7738,581.71071 L 196.55207,579.77077 L 195.09712,578.31582 L 195.09712,573.30432 L 194.28882,573.30432 L 193.48052,576.6992 L 192.34888,577.1842 L 191.37892,573.46598 L 190.73227,569.74777 L 189.92396,569.26279 L 190.24729,574.92094 L 190.24729,576.05256 L 188.79233,574.75928 L 185.23579,568.77781 L 183.13419,568.29283 L 182.48755,564.57462 L 180.87094,561.66472 L 179.25432,560.53308 L 179.25432,558.26983 L 181.35592,556.97654 L 180.87094,556.65322 L 178.28436,557.29986 L 174.88947,554.87495 L 172.30289,551.96504 L 167.45306,549.37846 L 163.41152,546.79188 L 164.70482,543.55866 L 164.70482,541.94205 L 162.92654,543.55866 L 160.01664,544.69029 L 156.29843,543.55866 L 150.64028,541.13375 L 145.14381,541.13375 L 144.49717,541.61873 L 138.03072,537.73885 L 135.92912,537.41553 L 133.18088,531.59573 L 129.62433,531.91905 L 126.06778,533.374 L 126.55277,537.90052 L 127.68439,534.99062 L 128.65437,535.31394 L 127.19941,539.67879 L 130.43263,536.93055 L 131.07928,538.54716 L 127.19941,542.91201 L 125.90612,542.58869 L 125.42114,540.64875 L 124.12785,539.84045 L 122.83456,540.97208 L 120.08632,539.19381 L 117.01475,541.29541 L 115.23649,543.397 L 111.8416,545.4986 L 107.15342,545.33693 L 106.66844,543.23534 L 110.38664,542.58869 L 110.38664,541.29541 L 108.12338,540.64875 L 109.09336,538.22384 L 111.35661,534.34397 L 111.35661,532.5657 L 111.51827,531.75739 L 115.88313,529.49413 L 116.85309,530.78742 L 119.60134,530.78742 L 118.30805,528.20085 L 114.58983,527.87752 L 109.57834,530.62576 L 107.15342,534.02064 L 105.37515,536.60723 L 104.24352,538.87049 L 100.04033,540.32543 L 96.96876,542.91201 L 96.645439,544.52863 L 98.908696,545.4986 L 99.717009,547.60018 L 96.96876,550.83341 L 90.502321,555.03661 L 82.742574,559.2398 L 80.640977,560.37142 L 75.306159,561.50306 L 69.971333,563.76631 L 71.749608,565.0596 L 70.294654,566.51455 L 69.809672,567.64618 L 67.061434,566.67621 L 63.828214,566.83787 L 63.019902,569.10113 L 62.049939,569.10113 L 62.37326,566.67621 L 58.816709,567.96951 L 55.90681,568.93947 L 52.511924,567.64618 L 49.602023,569.58611 L 46.368799,569.58611 L 44.267202,570.87941 L 42.65059,571.68771 L 40.548995,571.36439 L 37.962415,570.23276 L 35.699158,570.87941 L 34.729191,571.84937 L 33.112578,570.71775 L 33.112578,568.77781 L 36.184142,567.48452 L 42.488929,568.13117 L 46.853782,566.51455 L 48.955378,564.41296 L 51.86528,563.76631 L 53.643553,562.958 L 56.391794,563.11966 L 58.008406,564.41296 L 58.978369,564.08964 L 61.241626,561.3414 L 64.313196,560.37142 L 67.708076,559.72478 L 69.00137,559.40146 L 69.648012,559.88644 L 70.456324,559.88644 L 71.749608,556.16823 L 75.791141,554.71329 L 77.731077,550.99508 L 79.994336,546.46856 L 81.610951,545.01361 L 81.934272,542.42703 L 80.317657,543.72032 L 76.922764,544.36697 L 76.276122,541.94205 L 74.982838,541.61873 L 74.012865,542.58869 L 73.851205,545.4986 L 72.39625,545.33693 L 70.941306,539.51713 L 69.648012,540.81041 L 68.516388,540.32543 L 68.193068,538.3855 L 64.151535,538.54716 L 62.049939,539.67879 L 59.463361,539.35547 L 60.918305,537.90052 L 61.403286,535.31394 L 60.756645,533.374 L 62.211599,532.40404 L 63.504883,532.24238 L 62.858241,530.4641 L 62.858241,526.09925 L 61.888278,525.12928 L 61.079966,526.58423 L 54.936843,526.58423 L 53.481892,525.29094 L 52.835247,521.41108 L 50.733651,517.85452 L 50.733651,516.88456 L 52.835247,516.07625 L 52.996908,513.97465 L 54.128536,512.84303 L 53.320231,512.35805 L 52.026941,512.84303 L 50.895313,510.09479 L 51.86528,505.08328 L 56.391794,501.85007 L 58.978369,500.23345 L 60.918305,496.51525 L 63.666554,495.22195 L 66.253132,496.35359 L 66.576453,498.77851 L 69.00137,498.45517 L 72.23459,496.03026 L 73.851205,496.67691 L 74.821167,497.32355 L 76.437782,497.32355 L 78.701041,496.03026 L 79.509354,491.6654 C 79.509354,491.6654 79.832675,488.75551 80.479317,488.27052 C 81.125959,487.78554 81.44928,487.30056 81.44928,487.30056 L 80.317657,485.36062 L 77.731077,486.16893 L 74.497847,486.97723 L 72.557911,486.49225 L 69.00137,484.71397 L 63.989875,484.55231 L 60.433324,480.83411 L 60.918305,476.95424 L 61.564957,474.52932 L 59.463361,472.75105 L 57.523423,469.03283 L 58.008406,468.22453 L 64.798177,467.73955 L 66.899773,467.73955 L 67.869736,468.70951 L 68.516388,468.70951 L 68.354728,467.0929 L 72.23459,466.44626 L 74.821167,466.76958 L 76.276122,467.90121 L 74.821167,470.00281 L 74.336186,471.45775 L 77.084435,473.07437 L 82.095932,474.85264 L 83.874208,473.88268 L 81.610951,469.51783 L 80.640977,466.2846 L 81.610951,465.47629 L 78.21606,463.53636 L 77.731077,462.40472 L 78.21606,460.78812 L 77.407756,456.90825 L 74.497847,452.22007 L 72.072929,448.01688 L 74.982838,446.07694 L 78.21606,446.07694 L 79.994336,446.72359 L 84.197528,446.56193 L 87.915733,443.00539 L 89.047366,439.93382 L 92.765578,437.5089 L 94.382182,438.47887 L 97.130421,437.83222 L 100.84863,435.73062 L 101.98027,435.56896 L 102.95023,436.37728 L 107.47674,436.21561 L 110.22498,433.14405 L 111.35661,433.14405 L 114.91316,435.56896 L 116.85309,437.67056 L 116.36811,438.80219 L 117.01475,439.93382 L 118.63137,438.31721 L 122.51124,438.64053 L 122.83456,442.35873 L 124.7745,443.81369 L 131.88759,444.46033 L 138.19238,448.66352 L 139.64732,447.69356 L 144.82049,450.28014 L 146.92208,449.6335 L 148.86202,448.82518 L 153.71185,450.76512 L 158.07671,453.67502 z M 42.973913,482.61238 L 45.075509,487.9472 L 44.913847,488.91717 L 42.003945,488.59384 L 40.225672,484.55231 L 38.447399,483.09737 L 36.02248,483.09737 L 35.86082,480.51078 L 37.639093,478.08586 L 38.770722,480.51078 L 40.225672,481.96573 L 42.973913,482.61238 z M 40.387333,516.07625 L 44.105542,516.88456 L 47.823749,517.85452 L 48.632056,518.8245 L 47.015444,522.5427 L 43.94388,522.38104 L 40.548995,518.8245 L 40.387333,516.07625 z M 19.694697,502.01173 L 20.826327,504.5983 L 21.957955,506.21492 L 20.826327,507.02322 L 18.72473,503.95166 L 18.72473,502.01173 L 19.694697,502.01173 z M 5.9534943,575.0826 L 9.3483796,572.81934 L 12.743265,571.84937 L 15.329845,572.17269 L 15.814828,573.7893 L 17.754763,574.27429 L 19.694697,572.33436 L 19.371375,570.71775 L 22.119616,570.0711 L 25.029518,572.65768 L 23.897889,574.43595 L 19.533037,575.56758 L 16.784795,575.0826 L 13.066588,573.95097 L 8.7017347,575.40592 L 7.0851227,575.72924 L 5.9534943,575.0826 z M 54.936843,570.55609 L 56.553455,572.49602 L 58.655048,570.87941 L 57.2001,569.58611 L 54.936843,570.55609 z M 57.846745,573.62764 L 58.978369,571.36439 L 61.079966,571.68771 L 60.271663,573.62764 L 57.846745,573.62764 z M 81.44928,571.68771 L 82.904234,573.46598 L 83.874208,572.33436 L 83.065895,570.39442 L 81.44928,571.68771 z M 90.17899,559.2398 L 91.310623,565.0596 L 94.220522,565.86791 L 99.232017,562.958 L 103.59687,560.37142 L 101.98027,557.94651 L 102.46525,555.52159 L 100.36365,556.81488 L 97.453752,556.00657 L 99.070357,554.87495 L 101.01029,555.68325 L 104.89016,553.90497 L 105.37515,552.45003 L 102.95023,551.64172 L 103.75853,549.70178 L 101.01029,551.64172 L 96.322118,555.19827 L 91.472284,558.10817 L 90.17899,559.2398 z M 132.53423,539.35547 L 134.95915,537.90052 L 133.98918,536.12224 L 132.21091,537.09221 L 132.53423,539.35547 z").attr("id", "AK").attr(attr),
name: "Alaska",
desc: ""
},
'fl' : {
svg: R.path("M 759.8167,439.1428 L 762.08236,446.4614 L 765.81206,456.20366 L 771.14685,465.57996 L 774.86504,471.88472 L 779.71486,477.38118 L 783.75637,481.09937 L 785.37297,484.00926 L 784.24135,485.30254 L 783.43305,486.59582 L 786.34293,494.03221 L 789.25282,496.94209 L 791.83939,502.27689 L 795.39592,508.09667 L 799.92241,516.34135 L 801.2157,523.93939 L 801.70068,535.90227 L 802.34732,537.68053 L 802.024,541.0754 L 799.59909,542.36869 L 799.92241,544.30861 L 799.27577,546.24854 L 799.59909,548.67344 L 800.08407,550.61337 L 797.33585,553.84658 L 794.2643,555.30152 L 790.38445,555.46318 L 788.9295,557.07979 L 786.5046,558.04975 L 785.21131,557.56477 L 784.07969,556.59481 L 783.75637,553.68492 L 782.94806,550.29005 L 779.55319,545.11691 L 775.99666,542.85367 L 772.11681,542.53035 L 771.30851,543.82363 L 768.23696,539.4588 L 767.59032,535.90227 L 765.00375,531.86076 L 763.22549,530.72913 L 761.60888,532.83072 L 759.83062,532.5074 L 757.72903,527.49592 L 754.81914,523.61607 L 751.90925,518.28128 L 749.32269,515.20973 L 745.76616,511.49154 L 747.86774,509.06663 L 751.10095,503.57017 L 750.93929,501.95357 L 746.4128,500.98361 L 744.79619,501.63025 L 745.11952,502.27689 L 747.70608,503.24685 L 746.25114,507.77335 L 745.44284,508.25833 L 743.66457,504.21682 L 742.37129,499.367 L 742.04797,496.61877 L 743.50291,491.93062 L 743.50291,482.39265 L 740.43136,478.67446 L 739.13808,475.60291 L 733.96494,474.30963 L 732.02502,473.66299 L 730.40841,471.07642 L 727.01354,469.45981 L 725.88192,466.06494 L 723.13369,465.09498 L 720.70878,461.37679 L 716.50561,459.92185 L 713.59572,458.4669 L 711.00916,458.4669 L 706.96764,459.27521 L 706.80598,461.21513 L 707.61429,462.18509 L 707.1293,463.31672 L 704.05776,463.15506 L 700.33957,466.71159 L 696.78303,468.65151 L 692.90318,468.65151 L 689.66997,469.9448 L 689.34665,467.19657 L 687.73005,465.25664 L 684.82016,464.12502 L 683.20356,462.67007 L 675.12053,458.79022 L 667.52249,457.01196 L 663.15766,457.6586 L 657.17622,458.14358 L 651.19478,460.24517 L 647.71554,460.85813 L 647.47762,452.80838 L 644.89105,450.86846 L 643.11278,449.09019 L 643.4361,446.01863 L 653.62072,444.72535 L 679.16312,441.81546 L 685.95287,441.16882 L 691.38887,441.44909 L 693.97544,445.32895 L 695.43038,446.78389 L 703.52854,447.29911 L 714.34829,446.65247 L 735.86068,445.35918 L 741.3064,444.68481 L 746.41398,444.88932 L 746.84081,447.79921 L 749.07381,448.60751 L 749.30875,443.97751 L 747.78053,439.80456 L 749.08893,438.36473 L 754.64356,438.81948 L 759.8167,439.1428 z M 772.36211,571.54788 L 774.78703,570.90124 L 776.08031,570.65875 L 777.53527,568.31466 L 779.87935,566.69805 L 781.17264,567.18304 L 782.87008,567.50636 L 783.27423,568.55715 L 779.79853,569.76961 L 775.59533,571.22456 L 773.25125,572.43702 L 772.36211,571.54788 z M 785.86081,566.53639 L 787.07327,567.58719 L 789.82151,565.4856 L 795.15632,561.28241 L 798.87452,557.40254 L 801.38027,550.77444 L 802.35024,549.077 L 802.5119,545.68212 L 801.78442,546.1671 L 800.81446,548.99617 L 799.3595,553.6035 L 796.12628,558.8575 L 791.76144,563.06068 L 788.36656,565.00061 L 785.86081,566.53639 z").attr("id", "FL").attr(attr),
name: "Florida",
desc: ""
},
'nh' : {
svg: R.path("M 880.79902,142.42476 L 881.66802,141.34826 L 882.75824,138.05724 L 880.21516,137.14377 L 879.73017,134.07221 L 875.85032,132.94059 L 875.527,130.19235 L 868.25225,106.75153 L 863.65083,92.208542 L 862.75375,92.203482 L 862.10711,93.820087 L 861.46047,93.335106 L 860.4905,92.365143 L 859.03556,94.305068 L 858.98709,99.337122 L 859.29874,105.00434 L 861.23866,107.75258 L 861.23866,111.7941 L 857.52046,116.85688 L 854.93389,117.98852 L 854.93389,119.12014 L 856.06552,120.89841 L 856.06552,129.46643 L 855.25721,138.6811 L 855.09555,143.53092 L 856.06552,144.82422 L 855.90386,149.35071 L 855.41887,151.12899 L 856.38768,151.83821 L 873.17535,147.41366 L 875.35022,146.81121 L 877.19379,144.03788 L 880.79902,142.42476 z").attr("id", "NH").attr(attr),
name: "New Hampshire",
desc: ""
},
'mi' : {
svg: R.path("M 697.86007,177.23689 L 694.62686,168.9922 L 692.36361,159.93922 L 689.93871,156.70601 L 687.35214,154.92774 L 685.73554,156.05937 L 681.85568,157.83763 L 679.91576,162.84911 L 677.16753,166.5673 L 676.03591,167.21394 L 674.58096,166.5673 C 674.58096,166.5673 671.9944,165.11235 672.15606,164.46571 C 672.31772,163.81907 672.64104,159.45424 672.64104,159.45424 L 676.03591,158.16095 L 676.84421,154.76608 L 677.49085,152.17952 L 679.91576,150.56291 L 679.59244,140.53996 L 677.97583,138.27672 L 676.68255,137.46841 L 675.87425,135.36683 L 676.68255,134.55853 L 678.29915,134.88185 L 678.46081,133.26524 L 676.03591,131.00199 L 674.74262,128.41543 L 672.15606,128.41543 L 667.62956,126.96048 L 662.13311,123.56561 L 659.38488,123.56561 L 658.73824,124.21226 L 657.76827,123.72727 L 654.69673,121.46403 L 651.78684,123.24229 L 648.87695,125.50554 L 649.20027,129.06207 L 650.17023,129.38539 L 652.27182,129.87037 L 652.7568,130.67867 L 650.17023,131.48698 L 647.58367,131.8103 L 646.12872,133.58856 L 645.8054,135.69015 L 646.12872,137.30675 L 646.45204,142.80321 L 642.89551,144.9048 L 642.24887,144.74313 L 642.24887,140.53996 L 643.54215,138.11506 L 644.1888,135.69015 L 643.38049,134.88185 L 641.44057,135.69015 L 640.4706,139.89332 L 637.72238,141.02494 L 635.94411,142.96487 L 635.78245,143.93483 L 636.42909,144.74313 L 635.78245,147.3297 L 633.5192,147.81468 L 633.5192,148.94631 L 634.32751,151.37121 L 633.19588,157.51431 L 631.57928,161.55582 L 632.22592,166.24398 L 632.7109,167.3756 L 631.9026,169.80051 L 631.57928,170.60881 L 631.25596,173.35704 L 634.81249,179.33847 L 637.72238,185.80489 L 639.17732,190.65471 L 638.36902,195.34286 L 637.39906,201.3243 L 634.97415,206.49743 L 634.65083,209.24566 L 631.39196,212.33081 L 635.80057,212.16876 L 657.21906,209.90551 L 664.4969,208.91845 L 664.59327,210.5848 L 671.44521,209.37234 L 681.74329,207.86921 L 685.59749,207.4083 L 685.73554,206.82075 L 685.8972,205.36581 L 687.99878,201.64762 L 689.99934,199.90977 L 689.77705,194.85788 L 691.37404,193.26089 L 692.46466,192.91795 L 692.68694,189.36142 L 694.22271,186.3303 L 695.2735,186.93652 L 695.43516,187.58316 L 696.24347,187.74482 L 698.18339,186.77486 L 697.86007,177.23689 z M 581.61931,82.059006 L 583.4483,80.001402 L 585.62022,79.201221 L 590.99286,75.314624 L 593.27908,74.743065 L 593.73634,75.200319 L 588.59232,80.344339 L 585.27728,82.287628 L 583.21967,83.202124 L 581.61931,82.059006 z M 667.79369,114.18719 L 668.44033,116.69293 L 671.67355,116.85459 L 672.96684,115.64213 C 672.96684,115.64213 672.88601,114.18719 672.56269,114.02552 C 672.23936,113.86386 670.94608,112.16642 670.94608,112.16642 L 668.76366,112.40891 L 667.14704,112.57057 L 666.82372,113.7022 L 667.79369,114.18719 z M 567.49209,111.21318 L 568.20837,110.63278 L 570.9566,109.82447 L 574.51313,107.56123 L 574.51313,106.59126 L 575.15978,105.94462 L 581.14121,104.97466 L 583.56612,103.03473 L 587.93095,100.93315 L 588.09261,99.639864 L 590.03254,96.729975 L 591.8108,95.921673 L 593.10409,94.143408 L 595.36733,91.880161 L 599.73217,89.455254 L 604.42032,88.970273 L 605.55194,90.101896 L 605.22862,91.071859 L 601.51043,92.041822 L 600.05549,95.113371 L 597.79224,95.921673 L 597.30726,98.34658 L 594.88235,101.57979 L 594.55903,104.16636 L 595.36733,104.65134 L 596.3373,103.51972 L 599.89383,100.60983 L 601.18711,101.90311 L 603.45036,101.90311 L 606.68357,102.87307 L 608.13851,104.0047 L 609.59345,107.07625 L 612.34168,109.82447 L 616.22153,109.66281 L 617.67648,108.69285 L 619.29308,109.98613 L 620.90969,110.47112 L 622.20297,109.66281 L 623.33459,109.66281 L 624.9512,108.69285 L 628.99271,105.13632 L 632.38758,104.0047 L 639.01566,103.68138 L 643.54215,101.74145 L 646.12872,100.44817 L 647.58367,100.60983 L 647.58367,106.26794 L 648.06865,106.59126 L 650.97853,107.39957 L 652.91846,106.91458 L 659.06156,105.29798 L 660.19318,104.16636 L 661.64813,104.65134 L 661.64813,111.60274 L 664.88134,114.67429 L 666.17462,115.32093 L 667.4679,116.29089 L 666.17462,116.61421 L 665.36632,116.29089 L 661.64813,115.80591 L 659.54654,116.45255 L 657.28329,116.29089 L 654.05008,117.74584 L 652.27182,117.74584 L 646.45204,116.45255 L 641.27891,116.61421 L 639.33898,119.20078 L 632.38758,119.84742 L 629.96267,120.65572 L 628.83105,123.72727 L 627.53777,124.8589 L 627.05279,124.69724 L 625.59784,123.08063 L 621.07135,125.50554 L 620.42471,125.50554 L 619.29308,123.88893 L 618.48478,124.05059 L 616.54486,128.41543 L 615.57489,132.45694 L 612.39377,139.45774 L 611.21701,138.42347 L 609.84527,137.39215 L 607.90449,127.10413 L 604.36001,125.73408 L 602.30743,123.44785 L 590.18707,120.70437 L 587.3318,119.67473 L 579.10138,117.50199 L 571.21139,116.35887 L 567.49209,111.21318 z").attr("id", "MI").attr(attr),
name: "Michigan",
desc: ""
},
'vt' : {
svg: R.path("M 844.48416,154.05791 L 844.80086,148.71228 L 841.91015,137.92811 L 841.26351,137.60479 L 838.35361,136.3115 L 839.16191,133.40161 L 838.35361,131.30002 L 835.65356,126.66004 L 836.62353,122.78018 L 835.81522,117.60703 L 833.39031,111.14059 L 832.58474,106.21808 L 859.0041,99.48626 L 859.3128,105.00847 L 861.22906,107.7507 L 861.22906,111.79222 L 857.52191,116.85021 L 854.93534,117.99288 L 854.92429,119.11345 L 856.23426,120.63257 L 855.92333,128.73054 L 855.3139,137.9894 L 855.08595,143.54634 L 856.05591,144.83963 L 855.89425,149.41032 L 855.40927,151.10021 L 856.42345,151.82737 L 848.9859,153.33408 L 844.48416,154.05791 z").attr("id", "VT").attr(attr),
name: "Vermont",
desc: ""
},
'me' : {
svg: R.path("M 922.83976,78.830719 L 924.77969,80.932305 L 927.04294,84.650496 L 927.04294,86.590422 L 924.94135,91.278575 L 923.00142,91.925217 L 919.60655,94.996766 L 914.75674,100.49322 C 914.75674,100.49322 914.1101,100.49322 913.46346,100.49322 C 912.81682,100.49322 912.49349,98.391636 912.49349,98.391636 L 910.71523,98.553296 L 909.74527,100.00824 L 907.32036,101.46319 L 906.3504,102.91813 L 907.967,104.37307 L 907.48202,105.01972 L 906.99704,107.76794 L 905.05711,107.60628 L 905.05711,105.98968 L 904.73379,104.69639 L 903.27885,105.01972 L 901.50058,101.78651 L 899.399,103.07979 L 900.69228,104.53473 L 901.0156,105.66636 L 900.2073,106.95964 L 900.53062,110.03119 L 900.69228,111.64779 L 899.07568,114.23436 L 896.16579,114.71934 L 895.84247,117.62923 L 890.50767,120.70078 L 889.21439,121.18576 L 887.59778,119.73082 L 884.52623,123.28735 L 885.4962,126.52056 L 884.04125,127.81384 L 883.87959,132.17867 L 882.75631,138.43803 L 880.29406,137.28208 L 879.80907,134.21052 L 875.92922,133.07889 L 875.6059,130.33065 L 868.33115,106.88983 L 863.63257,92.250088 L 865.05311,92.131923 L 866.5669,92.541822 L 866.5669,89.955254 L 867.8752,85.458798 L 870.46177,80.770645 L 871.91672,76.729133 L 869.97679,74.304226 L 869.97679,68.322789 L 870.78509,67.352826 L 871.5934,64.604598 L 871.43174,63.149654 L 871.27007,58.29984 L 873.04834,53.450026 L 875.95823,44.5587 L 878.05981,40.355528 L 879.3531,40.355528 L 880.64638,40.517188 L 880.64638,41.648811 L 881.93967,43.912058 L 884.68789,44.5587 L 885.4962,43.750397 L 885.4962,42.780435 L 889.53771,39.870546 L 891.31597,38.092281 L 892.77092,38.253942 L 898.75235,40.678849 L 900.69228,41.648811 L 909.74527,71.555998 L 915.7267,71.555998 L 916.53501,73.495924 L 916.69667,78.345738 L 919.60655,80.608984 L 920.41486,80.608984 L 920.57652,80.124003 L 920.09154,78.99238 L 922.83976,78.830719 z M 901.90801,108.97825 L 903.44379,107.44247 L 904.81791,108.49327 L 905.38372,110.91819 L 903.68628,111.80732 L 901.90801,108.97825 z M 908.61694,103.07763 L 910.39521,104.93673 C 910.39521,104.93673 911.6885,105.01755 911.6885,104.69423 C 911.6885,104.37091 911.93099,102.67347 911.93099,102.67347 L 912.82013,101.86517 L 912.01182,100.08689 L 909.99106,100.81437 L 908.61694,103.07763 z").attr("id", "ME").attr(attr),
name: "Maine",
desc: ""
},
'ri' : {
svg: R.path("M 874.07001,178.89536 L 870.37422,163.93937 L 876.6435,162.09423 L 878.83463,164.02135 L 882.14112,168.342 L 884.82902,172.74409 L 881.82968,174.36888 L 880.5364,174.20722 L 879.40478,175.98549 L 876.97987,177.92541 L 874.07001,178.89536 z").attr("id", "RI").attr(attr),
name: "Rhode Island",
desc: ""
},
'ny' : {
svg: R.path("M 830.37944,188.7456 L 829.24781,187.77564 L 826.66123,187.61398 L 824.39799,185.67406 L 822.76738,179.54493 L 819.30892,179.63547 L 816.86521,176.92727 L 797.47989,181.30921 L 754.47811,190.0389 L 746.94846,191.26689 L 746.2103,184.79855 L 747.6384,183.67317 L 748.93168,182.54155 L 749.90165,180.92494 L 751.67991,179.79332 L 753.61984,178.01505 L 754.10482,176.39845 L 756.2064,173.65022 L 757.33803,172.68026 L 757.17637,171.71029 L 755.88308,168.63875 L 754.10482,168.47709 L 752.16489,162.33399 L 755.07478,160.55572 L 759.43961,159.10078 L 763.48113,157.80749 L 766.71434,157.32251 L 773.01909,157.16085 L 774.95902,158.45414 L 776.57562,158.6158 L 778.67721,157.32251 L 781.26378,156.19089 L 786.43691,155.70591 L 788.5385,153.92764 L 790.31676,150.69443 L 791.93337,148.75451 L 794.03495,148.75451 L 795.97488,147.62288 L 796.13654,145.35964 L 794.6816,143.25805 L 794.35828,141.80311 L 795.4899,139.70152 L 795.4899,138.24658 L 793.71163,138.24658 L 791.93337,137.43828 L 791.12507,136.30665 L 790.96341,133.72008 L 796.78318,128.22363 L 797.42982,127.41533 L 798.88477,124.50544 L 801.79466,119.97894 L 804.54289,116.26075 L 806.64447,113.83585 L 809.05957,112.01024 L 812.14093,110.7643 L 817.63738,109.47101 L 820.87059,109.63267 L 825.39709,108.17773 L 832.96228,106.10656 L 833.48207,111.08623 L 835.90699,117.55267 L 836.71529,122.72582 L 835.74533,126.60568 L 838.3319,131.13218 L 839.1402,133.23377 L 838.3319,136.14367 L 841.2418,137.43695 L 841.88844,137.76027 L 844.96,148.75321 L 844.42371,153.81288 L 843.93873,164.64415 L 844.74703,170.14062 L 845.55533,173.69716 L 847.01028,180.9719 L 847.01028,189.05494 L 845.87865,191.31819 L 847.71798,193.31098 L 848.51453,194.9894 L 846.57461,196.76767 L 846.89793,198.06095 L 848.19121,197.73763 L 849.64616,196.44435 L 851.9094,193.85778 L 853.04103,193.21114 L 854.65763,193.85778 L 856.92088,194.01944 L 864.84224,190.13959 L 867.75213,187.39136 L 869.04541,185.93642 L 873.24858,187.55302 L 869.85371,191.10955 L 865.97386,194.01944 L 858.8608,199.35423 L 856.27424,200.3242 L 850.45446,202.26412 L 846.41295,203.39575 L 845.23821,202.86282 L 844.99419,199.17429 L 845.47917,196.42605 L 845.31751,194.32447 L 842.504,192.62547 L 837.9775,191.6555 L 834.09764,190.52388 L 830.37944,188.7456 z").attr("id", "NY").attr(attr),
name: "New York",
desc: ""
},
'pa' : {
svg: R.path("M 825.1237,224.69205 L 826.43212,224.42105 L 828.76165,223.1678 L 829.97353,220.68473 L 831.59014,218.42148 L 834.82335,215.34992 L 834.82335,214.54162 L 832.39844,212.92502 L 828.8419,210.5001 L 827.87194,207.91353 L 825.1237,207.59021 L 824.96204,206.45858 L 824.15374,203.71035 L 826.417,202.57873 L 826.57866,200.15381 L 825.28536,198.86052 L 825.44702,197.24391 L 827.38696,194.17236 L 827.38696,191.1008 L 830.08459,188.45492 L 829.16431,187.77994 L 826.64023,187.58703 L 824.34574,185.64711 L 822.79582,179.53105 L 819.29124,179.63157 L 816.83601,176.92824 L 798.74502,181.12601 L 755.74324,189.8557 L 746.85189,191.31064 L 746.23122,184.78925 L 740.86869,189.8569 L 739.5754,190.34188 L 735.37311,193.35077 L 738.28387,212.48822 L 740.76553,222.21758 L 744.33733,241.47907 L 747.60664,240.84139 L 759.55022,239.33892 L 797.47685,231.67372 L 812.35306,228.8504 L 820.65341,227.22804 L 820.92052,226.98951 L 823.02212,225.37289 L 825.1237,224.69205 z").attr("id", "PA").attr(attr),
name: "Pennsylvania",
desc: ""
},
'nj' : {
svg: R.path("M 829.67942,188.46016 L 827.35687,191.19443 L 827.35687,194.26599 L 825.41693,197.33754 L 825.25527,198.95416 L 826.54857,200.24744 L 826.38691,202.67236 L 824.12365,203.80398 L 824.93195,206.55221 L 825.09361,207.68384 L 827.84185,208.00716 L 828.81181,210.59373 L 832.36835,213.01865 L 834.79326,214.63525 L 834.79326,215.44356 L 831.81005,218.14012 L 830.19344,220.40336 L 828.73849,223.1516 L 826.47524,224.44488 L 826.01279,226.04736 L 825.77029,227.25982 L 825.16106,229.86656 L 826.25333,232.11075 L 829.48654,235.02064 L 834.33635,237.28389 L 838.37786,237.93053 L 838.53952,239.38547 L 837.73122,240.35543 L 838.05454,243.10366 L 838.86284,243.10366 L 840.96443,240.67876 L 841.77273,235.82894 L 844.52096,231.78743 L 847.59251,225.32101 L 848.72413,219.82456 L 848.07749,218.69293 L 847.91583,209.31662 L 846.29922,205.92176 L 845.1676,206.73006 L 842.41937,207.05338 L 841.93439,206.5684 L 843.06602,205.59843 L 845.1676,203.65851 L 845.23066,202.56468 L 844.84627,199.13084 L 845.41964,196.3826 L 845.30217,194.41359 L 842.49463,192.66324 L 837.40249,191.48748 L 833.26505,190.10585 L 829.67942,188.46016 z").attr("id", "NJ").attr(attr),
name: "New Jersey",
desc: ""
},
'de' : {
svg: R.path("M 825.6261,228.2791 L 825.99441,226.13221 L 826.36948,224.44116 L 824.74648,224.83892 L 823.13102,225.30648 L 820.92476,227.07078 L 822.64488,232.11366 L 824.90814,237.77178 L 827.00972,247.47143 L 828.62634,253.77621 L 833.63782,253.61455 L 839.77994,252.43387 L 837.51571,245.0476 L 836.54574,245.53258 L 832.98921,243.10768 L 831.21095,238.41952 L 829.27102,234.86299 L 826.1239,231.99268 L 825.25974,229.89456 L 825.6261,228.2791 z").attr("id", "DE").attr(attr),
name: "Delaware",
desc: ""
},
'md' : {
svg: R.path("M 839.79175,252.41476 L 833.7832,253.6186 L 828.6403,253.73606 L 826.79674,246.81373 L 824.87193,237.64441 L 822.29931,231.45596 L 821.01093,227.05763 L 813.50491,228.67999 L 798.6287,231.50331 L 761.17727,239.05421 L 762.30857,244.06587 L 763.27853,249.72398 L 763.60185,249.40066 L 765.70345,246.97576 L 767.96669,244.3581 L 770.3916,243.74254 L 771.84656,242.28759 L 773.62482,239.70102 L 774.9181,240.34767 L 777.82799,240.02434 L 780.41457,237.92276 L 782.42146,236.46949 L 784.26669,235.98451 L 785.91104,237.11446 L 788.82093,238.5694 L 790.76085,240.34767 L 791.97331,241.88345 L 796.09566,243.58088 L 796.09566,246.49077 L 801.59212,247.78406 L 802.73656,248.32604 L 804.14846,246.29772 L 807.03043,248.26788 L 805.75226,250.74981 L 804.98699,254.73547 L 803.20873,257.32204 L 803.20873,259.42363 L 803.85537,261.2019 L 808.91932,262.55759 L 813.23042,262.49587 L 816.30196,263.46584 L 818.40355,263.78916 L 819.37351,261.68757 L 817.91857,259.58599 L 817.91857,257.80772 L 815.49366,255.70613 L 813.39208,250.20968 L 814.68536,244.87488 L 814.5237,242.7733 L 813.23042,241.48001 C 813.23042,241.48001 814.68536,239.86341 814.68536,239.21677 C 814.68536,238.57012 815.17034,237.11518 815.17034,237.11518 L 817.11027,235.8219 L 819.05019,234.20529 L 819.53517,235.17526 L 818.08023,236.79186 L 816.78695,240.51005 L 817.11027,241.64167 L 818.88853,241.96499 L 819.37351,247.46145 L 817.27193,248.43141 L 817.59525,251.98794 L 818.08023,251.82628 L 819.21185,249.88636 L 820.82846,251.66462 L 819.21185,252.95791 L 818.88853,256.35278 L 821.4751,259.74765 L 825.35495,260.23263 L 826.97156,259.42433 L 830.20811,263.60726 L 831.56646,264.14356 L 838.22013,261.34661 L 840.22771,257.32274 L 839.79175,252.41476 z M 823.82217,261.44348 L 824.95379,263.94923 L 825.11545,265.7275 L 826.24708,267.5866 C 826.24708,267.5866 827.13622,266.69746 827.13622,266.37414 C 827.13622,266.05082 826.40875,263.30258 826.40875,263.30258 L 825.68127,260.95849 L 823.82217,261.44348 z").attr("id", "MD").attr(attr),
name: "Maryland",
desc: ""
},
'va' : {
svg: R.path("M 831.63885,266.06892 L 831.49494,264.12189 L 837.94837,261.57201 L 837.17796,264.78985 L 834.25801,268.56896 L 833.83992,273.15478 L 834.30167,276.54522 L 832.4737,281.52338 L 830.30943,283.43952 L 828.83909,278.79871 L 829.28498,273.3496 L 830.87198,269.16653 L 831.63885,266.06892 z M 834.97904,294.37028 L 776.80486,306.94571 L 739.37789,312.22478 L 732.69956,311.8496 L 730.11431,313.77598 L 722.77518,313.99667 L 714.39307,314.97434 L 703.47811,316.58896 L 713.94754,310.97776 L 713.93442,308.90283 L 715.45447,306.7567 L 726.00825,295.25527 L 729.95497,299.73273 L 733.73798,300.69671 L 736.28144,299.55639 L 738.51866,298.24523 L 741.05527,299.58875 L 744.96944,298.16099 L 746.84617,293.60465 L 749.44709,294.14467 L 752.30233,292.01342 L 754.1016,292.50702 L 756.92881,288.83045 L 757.27706,286.74734 L 756.3134,285.47177 L 757.31617,283.60514 L 762.59044,271.32799 L 763.20721,265.59291 L 764.4361,265.06937 L 766.61463,267.51224 L 770.55049,267.21107 L 772.4797,259.63744 L 775.27369,259.07658 L 776.32344,256.33551 L 778.90326,253.98863 L 781.67509,248.29344 L 781.76002,243.22589 L 791.58153,247.04871 C 792.26238,247.38913 792.41441,241.99956 792.41441,241.99956 L 796.06697,243.59789 L 796.1353,246.53605 L 801.91955,247.83554 L 804.0525,249.01174 L 805.71242,251.06743 L 805.05787,254.7161 L 803.11043,257.30708 L 803.22028,259.36615 L 803.80924,261.21906 L 808.78799,262.48749 L 813.23926,262.52737 L 816.30809,263.48601 L 818.2516,263.79531 L 818.96641,266.88377 L 822.15685,267.2863 L 823.02492,268.48632 L 822.58543,273.1764 L 823.96016,274.27895 L 823.48121,276.20934 L 824.71062,276.99911 L 824.48882,278.38371 L 821.79483,278.28877 L 821.88379,279.90429 L 824.16478,281.44716 L 824.28632,282.85906 L 826.05943,284.64444 L 826.55122,287.16857 L 823.99818,288.54988 L 825.5704,290.04418 L 831.37142,288.35835 L 834.97904,294.37028 z").attr("id", "VA").attr(attr),
name: "Virginia",
desc: ""
},
'wv' : {
svg: R.path("M 761.18551,238.96731 L 762.29752,243.91184 L 763.38096,249.94317 L 765.51125,247.36283 L 767.77449,244.29127 L 770.31287,243.67572 L 771.76782,242.22078 L 773.54609,239.63421 L 774.99107,240.28085 L 777.90096,239.95753 L 780.48754,237.85594 L 782.49443,236.40268 L 784.33966,235.91769 L 785.64358,236.93416 L 789.28683,238.75579 L 791.22676,240.53406 L 792.60088,241.82734 L 791.83916,247.38228 L 786.00425,244.84106 L 781.759,243.21904 L 781.65786,248.39747 L 778.91022,253.9342 L 776.38019,256.36086 L 775.1881,259.11025 L 772.54452,259.61035 L 771.64668,263.21223 L 770.60345,267.1619 L 766.63521,267.50264 L 764.31148,265.06376 L 763.24033,265.62317 L 762.60765,271.09287 L 761.25736,274.62737 L 756.29896,285.58234 L 757.19565,286.74304 L 756.98979,288.65158 L 754.1811,292.53605 L 752.3726,291.99176 L 749.40455,294.1515 L 746.86217,293.57929 L 744.86294,298.13486 C 744.86294,298.13486 741.60363,299.56508 740.94003,299.50258 C 740.77952,299.48746 738.47093,298.25348 738.47093,298.25348 L 736.13441,299.63285 L 733.72461,300.67725 L 729.97992,299.78813 L 728.85852,298.61985 L 726.6663,295.59649 L 723.52371,293.60837 L 721.81214,289.98513 L 717.52726,286.51694 L 716.88061,284.25369 L 714.29404,282.79874 L 713.48573,281.18214 L 713.24324,275.92816 L 715.42566,275.84733 L 717.3656,275.03903 L 717.52726,272.2908 L 719.14386,270.83585 L 719.30552,265.82437 L 720.27548,261.94451 L 721.56877,261.29787 L 722.86205,262.42949 L 723.34704,264.20776 L 725.12531,263.23779 L 725.61029,261.62119 L 724.47867,259.84292 L 724.47867,257.41801 L 725.44863,256.12472 L 727.71188,252.72985 L 729.00516,251.27491 L 731.10676,251.75989 L 733.37,250.14327 L 736.44155,246.7484 L 738.70481,242.86854 L 739.02813,237.21043 L 739.51311,232.19894 L 739.51311,227.51078 L 738.38149,224.43923 L 739.35145,222.98427 L 740.63493,221.69099 L 744.12618,241.51811 L 748.75719,240.76696 L 761.18551,238.96731 z").attr("id", "WV").attr(attr),
name: "West Virginia",
desc: ""
},
'oh' : {
svg: R.path("M 735.32497,193.32832 L 729.23143,197.38167 L 725.35158,199.64492 L 721.95671,203.36311 L 717.9152,207.24296 L 714.68199,208.05126 L 711.7721,208.53624 L 706.27564,211.12281 L 704.17406,211.28447 L 700.77919,208.21292 L 695.60605,208.85957 L 693.01949,207.40462 L 690.63842,206.05379 L 685.74585,206.7572 L 675.56123,208.37381 L 664.35436,210.55854 L 665.64765,225.18882 L 667.42592,238.92999 L 670.01248,262.37079 L 670.5783,267.20196 L 674.70065,267.07294 L 677.12556,266.26463 L 680.48936,267.76777 L 682.55985,272.1326 L 687.69879,272.1155 L 689.59053,274.2342 L 691.3517,274.1689 L 693.89009,272.82744 L 696.39426,273.19894 L 701.81554,273.68162 L 703.54251,271.54894 L 705.88816,270.25566 L 707.95865,269.57481 L 708.60529,272.32305 L 710.38357,273.29301 L 713.85926,275.63708 L 716.04168,275.55626 L 717.3748,275.06378 L 717.55951,272.30225 L 719.14487,270.84729 L 719.24403,266.05457 C 719.24403,266.05457 720.26799,261.94551 720.26799,261.94551 L 721.56726,261.34423 L 722.88861,262.49197 L 723.42676,264.18899 L 725.14589,263.15157 L 725.58487,261.69082 L 724.46818,259.78776 L 724.53447,257.47333 L 725.28347,256.40102 L 727.43623,253.09454 L 728.48645,251.5512 L 730.58804,252.03618 L 732.85129,250.41957 L 735.92284,247.0247 L 738.69433,242.94597 L 739.01466,237.89046 L 739.49964,232.87897 L 739.32286,227.57209 L 738.36802,224.67731 L 738.71926,223.48753 L 740.52365,221.73742 L 738.23486,212.69009 L 735.32497,193.32832 z").attr("id", "OH").attr(attr),
name: "Ohio",
desc: ""
},
'in' : {
svg: R.path("M 619.56954,299.97132 L 619.63482,297.11274 L 620.11981,292.58623 L 622.38305,289.67635 L 624.16133,285.79648 L 626.74789,281.59331 L 626.26291,275.77352 L 624.48465,273.02529 L 624.16133,269.79208 L 624.96963,264.29561 L 624.48465,257.3442 L 623.19135,241.33979 L 621.89807,225.98203 L 620.9276,214.26201 L 623.99866,215.15152 L 625.45361,216.12148 L 626.58523,215.79816 L 628.68682,213.85824 L 631.51639,212.24125 L 636.60919,212.07921 L 658.59506,209.81595 L 664.17079,209.28279 L 665.67393,225.239 L 669.92528,262.08055 L 670.52374,267.85215 L 670.15224,270.1154 L 671.38022,271.91077 L 671.47661,273.28332 L 668.95532,274.88283 L 665.41589,276.43414 L 662.21376,276.98442 L 661.6153,281.85135 L 657.04061,285.16382 L 654.24419,289.17426 L 654.56751,291.55099 L 653.98617,293.08519 L 650.6597,293.08519 L 649.07417,291.46859 L 646.58086,292.73079 L 643.8979,294.23393 L 644.05957,297.28838 L 642.86578,297.54641 L 642.3979,296.52827 L 640.23102,295.02513 L 636.9807,296.36661 L 635.42939,299.37286 L 633.99155,298.56456 L 632.5366,296.96505 L 628.07226,297.45004 L 622.47943,298.42 L 619.56954,299.97132 z").attr("id", "IN").attr(attr),
name: "Indiana",
desc: ""
},
'il' : {
svg: R.path("M 619.54145,300.34244 L 619.5727,297.11273 L 620.14009,292.46677 L 622.47262,289.55091 L 624.33927,285.47515 L 626.57229,281.47982 L 626.20079,276.22742 L 624.19558,272.68485 L 624.0992,269.33817 L 624.79403,264.06866 L 623.96862,256.89029 L 622.90228,241.11284 L 621.609,226.0955 L 620.68672,214.4563 L 620.41421,213.53491 L 619.60591,210.94834 L 618.31263,207.23015 L 616.69602,205.45188 L 615.24108,202.86532 L 615.00751,197.37636 L 569.21108,199.97461 L 569.4397,202.34656 L 571.72593,203.03243 L 572.64041,204.17554 L 573.09766,206.00452 L 576.98424,209.43386 L 577.67012,211.72009 L 576.98424,215.14943 L 575.15526,218.80739 L 574.4694,221.32223 L 572.18317,223.15122 L 570.35419,223.83709 L 565.09587,225.20882 L 564.41,227.0378 L 563.72413,229.09541 L 564.41,230.46715 L 566.23898,232.06751 L 566.01036,236.18271 L 564.18137,237.78307 L 563.49551,239.38343 L 563.49551,242.1269 L 561.66653,242.58414 L 560.06617,243.72726 L 559.83755,245.099 L 560.06617,247.1566 L 558.3515,248.47117 L 557.3227,251.27181 L 557.77994,254.92976 L 560.06617,262.24569 L 567.3821,269.79024 L 572.86903,273.4482 L 572.64041,277.79203 L 573.55491,279.16377 L 579.95634,279.62101 L 582.69981,280.99275 L 582.01395,284.65071 L 579.72772,290.5949 L 579.04185,293.79562 L 581.32807,297.6822 L 587.72951,302.94052 L 592.30197,303.62639 L 594.35956,308.65609 L 596.41717,311.8568 L 595.50268,314.82889 L 597.10304,318.9441 L 598.93202,321.00171 L 600.34605,320.12102 L 601.25371,318.04623 L 603.46679,316.29903 L 605.59826,315.68463 L 608.20079,316.86443 L 611.82778,318.24013 L 613.01673,317.9419 L 613.2166,315.68345 L 611.9293,313.27166 L 612.23352,310.89494 L 614.07192,309.54749 L 617.09446,308.7372 L 618.35536,308.27868 L 617.74275,306.8918 L 616.95138,304.53743 L 618.38398,303.55647 L 619.54145,300.34244 z").attr("id", "IL").attr(attr),
name: "Illinois",
desc: ""
},
'ct' : {
svg: R.path("M 874.06831,178.86288 L 870.39088,163.98407 L 865.67206,164.90438 L 844.44328,169.64747 L 845.44347,172.87314 L 846.89842,180.14788 L 847.0752,189.1148 L 845.85518,191.28967 L 847.77597,193.22201 L 852.0475,189.31637 L 855.60403,186.08316 L 857.54395,183.98157 L 858.35226,184.62821 L 861.10048,183.17327 L 866.27362,182.04165 L 874.06831,178.86288 z").attr("id", "CT").attr(attr),
name: "Connecticut",
desc: ""
},
'wi' : {
svg: R.path("M 615.06589,197.36866 L 614.99915,194.21124 L 613.82004,189.68474 L 613.1734,183.54165 L 612.04178,181.11674 L 613.01174,178.04519 L 613.82004,175.1353 L 615.27499,172.54874 L 614.62834,169.15387 L 613.9817,165.59734 L 614.46668,163.81907 L 616.40661,161.39416 L 616.56827,158.64593 L 615.75997,157.35265 L 616.40661,154.76608 L 615.95409,150.59537 L 618.70232,144.93726 L 621.61221,138.14752 L 621.77387,135.88427 L 621.45055,134.91431 L 620.64224,135.39929 L 616.43907,141.70405 L 613.69084,145.74556 L 611.75092,147.52383 L 610.94262,149.78707 L 608.98767,150.59537 L 607.85605,152.5353 L 606.4011,152.21198 L 606.23944,150.43371 L 607.53273,148.00881 L 609.63431,143.32065 L 611.41258,141.70405 L 612.40341,139.3462 L 609.84296,137.44486 L 607.86814,127.07787 L 604.32067,125.73589 L 602.37441,123.42756 L 590.2447,120.70592 L 587.36881,119.69387 L 579.15569,117.52658 L 571.23777,116.36783 L 567.47261,111.23716 L 566.72221,111.79117 L 565.5243,111.62951 L 564.87765,110.49789 L 563.54364,110.79444 L 562.41201,110.9561 L 560.63375,111.92606 L 559.66378,111.27942 L 560.31043,109.33949 L 562.25035,106.26794 L 563.38197,105.13632 L 561.44205,103.68138 L 559.34046,104.48968 L 556.43057,106.4296 L 548.99419,109.66281 L 546.0843,110.30945 L 543.17442,109.82447 L 542.19269,108.94622 L 540.07599,111.7814 L 539.84737,114.52487 L 539.84737,122.9839 L 538.70425,124.58427 L 533.44593,128.47084 L 531.15971,134.41503 L 531.61695,134.64365 L 534.1318,136.70126 L 534.81766,139.90198 L 532.98868,143.10269 L 532.98868,146.98928 L 533.44593,153.61933 L 536.41802,156.59143 L 539.84737,156.59143 L 541.67635,159.79215 L 545.10568,160.24939 L 548.99227,165.96496 L 556.07957,170.08017 L 558.13717,172.82364 L 559.05167,180.25388 L 559.73753,183.5689 L 562.02376,185.16926 L 562.25238,186.541 L 560.19478,189.97033 L 560.4234,193.17106 L 562.93825,197.05764 L 565.4531,198.20075 L 568.42519,198.65799 L 569.76753,200.03811 L 615.06589,197.36866 z").attr("id", "WI").attr(attr),
name: "Wisconsin",
desc: ""
},
'nc' : {
svg: R.path("M 834.98153,294.31554 L 837.06653,299.23289 L 840.62306,305.69931 L 843.04796,308.12422 L 843.6946,310.38747 L 841.2697,310.54913 L 842.078,311.19577 L 841.75468,315.39894 L 839.16811,316.69222 L 838.52147,318.79381 L 837.22819,321.7037 L 833.50999,323.3203 L 831.08509,322.99698 L 829.63014,322.83532 L 828.01354,321.54204 L 828.33686,322.83532 L 828.33686,323.80529 L 830.27679,323.80529 L 831.08509,325.09857 L 829.14516,331.40333 L 833.34833,331.40333 L 833.99498,333.01993 L 836.25822,330.75669 L 837.55151,330.2717 L 835.61158,333.82823 L 832.54003,338.67805 L 831.24675,338.67805 L 830.11512,338.19307 L 827.3669,338.83971 L 822.19376,341.26462 L 815.72734,346.59941 L 812.33247,351.28756 L 810.39255,357.75398 L 809.90757,360.17889 L 805.21941,360.66387 L 799.76628,362.00053 L 789.81987,353.798 L 777.21033,346.19995 L 774.30044,345.39164 L 761.69091,346.84659 L 757.41445,347.59674 L 755.79785,344.36352 L 752.82749,342.24682 L 736.3381,342.7318 L 729.06336,343.5401 L 720.01037,348.06661 L 713.86726,350.65317 L 692.68971,353.23975 L 693.1898,349.18542 L 694.96807,347.73048 L 697.71631,347.08383 L 698.36295,343.36563 L 702.56613,340.61741 L 706.44598,339.16245 L 710.64917,335.60592 L 715.014,333.50433 L 715.66064,330.43277 L 719.5405,326.55292 L 720.18714,326.39126 C 720.18714,326.39126 720.18714,327.52289 720.99545,327.52289 C 721.80375,327.52289 722.93538,327.84621 722.93538,327.84621 L 725.19863,324.28967 L 727.30022,323.64302 L 729.56346,323.96635 L 731.18008,320.40982 L 734.08997,317.82324 L 734.57495,315.72165 L 734.76245,312.07346 L 739.03895,312.05094 L 746.23754,311.19515 L 761.99477,308.94272 L 777.13081,306.85615 L 798.77129,302.1368 L 818.75461,297.87823 L 829.93155,295.47242 L 834.98153,294.31554 z M 839.25199,327.52211 L 841.83857,325.01636 L 844.99095,322.42978 L 846.52673,321.78314 L 846.68839,319.76238 L 846.04175,313.61926 L 844.5868,311.27518 L 843.94015,309.41608 L 844.66763,309.17358 L 847.41587,314.67006 L 847.82002,319.11573 L 847.65836,322.51062 L 844.26348,324.04639 L 841.43441,326.47131 L 840.30279,327.68377 L 839.25199,327.52211 z").attr("id", "NC").attr(attr),
name: "North Carolina",
desc: ""
},
'dc' : {
svg: R.path("M 805.81945,250.84384 L 803.96117,249.01967 L 802.72854,248.33338 L 804.17155,246.31091 L 807.06064,248.25941 L 805.81945,250.84384 z").attr("id", "DC").attr(attr),
name: "Washington D.C.",
desc: ""
},
'ma' : {
svg: R.path("M 899.62349,173.25394 L 901.79541,172.56806 L 902.25267,170.85339 L 903.28147,170.9677 L 904.31027,173.25394 L 903.05285,173.71118 L 899.16625,173.8255 L 899.62349,173.25394 z M 890.24995,174.05412 L 892.53617,171.42495 L 894.13654,171.42495 L 895.96553,172.911 L 893.56499,173.9398 L 891.39307,174.9686 L 890.24995,174.05412 z M 855.45082,152.06593 L 873.09769,147.42525 L 875.36095,146.77861 L 877.27503,143.9829 L 881.0118,142.31959 L 883.90104,146.73243 L 881.47613,151.90557 L 881.15281,153.36051 L 883.09274,155.94708 L 884.22436,155.13878 L 886.00263,155.13878 L 888.26587,157.72534 L 892.14573,163.70678 L 895.70226,164.19176 L 897.9655,163.2218 L 899.74377,161.44353 L 898.93546,158.69531 L 896.83388,157.0787 L 895.37893,157.887 L 894.40897,156.59372 L 894.89395,156.10874 L 896.99554,155.94708 L 898.7738,156.75538 L 900.71373,159.18029 L 901.68369,162.09018 L 902.00701,164.51508 L 897.80384,165.97003 L 893.92399,167.90995 L 890.04414,172.43645 L 888.10421,173.89139 L 888.10421,172.92143 L 890.52912,171.46648 L 891.0141,169.68822 L 890.2058,166.61667 L 887.29591,168.07161 L 886.48761,169.52656 L 886.97259,171.7898 L 884.90626,172.79023 L 882.15906,168.2631 L 878.76418,163.89826 L 876.69368,162.08579 L 870.16041,163.96199 L 865.06808,165.01278 L 844.39292,169.60499 L 843.72516,164.83714 L 844.3718,154.24837 L 848.66107,153.35923 L 855.45082,152.06593 z").attr("id", "MA").attr(attr),
name: "Massachusetts",
desc: ""
},
'tn' : {
svg: R.path("M 696.67788,318.25411 L 644.78479,323.2656 L 629.02523,325.04386 L 624.40403,325.55657 L 620.53568,325.52885 L 620.31471,329.62968 L 612.12933,329.89369 L 605.17792,330.54033 L 597.08709,330.41647 L 595.67331,337.48933 L 593.97708,342.96938 L 590.68391,345.72022 L 589.33517,350.10128 L 589.01185,352.68785 L 584.97033,354.95109 L 586.42527,358.50763 L 585.45531,362.87247 L 584.48693,363.66212 L 692.64548,353.25457 L 693.04875,349.29963 L 694.85948,347.80924 L 697.69363,347.05979 L 698.36556,343.34281 L 702.46416,340.63785 L 706.51109,339.14382 L 710.59467,335.57349 L 715.03076,333.54803 L 715.55202,330.48068 L 719.61662,326.49569 L 720.16742,326.38152 C 720.16742,326.38152 720.19867,327.51314 721.00697,327.51314 C 721.81527,327.51314 722.9469,327.86771 722.9469,327.86771 L 725.21015,324.27992 L 727.28049,323.63328 L 729.5556,323.92849 L 731.15391,320.39563 L 734.10916,317.75172 L 734.53084,315.81261 L 734.8398,312.10146 L 732.69325,311.90169 L 730.09157,313.93002 L 723.09826,313.95909 L 704.73897,316.34591 L 696.67788,318.25411 z").attr("id", "TN").attr(attr),
name: "Tennessee",
desc: ""
},
'ar' : {
svg: R.path("M 593.82477,343.05296 L 589.84489,343.76966 L 584.73274,343.13563 L 585.15344,341.53356 L 588.13319,338.96687 L 589.07657,335.31062 L 587.24759,332.33852 L 508.83002,334.85337 L 510.43038,341.71206 L 510.43037,349.94248 L 511.80212,360.91647 L 512.03074,398.7534 L 514.31697,400.69669 L 517.28906,399.32496 L 520.03254,400.46807 L 520.71288,407.04137 L 576.33414,405.90077 L 577.47977,403.8104 L 577.19315,400.26089 L 575.36752,397.28879 L 576.96621,395.80358 L 575.36752,393.29208 L 576.05172,390.78225 L 577.42011,385.17682 L 579.9383,383.11419 L 579.25243,380.82963 L 582.9104,375.45784 L 585.65387,374.08945 L 585.54039,372.59587 L 585.19495,370.77023 L 588.0519,365.1715 L 590.45494,363.91491 L 590.83907,360.48728 L 592.60974,359.24558 L 589.46622,358.76131 L 588.12476,354.75087 L 590.92884,352.37416 L 591.4791,350.35496 L 592.75858,346.30835 L 593.82477,343.05296 z").attr("id", "AR").attr(attr),
name: "Arkansas",
desc: ""
},
'mo' : {
svg: R.path("M 558.44022,248.11316 L 555.92035,245.02591 L 554.77723,242.73968 L 490.42,245.14022 L 488.13374,245.25453 L 489.39117,247.76938 L 489.16255,250.0556 L 491.67739,253.94219 L 494.76379,258.0574 L 497.8502,260.80087 L 500.01143,261.02949 L 501.50816,261.94399 L 501.50816,264.91608 L 499.67919,266.51644 L 499.22193,268.80266 L 501.27954,272.23201 L 503.7944,275.2041 L 506.30924,277.03308 L 507.68097,288.69283 L 507.99511,324.76504 L 508.22373,329.45179 L 508.68097,334.8353 L 531.11396,333.96848 L 554.31999,333.28261 L 575.12465,332.4816 L 586.77939,332.2513 L 588.94879,335.6773 L 588.2646,338.9848 L 585.17735,341.38784 L 584.60496,343.22518 L 589.98345,343.68244 L 593.87841,342.99656 L 595.59559,337.50293 L 596.24701,331.64614 L 598.34504,329.09098 L 600.94107,327.60409 L 600.9925,324.55385 L 602.00852,322.61737 L 600.31429,320.0736 L 598.98336,321.05786 L 596.99074,318.83062 L 595.70571,314.07162 L 596.50672,311.55342 L 594.56259,308.12576 L 592.73195,303.54996 L 587.93254,302.75062 L 580.96374,297.15187 L 579.24488,293.03834 L 580.04423,289.83762 L 582.1035,283.77995 L 582.56242,280.91632 L 580.61328,279.88501 L 573.75794,279.08734 L 572.72997,277.37518 L 572.61817,273.14482 L 567.13123,269.71381 L 560.15572,261.94231 L 557.8695,254.62638 L 557.63921,250.40106 L 558.44022,248.11316 z").attr("id", "MO").attr(attr),
name: "Missouri",
desc: ""
},
'ga' : {
svg: R.path("M 672.29229,355.5518 L 672.29229,357.73422 L 672.45395,359.83582 L 673.10059,363.23069 L 676.49547,371.15206 L 678.92038,381.01337 L 680.37532,387.15648 L 681.99193,392.00629 L 683.44688,398.9577 L 685.54847,405.26247 L 688.13504,408.65735 L 688.62002,412.05222 L 690.55995,412.86052 L 690.72161,414.96212 L 688.94334,419.81193 L 688.45836,423.04515 L 688.2967,424.98508 L 689.91331,429.34992 L 690.23663,434.68472 L 689.42832,437.10963 L 690.07497,437.91794 L 691.52992,438.72624 L 691.73462,441.94433 L 693.96763,445.29386 L 696.21807,447.45591 L 704.13945,447.61757 L 714.9592,446.97093 L 736.47159,445.67765 L 741.91731,445.00328 L 746.49456,445.03101 L 746.65622,447.9409 L 749.24279,448.7492 L 749.56611,444.38436 L 747.9495,439.85786 L 749.08113,438.24126 L 754.90091,439.04956 L 759.87832,439.36734 L 759.1029,433.06855 L 761.36614,423.0456 L 762.82109,418.84242 L 762.3361,416.25586 L 765.67051,410.01156 L 765.16021,408.65988 L 763.2468,409.36446 L 760.66024,408.07116 L 760.01359,405.96957 L 758.72031,402.41304 L 756.45705,400.31145 L 753.87049,399.66481 L 752.25388,394.81499 L 749.32887,388.47999 L 745.1257,386.54006 L 743.0241,384.60013 L 741.73081,382.01356 L 739.62923,380.07363 L 737.36598,378.78034 L 735.10273,375.87045 L 732.03118,373.60721 L 727.50467,371.82893 L 727.01969,370.37399 L 724.59478,367.4641 L 724.1098,366.00915 L 720.71492,361.03867 L 717.19505,361.13784 L 713.44014,358.7817 L 712.02186,357.48842 L 711.69854,355.71015 L 712.56934,353.77023 L 714.79598,352.66009 L 714.16204,350.56287 L 672.29229,355.5518 z").attr("id", "GA").attr(attr),
name: "Georgia",
desc: ""
},
'sc' : {
svg: R.path("M 764.94328,408.16488 L 763.16622,409.13438 L 760.57965,407.84109 L 759.93301,405.7395 L 758.63973,402.18297 L 756.37647,400.08137 L 753.7899,399.43473 L 752.1733,394.58492 L 749.42506,388.60347 L 745.22189,386.66353 L 743.12029,384.72361 L 741.82701,382.13704 L 739.72542,380.1971 L 737.46217,378.90382 L 735.19892,375.99393 L 732.12737,373.73069 L 727.60086,371.95241 L 727.11588,370.49747 L 724.69098,367.58758 L 724.20599,366.13262 L 720.81111,360.95949 L 717.41624,361.12115 L 713.37472,358.69623 L 712.08144,357.40295 L 711.75812,355.62468 L 712.56642,353.68476 L 714.82967,352.71478 L 714.31885,350.4257 L 720.08695,348.08913 L 729.20245,343.50013 L 736.97718,342.69182 L 753.09158,342.26934 L 755.72983,344.14677 L 757.40893,347.50499 L 761.71128,346.89501 L 774.32081,345.44005 L 777.2307,346.24836 L 789.84024,353.84642 L 799.94832,361.9681 L 794.52715,367.42644 L 791.94058,373.56954 L 791.4556,379.8743 L 789.839,380.6826 L 788.70737,383.43083 L 786.28247,384.07747 L 784.18088,387.634 L 781.43265,390.38223 L 779.16941,393.7771 L 777.5528,394.5854 L 773.99627,397.98027 L 771.08638,398.14193 L 772.05635,401.37514 L 767.04487,406.8716 L 764.94328,408.16488 z").attr("id", "SC").attr(attr),
name: "South Carolina",
desc: ""
},
'ky' : {
svg: R.path("M 725.9944,295.2707 L 723.70108,297.67238 L 720.12289,301.66642 L 715.19834,307.13109 L 713.98257,308.84686 L 713.92007,310.94844 L 709.54021,313.11253 L 703.88209,316.50741 L 696.65022,318.30626 L 644.78233,323.20512 L 629.02277,324.98338 L 624.40157,325.49609 L 620.53322,325.46837 L 620.30627,329.68865 L 612.12686,329.83321 L 605.17545,330.47985 L 597.18797,330.41963 L 598.39575,329.09955 L 600.89529,327.5587 L 601.12392,324.35797 L 602.03841,322.52899 L 600.43159,319.99009 L 601.23342,318.08328 L 603.49668,316.30502 L 605.59826,315.65837 L 608.34649,316.95166 L 611.90303,318.24494 L 613.03466,317.92162 L 613.19632,315.65837 L 611.90303,313.23346 L 612.22635,310.97021 L 614.16628,309.51527 L 616.75286,308.86862 L 618.36946,308.22198 L 617.56116,306.44371 L 616.91452,304.50378 L 618.42114,303.50798 C 618.42442,303.47086 619.6751,299.98569 619.65943,299.85017 L 622.71265,298.37149 L 628.03244,297.40153 L 632.52648,296.91655 L 633.91892,298.54398 L 635.44719,299.41478 L 637.03796,296.30657 L 640.22504,295.02395 L 642.43013,296.50798 L 642.84069,297.50702 L 644.01421,297.24301 L 643.85254,294.29008 L 646.98341,292.54089 L 649.1315,291.46741 L 650.66086,293.12822 L 653.97901,293.08402 L 654.56634,291.51277 L 654.19883,289.24953 L 656.79936,285.25103 L 661.57591,281.81313 L 662.28186,276.97727 L 665.20688,276.52136 L 668.99834,274.87568 L 671.44166,273.16744 L 671.24333,271.60251 L 670.10088,270.14757 L 670.6667,267.15266 L 674.85155,267.03516 L 677.15146,266.28936 L 680.49885,267.71846 L 682.55296,272.0833 L 687.68525,272.09412 L 689.73626,274.30231 L 691.35171,274.15461 L 693.9534,272.87644 L 699.19046,273.44981 L 701.76538,273.66732 L 703.45296,271.61108 L 706.07091,270.1852 L 707.95269,269.4781 L 708.59933,272.31473 L 710.64276,273.37307 L 713.28552,275.45556 L 713.40299,281.1288 L 714.21129,282.70121 L 716.80101,284.25749 L 717.57265,286.552 L 721.73254,289.98894 L 723.53785,293.61218 L 725.9944,295.2707 z").attr("id", "KY").attr(attr),
name: "Kentucky",
desc: ""
},
'al' : {
svg: R.path("M 631.30647,460.41572 L 629.81587,446.09422 L 627.06763,427.34158 L 627.22929,413.27709 L 628.03759,382.23824 L 627.87593,365.58718 L 628.04102,359.16812 L 672.5255,355.54867 L 672.3777,357.73109 L 672.53936,359.83269 L 673.18601,363.22756 L 676.58089,371.14893 L 679.00579,381.01024 L 680.46074,387.15335 L 682.07734,392.00317 L 683.5323,398.95458 L 685.63388,405.25934 L 688.22045,408.65423 L 688.70543,412.04909 L 690.64537,412.8574 L 690.80703,414.95899 L 689.02875,419.80881 L 688.54377,423.04203 L 688.38211,424.98195 L 689.99873,429.3468 L 690.32205,434.68159 L 689.51373,437.10651 L 690.16039,437.91481 L 691.61533,438.72311 L 691.94347,441.61193 L 686.34581,441.25838 L 679.55606,441.90503 L 654.01366,444.81491 L 643.6021,446.22168 L 643.38072,449.09908 L 645.15899,450.87735 L 647.74556,452.81727 L 648.32642,460.75271 L 642.78436,463.32561 L 640.03614,463.00229 L 642.78436,461.06236 L 642.78436,460.0924 L 639.71282,454.11096 L 637.44957,453.46432 L 635.99462,457.82915 L 634.70134,460.57738 L 634.0547,460.41572 L 631.30647,460.41572 z").attr("id", "AL").attr(attr),
name: "Alabama",
desc: ""
},
'la' : {
svg: R.path("M 607.96706,459.16125 L 604.68245,455.99511 L 605.69236,450.49488 L 605.03101,449.6018 L 595.76934,450.60836 L 570.74102,451.06728 L 570.05683,448.6726 L 570.96964,440.2169 L 574.28552,434.27105 L 579.31688,425.58003 L 578.74281,423.18201 L 579.9994,422.50116 L 580.45833,420.54867 L 578.17209,418.49274 L 578.0603,416.55029 L 576.22964,412.20478 L 576.08259,405.86618 L 520.6088,406.79015 L 520.63737,416.36372 L 521.32324,425.73725 L 522.00911,429.62383 L 524.52396,433.73904 L 525.43845,438.76875 L 529.78228,444.25568 L 530.0109,447.4564 L 530.69677,448.14227 L 530.0109,456.60131 L 527.03881,461.631 L 528.63917,463.68861 L 527.95329,466.20345 L 527.26743,473.51938 L 525.89569,476.72009 L 526.01815,480.33654 L 530.70463,478.81639 L 542.81798,479.0234 L 553.16425,482.57993 L 559.63067,483.71156 L 563.34886,482.25661 L 566.58207,483.38824 L 569.81528,484.3582 L 570.62358,482.25661 L 567.39037,481.12499 L 564.8038,481.60997 L 562.05557,479.99337 C 562.05557,479.99337 562.21724,478.70008 562.86388,478.53842 C 563.51052,478.37676 565.93543,477.56846 565.93543,477.56846 L 567.71369,479.0234 L 569.49196,478.05344 L 572.72517,478.70008 L 574.18011,481.12499 L 574.50343,483.38824 L 579.02992,483.71156 L 580.80819,485.48982 L 579.99989,487.10643 L 578.7066,487.91473 L 580.32321,489.53133 L 588.72955,493.08786 L 592.28608,491.79458 L 593.25605,489.36967 L 595.84261,488.72303 L 597.62088,487.26809 L 598.91416,488.23805 L 599.72246,491.14794 L 597.45922,491.95624 L 598.10586,492.60288 L 601.50073,491.3096 L 603.76398,487.91473 L 604.57228,487.42975 L 602.47069,487.10643 L 603.27899,485.48982 L 603.11733,484.03488 L 605.21892,483.5499 L 606.35054,482.25661 L 606.99718,483.06491 C 606.99718,483.06491 606.83552,486.13646 607.64383,486.13646 C 608.45213,486.13646 611.847,486.78311 611.847,486.78311 L 615.88851,488.72303 L 616.85847,490.17798 L 619.76836,490.17798 L 620.89999,491.14794 L 623.16323,488.07639 L 623.16323,486.62144 L 621.86995,486.62144 L 618.47508,483.87322 L 612.6553,483.06491 L 609.42209,480.80167 L 610.55372,478.05344 L 612.81696,478.37676 L 612.97862,477.73012 L 611.20036,476.76016 L 611.20036,476.27517 L 614.43357,476.27517 L 616.21183,473.20363 L 614.91855,471.2637 L 614.59523,468.51547 L 613.14028,468.67713 L 611.20036,470.77872 L 610.55372,473.36529 L 607.48217,472.71864 L 606.5122,470.94038 L 608.29047,469.00045 L 610.1938,465.55485 L 609.1327,463.14258 L 607.96706,459.16125 z").attr("id", "LA").attr(attr),
name: "Louisiana",
desc: ""
},
'ms' : {
svg: R.path("M 631.55882,459.34458 L 631.30456,460.60073 L 626.13142,460.60073 L 624.67648,459.79243 L 622.57489,459.46911 L 615.78515,461.40903 L 614.00689,460.60073 L 611.42032,464.8039 L 610.31778,465.58192 L 609.19395,463.09394 L 608.05083,459.20735 L 604.6215,456.00664 L 605.7646,450.46209 L 605.07874,449.5476 L 603.24976,449.77622 L 595.33184,450.64959 L 570.78534,451.02296 L 570.0156,448.7976 L 570.88897,440.4208 L 574.00581,434.74799 L 579.23288,425.60309 L 578.78714,423.17049 L 580.024,422.51424 L 580.45987,420.59477 L 578.14239,418.51579 L 578.02727,416.37431 L 576.19155,412.25322 L 576.08255,406.29045 L 577.41008,403.80948 L 577.18678,400.39373 L 575.41729,397.31114 L 576.94371,395.82893 L 575.3731,393.32939 L 575.83035,391.67718 L 577.40775,385.15081 L 579.8937,383.11446 L 579.25203,380.74749 L 582.91,375.44496 L 585.74186,374.08854 L 585.52089,372.41338 L 585.23276,370.73228 L 588.10882,365.16461 L 590.45454,363.9331 L 590.60617,363.04009 L 627.94965,359.15892 L 628.13451,365.44225 L 628.29617,382.09331 L 627.48787,413.13216 L 627.32621,427.19665 L 630.07445,445.94929 L 631.55882,459.34458 z").attr("id", "MS").attr(attr),
name: "Mississippi",
desc: ""
},
'ia' : {
svg: R.path("M 569.19154,199.5843 L 569.45592,202.3705 L 571.67964,202.94776 L 572.63358,204.17309 L 573.13359,206.02845 L 576.92643,209.3871 L 577.6123,211.7786 L 576.93796,215.20307 L 575.35565,218.43505 L 574.55631,221.17684 L 572.38356,222.77888 L 570.66805,223.35128 L 565.08903,225.21148 L 563.69757,229.06017 L 564.42621,230.43191 L 566.26672,232.1145 L 565.98379,236.15079 L 564.22064,237.68865 L 563.44923,239.33179 L 563.57645,242.10811 L 561.69014,242.56535 L 560.06469,243.67026 L 559.7859,245.02289 L 560.06469,247.13781 L 558.51367,248.25388 L 556.04314,245.1206 L 554.78057,242.67073 L 489.04475,245.18558 L 488.12672,245.35102 L 486.07432,240.83506 L 485.8457,234.20499 L 484.24534,230.08978 L 483.55948,224.83147 L 481.27325,221.1735 L 480.35877,216.37243 L 477.61529,208.82788 L 476.47218,203.45524 L 475.10044,201.28333 L 473.50008,198.53987 L 475.45406,193.69604 L 476.8258,187.98047 L 474.08233,185.92286 L 473.62508,183.17939 L 474.53958,180.66454 L 476.25425,180.66454 L 558.90825,179.39506 L 559.74251,183.57818 L 561.99469,185.13915 L 562.2514,186.56224 L 560.22186,189.95155 L 560.41227,193.15707 L 562.92713,196.95527 L 565.45392,198.24889 L 568.5332,198.75194 L 569.19154,199.5843 z").attr("id", "IA").attr(attr),
name: "Iowa",
desc: ""
},
'mn' : {
svg: R.path("M 475.23781,128.82439 L 474.78056,120.36535 L 472.95158,113.04943 L 471.1226,99.560705 L 470.66535,89.729927 L 468.83637,86.300584 L 467.23601,81.270889 L 467.23601,70.982869 L 467.92187,67.096282 L 466.10094,61.644615 L 496.23336,61.679886 L 496.55668,53.435202 L 497.20332,53.273541 L 499.46657,53.758523 L 501.40649,54.566825 L 502.21479,60.063281 L 503.66974,66.206379 L 505.28634,67.822984 L 510.13616,67.822984 L 510.45948,69.277928 L 516.76424,69.601249 L 516.76424,71.702835 L 521.61405,71.702835 L 521.93737,70.409551 L 523.06899,69.277928 L 525.33224,68.631286 L 526.62552,69.601249 L 529.53541,69.601249 L 533.41526,72.187816 L 538.75006,74.612723 L 541.17497,75.097705 L 541.65995,74.127742 L 543.11489,73.64276 L 543.59987,76.552649 L 546.18644,77.845933 L 546.67142,77.360951 L 547.96471,77.522612 L 547.96471,79.624198 L 550.55127,80.594161 L 553.62282,80.594161 L 555.23943,79.785858 L 558.47264,76.552649 L 561.0592,76.067668 L 561.86751,77.845933 L 562.35249,79.139216 L 563.32245,79.139216 L 564.29241,78.330914 L 573.18374,78.007593 L 574.962,81.079142 L 575.60865,81.079142 L 576.32226,79.994863 L 580.76217,79.624198 L 580.15007,81.903657 L 576.21135,83.740782 L 566.96557,87.80191 L 562.19083,89.808807 L 559.11928,92.395375 L 556.69437,95.951905 L 554.43113,99.831756 L 552.65286,100.64006 L 548.12637,105.65153 L 546.83308,105.81319 L 542.5053,108.57031 L 540.04242,111.77542 L 539.8138,114.96681 L 539.90816,123.01016 L 538.53212,124.69891 L 533.45058,128.45888 L 531.2205,134.44129 L 534.09225,136.675 L 534.77214,139.90198 L 532.9169,143.14091 L 533.08769,146.88893 L 533.45655,153.61933 L 536.4848,156.62132 L 539.8138,156.62132 L 541.70491,159.75392 L 545.08408,160.25719 L 548.94324,165.92866 L 556.03053,170.04541 L 558.17368,172.92053 L 558.84483,179.36004 L 477.63333,180.50483 L 477.29541,144.82798 L 476.83817,141.85589 L 472.72296,138.42655 L 471.57984,136.59757 L 471.57984,134.9972 L 473.63744,133.39685 L 475.00918,132.02511 L 475.23781,128.82439 z").attr("id", "MN").attr(attr),
name: "Minnesota",
desc: ""
},
'ok' : {
svg: R.path("M 380.34313,320.82146 L 363.65895,319.54815 L 362.77873,330.50058 L 383.24411,331.65746 L 415.29966,332.96106 L 412.96506,357.37971 L 412.50781,375.21228 L 412.73644,376.81264 L 417.08027,380.4706 L 419.13787,381.61371 L 419.82374,381.38509 L 420.50961,379.32748 L 421.88135,381.15647 L 423.93895,381.15647 L 423.93895,379.78473 L 426.68242,381.15647 L 426.22518,385.04305 L 430.34039,385.27167 L 432.85523,386.41479 L 436.97044,387.10066 L 439.48529,388.92964 L 441.77152,386.87204 L 445.20086,387.5579 L 447.71571,390.98724 L 448.63019,390.98724 L 448.63019,393.27347 L 450.91642,393.95933 L 453.20264,391.67311 L 455.03163,392.35897 L 457.54647,392.35897 L 458.46097,394.87383 L 464.76204,396.9528 L 466.13378,396.26694 L 467.96276,392.15173 L 469.10587,392.15173 L 470.24899,394.20933 L 474.3642,394.8952 L 478.02215,396.26694 L 480.99425,397.18143 L 482.82324,396.26694 L 483.5091,393.75209 L 487.85293,393.75209 L 489.91053,394.66658 L 492.654,392.60897 L 493.79712,392.60897 L 494.48299,394.20933 L 498.59819,394.20933 L 500.19855,392.15173 L 502.02754,392.60897 L 504.08514,395.12383 L 507.28585,396.9528 L 510.48658,397.8673 L 512.42766,398.98623 L 512.03856,361.76922 L 510.66681,350.79524 L 510.50635,341.9229 L 509.06646,335.38517 L 508.28826,328.20553 L 508.22012,324.38931 L 496.08328,324.70805 L 449.67324,324.25081 L 404.63433,322.19319 L 380.34313,320.82146 z").attr("id", "OK").attr(attr),
name: "Oklahoma",
desc: ""
},
'tx' : {
svg: R.path("M 361.46423,330.57358 L 384.15502,331.65952 L 415.24771,332.80264 L 412.9131,356.25844 L 412.61634,374.41196 L 412.68448,376.49375 L 417.02831,380.31218 L 419.01496,381.75934 L 420.19917,381.19965 L 420.57254,379.38193 L 421.71286,381.18555 L 423.8245,381.22948 L 423.82183,379.78239 L 425.49177,380.74966 L 426.63047,381.15853 L 426.2712,385.12618 L 430.35939,385.21969 L 433.28471,386.41686 L 437.23945,386.94224 L 439.62083,389.02122 L 441.74493,386.94505 L 445.46987,387.55996 L 447.69078,390.7849 L 448.76574,391.10586 L 448.60527,393.07113 L 450.81888,393.86342 L 453.14903,391.80862 L 455.28205,392.42354 L 457.51143,392.45902 L 458.4445,394.89446 L 464.77259,397.00891 L 466.36564,396.24198 L 467.85511,392.06427 L 468.19583,392.06427 L 469.10232,392.14591 L 470.33137,394.21454 L 474.26125,394.87982 L 477.59825,396.0027 L 481.02388,397.19867 L 482.86446,396.22367 L 483.57822,393.70883 L 488.03144,393.75303 L 489.84018,394.68381 L 492.63943,392.5773 L 493.74307,392.6215 L 494.59411,394.22657 L 498.64883,394.22657 L 500.1677,392.19795 L 502.03507,392.60519 L 503.9811,395.00847 L 507.50167,397.05262 L 510.36043,397.86243 L 511.87405,398.66227 L 514.32075,400.65959 L 517.36379,399.3318 L 520.05488,400.47068 L 520.61869,406.57662 L 520.57893,416.27879 L 521.26479,425.8128 L 521.96697,429.41791 L 524.6423,433.83777 L 525.54048,438.7885 L 529.75643,444.32652 L 529.95245,447.47146 L 530.69882,448.2573 L 529.96875,456.63737 L 527.09665,461.64387 L 528.62962,463.79674 L 527.99954,466.13482 L 527.32997,473.53914 L 525.82565,476.87714 L 526.12053,480.37949 L 520.45565,481.96467 L 510.59436,486.49117 L 509.6244,488.43109 L 507.03783,490.37102 L 504.93625,491.82596 L 503.64296,492.63426 L 497.98485,497.96906 L 495.23662,500.07065 L 489.90182,503.30385 L 484.24371,505.72876 L 477.93895,509.12363 L 476.16069,510.57858 L 470.34091,514.13511 L 466.94604,514.78175 L 463.06619,520.2782 L 459.02468,520.60153 L 458.05471,522.54145 L 460.31796,524.48138 L 458.86301,529.97783 L 457.56973,534.50433 L 456.43811,538.38418 L 455.62981,542.91067 L 456.43811,545.33558 L 458.21637,552.28698 L 459.18634,558.43007 L 460.9646,561.1783 L 459.99464,562.63325 L 456.92309,564.57317 L 451.26497,560.69332 L 445.76852,559.5617 L 444.47523,560.04668 L 441.24202,559.40004 L 437.03885,556.32849 L 431.86572,555.19687 L 424.26767,551.802 L 422.16609,547.92214 L 420.8728,541.45573 L 417.6396,539.5158 L 416.99295,537.25255 L 417.6396,536.60591 L 417.96292,533.21104 L 416.66963,532.5644 L 416.02299,531.59444 L 417.31627,527.2296 L 415.69967,524.96636 L 412.46646,523.67307 L 409.07159,519.30824 L 405.51506,512.68016 L 401.31189,510.09359 L 401.47355,508.15367 L 396.13875,495.86747 L 395.33045,491.6643 L 393.55219,489.72438 L 393.39053,488.26943 L 387.40909,482.93464 L 384.82252,479.86309 L 384.82252,478.73146 L 382.23595,476.62988 L 375.44621,475.49825 L 368.00983,474.85161 L 364.93828,472.58837 L 360.41179,474.36663 L 356.85526,475.82158 L 354.59201,479.05478 L 353.62205,482.77298 L 349.25722,488.91607 L 346.83231,491.34098 L 344.24574,490.37102 L 342.46748,489.23939 L 340.52755,488.59275 L 336.6477,486.32951 L 336.6477,485.68286 L 334.86944,483.74294 L 329.6963,481.64135 L 322.25992,473.88165 L 319.99667,469.1935 L 319.99667,461.11047 L 316.76346,454.64405 L 316.27848,451.89583 L 314.66188,450.92586 L 313.53025,448.82428 L 308.51878,446.72269 L 307.2255,445.10609 L 300.11243,437.18472 L 298.81915,433.95151 L 294.13099,431.68826 L 292.67604,427.32339 L 290.08945,424.41352 L 288.14954,423.92856 L 287.50031,419.25092 L 295.50218,419.93681 L 324.53717,422.68026 L 353.57225,424.28062 L 355.80578,404.8188 L 359.69233,349.26378 L 361.29272,330.51646 L 362.66446,330.54504 M 461.69381,560.20778 L 461.128,553.0947 L 458.37976,545.90078 L 457.81394,538.86853 L 459.34972,530.62382 L 462.66378,523.75323 L 466.13948,518.33758 L 469.29188,514.78103 L 469.93852,515.02353 L 465.16952,521.65163 L 460.80468,528.19891 L 458.78391,534.827 L 458.46059,540.00016 L 459.34972,546.14328 L 461.9363,553.3372 L 462.42128,558.51034 L 462.58294,559.9653 L 461.69381,560.20778 z").attr("id", "TX").attr(attr),
name: "Texas",
desc: ""
},
'nm' : {
svg: R.path("M 288.15255,424.01315 L 287.37714,419.26505 L 296.02092,419.79045 L 326.19268,422.73635 L 353.46084,424.42624 L 355.67611,405.71877 L 359.53347,349.8428 L 361.27115,330.45357 L 362.84285,330.58213 L 363.66825,319.41874 L 259.6638,308.78279 L 242.16645,429.2176 L 257.62712,431.20675 L 258.9204,421.1838 L 288.15255,424.01315 z").attr("id", "NM").attr(attr),
name: "New Mexico",
desc: ""
},
'ks' : {
svg: R.path("M 507.88059,324.38028 L 495.26233,324.58471 L 449.17324,324.12748 L 404.61576,322.06985 L 379.98602,320.81244 L 383.87981,256.21747 L 405.96327,256.89264 L 446.2524,257.73404 L 490.55364,258.72162 L 495.64927,258.72162 L 497.83367,260.88402 L 499.85133,260.86264 L 501.49163,261.87511 L 501.42913,264.88434 L 499.60015,266.60971 L 499.2679,268.84188 L 501.11098,272.24421 L 504.06334,275.43927 L 506.39069,277.05373 L 507.69146,288.29455 L 507.88059,324.38028 z").attr("id", "KS").attr(attr),
name: "Kansas",
desc: ""
},
'ne' : {
svg: R.path("M 486.09787,240.70058 L 489.32848,247.72049 L 489.19985,250.02301 L 492.65907,255.51689 L 495.37836,258.66923 L 490.32888,258.66923 L 446.84632,257.73055 L 406.05946,256.84025 L 383.80724,256.05638 L 384.88001,234.72853 L 352.56177,231.80828 L 356.9056,187.79842 L 372.45193,188.82723 L 392.57072,189.97033 L 410.40329,191.11345 L 434.18005,192.25656 L 444.92531,191.79932 L 446.98291,194.08554 L 451.78399,197.05764 L 452.9271,197.97213 L 457.27093,196.60039 L 461.15752,196.14315 L 463.90099,195.91452 L 465.72997,197.28626 L 469.7874,198.88662 L 472.75949,200.48698 L 473.21674,202.08734 L 474.13123,204.14494 L 475.96021,204.14494 L 476.75819,204.19111 L 477.65242,208.87293 L 480.57268,217.34085 L 481.14521,221.09756 L 483.6687,224.87181 L 484.23829,229.98595 L 485.84553,234.22632 L 486.09787,240.70058 z").attr("id", "NE").attr(attr),
name: "Nebraska",
desc: ""
},
'sd' : {
svg: R.path("M 476.44687,204.02465 L 476.39942,203.44378 L 473.50371,198.59834 L 475.36394,193.88623 L 476.85667,187.99969 L 474.0748,185.91998 L 473.68964,183.17652 L 474.48204,180.62217 L 477.67055,180.63738 L 477.54747,175.63124 L 477.21417,145.45699 L 476.59644,141.68941 L 472.52412,138.35848 L 471.54149,136.68152 L 471.47899,135.0727 L 473.50111,133.5433 L 475.03333,131.87763 L 475.27829,129.22084 L 417.0212,127.62049 L 362.22199,124.1714 L 356.89672,187.86259 L 371.48699,188.76639 L 391.43684,189.972 L 409.17989,190.90059 L 432.95665,192.20417 L 444.93935,191.77953 L 446.90565,194.02471 L 452.10029,197.27806 L 452.86418,198.00081 L 457.40562,196.548 L 463.94616,195.93309 L 465.62146,197.26936 L 469.82597,198.86549 L 472.77103,200.50132 L 473.17001,201.98513 L 474.2095,204.22601 L 476.44687,204.02465 z").attr("id", "SD").attr(attr),
name: "South Dakota",
desc: ""
},
'nd' : {
svg: R.path("M 475.30528,128.91846 L 474.69037,120.48479 L 473.01342,113.66887 L 471.12193,100.64465 L 470.66469,89.657624 L 468.92523,86.580482 L 467.16862,81.386086 L 467.19987,70.941816 L 467.82323,67.117729 L 465.98913,61.649968 L 437.34688,61.085941 L 418.75593,60.439299 L 392.24361,59.146015 L 369.29727,57.012146 L 362.30403,124.18898 L 417.23627,127.53263 L 475.30528,128.91846 z").attr("id", "ND").attr(attr),
name: "North Dakota",
desc: ""
},
'wy' : {
svg: R.path("M 360.37668,143.27587 L 253.63408,129.81881 L 239.5506,218.27684 L 352.81521,231.86233 L 360.37668,143.27587 z").attr("id", "WY").attr(attr),
name: "Wyoming",
desc: ""
},
'mt' : {
svg: R.path("M 369.20952,56.969133 L 338.5352,54.1613 L 309.27465,50.60477 L 280.01411,46.563258 L 247.68201,41.228463 L 229.25272,37.833593 L 196.52907,30.900857 L 192.05005,52.248389 L 195.47939,59.79293 L 194.10765,64.365382 L 195.93663,68.937833 L 199.13736,70.309572 L 203.75818,81.079025 L 206.45328,84.255548 L 206.91052,85.398666 L 210.33986,86.541784 L 210.79711,88.599377 L 203.70981,106.20333 L 203.70981,108.71818 L 206.22466,111.91889 L 207.13914,111.91889 L 211.94021,108.9468 L 212.62609,107.80368 L 214.22645,108.48955 L 213.99782,113.74787 L 216.7413,126.32212 L 219.71339,128.83696 L 220.62787,129.52283 L 222.45686,131.80905 L 221.99961,135.2384 L 222.68548,138.66773 L 223.8286,139.58223 L 226.11482,137.296 L 228.85829,137.296 L 232.05901,138.89636 L 234.57386,137.98187 L 238.68907,137.98187 L 242.34702,139.58223 L 245.0905,139.12498 L 245.54774,136.15288 L 248.51983,135.46702 L 249.89157,136.83876 L 250.34882,140.03947 L 251.77469,140.87411 L 253.66164,129.83937 L 360.40731,143.26829 L 369.20952,56.969133 z").attr("id", "MT").attr(attr),
name: "Montana",
desc: ""
},
'co' : {
svg: R.path("M 380.03242,320.96457 L 384.93566,234.63961 L 271.5471,221.99565 L 259.33328,309.93481 L 380.03242,320.96457 z").attr("id", "CO").attr(attr),
name: "Colorado",
desc: ""
},
'id' : {
svg: R.path("M 148.47881,176.48395 L 157.24968,141.26323 L 158.62142,137.03371 L 161.13626,131.08953 L 159.87884,128.8033 L 157.36398,128.91761 L 156.56381,127.88881 L 157.02106,126.7457 L 157.36398,123.65929 L 161.82213,118.17234 L 163.65111,117.7151 L 164.79422,116.57199 L 165.36578,113.37127 L 166.28026,112.68541 L 170.16685,106.85553 L 174.05344,102.5117 L 174.28206,98.739432 L 170.85272,96.110269 L 169.31717,91.709286 L 182.94208,28.367595 L 196.45967,30.895706 L 192.05159,52.278719 L 195.61194,59.764071 L 194.03083,64.424911 L 196.00068,69.066144 L 199.1389,70.321335 L 202.97424,79.877923 L 206.48693,84.315077 L 206.99418,85.458195 L 210.33513,86.601313 L 210.70398,88.698388 L 203.73297,106.07448 L 203.56779,108.64041 L 206.19891,111.96211 L 207.10399,111.91321 L 212.01528,108.88761 L 212.6927,107.79264 L 214.25501,108.4515 L 213.97657,113.80522 L 216.71582,126.38793 L 220.63365,129.56584 L 222.31483,131.73129 L 221.59822,135.81515 L 222.66444,138.62256 L 223.72607,139.71384 L 226.20536,137.36242 L 229.05352,137.41131 L 231.97277,138.74651 L 234.75279,138.06458 L 238.54705,137.9041 L 242.52595,139.50446 L 245.26943,139.2077 L 245.76617,136.17039 L 248.69876,135.40556 L 249.95893,136.92147 L 250.39986,139.86643 L 251.8242,141.07964 L 243.4382,194.6883 C 243.4382,194.6883 155.47221,177.98769 148.47881,176.48395 z").attr("id", "ID").attr(attr),
name: "Idaho",
desc: ""
},
'ut' : {
svg: R.path("M 259.49836,310.10509 L 175.74933,298.23284 L 196.33694,185.69149 L 243.11725,194.43663 L 241.63245,205.06705 L 239.32083,218.23971 L 247.12852,219.16808 L 263.53504,220.97287 L 271.74601,221.82851 L 259.49836,310.10509 z").attr("id", "UT").attr(attr),
name: "Utah",
desc: ""
},
'az' : {
svg: R.path("M 144.9112,382.62909 L 142.28419,384.78742 L 141.96087,386.24237 L 142.44585,387.21233 L 161.36012,397.88192 L 173.48466,405.47996 L 188.19576,414.04797 L 205.00845,424.07092 L 217.29465,426.49583 L 242.24581,429.20074 L 259.50142,310.07367 L 175.76579,298.15642 L 172.6734,314.56888 L 171.06711,314.58419 L 169.35244,317.21335 L 166.83759,317.09903 L 165.58017,314.35556 L 162.8367,314.01263 L 161.9222,312.86952 L 161.00772,312.86952 L 160.09322,313.44108 L 158.14993,314.46988 L 158.03563,321.44286 L 157.80699,323.15753 L 157.23545,335.73177 L 155.7494,337.90368 L 155.17784,341.21871 L 157.92131,346.1341 L 159.17873,351.96398 L 159.97892,352.99278 L 161.00772,353.56434 L 160.8934,355.85056 L 159.29305,357.22229 L 155.86371,358.93696 L 153.92042,360.88026 L 152.43437,364.53821 L 151.86281,369.4536 L 149.00503,372.19707 L 146.94743,372.88294 L 147.08312,373.71282 L 146.62587,375.42749 L 147.08312,376.22767 L 150.74108,376.79921 L 150.16952,379.54269 L 148.68347,381.7146 L 144.9112,382.62909 z").attr("id", "AZ").attr(attr),
name: "Arizona",
desc: ""
},
'nv' : {
svg: R.path("M 196.39273,185.57552 L 172.75382,314.39827 L 170.92158,314.74742 L 169.34882,317.1536 L 166.97588,317.16429 L 165.50393,314.42082 L 162.88546,314.0424 L 162.11454,312.93477 L 161.07671,312.88073 L 158.29834,314.52502 L 157.98808,321.3105 L 157.62599,327.08767 L 157.27742,335.68048 L 155.83032,337.76964 L 153.3914,336.69561 L 84.311514,232.49442 L 103.30063,164.90951 L 196.39273,185.57552 z").attr("id", "NV").attr(attr),
name: "Nevada",
desc: ""
},
'or' : {
svg: R.path("M 148.72184,175.53153 L 157.57154,140.73002 L 158.62233,136.5005 L 160.9767,130.87727 L 160.36119,129.71439 L 157.84633,129.66821 L 156.56473,127.99751 L 157.02197,126.53344 L 157.52538,123.28656 L 161.98353,117.79961 L 163.81251,116.70046 L 164.95562,115.55735 L 166.44166,111.99172 L 170.48872,106.32232 L 174.05435,102.45992 L 174.28297,99.008606 L 171.01411,96.539924 L 169.2307,91.897299 L 156.56693,88.285329 L 141.47784,84.741679 L 126.04582,84.855985 L 125.58858,83.484256 L 120.10163,85.54186 L 115.64349,84.970301 L 113.24295,83.36994 L 111.98553,84.055815 L 107.29877,83.827183 L 105.5841,82.455454 L 100.32578,80.39785 L 99.525598,80.512166 L 95.181768,79.02611 L 93.238477,80.855093 L 87.065665,80.512166 L 81.121482,76.396957 L 81.807347,75.596777 L 82.035968,67.823604 L 79.749743,63.937027 L 75.634535,63.365468 L 74.94867,60.850621 L 72.594738,60.384056 L 66.796213,62.44284 L 64.532966,68.909258 L 61.299757,78.932207 L 58.066547,85.398626 L 53.055073,99.463087 L 46.588654,113.04256 L 38.505631,125.65208 L 36.565705,128.56197 L 35.757403,137.12997 L 36.143498,149.2102 L 148.72184,175.53153 z").attr("id", "OR").attr(attr),
name: "Oregon",
desc: ""
},
'wa' : {
svg: R.path("M 102.07324,7.6117734 L 106.43807,9.0667177 L 116.1377,11.814946 L 124.7057,13.754871 L 144.7516,19.412988 L 167.70739,25.071104 L 182.93051,28.278277 L 169.29815,91.864088 L 156.85315,88.33877 L 141.34514,84.768091 L 126.11585,84.801329 L 125.66028,83.45663 L 120.06106,85.635923 L 115.46563,84.899179 L 113.31866,83.315125 L 112.00545,83.973101 L 107.26979,83.832858 L 105.57143,82.483225 L 100.30839,80.370922 L 99.573419,80.51784 L 95.184297,78.993392 L 93.290999,80.810771 L 87.025093,80.512038 L 81.099395,76.386336 L 81.878352,75.453573 L 81.999575,67.776121 L 79.717576,63.93642 L 75.602368,63.32938 L 74.924958,60.818764 L 72.649446,60.361832 L 69.094498,61.592408 L 66.831251,58.373161 L 67.154572,55.463272 L 69.9028,55.139951 L 71.519405,51.09844 L 68.932837,49.966816 L 69.094498,46.248625 L 73.459331,45.601984 L 70.711103,42.853756 L 69.256158,35.740695 L 69.9028,32.830807 L 69.9028,24.909444 L 68.124535,21.676234 L 70.387782,12.299927 L 72.489368,12.784908 L 74.914275,15.694797 L 77.662503,18.281364 L 80.895712,20.22129 L 85.422205,22.322876 L 88.493756,22.969518 L 91.403645,24.424462 L 94.798518,25.394425 L 97.061764,25.232765 L 97.061764,22.807857 L 98.355048,21.676234 L 100.45663,20.38295 L 100.77996,21.514574 L 101.10328,23.292839 L 98.840029,23.77782 L 98.516708,25.879406 L 100.29497,27.334351 L 101.4266,29.759258 L 102.07324,31.699183 L 103.52818,31.537523 L 103.68984,30.244239 L 102.71988,28.950955 L 102.2349,25.717746 L 103.0432,23.939481 L 102.39656,22.484537 L 102.39656,20.22129 L 104.17483,16.66476 L 103.0432,14.078192 L 100.61829,9.2283781 L 100.94162,8.4200758 L 102.07324,7.6117734 z M 92.616548,13.590738 L 94.637312,13.429078 L 95.122294,14.803197 L 96.658073,13.186582 L 99.002155,13.186582 L 99.810458,14.722361 L 98.274678,16.419801 L 98.92133,17.228114 L 98.193853,19.248875 L 96.819734,19.653021 C 96.819734,19.653021 95.930596,19.733857 95.930596,19.410536 C 95.930596,19.087215 97.385551,16.823958 97.385551,16.823958 L 95.688111,16.258141 L 95.36479,17.713095 L 94.637312,18.359737 L 93.10153,16.09648 L 92.616548,13.590738 z").attr("id", "WA").attr(attr),
name: "Washington",
desc: ""
},
'ca' : {
svg: R.path("M 144.69443,382.19813 L 148.63451,381.70951 L 150.12055,379.69807 L 150.66509,376.75698 L 147.11357,376.16686 L 146.5994,375.49864 L 147.0769,373.46633 L 146.91762,372.87666 L 148.84019,372.25707 L 151.88297,369.42439 L 152.46453,364.42929 L 153.84443,361.02718 L 155.78772,358.86092 L 159.30659,357.27125 L 160.96098,355.66642 L 161.02971,353.55758 L 160.03638,352.97757 L 159.01323,351.90484 L 157.85801,346.05639 L 155.17281,341.2263 L 155.73862,337.7213 L 153.31904,336.69199 L 84.257718,232.51359 L 103.15983,164.9121 L 36.079967,149.21414 L 34.573071,153.94738 L 34.41141,161.38376 L 29.238275,173.18497 L 26.166727,175.77154 L 25.843406,176.90316 L 24.06514,177.71147 L 22.610196,181.91464 L 21.801894,185.14785 L 24.550122,189.35102 L 26.166727,193.55419 L 27.29835,197.11072 L 26.975029,203.57714 L 25.196764,206.64869 L 24.550122,212.46847 L 23.580159,216.18666 L 25.358424,220.06651 L 28.106652,224.593 L 30.369899,229.44282 L 31.663182,233.48433 L 31.339862,236.71754 L 31.016541,237.20252 L 31.016541,239.3041 L 36.674657,245.60886 L 36.189676,248.03377 L 35.543034,250.29702 L 34.896392,252.23694 L 35.058052,260.48163 L 37.159638,264.19982 L 39.099564,266.78638 L 41.847792,267.27137 L 42.817755,270.01959 L 41.686132,273.57612 L 39.584545,275.19273 L 38.452922,275.19273 L 37.64462,279.07258 L 38.129601,281.98247 L 41.362811,286.3473 L 42.979415,291.6821 L 44.434359,296.37025 L 45.727643,299.4418 L 49.122513,305.26158 L 50.577457,307.84814 L 51.062439,310.75803 L 52.679043,311.72799 L 52.679043,314.1529 L 51.870741,316.09283 L 50.092476,323.20589 L 49.607494,325.14581 L 52.032402,327.89404 L 56.235574,328.37902 L 60.762067,330.15729 L 64.641918,332.25887 L 67.551807,332.25887 L 70.461695,335.33042 L 73.048262,340.18024 L 74.179886,342.44348 L 78.059737,344.54507 L 82.909551,345.35337 L 84.364495,347.45496 L 85.011137,350.68817 L 83.556193,351.33481 L 83.879514,352.30477 L 87.112725,353.11307 L 89.860953,353.27474 L 93.020842,351.58789 L 96.900696,355.79106 L 97.708998,358.05431 L 100.29557,362.25748 L 100.61889,365.49069 L 100.61889,374.867 L 101.10387,376.64526 L 111.12682,378.10021 L 130.84939,380.84843 L 144.69443,382.19813 z M 56.559218,338.48145 L 57.852506,340.01723 L 57.690846,341.31052 L 54.457625,341.22969 L 53.891811,340.01723 L 53.245167,338.56228 L 56.559218,338.48145 z M 58.49915,338.48145 L 59.711608,337.83481 L 63.268151,339.9364 L 66.339711,341.14885 L 65.450575,341.79551 L 60.924066,341.55301 L 59.307456,339.9364 L 58.49915,338.48145 z M 79.191764,358.28493 L 80.970029,360.62901 L 81.778342,361.59898 L 83.314121,362.16479 L 83.879928,360.70984 L 82.909965,358.93157 L 80.242562,356.91081 L 79.191764,357.07247 L 79.191764,358.28493 z M 77.736809,366.93379 L 79.515085,370.08618 L 80.727543,372.02612 L 79.272589,372.2686 L 77.979305,371.05615 C 77.979305,371.05615 77.251828,369.6012 77.251828,369.19704 C 77.251828,368.7929 77.251828,367.01462 77.251828,367.01462 L 77.736809,366.93379 z").attr("id", "CA").attr(attr),
name: "California",
desc: ""
}
},
current = null,
state,
stateDescHtml = '';
var ox, oy;
var dx,dy;
for (state in us) {
us[state].svg.translate(100,100);
us[state].svg.color = Raphael.getColor();
stateDescHtml += '<div id="'+state+'" class="state-desc"><h2>'+us[state].name+'</h2><p>[State data here]</p></div>';
(function (st, state) { //an event handler for each state
st[0].style.cursor = "pointer";
st[0].onmouseover = function (event) {
current && us[current].svg.animate({fill: "#333", stroke: "#666"}, 500) && (document.getElementById(current).style.display = "");
st.animate({fill: st.color, stroke: "#ccc"}, 500);
st.toFront();
R.safari();
document.getElementById(state).style.display = "block";
this.popup = R.rect(event.clientX - 130,event.clientY - 210,120,80).attr({fill:"white"});
this.text = R.text(event.clientX - 90, event.clientY - 180, us[state].name);
this.popup.toFront();
this.text.toFront();
this.ox = this.popup.attr("x");
this.oy = this.popup.attr("y");
this.clientX = event.clientX;
this.clientY = event.clientY;
current = state;
};
st[0].onmouseout = function () {
st.animate({fill: "#333", stroke: "#666"}, 500);
st.toFront();
R.safari();
this.popup.remove();
this.text.remove();
};
st[0].onmousemove = function(event){
dx = event.clientX - this.clientX;
dy = event.clientY - this.clientY;
this.ox = this.ox + dx;
this.oy = this.oy + dy;
this.popup.attr({x: this.ox, y: this.oy});
this.text.attr({x: this.ox + 40, y: this.oy+30});
this.clientX = event.clientX;
this.clientY = event.clientY;
};
})(us[state].svg, state);
}
R.setZoom(.5);
$(stateDescHtml).appendTo('#desc');
});
</script>
</head>
<body>
<div id="canvas">
<div id="paper"></div>
</div>
<div id="desc"></div>
<p>EPA Map</p>
</body>
</html>
/*
* Raphael 1.5.2 - JavaScript Vector Library
*
* Copyright (c) 2010 Dmitry Baranovskiy (http://raphaeljs.com)
* Licensed under the MIT (http://raphaeljs.com/license.html) license.
*/
(function(){function a(){if(a.is(arguments[0],G)){var b=arguments[0],d=bV[m](a,b.splice(0,3+a.is(b[0],E))),e=d.set();for(var g=0,h=b[w];g<h;g++){var i=b[g]||{};c[f](i.type)&&e[L](d[i.type]().attr(i))}return e}return bV[m](a,arguments)}a.version="1.5.2";var b=/[, ]+/,c={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},d=/\{(\d+)\}/g,e="prototype",f="hasOwnProperty",g=document,h=window,i={was:Object[e][f].call(h,"Raphael"),is:h.Raphael},j=function(){this.customAttributes={}},k,l="appendChild",m="apply",n="concat",o="createTouch"in g,p="",q=" ",r=String,s="split",t="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend orientationchange touchcancel gesturestart gesturechange gestureend"[s](q),u={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},v="join",w="length",x=r[e].toLowerCase,y=Math,z=y.max,A=y.min,B=y.abs,C=y.pow,D=y.PI,E="number",F="string",G="array",H="toString",I="fill",J=Object[e][H],K={},L="push",M=/^url\(['"]?([^\)]+?)['"]?\)$/i,N=/^\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,O={"NaN":1,Infinity:1,"-Infinity":1},P=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,Q=y.round,R="setAttribute",S=parseFloat,T=parseInt,U=" progid:DXImageTransform.Microsoft",V=r[e].toUpperCase,W={blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:"10px \"Arial\"","font-family":"\"Arial\"","font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/",opacity:1,path:"M0,0",r:0,rotation:0,rx:0,ry:0,scale:"1 1",src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",translation:"0 0",width:0,x:0,y:0},X={along:"along",blur:E,"clip-rect":"csv",cx:E,cy:E,fill:"colour","fill-opacity":E,"font-size":E,height:E,opacity:E,path:"path",r:E,rotation:"csv",rx:E,ry:E,scale:"csv",stroke:"colour","stroke-opacity":E,"stroke-width":E,translation:"csv",width:E,x:E,y:E},Y="replace",Z=/^(from|to|\d+%?)$/,$=/\s*,\s*/,_={hs:1,rg:1},ba=/,?([achlmqrstvxz]),?/gi,bb=/([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig,bc=/(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig,bd=/^r(?:\(([^,]+?)\s*,\s*([^\)]+?)\))?/,be=function(a,b){return a.key-b.key};a.type=h.SVGAngle||g.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML";if(a.type=="VML"){var bf=g.createElement("div"),bg;bf.innerHTML="<v:shape adj=\"1\"/>";bg=bf.firstChild;bg.style.behavior="url(#default#VML)";if(!(bg&&typeof bg.adj=="object"))return a.type=null;bf=null}a.svg=!(a.vml=a.type=="VML");j[e]=a[e];k=j[e];a._id=0;a._oid=0;a.fn={};a.is=function(a,b){b=x.call(b);if(b=="finite")return!O[f](+a);return b=="null"&&a===null||b==typeof a||b=="object"&&a===Object(a)||b=="array"&&Array.isArray&&Array.isArray(a)||J.call(a).slice(8,-1).toLowerCase()==b};a.angle=function(b,c,d,e,f,g){{if(f==null){var h=b-d,i=c-e;if(!h&&!i)return 0;return((h<0)*180+y.atan(-i/-h)*180/D+360)%360}return a.angle(b,c,f,g)-a.angle(d,e,f,g)}};a.rad=function(a){return a%360*D/180};a.deg=function(a){return a*180/D%360};a.snapTo=function(b,c,d){d=a.is(d,"finite")?d:10;if(a.is(b,G)){var e=b.length;while(e--)if(B(b[e]-c)<=d)return b[e]}else{b=+b;var f=c%b;if(f<d)return c-f;if(f>b-d)return c-f+b}return c};function bh(){var a=[],b=0;for(;b<32;b++)a[b]=(~(~(y.random()*16)))[H](16);a[12]=4;a[16]=(a[16]&3|8)[H](16);return"r-"+a[v]("")}a.setWindow=function(a){h=a;g=h.document};var bi=function(b){if(a.vml){var c=/^\s+|\s+$/g,d;try{var e=new ActiveXObject("htmlfile");e.write("<body>");e.close();d=e.body}catch(a){d=createPopup().document.body}var f=d.createTextRange();bi=bm(function(a){try{d.style.color=r(a)[Y](c,p);var b=f.queryCommandValue("ForeColor");b=(b&255)<<16|b&65280|(b&16711680)>>>16;return"#"+("000000"+b[H](16)).slice(-6)}catch(a){return"none"}})}else{var h=g.createElement("i");h.title="Raphaël Colour Picker";h.style.display="none";g.body[l](h);bi=bm(function(a){h.style.color=a;return g.defaultView.getComputedStyle(h,p).getPropertyValue("color")})}return bi(b)},bj=function(){return"hsb("+[this.h,this.s,this.b]+")"},bk=function(){return"hsl("+[this.h,this.s,this.l]+")"},bl=function(){return this.hex};a.hsb2rgb=function(b,c,d,e){if(a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b){d=b.b;c=b.s;b=b.h;e=b.o}return a.hsl2rgb(b,c,d/2,e)};a.hsl2rgb=function(b,c,d,e){if(a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b){d=b.l;c=b.s;b=b.h}if(b>1||c>1||d>1){b/=360;c/=100;d/=100}var f={},g=["r","g","b"],h,i,j,k,l,m;if(c){d<0.5?h=d*(1+c):h=d+c-d*c;i=2*d-h;for(var n=0;n<3;n++){j=b+1/3*-(n-1);j<0&&j++;j>1&&j--;j*6<1?f[g[n]]=i+(h-i)*6*j:j*2<1?f[g[n]]=h:j*3<2?f[g[n]]=i+(h-i)*(2/3-j)*6:f[g[n]]=i}}else f={r:d,g:d,b:d};f.r*=255;f.g*=255;f.b*=255;f.hex="#"+(16777216|f.b|f.g<<8|f.r<<16).toString(16).slice(1);a.is(e,"finite")&&(f.opacity=e);f.toString=bl;return f};a.rgb2hsb=function(b,c,d){if(c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b){d=b.b;c=b.g;b=b.r}if(c==null&&a.is(b,F)){var e=a.getRGB(b);b=e.r;c=e.g;d=e.b}if(b>1||c>1||d>1){b/=255;c/=255;d/=255}var f=z(b,c,d),g=A(b,c,d),h,i,j=f;{if(g==f)return{h:0,s:0,b:f,toString:bj};var k=f-g;i=k/f;b==f?h=(c-d)/k:c==f?h=2+(d-b)/k:h=4+(b-c)/k;h/=6;h<0&&h++;h>1&&h--}return{h:h,s:i,b:j,toString:bj}};a.rgb2hsl=function(b,c,d){if(c==null&&a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b){d=b.b;c=b.g;b=b.r}if(c==null&&a.is(b,F)){var e=a.getRGB(b);b=e.r;c=e.g;d=e.b}if(b>1||c>1||d>1){b/=255;c/=255;d/=255}var f=z(b,c,d),g=A(b,c,d),h,i,j=(f+g)/2,k;if(g==f)k={h:0,s:0,l:j};else{var l=f-g;i=j<0.5?l/(f+g):l/(2-f-g);b==f?h=(c-d)/l:c==f?h=2+(d-b)/l:h=4+(b-c)/l;h/=6;h<0&&h++;h>1&&h--;k={h:h,s:i,l:j}}k.toString=bk;return k};a._path2string=function(){return this.join(",")[Y](ba,"$1")};function bm(a,b,c){function d(){var g=Array[e].slice.call(arguments,0),h=g[v]("►"),i=d.cache=d.cache||{},j=d.count=d.count||[];if(i[f](h))return c?c(i[h]):i[h];j[w]>=1000&&delete i[j.shift()];j[L](h);i[h]=a[m](b,g);return c?c(i[h]):i[h]}return d}a.getRGB=bm(function(b){if(!b||!(!((b=r(b)).indexOf("-")+1)))return{r:-1,g:-1,b:-1,hex:"none",error:1};if(b=="none")return{r:-1,g:-1,b:-1,hex:"none"};!(_[f](b.toLowerCase().substring(0,2))||b.charAt()=="#")&&(b=bi(b));var c,d,e,g,h,i,j,k=b.match(N);if(k){if(k[2]){g=T(k[2].substring(5),16);e=T(k[2].substring(3,5),16);d=T(k[2].substring(1,3),16)}if(k[3]){g=T((i=k[3].charAt(3))+i,16);e=T((i=k[3].charAt(2))+i,16);d=T((i=k[3].charAt(1))+i,16)}if(k[4]){j=k[4][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);k[1].toLowerCase().slice(0,4)=="rgba"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100)}if(k[5]){j=k[5][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360);k[1].toLowerCase().slice(0,4)=="hsba"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsb2rgb(d,e,g,h)}if(k[6]){j=k[6][s]($);d=S(j[0]);j[0].slice(-1)=="%"&&(d*=2.55);e=S(j[1]);j[1].slice(-1)=="%"&&(e*=2.55);g=S(j[2]);j[2].slice(-1)=="%"&&(g*=2.55);(j[0].slice(-3)=="deg"||j[0].slice(-1)=="°")&&(d/=360);k[1].toLowerCase().slice(0,4)=="hsla"&&(h=S(j[3]));j[3]&&j[3].slice(-1)=="%"&&(h/=100);return a.hsl2rgb(d,e,g,h)}k={r:d,g:e,b:g};k.hex="#"+(16777216|g|e<<8|d<<16).toString(16).slice(1);a.is(h,"finite")&&(k.opacity=h);return k}return{r:-1,g:-1,b:-1,hex:"none",error:1}},a);a.getColor=function(a){var b=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||0.75},c=this.hsb2rgb(b.h,b.s,b.b);b.h+=0.075;if(b.h>1){b.h=0;b.s-=0.2;b.s<=0&&(this.getColor.start={h:0,s:1,b:b.b})}return c.hex};a.getColor.reset=function(){delete this.start};a.parsePathString=bm(function(b){if(!b)return null;var c={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},d=[];a.is(b,G)&&a.is(b[0],G)&&(d=bo(b));d[w]||r(b)[Y](bb,function(a,b,e){var f=[],g=x.call(b);e[Y](bc,function(a,b){b&&f[L](+b)});if(g=="m"&&f[w]>2){d[L]([b][n](f.splice(0,2)));g="l";b=b=="m"?"l":"L"}while(f[w]>=c[g]){d[L]([b][n](f.splice(0,c[g])));if(!c[g])break}});d[H]=a._path2string;return d});a.findDotsAtSegment=function(a,b,c,d,e,f,g,h,i){var j=1-i,k=C(j,3)*a+C(j,2)*3*i*c+j*3*i*i*e+C(i,3)*g,l=C(j,3)*b+C(j,2)*3*i*d+j*3*i*i*f+C(i,3)*h,m=a+2*i*(c-a)+i*i*(e-2*c+a),n=b+2*i*(d-b)+i*i*(f-2*d+b),o=c+2*i*(e-c)+i*i*(g-2*e+c),p=d+2*i*(f-d)+i*i*(h-2*f+d),q=(1-i)*a+i*c,r=(1-i)*b+i*d,s=(1-i)*e+i*g,t=(1-i)*f+i*h,u=90-y.atan((m-o)/(n-p))*180/D;(m>o||n<p)&&(u+=180);return{x:k,y:l,m:{x:m,y:n},n:{x:o,y:p},start:{x:q,y:r},end:{x:s,y:t},alpha:u}};var bn=bm(function(a){if(!a)return{x:0,y:0,width:0,height:0};a=bw(a);var b=0,c=0,d=[],e=[],f;for(var g=0,h=a[w];g<h;g++){f=a[g];if(f[0]=="M"){b=f[1];c=f[2];d[L](b);e[L](c)}else{var i=bv(b,c,f[1],f[2],f[3],f[4],f[5],f[6]);d=d[n](i.min.x,i.max.x);e=e[n](i.min.y,i.max.y);b=f[5];c=f[6]}}var j=A[m](0,d),k=A[m](0,e);return{x:j,y:k,width:z[m](0,d)-j,height:z[m](0,e)-k}}),bo=function(b){var c=[];if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);for(var d=0,e=b[w];d<e;d++){c[d]=[];for(var f=0,g=b[d][w];f<g;f++)c[d][f]=b[d][f]}c[H]=a._path2string;return c},bp=bm(function(b){if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);var c=[],d=0,e=0,f=0,g=0,h=0;if(b[0][0]=="M"){d=b[0][1];e=b[0][2];f=d;g=e;h++;c[L](["M",d,e])}for(var i=h,j=b[w];i<j;i++){var k=c[i]=[],l=b[i];if(l[0]!=x.call(l[0])){k[0]=x.call(l[0]);switch(k[0]){case"a":k[1]=l[1];k[2]=l[2];k[3]=l[3];k[4]=l[4];k[5]=l[5];k[6]=+(l[6]-d).toFixed(3);k[7]=+(l[7]-e).toFixed(3);break;case"v":k[1]=+(l[1]-e).toFixed(3);break;case"m":f=l[1];g=l[2];default:for(var m=1,n=l[w];m<n;m++)k[m]=+(l[m]-(m%2?d:e)).toFixed(3)}}else{k=c[i]=[];if(l[0]=="m"){f=l[1]+d;g=l[2]+e}for(var o=0,p=l[w];o<p;o++)c[i][o]=l[o]}var q=c[i][w];switch(c[i][0]){case"z":d=f;e=g;break;case"h":d+=+c[i][q-1];break;case"v":e+=+c[i][q-1];break;default:d+=+c[i][q-2];e+=+c[i][q-1]}}c[H]=a._path2string;return c},0,bo),bq=bm(function(b){if(!a.is(b,G)||!a.is(b&&b[0],G))b=a.parsePathString(b);var c=[],d=0,e=0,f=0,g=0,h=0;if(b[0][0]=="M"){d=+b[0][1];e=+b[0][2];f=d;g=e;h++;c[0]=["M",d,e]}for(var i=h,j=b[w];i<j;i++){var k=c[i]=[],l=b[i];if(l[0]!=V.call(l[0])){k[0]=V.call(l[0]);switch(k[0]){case"A":k[1]=l[1];k[2]=l[2];k[3]=l[3];k[4]=l[4];k[5]=l[5];k[6]=+(l[6]+d);k[7]=+(l[7]+e);break;case"V":k[1]=+l[1]+e;break;case"H":k[1]=+l[1]+d;break;case"M":f=+l[1]+d;g=+l[2]+e;default:for(var m=1,n=l[w];m<n;m++)k[m]=+l[m]+(m%2?d:e)}}else for(var o=0,p=l[w];o<p;o++)c[i][o]=l[o];switch(k[0]){case"Z":d=f;e=g;break;case"H":d=k[1];break;case"V":e=k[1];break;case"M":f=c[i][c[i][w]-2];g=c[i][c[i][w]-1];default:d=c[i][c[i][w]-2];e=c[i][c[i][w]-1]}}c[H]=a._path2string;return c},null,bo),br=function(a,b,c,d){return[a,b,c,d,c,d]},bs=function(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]},bt=function(a,b,c,d,e,f,g,h,i,j){var k=D*120/180,l=D/180*(+e||0),m=[],o,p=bm(function(a,b,c){var d=a*y.cos(c)-b*y.sin(c),e=a*y.sin(c)+b*y.cos(c);return{x:d,y:e}});if(j){G=j[0];H=j[1];E=j[2];F=j[3]}else{o=p(a,b,-l);a=o.x;b=o.y;o=p(h,i,-l);h=o.x;i=o.y;var q=y.cos(D/180*e),r=y.sin(D/180*e),t=(a-h)/2,u=(b-i)/2,x=t*t/(c*c)+u*u/(d*d);if(x>1){x=y.sqrt(x);c=x*c;d=x*d}var z=c*c,A=d*d,C=(f==g?-1:1)*y.sqrt(B((z*A-z*u*u-A*t*t)/(z*u*u+A*t*t))),E=C*c*u/d+(a+h)/2,F=C*-d*t/c+(b+i)/2,G=y.asin(((b-F)/d).toFixed(9)),H=y.asin(((i-F)/d).toFixed(9));G=a<E?D-G:G;H=h<E?D-H:H;G<0&&(G=D*2+G);H<0&&(H=D*2+H);g&&G>H&&(G=G-D*2);!g&&H>G&&(H=H-D*2)}var I=H-G;if(B(I)>k){var J=H,K=h,L=i;H=G+k*(g&&H>G?1:-1);h=E+c*y.cos(H);i=F+d*y.sin(H);m=bt(h,i,c,d,e,0,g,K,L,[H,J,E,F])}I=H-G;var M=y.cos(G),N=y.sin(G),O=y.cos(H),P=y.sin(H),Q=y.tan(I/4),R=4/3*c*Q,S=4/3*d*Q,T=[a,b],U=[a+R*N,b-S*M],V=[h+R*P,i-S*O],W=[h,i];U[0]=2*T[0]-U[0];U[1]=2*T[1]-U[1];{if(j)return[U,V,W][n](m);m=[U,V,W][n](m)[v]()[s](",");var X=[];for(var Y=0,Z=m[w];Y<Z;Y++)X[Y]=Y%2?p(m[Y-1],m[Y],l).y:p(m[Y],m[Y+1],l).x;return X}},bu=function(a,b,c,d,e,f,g,h,i){var j=1-i;return{x:C(j,3)*a+C(j,2)*3*i*c+j*3*i*i*e+C(i,3)*g,y:C(j,3)*b+C(j,2)*3*i*d+j*3*i*i*f+C(i,3)*h}},bv=bm(function(a,b,c,d,e,f,g,h){var i=e-2*c+a-(g-2*e+c),j=2*(c-a)-2*(e-c),k=a-c,l=(-j+y.sqrt(j*j-4*i*k))/2/i,n=(-j-y.sqrt(j*j-4*i*k))/2/i,o=[b,h],p=[a,g],q;B(l)>"1e12"&&(l=0.5);B(n)>"1e12"&&(n=0.5);if(l>0&&l<1){q=bu(a,b,c,d,e,f,g,h,l);p[L](q.x);o[L](q.y)}if(n>0&&n<1){q=bu(a,b,c,d,e,f,g,h,n);p[L](q.x);o[L](q.y)}i=f-2*d+b-(h-2*f+d);j=2*(d-b)-2*(f-d);k=b-d;l=(-j+y.sqrt(j*j-4*i*k))/2/i;n=(-j-y.sqrt(j*j-4*i*k))/2/i;B(l)>"1e12"&&(l=0.5);B(n)>"1e12"&&(n=0.5);if(l>0&&l<1){q=bu(a,b,c,d,e,f,g,h,l);p[L](q.x);o[L](q.y)}if(n>0&&n<1){q=bu(a,b,c,d,e,f,g,h,n);p[L](q.x);o[L](q.y)}return{min:{x:A[m](0,p),y:A[m](0,o)},max:{x:z[m](0,p),y:z[m](0,o)}}}),bw=bm(function(a,b){var c=bq(a),d=b&&bq(b),e={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g=function(a,b){var c,d;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);switch(a[0]){case"M":b.X=a[1];b.Y=a[2];break;case"A":a=["C"][n](bt[m](0,[b.x,b.y][n](a.slice(1))));break;case"S":c=b.x+(b.x-(b.bx||b.x));d=b.y+(b.y-(b.by||b.y));a=["C",c,d][n](a.slice(1));break;case"T":b.qx=b.x+(b.x-(b.qx||b.x));b.qy=b.y+(b.y-(b.qy||b.y));a=["C"][n](bs(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"][n](bs(b.x,b.y,a[1],a[2],a[3],a[4]));break;case"L":a=["C"][n](br(b.x,b.y,a[1],a[2]));break;case"H":a=["C"][n](br(b.x,b.y,a[1],b.y));break;case"V":a=["C"][n](br(b.x,b.y,b.x,a[1]));break;case"Z":a=["C"][n](br(b.x,b.y,b.X,b.Y));break}return a},h=function(a,b){if(a[b][w]>7){a[b].shift();var e=a[b];while(e[w])a.splice(b++,0,["C"][n](e.splice(0,6)));a.splice(b,1);k=z(c[w],d&&d[w]||0)}},i=function(a,b,e,f,g){if(a&&b&&a[g][0]=="M"&&b[g][0]!="M"){b.splice(g,0,["M",f.x,f.y]);e.bx=0;e.by=0;e.x=a[g][1];e.y=a[g][2];k=z(c[w],d&&d[w]||0)}};for(var j=0,k=z(c[w],d&&d[w]||0);j<k;j++){c[j]=g(c[j],e);h(c,j);d&&(d[j]=g(d[j],f));d&&h(d,j);i(c,d,e,f,j);i(d,c,f,e,j);var l=c[j],o=d&&d[j],p=l[w],q=d&&o[w];e.x=l[p-2];e.y=l[p-1];e.bx=S(l[p-4])||e.x;e.by=S(l[p-3])||e.y;f.bx=d&&(S(o[q-4])||f.x);f.by=d&&(S(o[q-3])||f.y);f.x=d&&o[q-2];f.y=d&&o[q-1]}return d?[c,d]:c},null,bo),bx=bm(function(b){var c=[];for(var d=0,e=b[w];d<e;d++){var f={},g=b[d].match(/^([^:]*):?([\d\.]*)/);f.color=a.getRGB(g[1]);if(f.color.error)return null;f.color=f.color.hex;g[2]&&(f.offset=g[2]+"%");c[L](f)}for(d=1,e=c[w]-1;d<e;d++){if(!c[d].offset){var h=S(c[d-1].offset||0),i=0;for(var j=d+1;j<e;j++){if(c[j].offset){i=c[j].offset;break}}if(!i){i=100;j=e}i=S(i);var k=(i-h)/(j-d+1);for(;d<j;d++){h+=k;c[d].offset=h+"%"}}}return c}),by=function(b,c,d,e){var f;if(a.is(b,F)||a.is(b,"object")){f=a.is(b,F)?g.getElementById(b):b;if(f.tagName)return c==null?{container:f,width:f.style.pixelWidth||f.offsetWidth,height:f.style.pixelHeight||f.offsetHeight}:{container:f,width:c,height:d}}else return{container:1,x:b,y:c,width:d,height:e}},bz=function(a,b){var c=this;for(var d in b){if(b[f](d)&&!(d in a))switch(typeof b[d]){case"function":(function(b){a[d]=a===c?b:function(){return b[m](c,arguments)}})(b[d]);break;case"object":a[d]=a[d]||{};bz.call(this,a[d],b[d]);break;default:a[d]=b[d];break}}},bA=function(a,b){a==b.top&&(b.top=a.prev);a==b.bottom&&(b.bottom=a.next);a.next&&(a.next.prev=a.prev);a.prev&&(a.prev.next=a.next)},bB=function(a,b){if(b.top===a)return;bA(a,b);a.next=null;a.prev=b.top;b.top.next=a;b.top=a},bC=function(a,b){if(b.bottom===a)return;bA(a,b);a.next=b.bottom;a.prev=null;b.bottom.prev=a;b.bottom=a},bD=function(a,b,c){bA(a,c);b==c.top&&(c.top=a);b.next&&(b.next.prev=a);a.next=b.next;a.prev=b;b.next=a},bE=function(a,b,c){bA(a,c);b==c.bottom&&(c.bottom=a);b.prev&&(b.prev.next=a);a.prev=b.prev;b.prev=a;a.next=b},bF=function(a){return function(){throw new Error("Raphaël: you are calling to method “"+a+"” of removed object")}};a.pathToRelative=bp;if(a.svg){k.svgns="http://www.w3.org/2000/svg";k.xlink="http://www.w3.org/1999/xlink";Q=function(a){return+a+(~(~a)===a)*0.5};var bG=function(a,b){if(b)for(var c in b)b[f](c)&&a[R](c,r(b[c]));else{a=g.createElementNS(k.svgns,a);a.style.webkitTapHighlightColor="rgba(0,0,0,0)";return a}};a[H]=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};var bH=function(a,b){var c=bG("path");b.canvas&&b.canvas[l](c);var d=new bN(c,b);d.type="path";bK(d,{fill:"none",stroke:"#000",path:a});return d},bI=function(a,b,c){var d="linear",e=0.5,f=0.5,h=a.style;b=r(b)[Y](bd,function(a,b,c){d="radial";if(b&&c){e=S(b);f=S(c);var g=(f>0.5)*2-1;C(e-0.5,2)+C(f-0.5,2)>0.25&&(f=y.sqrt(0.25-C(e-0.5,2))*g+0.5)&&f!=0.5&&(f=f.toFixed(5)-0.00001*g)}return p});b=b[s](/\s*\-\s*/);if(d=="linear"){var i=b.shift();i=-S(i);if(isNaN(i))return null;var j=[0,0,y.cos(i*D/180),y.sin(i*D/180)],k=1/(z(B(j[2]),B(j[3]))||1);j[2]*=k;j[3]*=k;if(j[2]<0){j[0]=-j[2];j[2]=0}if(j[3]<0){j[1]=-j[3];j[3]=0}}var m=bx(b);if(!m)return null;var n=a.getAttribute(I);n=n.match(/^url\(#(.*)\)$/);n&&c.defs.removeChild(g.getElementById(n[1]));var o=bG(d+"Gradient");o.id=bh();bG(o,d=="radial"?{fx:e,fy:f}:{x1:j[0],y1:j[1],x2:j[2],y2:j[3]});c.defs[l](o);for(var q=0,t=m[w];q<t;q++){var u=bG("stop");bG(u,{offset:m[q].offset?m[q].offset:q?"100%":"0%","stop-color":m[q].color||"#fff"});o[l](u)}bG(a,{fill:"url(#"+o.id+")",opacity:1,"fill-opacity":1});h.fill=p;h.opacity=1;h.fillOpacity=1;return 1},bJ=function(b){var c=b.getBBox();bG(b.pattern,{patternTransform:a.format("translate({0},{1})",c.x,c.y)})},bK=function(c,d){var e={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},h=c.node,i=c.attrs,j=c.rotate(),k=function(a,b){b=e[x.call(b)];if(b){var c=a.attrs["stroke-width"]||"1",f=({round:c,square:c,butt:0})[a.attrs["stroke-linecap"]||d["stroke-linecap"]]||0,g=[],i=b[w];while(i--)g[i]=b[i]*c+(i%2?1:-1)*f;bG(h,{"stroke-dasharray":g[v](",")})}};d[f]("rotation")&&(j=d.rotation);var m=r(j)[s](b);if(m.length-1){m[1]=+m[1];m[2]=+m[2]}else m=null;S(j)&&c.rotate(0,true);for(var n in d){if(d[f](n)){if(!W[f](n))continue;var o=d[n];i[n]=o;switch(n){case"blur":c.blur(o);break;case"rotation":c.rotate(o,true);break;case"href":case"title":case"target":var t=h.parentNode;if(x.call(t.tagName)!="a"){var u=bG("a");t.insertBefore(u,h);u[l](h);t=u}n=="target"&&o=="blank"?t.setAttributeNS(c.paper.xlink,"show","new"):t.setAttributeNS(c.paper.xlink,n,o);break;case"cursor":h.style.cursor=o;break;case"clip-rect":var y=r(o)[s](b);if(y[w]==4){c.clip&&c.clip.parentNode.parentNode.removeChild(c.clip.parentNode);var z=bG("clipPath"),A=bG("rect");z.id=bh();bG(A,{x:y[0],y:y[1],width:y[2],height:y[3]});z[l](A);c.paper.defs[l](z);bG(h,{"clip-path":"url(#"+z.id+")"});c.clip=A}if(!o){var B=g.getElementById(h.getAttribute("clip-path")[Y](/(^url\(#|\)$)/g,p));B&&B.parentNode.removeChild(B);bG(h,{"clip-path":p});delete c.clip}break;case"path":c.type=="path"&&bG(h,{d:o?i.path=bq(o):"M0,0"});break;case"width":h[R](n,o);if(i.fx){n="x";o=i.x}else break;case"x":i.fx&&(o=-i.x-(i.width||0));case"rx":if(n=="rx"&&c.type=="rect")break;case"cx":m&&(n=="x"||n=="cx")&&(m[1]+=o-i[n]);h[R](n,o);c.pattern&&bJ(c);break;case"height":h[R](n,o);if(i.fy){n="y";o=i.y}else break;case"y":i.fy&&(o=-i.y-(i.height||0));case"ry":if(n=="ry"&&c.type=="rect")break;case"cy":m&&(n=="y"||n=="cy")&&(m[2]+=o-i[n]);h[R](n,o);c.pattern&&bJ(c);break;case"r":c.type=="rect"?bG(h,{rx:o,ry:o}):h[R](n,o);break;case"src":c.type=="image"&&h.setAttributeNS(c.paper.xlink,"href",o);break;case"stroke-width":h.style.strokeWidth=o;h[R](n,o);i["stroke-dasharray"]&&k(c,i["stroke-dasharray"]);break;case"stroke-dasharray":k(c,o);break;case"translation":var C=r(o)[s](b);C[0]=+C[0]||0;C[1]=+C[1]||0;if(m){m[1]+=C[0];m[2]+=C[1]}cz.call(c,C[0],C[1]);break;case"scale":C=r(o)[s](b);c.scale(+C[0]||1,+C[1]||+C[0]||1,isNaN(S(C[2]))?null:+C[2],isNaN(S(C[3]))?null:+C[3]);break;case I:var D=r(o).match(M);if(D){z=bG("pattern");var E=bG("image");z.id=bh();bG(z,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});bG(E,{x:0,y:0});E.setAttributeNS(c.paper.xlink,"href",D[1]);z[l](E);var F=g.createElement("img");F.style.cssText="position:absolute;left:-9999em;top-9999em";F.onload=function(){bG(z,{width:this.offsetWidth,height:this.offsetHeight});bG(E,{width:this.offsetWidth,height:this.offsetHeight});g.body.removeChild(this);c.paper.safari()};g.body[l](F);F.src=D[1];c.paper.defs[l](z);h.style.fill="url(#"+z.id+")";bG(h,{fill:"url(#"+z.id+")"});c.pattern=z;c.pattern&&bJ(c);break}var G=a.getRGB(o);if(G.error)if((({circle:1,ellipse:1})[f](c.type)||r(o).charAt()!="r")&&bI(h,o,c.paper)){i.gradient=o;i.fill="none";break}else{delete d.gradient;delete i.gradient;!a.is(i.opacity,"undefined")&&a.is(d.opacity,"undefined")&&bG(h,{opacity:i.opacity});!a.is(i["fill-opacity"],"undefined")&&a.is(d["fill-opacity"],"undefined")&&bG(h,{"fill-opacity":i["fill-opacity"]})}G[f]("opacity")&&bG(h,{"fill-opacity":G.opacity>1?G.opacity/100:G.opacity});case"stroke":G=a.getRGB(o);h[R](n,G.hex);n=="stroke"&&G[f]("opacity")&&bG(h,{"stroke-opacity":G.opacity>1?G.opacity/100:G.opacity});break;case"gradient":(({circle:1,ellipse:1})[f](c.type)||r(o).charAt()!="r")&&bI(h,o,c.paper);break;case"opacity":i.gradient&&!i[f]("stroke-opacity")&&bG(h,{"stroke-opacity":o>1?o/100:o});case"fill-opacity":if(i.gradient){var H=g.getElementById(h.getAttribute(I)[Y](/^url\(#|\)$/g,p));if(H){var J=H.getElementsByTagName("stop");J[J[w]-1][R]("stop-opacity",o)}break}default:n=="font-size"&&(o=T(o,10)+"px");var K=n[Y](/(\-.)/g,function(a){return V.call(a.substring(1))});h.style[K]=o;h[R](n,o);break}}}bM(c,d);m?c.rotate(m.join(q)):S(j)&&c.rotate(j,true)},bL=1.2,bM=function(b,c){if(b.type!="text"||!(c[f]("text")||c[f]("font")||c[f]("font-size")||c[f]("x")||c[f]("y")))return;var d=b.attrs,e=b.node,h=e.firstChild?T(g.defaultView.getComputedStyle(e.firstChild,p).getPropertyValue("font-size"),10):10;if(c[f]("text")){d.text=c.text;while(e.firstChild)e.removeChild(e.firstChild);var i=r(c.text)[s]("\n");for(var j=0,k=i[w];j<k;j++)if(i[j]){var m=bG("tspan");j&&bG(m,{dy:h*bL,x:d.x});m[l](g.createTextNode(i[j]));e[l](m)}}else{i=e.getElementsByTagName("tspan");for(j=0,k=i[w];j<k;j++)j&&bG(i[j],{dy:h*bL,x:d.x})}bG(e,{y:d.y});var n=b.getBBox(),o=d.y-(n.y+n.height/2);o&&a.is(o,"finite")&&bG(e,{y:d.y+o})},bN=function(b,c){var d=0,e=0;this[0]=b;this.id=a._oid++;this.node=b;b.raphael=this;this.paper=c;this.attrs=this.attrs||{};this.transformations=[];this._={tx:0,ty:0,rt:{deg:0,cx:0,cy:0},sx:1,sy:1};!c.bottom&&(c.bottom=this);this.prev=c.top;c.top&&(c.top.next=this);c.top=this;this.next=null},bO=bN[e];bN[e].rotate=function(c,d,e){if(this.removed)return this;if(c==null){if(this._.rt.cx)return[this._.rt.deg,this._.rt.cx,this._.rt.cy][v](q);return this._.rt.deg}var f=this.getBBox();c=r(c)[s](b);if(c[w]-1){d=S(c[1]);e=S(c[2])}c=S(c[0]);d!=null&&d!==false?this._.rt.deg=c:this._.rt.deg+=c;e==null&&(d=null);this._.rt.cx=d;this._.rt.cy=e;d=d==null?f.x+f.width/2:d;e=e==null?f.y+f.height/2:e;if(this._.rt.deg){this.transformations[0]=a.format("rotate({0} {1} {2})",this._.rt.deg,d,e);this.clip&&bG(this.clip,{transform:a.format("rotate({0} {1} {2})",-this._.rt.deg,d,e)})}else{this.transformations[0]=p;this.clip&&bG(this.clip,{transform:p})}bG(this.node,{transform:this.transformations[v](q)});return this};bN[e].hide=function(){!this.removed&&(this.node.style.display="none");return this};bN[e].show=function(){!this.removed&&(this.node.style.display="");return this};bN[e].remove=function(){if(this.removed)return;bA(this,this.paper);this.node.parentNode.removeChild(this.node);for(var a in this)delete this[a];this.removed=true};bN[e].getBBox=function(){if(this.removed)return this;if(this.type=="path")return bn(this.attrs.path);if(this.node.style.display=="none"){this.show();var a=true}var b={};try{b=this.node.getBBox()}catch(a){}finally{b=b||{}}if(this.type=="text"){b={x:b.x,y:Infinity,width:0,height:0};for(var c=0,d=this.node.getNumberOfChars();c<d;c++){var e=this.node.getExtentOfChar(c);e.y<b.y&&(b.y=e.y);e.y+e.height-b.y>b.height&&(b.height=e.y+e.height-b.y);e.x+e.width-b.x>b.width&&(b.width=e.x+e.width-b.x)}}a&&this.hide();return b};bN[e].attr=function(b,c){if(this.removed)return this;if(b==null){var d={};for(var e in this.attrs)this.attrs[f](e)&&(d[e]=this.attrs[e]);this._.rt.deg&&(d.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(d.scale=this.scale());d.gradient&&d.fill=="none"&&(d.fill=d.gradient)&&delete d.gradient;return d}if(c==null&&a.is(b,F)){if(b=="translation")return cz.call(this);if(b=="rotation")return this.rotate();if(b=="scale")return this.scale();if(b==I&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;return this.attrs[b]}if(c==null&&a.is(b,G)){var g={};for(var h=0,i=b.length;h<i;h++)g[b[h]]=this.attr(b[h]);return g}if(c!=null){var j={};j[b]=c}else b!=null&&a.is(b,"object")&&(j=b);for(var k in this.paper.customAttributes)if(this.paper.customAttributes[f](k)&&j[f](k)&&a.is(this.paper.customAttributes[k],"function")){var l=this.paper.customAttributes[k].apply(this,[][n](j[k]));this.attrs[k]=j[k];for(var m in l)l[f](m)&&(j[m]=l[m])}bK(this,j);return this};bN[e].toFront=function(){if(this.removed)return this;this.node.parentNode[l](this.node);var a=this.paper;a.top!=this&&bB(this,a);return this};bN[e].toBack=function(){if(this.removed)return this;if(this.node.parentNode.firstChild!=this.node){this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild);bC(this,this.paper);var a=this.paper}return this};bN[e].insertAfter=function(a){if(this.removed)return this;var b=a.node||a[a.length-1].node;b.nextSibling?b.parentNode.insertBefore(this.node,b.nextSibling):b.parentNode[l](this.node);bD(this,a,this.paper);return this};bN[e].insertBefore=function(a){if(this.removed)return this;var b=a.node||a[0].node;b.parentNode.insertBefore(this.node,b);bE(this,a,this.paper);return this};bN[e].blur=function(a){var b=this;if(+a!==0){var c=bG("filter"),d=bG("feGaussianBlur");b.attrs.blur=a;c.id=bh();bG(d,{stdDeviation:+a||1.5});c.appendChild(d);b.paper.defs.appendChild(c);b._blur=c;bG(b.node,{filter:"url(#"+c.id+")"})}else{if(b._blur){b._blur.parentNode.removeChild(b._blur);delete b._blur;delete b.attrs.blur}b.node.removeAttribute("filter")}};var bP=function(a,b,c,d){var e=bG("circle");a.canvas&&a.canvas[l](e);var f=new bN(e,a);f.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"};f.type="circle";bG(e,f.attrs);return f},bQ=function(a,b,c,d,e,f){var g=bG("rect");a.canvas&&a.canvas[l](g);var h=new bN(g,a);h.attrs={x:b,y:c,width:d,height:e,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"};h.type="rect";bG(g,h.attrs);return h},bR=function(a,b,c,d,e){var f=bG("ellipse");a.canvas&&a.canvas[l](f);var g=new bN(f,a);g.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"};g.type="ellipse";bG(f,g.attrs);return g},bS=function(a,b,c,d,e,f){var g=bG("image");bG(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"});g.setAttributeNS(a.xlink,"href",b);a.canvas&&a.canvas[l](g);var h=new bN(g,a);h.attrs={x:c,y:d,width:e,height:f,src:b};h.type="image";return h},bT=function(a,b,c,d){var e=bG("text");bG(e,{x:b,y:c,"text-anchor":"middle"});a.canvas&&a.canvas[l](e);var f=new bN(e,a);f.attrs={x:b,y:c,"text-anchor":"middle",text:d,font:W.font,stroke:"none",fill:"#000"};f.type="text";bK(f,f.attrs);return f},bU=function(a,b){this.width=a||this.width;this.height=b||this.height;this.canvas[R]("width",this.width);this.canvas[R]("height",this.height);return this},bV=function(){var b=by[m](0,arguments),c=b&&b.container,d=b.x,e=b.y,f=b.width,h=b.height;if(!c)throw new Error("SVG container not found.");var i=bG("svg");d=d||0;e=e||0;f=f||512;h=h||342;bG(i,{xmlns:"http://www.w3.org/2000/svg",version:1.1,width:f,height:h});if(c==1){i.style.cssText="position:absolute;left:"+d+"px;top:"+e+"px";g.body[l](i)}else c.firstChild?c.insertBefore(i,c.firstChild):c[l](i);c=new j;c.width=f;c.height=h;c.canvas=i;bz.call(c,c,a.fn);c.clear();return c};k.clear=function(){var a=this.canvas;while(a.firstChild)a.removeChild(a.firstChild);this.bottom=this.top=null;(this.desc=bG("desc"))[l](g.createTextNode("Created with Raphaël"));a[l](this.desc);a[l](this.defs=bG("defs"))};k.remove=function(){this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=bF(a)}}if(a.vml){var bW={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},bX=/([clmz]),?([^clmz]*)/gi,bY=/ progid:\S+Blur\([^\)]+\)/g,bZ=/-?[^,\s-]+/g,b$=1000+q+1000,b_=10,ca={path:1,rect:1},cb=function(a){var b=/[ahqstv]/ig,c=bq;r(a).match(b)&&(c=bw);b=/[clmz]/g;if(c==bq&&!r(a).match(b)){var d=r(a)[Y](bX,function(a,b,c){var d=[],e=x.call(b)=="m",f=bW[b];c[Y](bZ,function(a){if(e&&d[w]==2){f+=d+bW[b=="m"?"l":"L"];d=[]}d[L](Q(a*b_))});return f+d});return d}var e=c(a),f,g;d=[];for(var h=0,i=e[w];h<i;h++){f=e[h];g=x.call(e[h][0]);g=="z"&&(g="x");for(var j=1,k=f[w];j<k;j++)g+=Q(f[j]*b_)+(j!=k-1?",":p);d[L](g)}return d[v](q)};a[H]=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};bH=function(a,b){var c=cd("group");c.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";c.coordsize=b.coordsize;c.coordorigin=b.coordorigin;var d=cd("shape"),e=d.style;e.width=b.width+"px";e.height=b.height+"px";d.coordsize=b$;d.coordorigin=b.coordorigin;c[l](d);var f=new bN(d,c,b),g={fill:"none",stroke:"#000"};a&&(g.path=a);f.type="path";f.path=[];f.Path=p;bK(f,g);b.canvas[l](c);return f};bK=function(c,d){c.attrs=c.attrs||{};var e=c.node,h=c.attrs,i=e.style,j,k=(d.x!=h.x||d.y!=h.y||d.width!=h.width||d.height!=h.height||d.r!=h.r)&&c.type=="rect",m=c;for(var n in d)d[f](n)&&(h[n]=d[n]);if(k){h.path=cc(h.x,h.y,h.width,h.height,h.r);c.X=h.x;c.Y=h.y;c.W=h.width;c.H=h.height}d.href&&(e.href=d.href);d.title&&(e.title=d.title);d.target&&(e.target=d.target);d.cursor&&(i.cursor=d.cursor);"blur"in d&&c.blur(d.blur);if(d.path&&c.type=="path"||k)e.path=cb(h.path);d.rotation!=null&&c.rotate(d.rotation,true);if(d.translation){j=r(d.translation)[s](b);cz.call(c,j[0],j[1]);if(c._.rt.cx!=null){c._.rt.cx+=+j[0];c._.rt.cy+=+j[1];c.setBox(c.attrs,j[0],j[1])}}if(d.scale){j=r(d.scale)[s](b);c.scale(+j[0]||1,+j[1]||+j[0]||1,+j[2]||null,+j[3]||null)}if("clip-rect"in d){var o=r(d["clip-rect"])[s](b);if(o[w]==4){o[2]=+o[2]+ +o[0];o[3]=+o[3]+ +o[1];var q=e.clipRect||g.createElement("div"),t=q.style,u=e.parentNode;t.clip=a.format("rect({1}px {2}px {3}px {0}px)",o);if(!e.clipRect){t.position="absolute";t.top=0;t.left=0;t.width=c.paper.width+"px";t.height=c.paper.height+"px";u.parentNode.insertBefore(q,u);q[l](u);e.clipRect=q}}d["clip-rect"]||e.clipRect&&(e.clipRect.style.clip=p)}c.type=="image"&&d.src&&(e.src=d.src);if(c.type=="image"&&d.opacity){e.filterOpacity=U+".Alpha(opacity="+d.opacity*100+")";i.filter=(e.filterMatrix||p)+(e.filterOpacity||p)}d.font&&(i.font=d.font);d["font-family"]&&(i.fontFamily="\""+d["font-family"][s](",")[0][Y](/^['"]+|['"]+$/g,p)+"\"");d["font-size"]&&(i.fontSize=d["font-size"]);d["font-weight"]&&(i.fontWeight=d["font-weight"]);d["font-style"]&&(i.fontStyle=d["font-style"]);if(d.opacity!=null||d["stroke-width"]!=null||d.fill!=null||d.stroke!=null||d["stroke-width"]!=null||d["stroke-opacity"]!=null||d["fill-opacity"]!=null||d["stroke-dasharray"]!=null||d["stroke-miterlimit"]!=null||d["stroke-linejoin"]!=null||d["stroke-linecap"]!=null){e=c.shape||e;var v=e.getElementsByTagName(I)&&e.getElementsByTagName(I)[0],x=false;!v&&(x=v=cd(I));if("fill-opacity"in d||"opacity"in d){var y=((+h["fill-opacity"]+1||2)-1)*((+h.opacity+1||2)-1)*((+a.getRGB(d.fill).o+1||2)-1);y=A(z(y,0),1);v.opacity=y}d.fill&&(v.on=true);if(v.on==null||d.fill=="none")v.on=false;if(v.on&&d.fill){var B=d.fill.match(M);if(B){v.src=B[1];v.type="tile"}else{v.color=a.getRGB(d.fill).hex;v.src=p;v.type="solid";if(a.getRGB(d.fill).error&&(m.type in{circle:1,ellipse:1}||r(d.fill).charAt()!="r")&&bI(m,d.fill)){h.fill="none";h.gradient=d.fill}}}x&&e[l](v);var C=e.getElementsByTagName("stroke")&&e.getElementsByTagName("stroke")[0],D=false;!C&&(D=C=cd("stroke"));if(d.stroke&&d.stroke!="none"||d["stroke-width"]||d["stroke-opacity"]!=null||d["stroke-dasharray"]||d["stroke-miterlimit"]||d["stroke-linejoin"]||d["stroke-linecap"])C.on=true;(d.stroke=="none"||C.on==null||d.stroke==0||d["stroke-width"]==0)&&(C.on=false);var E=a.getRGB(d.stroke);C.on&&d.stroke&&(C.color=E.hex);y=((+h["stroke-opacity"]+1||2)-1)*((+h.opacity+1||2)-1)*((+E.o+1||2)-1);var F=(S(d["stroke-width"])||1)*0.75;y=A(z(y,0),1);d["stroke-width"]==null&&(F=h["stroke-width"]);d["stroke-width"]&&(C.weight=F);F&&F<1&&(y*=F)&&(C.weight=1);C.opacity=y;d["stroke-linejoin"]&&(C.joinstyle=d["stroke-linejoin"]||"miter");C.miterlimit=d["stroke-miterlimit"]||8;d["stroke-linecap"]&&(C.endcap=d["stroke-linecap"]=="butt"?"flat":d["stroke-linecap"]=="square"?"square":"round");if(d["stroke-dasharray"]){var G={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"};C.dashstyle=G[f](d["stroke-dasharray"])?G[d["stroke-dasharray"]]:p}D&&e[l](C)}if(m.type=="text"){i=m.paper.span.style;h.font&&(i.font=h.font);h["font-family"]&&(i.fontFamily=h["font-family"]);h["font-size"]&&(i.fontSize=h["font-size"]);h["font-weight"]&&(i.fontWeight=h["font-weight"]);h["font-style"]&&(i.fontStyle=h["font-style"]);m.node.string&&(m.paper.span.innerHTML=r(m.node.string)[Y](/</g,"&#60;")[Y](/&/g,"&#38;")[Y](/\n/g,"<br>"));m.W=h.w=m.paper.span.offsetWidth;m.H=h.h=m.paper.span.offsetHeight;m.X=h.x;m.Y=h.y+Q(m.H/2);switch(h["text-anchor"]){case"start":m.node.style["v-text-align"]="left";m.bbx=Q(m.W/2);break;case"end":m.node.style["v-text-align"]="right";m.bbx=-Q(m.W/2);break;default:m.node.style["v-text-align"]="center";break}}};bI=function(a,b){a.attrs=a.attrs||{};var c=a.attrs,d,e="linear",f=".5 .5";a.attrs.gradient=b;b=r(b)[Y](bd,function(a,b,c){e="radial";if(b&&c){b=S(b);c=S(c);C(b-0.5,2)+C(c-0.5,2)>0.25&&(c=y.sqrt(0.25-C(b-0.5,2))*((c>0.5)*2-1)+0.5);f=b+q+c}return p});b=b[s](/\s*\-\s*/);if(e=="linear"){var g=b.shift();g=-S(g);if(isNaN(g))return null}var h=bx(b);if(!h)return null;a=a.shape||a.node;d=a.getElementsByTagName(I)[0]||cd(I);!d.parentNode&&a.appendChild(d);if(h[w]){d.on=true;d.method="none";d.color=h[0].color;d.color2=h[h[w]-1].color;var i=[];for(var j=0,k=h[w];j<k;j++)h[j].offset&&i[L](h[j].offset+q+h[j].color);d.colors&&(d.colors.value=i[w]?i[v]():"0% "+d.color);if(e=="radial"){d.type="gradientradial";d.focus="100%";d.focussize=f;d.focusposition=f}else{d.type="gradient";d.angle=(270-g)%360}}return 1};bN=function(b,c,d){var e=0,f=0,g=0,h=1;this[0]=b;this.id=a._oid++;this.node=b;b.raphael=this;this.X=0;this.Y=0;this.attrs={};this.Group=c;this.paper=d;this._={tx:0,ty:0,rt:{deg:0},sx:1,sy:1};!d.bottom&&(d.bottom=this);this.prev=d.top;d.top&&(d.top.next=this);d.top=this;this.next=null};bO=bN[e];bO.rotate=function(a,c,d){if(this.removed)return this;if(a==null){if(this._.rt.cx)return[this._.rt.deg,this._.rt.cx,this._.rt.cy][v](q);return this._.rt.deg}a=r(a)[s](b);if(a[w]-1){c=S(a[1]);d=S(a[2])}a=S(a[0]);c!=null?this._.rt.deg=a:this._.rt.deg+=a;d==null&&(c=null);this._.rt.cx=c;this._.rt.cy=d;this.setBox(this.attrs,c,d);this.Group.style.rotation=this._.rt.deg;return this};bO.setBox=function(a,b,c){if(this.removed)return this;var d=this.Group.style,e=this.shape&&this.shape.style||this.node.style;a=a||{};for(var g in a)a[f](g)&&(this.attrs[g]=a[g]);b=b||this._.rt.cx;c=c||this._.rt.cy;var h=this.attrs,i,j,k,l;switch(this.type){case"circle":i=h.cx-h.r;j=h.cy-h.r;k=l=h.r*2;break;case"ellipse":i=h.cx-h.rx;j=h.cy-h.ry;k=h.rx*2;l=h.ry*2;break;case"image":i=+h.x;j=+h.y;k=h.width||0;l=h.height||0;break;case"text":this.textpath.v=["m",Q(h.x),", ",Q(h.y-2),"l",Q(h.x)+1,", ",Q(h.y-2)][v](p);i=h.x-Q(this.W/2);j=h.y-this.H/2;k=this.W;l=this.H;break;case"rect":case"path":if(this.attrs.path){var m=bn(this.attrs.path);i=m.x;j=m.y;k=m.width;l=m.height}else{i=0;j=0;k=this.paper.width;l=this.paper.height}break;default:i=0;j=0;k=this.paper.width;l=this.paper.height;break}b=b==null?i+k/2:b;c=c==null?j+l/2:c;var n=b-this.paper.width/2,o=c-this.paper.height/2,q;d.left!=(q=n+"px")&&(d.left=q);d.top!=(q=o+"px")&&(d.top=q);this.X=ca[f](this.type)?-n:i;this.Y=ca[f](this.type)?-o:j;this.W=k;this.H=l;if(ca[f](this.type)){e.left!=(q=-n*b_+"px")&&(e.left=q);e.top!=(q=-o*b_+"px")&&(e.top=q)}else if(this.type=="text"){e.left!=(q=-n+"px")&&(e.left=q);e.top!=(q=-o+"px")&&(e.top=q)}else{d.width!=(q=this.paper.width+"px")&&(d.width=q);d.height!=(q=this.paper.height+"px")&&(d.height=q);e.left!=(q=i-n+"px")&&(e.left=q);e.top!=(q=j-o+"px")&&(e.top=q);e.width!=(q=k+"px")&&(e.width=q);e.height!=(q=l+"px")&&(e.height=q)}};bO.hide=function(){!this.removed&&(this.Group.style.display="none");return this};bO.show=function(){!this.removed&&(this.Group.style.display="block");return this};bO.getBBox=function(){if(this.removed)return this;if(ca[f](this.type))return bn(this.attrs.path);return{x:this.X+(this.bbx||0),y:this.Y,width:this.W,height:this.H}};bO.remove=function(){if(this.removed)return;bA(this,this.paper);this.node.parentNode.removeChild(this.node);this.Group.parentNode.removeChild(this.Group);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var a in this)delete this[a];this.removed=true};bO.attr=function(b,c){if(this.removed)return this;if(b==null){var d={};for(var e in this.attrs)this.attrs[f](e)&&(d[e]=this.attrs[e]);this._.rt.deg&&(d.rotation=this.rotate());(this._.sx!=1||this._.sy!=1)&&(d.scale=this.scale());d.gradient&&d.fill=="none"&&(d.fill=d.gradient)&&delete d.gradient;return d}if(c==null&&a.is(b,"string")){if(b=="translation")return cz.call(this);if(b=="rotation")return this.rotate();if(b=="scale")return this.scale();if(b==I&&this.attrs.fill=="none"&&this.attrs.gradient)return this.attrs.gradient;return this.attrs[b]}if(this.attrs&&c==null&&a.is(b,G)){var g,h={};for(e=0,g=b[w];e<g;e++)h[b[e]]=this.attr(b[e]);return h}var i;if(c!=null){i={};i[b]=c}c==null&&a.is(b,"object")&&(i=b);if(i){for(var j in this.paper.customAttributes)if(this.paper.customAttributes[f](j)&&i[f](j)&&a.is(this.paper.customAttributes[j],"function")){var k=this.paper.customAttributes[j].apply(this,[][n](i[j]));this.attrs[j]=i[j];for(var l in k)k[f](l)&&(i[l]=k[l])}i.text&&this.type=="text"&&(this.node.string=i.text);bK(this,i);i.gradient&&(({circle:1,ellipse:1})[f](this.type)||r(i.gradient).charAt()!="r")&&bI(this,i.gradient);(!ca[f](this.type)||this._.rt.deg)&&this.setBox(this.attrs)}return this};bO.toFront=function(){!this.removed&&this.Group.parentNode[l](this.Group);this.paper.top!=this&&bB(this,this.paper);return this};bO.toBack=function(){if(this.removed)return this;if(this.Group.parentNode.firstChild!=this.Group){this.Group.parentNode.insertBefore(this.Group,this.Group.parentNode.firstChild);bC(this,this.paper)}return this};bO.insertAfter=function(a){if(this.removed)return this;a.constructor==cC&&(a=a[a.length-1]);a.Group.nextSibling?a.Group.parentNode.insertBefore(this.Group,a.Group.nextSibling):a.Group.parentNode[l](this.Group);bD(this,a,this.paper);return this};bO.insertBefore=function(a){if(this.removed)return this;a.constructor==cC&&(a=a[0]);a.Group.parentNode.insertBefore(this.Group,a.Group);bE(this,a,this.paper);return this};bO.blur=function(b){var c=this.node.runtimeStyle,d=c.filter;d=d.replace(bY,p);if(+b!==0){this.attrs.blur=b;c.filter=d+q+U+".Blur(pixelradius="+(+b||1.5)+")";c.margin=a.format("-{0}px 0 0 -{0}px",Q(+b||1.5))}else{c.filter=d;c.margin=0;delete this.attrs.blur}};bP=function(a,b,c,d){var e=cd("group"),f=cd("oval"),g=f.style;e.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";e.coordsize=b$;e.coordorigin=a.coordorigin;e[l](f);var h=new bN(f,e,a);h.type="circle";bK(h,{stroke:"#000",fill:"none"});h.attrs.cx=b;h.attrs.cy=c;h.attrs.r=d;h.setBox({x:b-d,y:c-d,width:d*2,height:d*2});a.canvas[l](e);return h};function cc(b,c,d,e,f){return f?a.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z",b+f,c,d-f*2,f,-f,e-f*2,f*2-d,f*2-e):a.format("M{0},{1}l{2},0,0,{3},{4},0z",b,c,d,e,-d)}bQ=function(a,b,c,d,e,f){var g=cc(b,c,d,e,f),h=a.path(g),i=h.attrs;h.X=i.x=b;h.Y=i.y=c;h.W=i.width=d;h.H=i.height=e;i.r=f;i.path=g;h.type="rect";return h};bR=function(a,b,c,d,e){var f=cd("group"),g=cd("oval"),h=g.style;f.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";f.coordsize=b$;f.coordorigin=a.coordorigin;f[l](g);var i=new bN(g,f,a);i.type="ellipse";bK(i,{stroke:"#000"});i.attrs.cx=b;i.attrs.cy=c;i.attrs.rx=d;i.attrs.ry=e;i.setBox({x:b-d,y:c-e,width:d*2,height:e*2});a.canvas[l](f);return i};bS=function(a,b,c,d,e,f){var g=cd("group"),h=cd("image");g.style.cssText="position:absolute;left:0;top:0;width:"+a.width+"px;height:"+a.height+"px";g.coordsize=b$;g.coordorigin=a.coordorigin;h.src=b;g[l](h);var i=new bN(h,g,a);i.type="image";i.attrs.src=b;i.attrs.x=c;i.attrs.y=d;i.attrs.w=e;i.attrs.h=f;i.setBox({x:c,y:d,width:e,height:f});a.canvas[l](g);return i};bT=function(b,c,d,e){var f=cd("group"),g=cd("shape"),h=g.style,i=cd("path"),j=i.style,k=cd("textpath");f.style.cssText="position:absolute;left:0;top:0;width:"+b.width+"px;height:"+b.height+"px";f.coordsize=b$;f.coordorigin=b.coordorigin;i.v=a.format("m{0},{1}l{2},{1}",Q(c*10),Q(d*10),Q(c*10)+1);i.textpathok=true;h.width=b.width;h.height=b.height;k.string=r(e);k.on=true;g[l](k);g[l](i);f[l](g);var m=new bN(k,f,b);m.shape=g;m.textpath=i;m.type="text";m.attrs.text=e;m.attrs.x=c;m.attrs.y=d;m.attrs.w=1;m.attrs.h=1;bK(m,{font:W.font,stroke:"none",fill:"#000"});m.setBox();b.canvas[l](f);return m};bU=function(a,b){var c=this.canvas.style;a==+a&&(a+="px");b==+b&&(b+="px");c.width=a;c.height=b;c.clip="rect(0 "+a+" "+b+" 0)";return this};var cd;g.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!g.namespaces.rvml&&g.namespaces.add("rvml","urn:schemas-microsoft-com:vml");cd=function(a){return g.createElement("<rvml:"+a+" class=\"rvml\">")}}catch(a){cd=function(a){return g.createElement("<"+a+" xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">")}}bV=function(){var b=by[m](0,arguments),c=b.container,d=b.height,e,f=b.width,h=b.x,i=b.y;if(!c)throw new Error("VML container not found.");var k=new j,n=k.canvas=g.createElement("div"),o=n.style;h=h||0;i=i||0;f=f||512;d=d||342;f==+f&&(f+="px");d==+d&&(d+="px");k.width=1000;k.height=1000;k.coordsize=b_*1000+q+b_*1000;k.coordorigin="0 0";k.span=g.createElement("span");k.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";n[l](k.span);o.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",f,d);if(c==1){g.body[l](n);o.left=h+"px";o.top=i+"px";o.position="absolute"}else c.firstChild?c.insertBefore(n,c.firstChild):c[l](n);bz.call(k,k,a.fn);return k};k.clear=function(){this.canvas.innerHTML=p;this.span=g.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas[l](this.span);this.bottom=this.top=null};k.remove=function(){this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]=bF(a);return true}}var ce=navigator.userAgent.match(/Version\\x2f(.*?)\s/);navigator.vendor=="Apple Computer, Inc."&&(ce&&ce[1]<4||navigator.platform.slice(0,2)=="iP")?k.safari=function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});h.setTimeout(function(){a.remove()})}:k.safari=function(){};var cf=function(){this.returnValue=false},cg=function(){return this.originalEvent.preventDefault()},ch=function(){this.cancelBubble=true},ci=function(){return this.originalEvent.stopPropagation()},cj=(function(){{if(g.addEventListener)return function(a,b,c,d){var e=o&&u[b]?u[b]:b,g=function(e){if(o&&u[f](b))for(var g=0,h=e.targetTouches&&e.targetTouches.length;g<h;g++){if(e.targetTouches[g].target==a){var i=e;e=e.targetTouches[g];e.originalEvent=i;e.preventDefault=cg;e.stopPropagation=ci;break}}return c.call(d,e)};a.addEventListener(e,g,false);return function(){a.removeEventListener(e,g,false);return true}};if(g.attachEvent)return function(a,b,c,d){var e=function(a){a=a||h.event;a.preventDefault=a.preventDefault||cf;a.stopPropagation=a.stopPropagation||ch;return c.call(d,a)};a.attachEvent("on"+b,e);var f=function(){a.detachEvent("on"+b,e);return true};return f}}})(),ck=[],cl=function(a){var b=a.clientX,c=a.clientY,d=g.documentElement.scrollTop||g.body.scrollTop,e=g.documentElement.scrollLeft||g.body.scrollLeft,f,h=ck.length;while(h--){f=ck[h];if(o){var i=a.touches.length,j;while(i--){j=a.touches[i];if(j.identifier==f.el._drag.id){b=j.clientX;c=j.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}}else a.preventDefault();b+=e;c+=d;f.move&&f.move.call(f.move_scope||f.el,b-f.el._drag.x,c-f.el._drag.y,b,c,a)}},cm=function(b){a.unmousemove(cl).unmouseup(cm);var c=ck.length,d;while(c--){d=ck[c];d.el._drag={};d.end&&d.end.call(d.end_scope||d.start_scope||d.move_scope||d.el,b)}ck=[]};for(var cn=t[w];cn--;)(function(b){a[b]=bN[e][b]=function(c,d){if(a.is(c,"function")){this.events=this.events||[];this.events.push({name:b,f:c,unbind:cj(this.shape||this.node||g,b,c,d||this)})}return this};a["un"+b]=bN[e]["un"+b]=function(a){var c=this.events,d=c[w];while(d--)if(c[d].name==b&&c[d].f==a){c[d].unbind();c.splice(d,1);!c.length&&delete this.events;return this}return this}})(t[cn]);bO.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)};bO.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};bO.drag=function(b,c,d,e,f,h){this._drag={};this.mousedown(function(i){(i.originalEvent||i).preventDefault();var j=g.documentElement.scrollTop||g.body.scrollTop,k=g.documentElement.scrollLeft||g.body.scrollLeft;this._drag.x=i.clientX+k;this._drag.y=i.clientY+j;this._drag.id=i.identifier;c&&c.call(f||e||this,i.clientX+k,i.clientY+j,i);!ck.length&&a.mousemove(cl).mouseup(cm);ck.push({el:this,move:b,end:d,move_scope:e,start_scope:f,end_scope:h})});return this};bO.undrag=function(b,c,d){var e=ck.length;while(e--)ck[e].el==this&&(ck[e].move==b&&ck[e].end==d)&&ck.splice(e++,1);!ck.length&&a.unmousemove(cl).unmouseup(cm)};k.circle=function(a,b,c){return bP(this,a||0,b||0,c||0)};k.rect=function(a,b,c,d,e){return bQ(this,a||0,b||0,c||0,d||0,e||0)};k.ellipse=function(a,b,c,d){return bR(this,a||0,b||0,c||0,d||0)};k.path=function(b){b&&!a.is(b,F)&&!a.is(b[0],G)&&(b+=p);return bH(a.format[m](a,arguments),this)};k.image=function(a,b,c,d,e){return bS(this,a||"about:blank",b||0,c||0,d||0,e||0)};k.text=function(a,b,c){return bT(this,a||0,b||0,r(c))};k.set=function(a){arguments[w]>1&&(a=Array[e].splice.call(arguments,0,arguments[w]));return new cC(a)};k.setSize=bU;k.top=k.bottom=null;k.raphael=a;function co(){return this.x+q+this.y}bO.resetScale=function(){if(this.removed)return this;this._.sx=1;this._.sy=1;this.attrs.scale="1 1"};bO.scale=function(a,b,c,d){if(this.removed)return this;if(a==null&&b==null)return{x:this._.sx,y:this._.sy,toString:co};b=b||a;!(+b)&&(b=a);var e,f,g,h,i=this.attrs;if(a!=0){var j=this.getBBox(),k=j.x+j.width/2,l=j.y+j.height/2,m=B(a/this._.sx),o=B(b/this._.sy);c=+c||c==0?c:k;d=+d||d==0?d:l;var r=this._.sx>0,s=this._.sy>0,t=~(~(a/B(a))),u=~(~(b/B(b))),x=m*t,y=o*u,z=this.node.style,A=c+B(k-c)*x*(k>c==r?1:-1),C=d+B(l-d)*y*(l>d==s?1:-1),D=a*t>b*u?o:m;switch(this.type){case"rect":case"image":var E=i.width*m,F=i.height*o;this.attr({height:F,r:i.r*D,width:E,x:A-E/2,y:C-F/2});break;case"circle":case"ellipse":this.attr({rx:i.rx*m,ry:i.ry*o,r:i.r*D,cx:A,cy:C});break;case"text":this.attr({x:A,y:C});break;case"path":var G=bp(i.path),H=true,I=r?x:m,J=s?y:o;for(var K=0,L=G[w];K<L;K++){var M=G[K],N=V.call(M[0]);{if(N=="M"&&H)continue;H=false}if(N=="A"){M[G[K][w]-2]*=I;M[G[K][w]-1]*=J;M[1]*=m;M[2]*=o;M[5]=+(t+u?!(!(+M[5])):!(+M[5]))}else if(N=="H")for(var O=1,P=M[w];O<P;O++)M[O]*=I;else if(N=="V")for(O=1,P=M[w];O<P;O++)M[O]*=J;else for(O=1,P=M[w];O<P;O++)M[O]*=O%2?I:J}var Q=bn(G);e=A-Q.x-Q.width/2;f=C-Q.y-Q.height/2;G[0][1]+=e;G[0][2]+=f;this.attr({path:G});break}if(this.type in{text:1,image:1}&&(t!=1||u!=1))if(this.transformations){this.transformations[2]="scale("[n](t,",",u,")");this.node[R]("transform",this.transformations[v](q));e=t==-1?-i.x-(E||0):i.x;f=u==-1?-i.y-(F||0):i.y;this.attr({x:e,y:f});i.fx=t-1;i.fy=u-1}else{this.node.filterMatrix=U+".Matrix(M11="[n](t,", M12=0, M21=0, M22=",u,", Dx=0, Dy=0, sizingmethod='auto expand', filtertype='bilinear')");z.filter=(this.node.filterMatrix||p)+(this.node.filterOpacity||p)}else if(this.transformations){this.transformations[2]=p;this.node[R]("transform",this.transformations[v](q));i.fx=0;i.fy=0}else{this.node.filterMatrix=p;z.filter=(this.node.filterMatrix||p)+(this.node.filterOpacity||p)}i.scale=[a,b,c,d][v](q);this._.sx=a;this._.sy=b}return this};bO.clone=function(){if(this.removed)return null;var a=this.attr();delete a.scale;delete a.translation;return this.paper[this.type]().attr(a)};var cp={},cq=function(b,c,d,e,f,g,h,i,j){var k=0,l=100,m=[b,c,d,e,f,g,h,i].join(),n=cp[m],o,p;!n&&(cp[m]=n={data:[]});n.timer&&clearTimeout(n.timer);n.timer=setTimeout(function(){delete cp[m]},2000);if(j!=null){var q=cq(b,c,d,e,f,g,h,i);l=~(~q)*10}for(var r=0;r<l+1;r++){if(n.data[j]>r)p=n.data[r*l];else{p=a.findDotsAtSegment(b,c,d,e,f,g,h,i,r/l);n.data[r]=p}r&&(k+=C(C(o.x-p.x,2)+C(o.y-p.y,2),0.5));if(j!=null&&k>=j)return p;o=p}if(j==null)return k},cr=function(b,c){return function(d,e,f){d=bw(d);var g,h,i,j,k="",l={},m,n=0;for(var o=0,p=d.length;o<p;o++){i=d[o];if(i[0]=="M"){g=+i[1];h=+i[2]}else{j=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6]);if(n+j>e){if(c&&!l.start){m=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);k+=["C",m.start.x,m.start.y,m.m.x,m.m.y,m.x,m.y];if(f)return k;l.start=k;k=["M",m.x,m.y+"C",m.n.x,m.n.y,m.end.x,m.end.y,i[5],i[6]][v]();n+=j;g=+i[5];h=+i[6];continue}if(!b&&!c){m=cq(g,h,i[1],i[2],i[3],i[4],i[5],i[6],e-n);return{x:m.x,y:m.y,alpha:m.alpha}}}n+=j;g=+i[5];h=+i[6]}k+=i}l.end=k;m=b?n:c?l:a.findDotsAtSegment(g,h,i[1],i[2],i[3],i[4],i[5],i[6],1);m.alpha&&(m={x:m.x,y:m.y,alpha:m.alpha});return m}},cs=cr(1),ct=cr(),cu=cr(0,1);bO.getTotalLength=function(){if(this.type!="path")return;if(this.node.getTotalLength)return this.node.getTotalLength();return cs(this.attrs.path)};bO.getPointAtLength=function(a){if(this.type!="path")return;return ct(this.attrs.path,a)};bO.getSubpath=function(a,b){if(this.type!="path")return;if(B(this.getTotalLength()-b)<"1e-6")return cu(this.attrs.path,a).end;var c=cu(this.attrs.path,b,1);return a?cu(c,a).end:c};a.easing_formulas={linear:function(a){return a},"<":function(a){return C(a,3)},">":function(a){return C(a-1,3)+1},"<>":function(a){a=a*2;if(a<1)return C(a,3)/2;a-=2;return(C(a,3)+2)/2},backIn:function(a){var b=1.70158;return a*a*((b+1)*a-b)},backOut:function(a){a=a-1;var b=1.70158;return a*a*((b+1)*a+b)+1},elastic:function(a){if(a==0||a==1)return a;var b=0.3,c=b/4;return C(2,-10*a)*y.sin((a-c)*(2*D)/b)+1},bounce:function(a){var b=7.5625,c=2.75,d;if(a<1/c)d=b*a*a;else if(a<2/c){a-=1.5/c;d=b*a*a+0.75}else if(a<2.5/c){a-=2.25/c;d=b*a*a+0.9375}else{a-=2.625/c;d=b*a*a+0.984375}return d}};var cv=[],cw=function(){var b=+(new Date);for(var c=0;c<cv[w];c++){var d=cv[c];if(d.stop||d.el.removed)continue;var e=b-d.start,g=d.ms,h=d.easing,i=d.from,j=d.diff,k=d.to,l=d.t,m=d.el,n={},o;if(e<g){var r=h(e/g);for(var s in i)if(i[f](s)){switch(X[s]){case"along":o=r*g*j[s];k.back&&(o=k.len-o);var t=ct(k[s],o);m.translate(j.sx-j.x||0,j.sy-j.y||0);j.x=t.x;j.y=t.y;m.translate(t.x-j.sx,t.y-j.sy);k.rot&&m.rotate(j.r+t.alpha,t.x,t.y);break;case E:o=+i[s]+r*g*j[s];break;case"colour":o="rgb("+[cy(Q(i[s].r+r*g*j[s].r)),cy(Q(i[s].g+r*g*j[s].g)),cy(Q(i[s].b+r*g*j[s].b))][v](",")+")";break;case"path":o=[];for(var u=0,x=i[s][w];u<x;u++){o[u]=[i[s][u][0]];for(var y=1,z=i[s][u][w];y<z;y++)o[u][y]=+i[s][u][y]+r*g*j[s][u][y];o[u]=o[u][v](q)}o=o[v](q);break;case"csv":switch(s){case"translation":var A=r*g*j[s][0]-l.x,B=r*g*j[s][1]-l.y;l.x+=A;l.y+=B;o=A+q+B;break;case"rotation":o=+i[s][0]+r*g*j[s][0];i[s][1]&&(o+=","+i[s][1]+","+i[s][2]);break;case"scale":o=[+i[s][0]+r*g*j[s][0],+i[s][1]+r*g*j[s][1],2 in k[s]?k[s][2]:p,3 in k[s]?k[s][3]:p][v](q);break;case"clip-rect":o=[];u=4;while(u--)o[u]=+i[s][u]+r*g*j[s][u];break}break;default:var C=[].concat(i[s]);o=[];u=m.paper.customAttributes[s].length;while(u--)o[u]=+C[u]+r*g*j[s][u];break}n[s]=o}m.attr(n);m._run&&m._run.call(m)}else{if(k.along){t=ct(k.along,k.len*!k.back);m.translate(j.sx-(j.x||0)+t.x-j.sx,j.sy-(j.y||0)+t.y-j.sy);k.rot&&m.rotate(j.r+t.alpha,t.x,t.y)}(l.x||l.y)&&m.translate(-l.x,-l.y);k.scale&&(k.scale+=p);m.attr(k);cv.splice(c--,1)}}a.svg&&m&&m.paper&&m.paper.safari();cv[w]&&setTimeout(cw)},cx=function(b,c,d,e,f){var g=d-e;c.timeouts.push(setTimeout(function(){a.is(f,"function")&&f.call(c);c.animate(b,g,b.easing)},e))},cy=function(a){return z(A(a,255),0)},cz=function(a,b){if(a==null)return{x:this._.tx,y:this._.ty,toString:co};this._.tx+=+a;this._.ty+=+b;switch(this.type){case"circle":case"ellipse":this.attr({cx:+a+this.attrs.cx,cy:+b+this.attrs.cy});break;case"rect":case"image":case"text":this.attr({x:+a+this.attrs.x,y:+b+this.attrs.y});break;case"path":var c=bp(this.attrs.path);c[0][1]+=+a;c[0][2]+=+b;this.attr({path:c});break}return this};bO.animateWith=function(a,b,c,d,e){for(var f=0,g=cv.length;f<g;f++)cv[f].el.id==a.id&&(b.start=cv[f].start);return this.animate(b,c,d,e)};bO.animateAlong=cA();bO.animateAlongBack=cA(1);function cA(b){return function(c,d,e,f){var g={back:b};a.is(e,"function")?f=e:g.rot=e;c&&c.constructor==bN&&(c=c.attrs.path);c&&(g.along=c);return this.animate(g,d,f)}}function cB(a,b,c,d,e,f){var g=3*b,h=3*(d-b)-g,i=1-g-h,j=3*c,k=3*(e-c)-j,l=1-j-k;function m(a){return((i*a+h)*a+g)*a}function n(a,b){var c=o(a,b);return((l*c+k)*c+j)*c}function o(a,b){var c,d,e,f,j,k;for(e=a,k=0;k<8;k++){f=m(e)-a;if(B(f)<b)return e;j=(3*i*e+2*h)*e+g;if(B(j)<0.000001)break;e=e-f/j}c=0;d=1;e=a;if(e<c)return c;if(e>d)return d;while(c<d){f=m(e);if(B(f-a)<b)return e;a>f?c=e:d=e;e=(d-c)/2+c}return e}return n(a,1/(200*f))}bO.onAnimation=function(a){this._run=a||0;return this};bO.animate=function(c,d,e,g){var h=this;h.timeouts=h.timeouts||[];if(a.is(e,"function")||!e)g=e||null;if(h.removed){g&&g.call(h);return h}var i={},j={},k=false,l={};for(var m in c)if(c[f](m)){if(X[f](m)||h.paper.customAttributes[f](m)){k=true;i[m]=h.attr(m);i[m]==null&&(i[m]=W[m]);j[m]=c[m];switch(X[m]){case"along":var n=cs(c[m]),o=ct(c[m],n*!(!c.back)),p=h.getBBox();l[m]=n/d;l.tx=p.x;l.ty=p.y;l.sx=o.x;l.sy=o.y;j.rot=c.rot;j.back=c.back;j.len=n;c.rot&&(l.r=S(h.rotate())||0);break;case E:l[m]=(j[m]-i[m])/d;break;case"colour":i[m]=a.getRGB(i[m]);var q=a.getRGB(j[m]);l[m]={r:(q.r-i[m].r)/d,g:(q.g-i[m].g)/d,b:(q.b-i[m].b)/d};break;case"path":var t=bw(i[m],j[m]);i[m]=t[0];var u=t[1];l[m]=[];for(var v=0,x=i[m][w];v<x;v++){l[m][v]=[0];for(var y=1,z=i[m][v][w];y<z;y++)l[m][v][y]=(u[v][y]-i[m][v][y])/d}break;case"csv":var A=r(c[m])[s](b),B=r(i[m])[s](b);switch(m){case"translation":i[m]=[0,0];l[m]=[A[0]/d,A[1]/d];break;case"rotation":i[m]=B[1]==A[1]&&B[2]==A[2]?B:[0,A[1],A[2]];l[m]=[(A[0]-i[m][0])/d,0,0];break;case"scale":c[m]=A;i[m]=r(i[m])[s](b);l[m]=[(A[0]-i[m][0])/d,(A[1]-i[m][1])/d,0,0];break;case"clip-rect":i[m]=r(i[m])[s](b);l[m]=[];v=4;while(v--)l[m][v]=(A[v]-i[m][v])/d;break}j[m]=A;break;default:A=[].concat(c[m]);B=[].concat(i[m]);l[m]=[];v=h.paper.customAttributes[m][w];while(v--)l[m][v]=((A[v]||0)-(B[v]||0))/d;break}}}if(k){var G=a.easing_formulas[e];if(!G){G=r(e).match(P);if(G&&G[w]==5){var H=G;G=function(a){return cB(a,+H[1],+H[2],+H[3],+H[4],d)}}else G=function(a){return a}}cv.push({start:c.start||+(new Date),ms:d,easing:G,from:i,diff:l,to:j,el:h,t:{x:0,y:0}});a.is(g,"function")&&(h._ac=setTimeout(function(){g.call(h)},d));cv[w]==1&&setTimeout(cw)}else{var C=[],D;for(var F in c)if(c[f](F)&&Z.test(F)){m={value:c[F]};F=="from"&&(F=0);F=="to"&&(F=100);m.key=T(F,10);C.push(m)}C.sort(be);C[0].key&&C.unshift({key:0,value:h.attrs});for(v=0,x=C[w];v<x;v++)cx(C[v].value,h,d/100*C[v].key,d/100*(C[v-1]&&C[v-1].key||0),C[v-1]&&C[v-1].value.callback);D=C[C[w]-1].value.callback;D&&h.timeouts.push(setTimeout(function(){D.call(h)},d))}return this};bO.stop=function(){for(var a=0;a<cv.length;a++)cv[a].el.id==this.id&&cv.splice(a--,1);for(a=0,ii=this.timeouts&&this.timeouts.length;a<ii;a++)clearTimeout(this.timeouts[a]);this.timeouts=[];clearTimeout(this._ac);delete this._ac;return this};bO.translate=function(a,b){return this.attr({translation:a+" "+b})};bO[H]=function(){return"Raphaël’s object"};a.ae=cv;var cC=function(a){this.items=[];this[w]=0;this.type="set";if(a)for(var b=0,c=a[w];b<c;b++){if(a[b]&&(a[b].constructor==bN||a[b].constructor==cC)){this[this.items[w]]=this.items[this.items[w]]=a[b];this[w]++}}};cC[e][L]=function(){var a,b;for(var c=0,d=arguments[w];c<d;c++){a=arguments[c];if(a&&(a.constructor==bN||a.constructor==cC)){b=this.items[w];this[b]=this.items[b]=a;this[w]++}}return this};cC[e].pop=function(){delete this[this[w]--];return this.items.pop()};for(var cD in bO)bO[f](cD)&&(cC[e][cD]=(function(a){return function(){for(var b=0,c=this.items[w];b<c;b++)this.items[b][a][m](this.items[b],arguments);return this}})(cD));cC[e].attr=function(b,c){if(b&&a.is(b,G)&&a.is(b[0],"object"))for(var d=0,e=b[w];d<e;d++)this.items[d].attr(b[d]);else for(var f=0,g=this.items[w];f<g;f++)this.items[f].attr(b,c);return this};cC[e].animate=function(b,c,d,e){(a.is(d,"function")||!d)&&(e=d||null);var f=this.items[w],g=f,h,i=this,j;e&&(j=function(){!(--f)&&e.call(i)});d=a.is(d,F)?d:j;h=this.items[--g].animate(b,c,d,j);while(g--)this.items[g]&&!this.items[g].removed&&this.items[g].animateWith(h,b,c,d,j);return this};cC[e].insertAfter=function(a){var b=this.items[w];while(b--)this.items[b].insertAfter(a);return this};cC[e].getBBox=function(){var a=[],b=[],c=[],d=[];for(var e=this.items[w];e--;){var f=this.items[e].getBBox();a[L](f.x);b[L](f.y);c[L](f.x+f.width);d[L](f.y+f.height)}a=A[m](0,a);b=A[m](0,b);return{x:a,y:b,width:z[m](0,c)-a,height:z[m](0,d)-b}};cC[e].clone=function(a){a=new cC;for(var b=0,c=this.items[w];b<c;b++)a[L](this.items[b].clone());return a};a.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"];for(var d in a.face)a.face[f](d)&&(b.face[d]=a.face[d]);this.fonts[c]?this.fonts[c][L](b):this.fonts[c]=[b];if(!a.svg){b.face["units-per-em"]=T(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[f](e)){var g=a.glyphs[e];b.glyphs[e]={w:g.w,k:{},d:g.d&&"M"+g.d[Y](/[mlcxtrv]/g,function(a){return({l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"})[a]||"M"})+"z"};if(g.k)for(var h in g.k)g[f](h)&&(b.glyphs[e].k[h]=g.k[h])}}return a};k.getFont=function(b,c,d,e){e=e||"normal";d=d||"normal";c=+c||({normal:400,bold:700,lighter:300,bolder:800})[c]||400;if(!a.fonts)return;var g=a.fonts[b];if(!g){var h=new RegExp("(^|\\s)"+b[Y](/[^\w\d\s+!~.:_-]/g,p)+"(\\s|$)","i");for(var i in a.fonts)if(a.fonts[f](i)){if(h.test(i)){g=a.fonts[i];break}}}var j;if(g)for(var k=0,l=g[w];k<l;k++){j=g[k];if(j.face["font-weight"]==c&&(j.face["font-style"]==d||!j.face["font-style"])&&j.face["font-stretch"]==e)break}return j};k.print=function(c,d,e,f,g,h,i){h=h||"middle";i=z(A(i||0,1),-1);var j=this.set(),k=r(e)[s](p),l=0,m=p,n;a.is(f,e)&&(f=this.getFont(f));if(f){n=(g||16)/f.face["units-per-em"];var o=f.face.bbox.split(b),q=+o[0],t=+o[1]+(h=="baseline"?o[3]-o[1]+ +f.face.descent:(o[3]-o[1])/2);for(var u=0,v=k[w];u<v;u++){var x=u&&f.glyphs[k[u-1]]||{},y=f.glyphs[k[u]];l+=u?(x.w||f.w)+(x.k&&x.k[k[u]]||0)+f.w*i:0;y&&y.d&&j[L](this.path(y.d).attr({fill:"#000",stroke:"none",translation:[l,0]}))}j.scale(n,n,q,t).translate(c-q,d-t)}return j};a.format=function(b,c){var e=a.is(c,G)?[0][n](c):arguments;b&&a.is(b,F)&&e[w]-1&&(b=b[Y](d,function(a,b){return e[++b]==null?p:e[b]}));return b||p};a.ninja=function(){i.was?h.Raphael=i.is:delete Raphael;return a};a.el=bO;a.st=cC[e];i.was?h.Raphael=a:Raphael=a})()
/*
* raphael.zoom 0.0.3
*
* Copyright (c) 2009 Wout Fierens
* Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
*/
// initialize zoom of paper
Raphael.fn.initZoom = function(zoom) {
this.zoom = zoom || 1;
var elems = this.elements();
for(element in elems){
elems[element].initZoom(this.zoom);
}
}
// set the zoom of all elements
Raphael.fn.setZoom = function(zoom) {
if (!this.zoom) this.initZoom();
var elems = this.elements();
for(element in elems){
if (!elems[element].zoom) elems[element].initZoom(this.zoom);
elems[element].setZoom(zoom);
}
this.zoom = zoom;
}
// get all elements in the paper
Raphael.fn.elements = function() {
var b = this.bottom,
r = [];
while (b) {
r.push(b);
b = b.next;
}
return r;
}
// initialize zoom of element
Raphael.el.initZoom = function(zoom) {
var sw = parseFloat(this.attrs["stroke-width"]) || 0;
this.zoom = {
value: zoom,
"stroke-width": sw
};
this.setStrokeWidth(sw);
if (this.type == "text") {
var fs = parseFloat(this.attrs["font-size"]) || 0
this.zoom["font-size"] = fs;
this.zoom["x"] = (parseFloat(this.attrs["x"]) || 0) / zoom;
this.zoom["y"] = (parseFloat(this.attrs["y"]) || 0) / zoom;
this.setFontSize(fs);
}
}
// zoom element preserving some original values
Raphael.el.setZoom = function(zoom) {
if (!zoom) return;
if (!this.zoom) this.initZoom(zoom);
// scale to zoom
var new_zoom = zoom / this.zoom.value;
this.scale(new_zoom, new_zoom, 0, 0);
this.applyScale();
// save new zoom
this.zoom.value = zoom;
this.setStrokeWidth(this.zoom["stroke-width"]);
if (this.type == "text") {
this.setFontSize(this.zoom["font-size"] * zoom);
this.attr("x", this.zoom["x"] * zoom);
this.attr("y", this.zoom["y"] * zoom);
}
return this;
}
// set element zoomed attributes
Raphael.el.setAttr = function() {
if (typeof arguments[0] == "string") {
attr = {};
attr[arguments[0]] = arguments[1];
} else {
attr = arguments[0];
}
for(key in attr){
switch(key) {
case "stroke-width":
this.setStrokeWidth(attr[key]);
break;
case "font-size":
this.setFontSize(attr[key]);
break;
case "x":
case "y":
if (this.type == "text") this.zoom[key] = attr[key] / this.zoom.value;
this.attr(key, attr[key]);
break;
default:
this.attr(key, attr[key]);
break;
}
}
}
// set element translation
Raphael.el.setTranslation = function(x, y) {
if (this.type == "text")
this.setAttr({
x: this.attrs["x"] + x,
y: this.attrs["y"] + y
});
else
this.translate(x,y);
}
// set element zoomed stroke width
Raphael.el.setStrokeWidth = function(sw) {
if (sw.isFloat()) {
sw = parseFloat(sw);
this.attr({ "stroke-width": sw * this.zoom.value });
this.zoom["stroke-width"] = sw;
}
return this;
}
// set element font size
Raphael.el.setFontSize = function(fs) {
if (fs.isFloat()) {
fs = parseFloat(fs);
this.attr({ "font-size": fs });
this.zoom["font-size"] = fs / this.zoom.value;
}
return this;
}
// apply the current scale and reset it to 1
Raphael.el.applyScale = function() {
this._.sx = 1;
this._.sy = 1;
this.scale(1, 1);
}
Number.prototype.isInt = function(){
if (this == 0) return true;
return parseInt(this) ? true : false;
}
Number.prototype.isFloat = function() {
if (this == 0.0) return true;
return parseFloat(this) ? true : false;
}
String.prototype.isInt = function() {
if (this == "0") return true;
return parseInt(this) ? true : false;
}
String.prototype.isFloat = function() {
if (["0", "0.0"].indexOf(this) > -1) return true;
return parseFloat(this) ? true : false;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment