! function e(t, n, a) { function r(i, o) { if (!n[i]) { if (!t[i]) { var s = "function" == typeof require && require; if (!o && s) return s(i, !0); if (d) return d(i, !0); throw new Error("Cannot find module '" + i + "'") } var l = n[i] = { exports: {} }; t[i][0].call(l.exports, function(e) { var n = t[i][1][e]; return r(n ? n : e) }, l, l.exports, e, t, n, a) } return n[i].exports } for (var d = "function" == typeof require && require, i = 0; i < a.length; i++) r(a[i]); return r }({ 1: [function(e, t) { t.exports = [{ t: 0, id: 58833, l: { x: 1.09, y: 2.17 }, i: "StartNodeBackgroundStrDexInt.png" }, { t: 1, id: 47175, l: { x: -879.89, y: 506.68 }, i: "StartNodeBackgroundStr.png" }, { t: 6, id: 44683, l: { x: 875.66, y: -506.56 }, i: "StartNodeBackgroundDexInt.png" }, { t: 4, id: 50986, l: { x: -1.64, y: 1019.34 }, i: "StartNodeBackgroundStrDex.png" }, { t: 5, id: 61525, l: { x: -881.17, y: -503.14 }, i: "StartNodeBackgroundStrInt.png" }, { t: 2, id: 50459, l: { x: 883.56, y: 516.17 }, i: "StartNodeBackgroundDex.png" }, { t: 3, id: 54447, l: { x: -.71, y: -1011.56 }, i: "StartNodeBackgroundInt.png" }] }, {}], 2: [function(e, t) { t.exports = [{ x: 273.128, y: 1997.1584, type: 2 }, { x: 2.1251, y: -1566.037, type: 1 }, { x: 1113.7078, y: 2323.035, type: 2 }, { x: 2.4317, y: 293.8779, type: 2 }, { x: 2543.9404, y: 386.0268, type: 2 }, { x: 1007.3838, y: -1837.1746, type: 2 }, { x: 1560.3598, y: -898.3466, type: 3 }, { x: 1475.8174, y: -1166.79, type: 1 }, { x: 788.6406, y: 158.0906, type: 1 }, { x: -2073.527, y: -1703.6236, type: 2 }, { x: 1144.826, y: -767.5126, type: 2 }, { x: 2630.74, y: 681.1462, type: 3 }, { x: -1103.8506, y: 168.5547, type: 2 }, { x: -454.195, y: -997.576, type: 2 }, { x: -1616.7176, y: -577.7102, type: 2 }, { x: 1052.8622, y: -166.5544, type: 2 }, { x: 125.5501, y: -1677.225, type: 1 }, { x: 2168.0748, y: 160.8259, type: 2 }, { x: 2546.1634, y: 192.7147, type: 2 }, { x: 302.097, y: -2488.3274, type: 2 }, { x: -1196.8898, y: 1471.4512, type: 2 }, { x: 255.2281, y: 401.6372, type: 1 }, { x: 374.6017, y: 2398.0736, type: 3 }, { x: -2486.5794, y: -769.1124, type: 2 }, { x: -1786.2242, y: 1373.225, type: 2 }, { x: 2035.1432, y: -448.3696, type: 1 }, { x: -1295.2794, y: -1811.5816, type: 2 }, { x: -674.9674, y: -2385.2448, type: 2 }, { x: -1907.0338, y: -131.2174, type: 2 }, { x: 249.0653, y: -152.1668, type: 2 }, { x: 1751.4656, y: 1660.2542, type: 1 }, { x: 440.7696, y: -1929.7046, type: 1 }, { x: -1824.1216, y: -918.1902, type: 1 }, { x: 706.534, y: -168.4529, type: 1 }, { x: 2721.7272, y: -32.972, type: 1 }, { x: 1647.3038, y: -133.5928, type: 2 }, { x: -1252.233, y: 1934.0442, type: 2 }, { x: 1103.0298, y: -1356.3682, type: 1 }, { x: -761.5656, y: -162.2144, type: 2 }, { x: 2519.97, y: -1213.1994, type: 2 }, { x: -1420.9378, y: -767.1554, type: 2 }, { x: -1609.0264, y: -955.206, type: 2 }, { x: -900.6836, y: 2006.6622, type: 2 }, { x: -143.8859, y: -1947.0592, type: 2 }, { x: -1676.9666, y: -767.4936, type: 2 }, { x: -2447.1088, y: 407.5348, type: 3 }, { x: -862.4974, y: 174.7654, type: 2 }, { x: 1190.6122, y: 840.921, type: 2 }, { x: 2193.5044, y: -780.995, type: 1 }, { x: -2398.0546, y: -1162.7164, type: 2 }, { x: 2190.0008, y: -616.3372, type: 1 }, { x: 1261.524, y: 1287.8846, type: 1 }, { x: 856.0944, y: -1145.4112, type: 1 }, { x: -1318.1706, y: -1438.0492, type: 2 }, { x: -228.4522, y: 153.3821, type: 1 }, { x: 1431.6386, y: 676.3582, type: 2 }, { x: 1.048, y: -2376.5694, type: 3 }, { x: -1226.2106, y: -866.9434, type: 2 }, { x: 2529.5574, y: -209.2493, type: 2 }, { x: -815.0278, y: 1231.8802, type: 1 }, { x: 1057.3158, y: 137.8013, type: 2 }, { x: 481.8552, y: -1000.3994, type: 2 }, { x: -672.6798, y: 1946.2004, type: 2 }, { x: -1442.5104, y: 1696.6202, type: 2 }, { x: 783.6664, y: -1603.0148, type: 2 }, { x: 2026.2018, y: -964.1398, type: 1 }, { x: -1683.3544, y: -1841.366, type: 1 }, { x: 874.5244, y: 1478.7472, type: 1 }, { x: 2156.7204, y: 433.5572, type: 1 }, { x: 2078.3568, y: 1345.1696, type: 2 }, { x: 1099.4008, y: -2169.2148, type: 1 }, { x: -2443.191, y: 1158.3616, type: 3 }, { x: -838.5004, y: -1141.3984, type: 1 }, { x: 529.2298, y: 658.825, type: 2 }, { x: -366.141, y: 2394.9804, type: 3 }, { x: -2100.013, y: 536.522, type: 2 }, { x: 2290.298, y: 799.2122, type: 1 }, { x: -1065.9304, y: -1402.6218, type: 1 }, { x: 1.0895, y: 2.1688, type: 3 }, { x: 2220.8074, y: -450.243, type: 1 }, { x: 681.2108, y: -2065.6382, type: 2 }, { x: -131.545, y: 1665.0422, type: 2 }, { x: -879.8862, y: 506.6844, type: 3 }, { x: 379.2009, y: 882.2916, type: 1 }, { x: -1133.9048, y: -2387.2816, type: 2 }, { x: 1759.1492, y: 850.7402, type: 3 }, { x: -2092.4396, y: -770.26, type: 2 }, { x: -1181.9596, y: -1295.8152, type: 1 }, { x: 269.2281, y: -1677.1224, type: 1 }, { x: -2086.1658, y: 156.5957, type: 2 }, { x: -121.9994, y: -1674.0672, type: 1 }, { x: -2525.0278, y: 768.037, type: 3 }, { x: -712.1504, y: 1644.3284, type: 2 }, { x: 1732.0552, y: 1198.6644, type: 2 }, { x: -1901.7974, y: 271.138, type: 2 }, { x: 2633.8826, y: 1068.4042, type: 3 }, { x: -1412.6158, y: 769.9788, type: 2 }, { x: -.9958, y: -702.2438, type: 3 }, { x: -982.338, y: -166.3351, type: 2 }, { x: 2158.0238, y: -163.2632, type: 2 }, { x: 1444.7524, y: 1177.9886, type: 1 }, { x: 2585.9076, y: -497.8988, type: 3 }, { x: 1945.7596, y: 1855.4032, type: 1 }, { x: 357.1605, y: 1683.1036, type: 2 }, { x: 720.9892, y: -2462.9434, type: 3 }, { x: -2099.1846, y: 1019.9428, type: 2 }, { x: 272.5675, y: -409.7616, type: 1 }, { x: 1761.395, y: 510.5528, type: 3 }, { x: -1727.3204, y: -1555.6516, type: 2 }, { x: -.806, y: -1424.7188, type: 1 }, { x: -1300.36, y: -97.0562, type: 1 }, { x: -1036.3398, y: 1603.7482, type: 1 }, { x: -1565.0946, y: 238.9565, type: 2 }, { x: -1827.762, y: -617.3328, type: 1 }, { x: -249.7022, y: -144.3229, type: 2 }, { x: .3856, y: 1472.4354, type: 2 }, { x: 875.6568, y: -506.5628, type: 3 }, { x: -1460.1462, y: -1692.8848, type: 2 }, { x: -1719.9978, y: 1908.5082, type: 2 }, { x: 1837.813, y: -1456.939, type: 2 }, { x: -354.9246, y: 1682.7426, type: 2 }, { x: 151.4201, y: -1946.1054, type: 2 }, { x: -1723.3494, y: 942.039, type: 2 }, { x: -1.6356, y: 1019.3386, type: 3 }, { x: 403.4764, y: -1551.3082, type: 1 }, { x: -1864.9374, y: 1211.421, type: 1 }, { x: 727.8064, y: 870.4622, type: 2 }, { x: 1211.2804, y: -1299.0186, type: 1 }, { x: 2874.9926, y: -704.9266, type: 3 }, { x: 1208.6926, y: -514.3376, type: 2 }, { x: 570.6308, y: 336.2339, type: 3 }, { x: -.4297, y: 1309.2102, type: 1 }, { x: -840.1724, y: 2308.9332, type: 1 }, { x: 1557.6656, y: -521.6184, type: 2 }, { x: 1651.0696, y: 175.9313, type: 2 }, { x: -591.641, y: -592.325, type: 2 }, { x: -1922.154, y: -1200.3364, type: 2 }, { x: -262.5249, y: 393.1062, type: 1 }, { x: -1605.2872, y: -272.1233, type: 2 }, { x: 1643.31, y: -1458.8618, type: 2 }, { x: -707.2522, y: 839.4846, type: 2 }, { x: 525.0878, y: -577.752, type: 1 }, { x: 1.5439, y: -258.0789, type: 1 }, { x: -283.5936, y: -412.2164, type: 1 }, { x: -2095.9698, y: -102.3203, type: 1 }, { x: 153.4254, y: 1305.68, type: 2 }, { x: -308.8036, y: -2489.95, type: 2 }, { x: 1.0967, y: 2437.7608, type: 3 }, { x: 1.1993, y: 2028.364, type: 1 }, { x: -881.1706, y: -503.1352, type: 3 }, { x: -671.0002, y: -2075.104, type: 2 }, { x: 474.696, y: -31.665, type: 1 }, { x: 137.5915, y: 1661.9414, type: 2 }, { x: 1414.6108, y: -1450.7754, type: 2 }, { x: 2262.995, y: 1240.9584, type: 2 }, { x: 759.221, y: 1938.304, type: 1 }, { x: 770.6362, y: -874.8056, type: 2 }, { x: 1234.6846, y: 135.0923, type: 1 }, { x: 986.0088, y: 1945.5088, type: 2 }, { x: 2128.0418, y: 1663.5336, type: 1 }, { x: 1814.652, y: -700.036, type: 3 }, { x: -185.2565, y: -1308.5794, type: 2 }, { x: 644.4192, y: -365.0272, type: 1 }, { x: -340.5043, y: -2038.9888, type: 2 }, { x: 255.6492, y: 711.493, type: 2 }, { x: 1553.725, y: 1572.3792, type: 2 }, { x: -246.6721, y: 715.0916, type: 2 }, { x: 305.4083, y: -2088.5028, type: 2 }, { x: 1245.2068, y: -96.243, type: 1 }, { x: 252.5567, y: 124.6244, type: 1 }, { x: 2291.5672, y: 569.7682, type: 1 }, { x: -373.5985, y: -1634.8702, type: 2 }, { x: -2461.1574, y: -332.7432, type: 3 }, { x: -1224.474, y: -581.8332, type: 2 }, { x: 1244.0668, y: 510.1994, type: 2 }, { x: -593.161, y: -399.285, type: 2 }, { x: 793.5426, y: 1158.183, type: 2 }, { x: 883.557, y: 516.1692, type: 3 }, { x: 2583.962, y: -918.935, type: 3 }, { x: 1834.9896, y: -1223.6228, type: 1 }, { x: 2154.8508, y: 932.3034, type: 1 }, { x: -945.402, y: -2028.9948, type: 2 }, { x: 1334.161, y: 1810.054, type: 2 }, { x: 1438.452, y: -1681.9636, type: 1 }, { x: 980.7344, y: 1703.806, type: 1 }, { x: -567.1576, y: 329.471, type: 3 }, { x: -478.8304, y: .722, type: 1 }, { x: 2234.2404, y: -1212.789, type: 2 }, { x: -1619.8982, y: 1537.2558, type: 2 }, { x: -1217.0564, y: 602.9042, type: 2 }, { x: 179.778, y: -1312.4174, type: 2 }, { x: -751.9744, y: -895.4624, type: 1 }, { x: -150.9223, y: 1297.814, type: 2 }, { x: 2298.05, y: 1713.5758, type: 2 }, { x: -1212.0442, y: 942.8142, type: 2 }, { x: 1212.5154, y: -1716.0078, type: 2 }, { x: -386.821, y: 890.6934, type: 1 }, { x: -268.8804, y: 1995.5206, type: 2 }, { x: 1587.7426, y: -1907.486, type: 2 }, { x: -2034.0488, y: -302.8155, type: 2 }, { x: 1469.2738, y: -2074.154, type: 1 }, { x: -.707, y: -1011.5562, type: 3 }, { x: 1358.0022, y: -701.7498, type: 2 }, { x: -1704.908, y: 602.7484, type: 3 }] }, {}], 3: [function(e, t) { t.exports = { Background1: "https://poebuilder.com/images/passive-tree/Background1-4698c9cb.png", Group_Background_1: "https://poebuilder.com/images/passive-tree/Group_Background_1-cc07c5cf.gif", Group_Background_2: "https://poebuilder.com/images/passive-tree/Group_Background_2-f9d9fcf5.gif", Group_Background_3: "https://poebuilder.com/images/passive-tree/Group_Background_3-25a2add9.gif", KeystoneFrameAllocated: "https://poebuilder.com/images/passive-tree/KeystoneFrameAllocated-ac95f890.png", KeystoneFrameUnallocated: "https://poebuilder.com/images/passive-tree/KeystoneFrameUnallocated-0f8e1fdf.png", NotableFrameAllocated: "https://poebuilder.com/images/passive-tree/NotableFrameAllocated-3d268377.png", NotableFrameUnallocated: "https://poebuilder.com/images/passive-tree/NotableFrameUnallocated-fbda15c2.png", Skill_Frame_Allocated: "https://poebuilder.com/images/passive-tree/Skill_Frame_Allocated-e1553c27.png", Skill_Frame_Unallocated: "https://poebuilder.com/images/passive-tree/Skill_Frame_Unallocated-1e1e0175.png", "skill_sprite-3": "https://poebuilder.com/images/passive-tree/skill_sprite-3-75dc796f.jpg", "skill_sprite-active-3": "https://poebuilder.com/images/passive-tree/skill_sprite-active-3-d8fbb003.jpg", "skill_sprite-mastery": "https://poebuilder.com/images/passive-tree/skill_sprite-mastery-d9472b72.png", Start_Node_Background: "https://poebuilder.com/images/passive-tree/Start_Node_Background-45f31bae.gif", StartNodeBackgroundDex: "https://poebuilder.com/images/passive-tree/StartNodeBackgroundDex-b1112344.png", StartNodeBackgroundDexInt: "https://poebuilder.com/images/passive-tree/StartNodeBackgroundDexInt-e6df80af.png", StartNodeBackgroundInt: "https://poebuilder.com/images/passive-tree/StartNodeBackgroundInt-1d883cca.png", StartNodeBackgroundStr: "https://poebuilder.com/images/passive-tree/StartNodeBackgroundStr-08e940f6.png", StartNodeBackgroundStrDex: "https://poebuilder.com/images/passive-tree/StartNodeBackgroundStrDex-d811d409.png", StartNodeBackgroundStrDexInt: "https://poebuilder.com/images/passive-tree/StartNodeBackgroundStrDexInt-6b43352b.png", StartNodeBackgroundStrInt: "https://poebuilder.com/images/passive-tree/StartNodeBackgroundStrInt-d6242cfc.png", Scion: "https://poebuilder.com/images/classes/scion-cecf1b45.png", Marauder: "https://poebuilder.com/images/classes/marauder-d2ed725b.png", Ranger: "https://poebuilder.com/images/classes/ranger-29e03409.png", Witch: "https://poebuilder.com/images/classes/witch-11f8b546.png", Duelist: "https://poebuilder.com/images/classes/duelist-16ec0acc.png", Templar: "https://poebuilder.com/images/classes/templar-8400cbde.png", Shadow: "https://poebuilder.com/images/classes/shadow-b13eede1.png" } }, {}], 4: [function(e, t) { t.exports = [{ id: 47973, o: { x: 0, y: 0, w: 99, h: 99 }, l: { x: 273.13, y: 1997.16 } }, { id: 48958, o: { x: 99, y: 0, w: 99, h: 99 }, l: { x: 1113.71, y: 2323.04 } }, { id: 59959, o: { x: 198, y: 0, w: 99, h: 99 }, l: { x: 1007.38, y: -1837.17 } }, { id: 25814, o: { x: 297, y: 0, w: 99, h: 99 }, l: { x: -2073.53, y: -1703.62 } }, { id: 64761, o: { x: 396, y: 0, w: 99, h: 99 }, l: { x: 2630.74, y: 681.15 } }, { id: 59290, o: { x: 495, y: 0, w: 99, h: 99 }, l: { x: -1103.85, y: 168.55 } }, { id: 33873, o: { x: 594, y: 0, w: 99, h: 99 }, l: { x: -454.2, y: -997.58 } }, { id: 55604, o: { x: 0, y: 99, w: 99, h: 99 }, l: { x: 1052.86, y: -166.55 } }, { id: 36338, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: 2168.07, y: 160.83 } }, { id: 35489, o: { x: 198, y: 99, w: 99, h: 99 }, l: { x: 2546.16, y: 192.71 } }, { id: 58157, o: { x: 297, y: 99, w: 99, h: 99 }, l: { x: 302.1, y: -2488.33 } }, { id: 33141, o: { x: 396, y: 99, w: 99, h: 99 }, l: { x: -1196.89, y: 1471.45 } }, { id: 57782, o: { x: 198, y: 99, w: 99, h: 99 }, l: { x: 374.6, y: 2398.07 } }, { id: 63824, o: { x: 495, y: 99, w: 99, h: 99 }, l: { x: -2486.58, y: -769.11 } }, { id: 25818, o: { x: 594, y: 99, w: 99, h: 99 }, l: { x: -1786.22, y: 1373.23 } }, { id: 16512, o: { x: 0, y: 198, w: 99, h: 99 }, l: { x: -1295.28, y: -1811.58 } }, { id: 49957, o: { x: 99, y: 198, w: 99, h: 99 }, l: { x: -674.97, y: -2385.24 } }, { id: 4398, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -1907.03, y: -131.22 } }, { id: 11517, o: { x: 198, y: 198, w: 99, h: 99 }, l: { x: 1647.3, y: -133.59 } }, { id: 13910, o: { x: 297, y: 198, w: 99, h: 99 }, l: { x: -1252.23, y: 1934.04 } }, { id: 63543, o: { x: 396, y: 198, w: 99, h: 99 }, l: { x: -761.57, y: -162.21 } }, { id: 14003, o: { x: 0, y: 99, w: 99, h: 99 }, l: { x: 2519.97, y: -1213.2 } }, { id: 59565, o: { x: 495, y: 198, w: 99, h: 99 }, l: { x: -900.68, y: 2006.66 } }, { id: 51883, o: { x: 594, y: 198, w: 99, h: 99 }, l: { x: -143.89, y: -1947.06 } }, { id: 30697, o: { x: 396, y: 99, w: 99, h: 99 }, l: { x: -2447.11, y: 407.53 } }, { id: 44354, o: { x: 594, y: 99, w: 99, h: 99 }, l: { x: -862.5, y: 174.77 } }, { id: 43486, o: { x: 594, y: 99, w: 99, h: 99 }, l: { x: -2398.05, y: -1162.72 } }, { id: 38599, o: { x: 0, y: 297, w: 99, h: 99 }, l: { x: -1318.17, y: -1438.05 } }, { id: 44355, o: { x: 99, y: 297, w: 99, h: 99 }, l: { x: 1.05, y: -2376.57 } }, { id: 15211, o: { x: 396, y: 0, w: 99, h: 99 }, l: { x: 2529.56, y: -209.25 } }, { id: 11369, o: { x: 198, y: 297, w: 99, h: 99 }, l: { x: 1057.32, y: 137.8 } }, { id: 32295, o: { x: 297, y: 297, w: 99, h: 99 }, l: { x: 481.86, y: -1000.4 } }, { id: 9038, o: { x: 396, y: 297, w: 99, h: 99 }, l: { x: -672.68, y: 1946.2 } }, { id: 42875, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -1442.51, y: 1696.62 } }, { id: 49666, o: { x: 495, y: 297, w: 99, h: 99 }, l: { x: 783.67, y: -1603.01 } }, { id: 22755, o: { x: 396, y: 0, w: 99, h: 99 }, l: { x: 2078.36, y: 1345.17 } }, { id: 48290, o: { x: 396, y: 297, w: 99, h: 99 }, l: { x: -2443.19, y: 1158.36 } }, { id: 7977, o: { x: 594, y: 198, w: 99, h: 99 }, l: { x: 529.23, y: 658.83 } }, { id: 42062, o: { x: 594, y: 297, w: 99, h: 99 }, l: { x: -366.14, y: 2394.98 } }, { id: 18974, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -2100.01, y: 536.52 } }, { id: 55954, o: { x: 99, y: 297, w: 99, h: 99 }, l: { x: 681.21, y: -2065.64 } }, { id: 2821, o: { x: 297, y: 297, w: 99, h: 99 }, l: { x: -1133.9, y: -2387.28 } }, { id: 21507, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -2092.44, y: -770.26 } }, { id: 18368, o: { x: 495, y: 297, w: 99, h: 99 }, l: { x: -2086.17, y: 156.6 } }, { id: 590, o: { x: 495, y: 198, w: 99, h: 99 }, l: { x: -2525.03, y: 768.04 } }, { id: 17754, o: { x: 396, y: 297, w: 99, h: 99 }, l: { x: -712.15, y: 1644.33 } }, { id: 57562, o: { x: 198, y: 198, w: 99, h: 99 }, l: { x: 1732.06, y: 1198.66 } }, { id: 14923, o: { x: 0, y: 396, w: 99, h: 99 }, l: { x: -1901.8, y: 271.14 } }, { id: 2021, o: { x: 396, y: 297, w: 99, h: 99 }, l: { x: 2633.88, y: 1068.4 } }, { id: 128, o: { x: 99, y: 396, w: 99, h: 99 }, l: { x: -1, y: -702.24 } }, { id: 51287, o: { x: 594, y: 297, w: 99, h: 99 }, l: { x: -982.34, y: -166.34 } }, { id: 6288, o: { x: 99, y: 396, w: 99, h: 99 }, l: { x: 2158.02, y: -163.26 } }, { id: 39979, o: { x: 198, y: 396, w: 99, h: 99 }, l: { x: 2585.91, y: -497.9 } }, { id: 21030, o: { x: 198, y: 0, w: 99, h: 99 }, l: { x: 720.99, y: -2462.94 } }, { id: 15835, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -2099.18, y: 1019.94 } }, { id: 32262, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -1727.32, y: -1555.65 } }, { id: 59295, o: { x: 297, y: 396, w: 99, h: 99 }, l: { x: -1565.09, y: 238.96 } }, { id: 21524, o: { x: 0, y: 396, w: 99, h: 99 }, l: { x: -1460.15, y: -1692.88 } }, { id: 3951, o: { x: 495, y: 0, w: 99, h: 99 }, l: { x: -1720, y: 1908.51 } }, { id: 43416, o: { x: 495, y: 297, w: 99, h: 99 }, l: { x: 1837.81, y: -1456.94 } }, { id: 57196, o: { x: 396, y: 396, w: 99, h: 99 }, l: { x: 151.42, y: -1946.11 } }, { id: 29019, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: 727.81, y: 870.46 } }, { id: 65225, o: { x: 495, y: 396, w: 99, h: 99 }, l: { x: 2874.99, y: -704.93 } }, { id: 106, o: { x: 594, y: 396, w: 99, h: 99 }, l: { x: 570.63, y: 336.23 } }, { id: 54016, o: { x: 396, y: 0, w: 99, h: 99 }, l: { x: 1651.07, y: 175.93 } }, { id: 42274, o: { x: 0, y: 495, w: 99, h: 99 }, l: { x: -591.64, y: -592.33 } }, { id: 46413, o: { x: 99, y: 495, w: 99, h: 99 }, l: { x: -1922.15, y: -1200.34 } }, { id: 38905, o: { x: 198, y: 495, w: 99, h: 99 }, l: { x: -1605.29, y: -272.12 } }, { id: 57969, o: { x: 297, y: 495, w: 99, h: 99 }, l: { x: 1643.31, y: -1458.86 } }, { id: 59717, o: { x: 396, y: 198, w: 99, h: 99 }, l: { x: -707.25, y: 839.48 } }, { id: 42465, o: { x: 0, y: 396, w: 99, h: 99 }, l: { x: -308.8, y: -2489.95 } }, { id: 15510, o: { x: 594, y: 198, w: 99, h: 99 }, l: { x: 1.1, y: 2437.76 } }, { id: 2897, o: { x: 99, y: 396, w: 99, h: 99 }, l: { x: -671, y: -2075.1 } }, { id: 37552, o: { x: 396, y: 495, w: 99, h: 99 }, l: { x: 1414.61, y: -1450.78 } }, { id: 48759, o: { x: 495, y: 396, w: 99, h: 99 }, l: { x: 2263, y: 1240.96 } }, { id: 33166, o: { x: 297, y: 495, w: 99, h: 99 }, l: { x: 770.64, y: -874.81 } }, { id: 7997, o: { x: 198, y: 99, w: 99, h: 99 }, l: { x: 986.01, y: 1945.51 } }, { id: 2224, o: { x: 396, y: 198, w: 99, h: 99 }, l: { x: -340.5, y: -2038.99 } }, { id: 16354, o: { x: 198, y: 198, w: 99, h: 99 }, l: { x: 255.65, y: 711.49 } }, { id: 2047, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: 1553.73, y: 1572.38 } }, { id: 30265, o: { x: 198, y: 99, w: 99, h: 99 }, l: { x: -246.67, y: 715.09 } }, { id: 9562, o: { x: 198, y: 99, w: 99, h: 99 }, l: { x: 305.41, y: -2088.5 } }, { id: 6814, o: { x: 0, y: 198, w: 99, h: 99 }, l: { x: -2461.16, y: -332.74 } }, { id: 61991, o: { x: 99, y: 198, w: 99, h: 99 }, l: { x: -593.16, y: -399.29 } }, { id: 5815, o: { x: 396, y: 0, w: 99, h: 99 }, l: { x: 793.54, y: 1158.18 } }, { id: 57001, o: { x: 396, y: 495, w: 99, h: 99 }, l: { x: 2583.96, y: -918.94 } }, { id: 11765, o: { x: 198, y: 0, w: 99, h: 99 }, l: { x: -945.4, y: -2028.99 } }, { id: 42788, o: { x: 495, y: 495, w: 99, h: 99 }, l: { x: 1334.16, y: 1810.05 } }, { id: 61787, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -567.16, y: 329.47 } }, { id: 10448, o: { x: 198, y: 99, w: 99, h: 99 }, l: { x: 2234.24, y: -1212.79 } }, { id: 39172, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -1619.9, y: 1537.26 } }, { id: 19613, o: { x: 396, y: 297, w: 99, h: 99 }, l: { x: 2298.05, y: 1713.58 } }, { id: 63167, o: { x: 495, y: 396, w: 99, h: 99 }, l: { x: 1212.52, y: -1716.01 } }, { id: 6623, o: { x: 99, y: 99, w: 99, h: 99 }, l: { x: -268.88, y: 1995.52 } }, { id: 44059, o: { x: 297, y: 99, w: 99, h: 99 }, l: { x: 1587.74, y: -1907.49 } }, { id: 56305, o: { x: 594, y: 198, w: 99, h: 99 }, l: { x: -2034.05, y: -302.82 } }] }, {}], 5: [function(e, t) { t.exports = { 14363: [45171, 21435], 49109: [21435, 17201, 17566], 17566: [49109, 45171], 45171: [17566, 14363, 8544], 21435: [14363, 49109], 15405: [50862, 19711, 30691, 7614, 50422], 32710: [10153, 32345, 4502, 12189, 7388, 49605, 41635], 25763: [14056, 44624, 6741], 50338: [38662, 56341, 48099, 41250, 38344], 32024: [27929, 60554, 27611], 60554: [32024, 11420, 27611], 27611: [32024, 60554, 19635], 23199: [6363, 17833, 60887], 60887: [23199, 25796], 25796: [60887, 26294], 17833: [26294, 23199], 26294: [25796, 17833], 33508: [36881, 48828], 36881: [35503, 18791, 33508], 35503: [19144, 36881], 43162: [23122, 39773, 18791], 39773: [43162, 62103], 23122: [43162, 19144], 7903: [20310], 20310: [7903, 45887], 45887: [20310, 48828], 18791: [43162, 36881], 61306: [60942, 63139, 59146, 54142, 444], 54142: [9373, 32117, 61411, 30894, 61306, 29870, 94], 47251: [42760, 52730, 60398, 42900, 13009], 59928: [63723, 63282, 20966, 30380], 26471: [40743, 15837], 55307: [15837, 40743], 64241: [40743, 15837], 40743: [55307, 26471, 64241], 15837: [64241, 26471, 55307, 36287], 32942: [41476, 22407], 64239: [22407, 49605, 64612], 22407: [32942, 64239], 41476: [32942, 19098], 19098: [41476, 64612], 64612: [19098, 64239], 49254: [17735, 44529, 1203, 40927, 55804, 37980], 40291: [24050, 58766], 42161: [58766, 35894], 58766: [40291, 42161], 766: [57220, 35894], 17091: [24050, 57220], 57220: [17091, 766], 5022: [42129, 35894], 32307: [24050, 42129], 42129: [32307, 5022], 2913: [30733, 31080], 20010: [23471, 10661, 46657, 51404], 14930: [48287, 3644, 7162, 34400], 11397: [29937, 23066], 6615: [44339], 37781: [4502, 44339], 44339: [37781, 6615], 34907: [51786, 28424], 28424: [34907, 45067], 45067: [28424], 21974: [25831, 32932], 25831: [5935, 21974], 5935: [9392, 25831, 64210], 9392: [17059, 5935], 32932: [21974, 17059], 17059: [32932, 9392], 11334: [15549, 17788], 15549: [20546, 11334], 61547: [29619, 5607], 5607: [61547, 38807], 29619: [35894, 61547], 64501: [46136, 38807], 46136: [58649, 64501], 58649: [35894, 46136], 1461: [49900, 54307, 59606, 36287], 44202: [29353, 23027], 42720: [32514], 32514: [12948, 42720], 55750: [12948, 38149], 2185: [39665, 38149], 23912: [39665, 51881], 12948: [55750, 32514], 39665: [2185, 23912], 38149: [55750, 2185, 20807], 51881: [23912], 6359: [21413, 7335], 3167: [7335, 21413], 21413: [3167, 6359], 7335: [6359, 50862, 3167], 27203: [49236], 39085: [10490], 48778: [30733, 476], 59606: [8938, 39718, 60180, 52714, 1461, 59252], 15027: [56589], 54657: [34157, 60398], 34157: [9432, 54657], 9432: [34157], 31819: [46726, 26866, 38516], 46726: [60704, 31819, 38516], 38516: [31819, 46726], 58968: [35296, 37663], 37663: [58968, 18707], 1427: [18707, 51235], 51235: [1427, 35296], 35296: [51235, 49978, 58968], 18707: [37663, 1427], 40907: [42800], 18182: [55414, 63228, 56295, 62177, 53456], 29937: [6363, 34098, 11397, 8544], 33296: [1957, 36774, 57264], 21075: [38805, 15711, 38900], 38900: [21075, 27929], 38805: [19635, 21075], 58449: [26523, 39768, 20551, 40535, 38777], 33545: [18033, 28574, 24643, 45456], 45593: [53114, 12801], 12801: [45593, 39718], 53114: [25067, 45593], 25067: [31315, 53114], 31315: [25067], 26270: [49178, 22757, 64210, 5696], 6363: [23199, 29937, 5237, 23471], 24203: [33725, 56807], 33725: [24203, 59016], 56807: [59016, 36287, 24203], 59016: [33725, 56807], 40609: [22090, 8833], 22090: [36412, 40609], 5972: [19501, 40705, 36412], 8833: [40609], 36412: [5972, 22090], 40705: [53732, 5972], 53732: [36226, 40705], 36226: [21460, 53732], 21460: [36226], 58541: [26456, 487, 6633], 6633: [58541, 24772], 24772: [24721, 6633], 26456: [58541, 24721], 24721: [26456, 24772], 25732: [1696, 16167], 1696: [63933, 25732], 63933: [1696], 50570: [31931, 44908], 8948: [27415, 27659, 27929, 32210], 44967: [11497, 63139], 15085: [13807], 49547: [8544, 33089, 56231], 54268: [2392], 13807: [33089, 15085], 33089: [49547, 13807], 56231: [2392, 49547], 2392: [54268, 56231], 52407: [54645, 29061], 54645: [45378, 52407], 31462: [29061, 25597], 25597: [31462, 18135], 18135: [25597, 12439, 22313, 55993], 12439: [18135, 14730], 14730: [12439, 45378], 45378: [55993, 14730, 54645, 62225], 29061: [52407, 49178, 31462, 22313, 62225], 22313: [18135, 29061], 11431: [19140, 3644, 30825], 63150: [30825, 19140], 19140: [63150, 11431], 30825: [11431, 63150], 10808: [43374], 50862: [46910, 15405, 7335, 4300, 64816], 7388: [32710, 37671, 51517, 3469, 11591], 9355: [15631, 15005, 31931, 1593], 35851: [60592, 47484], 60592: [13885, 35851], 47484: [35851], 13361: [22702, 64395], 64395: [13361, 17806], 17806: [64395, 4977], 22702: [24229, 13361], 24229: [4977, 22702], 4977: [17806, 36678, 24229], 19897: [4247, 34144], 4247: [17412, 19897], 17412: [52412, 4247], 52412: [43716, 63447, 17412], 43716: [34144, 52412], 34144: [19897, 43716], 7374: [15631, 11088], 3533: [11088, 65108], 11088: [7374, 3533], 65108: [3533], 918: [28221, 15144], 28221: [24643, 39028, 918], 24643: [33545, 28221], 45456: [33545, 11688], 56153: [11688, 47062], 11688: [45456, 56153, 39028], 8742: [13344], 34062: [13344, 15144], 13344: [8742, 34062], 39028: [11688, 28221], 49806: [6580, 63649], 63649: [49806, 39725], 60398: [47251, 10490, 54657, 39648], 21941: [40653, 49412], 17421: [29104, 22266], 29104: [17421, 51440], 51440: [29104], 22972: [63067], 50472: [63067, 11551], 63067: [22972, 50472], 22420: [10575, 54694], 60732: [54694, 39483], 54694: [22420, 58402, 60732], 46408: [1571, 42623, 28012, 62442, 39322], 31080: [2913, 49412], 64709: [22266, 26528, 46871, 56589, 30955], 63282: [29353, 59928, 31961, 37501], 23066: [11397, 46657], 24383: [49412, 5152, 32739, 6718, 63048], 19287: [61875, 49379], 61875: [19287, 28574], 49379: [19287], 19320: [14914, 56744], 12401: [56744, 54307], 56744: [12401, 19320], 39841: [63447, 30767, 36678, 56066], 20807: [12412, 38149, 57080, 16079, 36287, 59220], 21301: [39861, 4011], 11605: [59902, 53257], 1405: [59902], 59902: [11605, 1405], 39447: [27285, 37504], 27285: [53257, 39447], 37504: [39447], 53257: [11605, 27285, 26097], 19396: [26097, 8451], 26097: [47996, 53257, 19396], 47996: [8451, 26097], 8451: [8938, 19396, 47996], 56982: [38922, 17038], 57923: [46756, 38922], 46756: [17038, 34400, 57923], 38922: [57923, 56982], 17038: [56982, 46756], 59650: [65203, 19374, 57226], 31703: [36858], 36874: [56589], 8938: [39861, 59606, 8451, 45360], 10221: [6446, 32906, 1550, 50422], 9788: [5875], 12189: [32710, 5875], 5875: [12189, 9788], 34906: [46910, 41026], 41026: [34906, 24256], 24256: [41026], 21167: [44362, 47949, 53456], 44362: [26620, 21167], 56671: [47949, 26620], 47949: [21167, 56671], 26620: [56671, 44362], 31961: [63282], 49605: [32710, 60440, 34882, 41027, 64239, 11455], 6237: [15599, 44529], 15599: [6237, 26866], 44529: [49254, 6237], 41472: [61471, 1203, 57715], 61471: [26866, 41472], 1203: [41472, 49254], 42795: [13753], 61308: [40927, 15365], 40927: [15365, 61308, 49254], 15365: [61308, 39483, 40927], 44624: [31604, 25763, 65131], 26023: [5065, 31604], 31604: [26023, 44624], 65131: [44624, 5065], 5065: [65131, 26023], 19144: [16167, 23122, 35503, 28330], 34245: [57278, 16971], 57278: [34245], 16971: [34245, 19635], 4502: [3656, 32710, 37781, 265, 1822, 36891], 56029: [42760], 2094: [60803, 720, 39821], 60704: [22498, 33435, 46726, 57715], 33435: [60472, 60704, 39483], 57715: [60704, 39483, 41472], 39483: [60732, 33435, 15365, 57715], 57266: [38023, 16703], 38023: [57266, 40645], 30547: [20966, 15163], 15163: [30547, 40645], 16703: [8500, 57266], 8500: [16703, 46127], 40645: [38023, 15163], 46127: [8500, 20966], 20966: [46127, 59928, 30547], 65159: [31520, 4300], 31520: [63635, 65159], 4300: [65159, 50862, 11190], 11190: [4300, 35910], 35910: [11190, 63635], 63635: [35910, 31520], 5456: [42760], 6764: [40366, 14057, 63425, 58402], 40366: [42760, 6764, 58763, 4713], 49178: [6712, 26270, 29061, 23027, 46897], 56149: [29870, 720], 720: [56149, 2094], 6542: [94, 60803], 60803: [6542, 2094], 29870: [54142, 56149], 94: [54142, 6542], 42804: [49308, 63228], 63228: [18182, 42804, 49308], 49308: [63228, 42804, 58244], 23083: [41970, 49939, 10771], 41970: [23083], 22757: [49939, 26270, 10771], 49939: [23083, 22757], 10771: [22757, 23083], 40362: [25260, 27788, 13885], 25260: [46277, 40362, 27788], 27788: [25260, 40362], 38662: [1529, 50338, 11651, 63795], 46340: [58402, 17735], 15631: [9355, 7374, 50422], 43787: [29379, 56589], 29379: [52230, 43787], 52230: [29379], 61982: [49047], 51517: [7388, 49047], 49047: [51517, 61982], 58763: [40366, 63963, 7153], 63963: [32455, 58763], 7153: [58763, 32455], 32455: [7153, 63963], 62662: [17674, 48828], 17674: [13782, 62662], 13782: [12702, 17674], 4011: [28012, 21301, 45838, 5823], 46092: [37671, 23540, 18033, 60090, 45680], 18033: [46092, 57736, 33545, 45175], 24914: [61262, 34513, 34400], 32117: [65210, 54142], 48099: [65210, 50338], 65210: [32117, 48099], 25178: [9373, 57240], 57240: [38344, 25178], 9373: [54142, 25178], 46469: [32431, 61264], 56716: [55647], 32431: [4367, 46469, 36121], 49588: [61264, 11645], 36121: [32431, 57362], 55647: [56716, 57362], 57362: [55647, 36121], 61264: [46469, 49588], 11645: [49588], 2474: [55804, 49306], 55804: [49254, 2474], 49306: [2474, 35724], 37980: [49254, 52326], 52326: [37980, 19096], 19096: [52326, 35724], 10843: [49900, 33374, 31222], 33374: [21228, 10843], 31222: [10843, 17206], 17206: [31222, 21228], 21228: [17206, 33374], 63843: [48614, 41866, 6654, 5616], 22266: [60942, 30679, 17421, 64709, 5237, 25511, 43768], 63723: [5233, 59928, 49571, 48109], 42443: [3314, 28012], 59494: [16380, 30733], 2225: [16380], 16380: [59494, 2225], 19210: [49978, 43316], 43316: [19210, 24838], 24838: [43316, 47065], 47065: [24838], 20077: [39986, 42436], 42436: [20077, 37671], 39986: [20077], 18025: [14056], 34601: [14056], 14056: [487, 34601, 25763, 18025, 22703, 34400], 62790: [58821, 7288], 58821: [62790], 7288: [62790, 6741], 6289: [48287], 48287: [14930, 64587, 6289], 5197: [487, 64587], 64587: [5197, 48287], 41689: [45272, 20953, 51220], 45175: [18033, 18359], 44184: [29781, 63447, 61804, 14936, 4367], 56589: [36874, 64709, 43787, 15027, 11497, 23471], 52714: [59606], 4036: [15228, 41635], 47306: [15228], 15228: [47306, 4036], 4833: [41706, 24865], 46289: [30338, 51212], 30338: [46289, 58244], 51212: [46289], 10661: [20010], 34882: [49605, 7641, 33310], 51786: [28574, 20812, 34907, 49978], 28574: [61875, 33545, 51786, 40100], 35724: [63965, 49306, 19096], 63398: [36452, 46842], 36452: [7444, 63398], 46842: [63398], 26096: [30030], 30030: [26096, 42637], 42637: [30030, 11497], 63976: [33479, 16775, 6204, 26740], 37619: [5616, 24133, 64235], 24133: [37619], 64235: [36287, 37619], 49651: [41635, 23690, 38176, 33310], 41635: [32710, 4036, 49651], 48807: [45227, 25933, 6580, 30155, 28265, 24641], 28658: [14804, 41119], 14804: [28658, 30455, 30679], 41119: [12794, 28658], 12794: [30455, 41119], 30455: [14804, 12794], 17236: [7641, 62577], 7641: [17236, 34882], 62577: [17236], 4336: [25367, 62042], 55166: [49415, 25367], 49415: [7082, 55166], 32410: [768, 7082], 25367: [55166, 4336], 768: [33082, 32410], 62042: [4336, 33082], 33082: [62042, 768], 7082: [5233, 32410, 49415], 24157: [53757, 42900], 53757: [24157, 42900], 42900: [47251, 24157, 53757], 476: [58090, 48778, 40867, 34009], 60180: [59606], 23027: [49178, 44202, 40766, 60740], 2355: [57900, 53558], 53558: [2355, 5408], 57900: [2355], 34173: [5696, 10575], 56381: [8533, 1909], 49318: [1909], 10016: [35362], 8533: [11515, 24083, 56381], 11515: [35362, 8533], 35362: [10016, 11515], 1909: [56381, 49318], 44429: [53118, 55649], 30380: [59928, 53118], 53118: [30380, 44429], 7112: [17201, 34031], 14151: [27564, 63965], 27564: [17735, 14151], 10153: [32710], 57080: [42104, 20807], 42104: [57080, 49621], 49621: [42104], 64128: [10904], 55563: [10904, 42760], 10904: [64128, 55563], 62225: [29061, 45378], 2151: [58833, 37690, 5560, 22497], 47062: [58833, 56153], 62103: [58833, 39773], 15144: [58833, 34062, 918, 35179], 55373: [58833, 38048], 48828: [58833, 62662, 45887, 33508], 58833: [2151, 47062, 62103, 15144, 55373, 48828], 28012: [59252, 46408, 42443, 4011, 13885], 11651: [38662, 6538], 6981: [36543, 50904], 36543: [49412, 6981], 28548: [65308, 15021], 65308: [28548], 15021: [46277, 28548], 62697: [33310, 20399, 13961], 26557: [20399], 13961: [62697], 20399: [26557, 62697], 12236: [46730, 34009, 49538], 46730: [25324, 12236], 25324: [19782, 34031, 46730], 19782: [49538, 25324], 49538: [12236, 19782], 24050: [46839, 3656, 40291, 17091, 32307, 28885], 5237: [22266, 6363, 42178], 39718: [12801, 1529, 59606], 44908: [50570, 19711, 27609, 26866, 35556], 48614: [16079, 63843], 50904: [6981, 47175, 22627], 47175: [31628, 50904], 31628: [9511, 47175, 33988], 41967: [17546, 5408], 17546: [41967, 21634], 21634: [17546], 22535: [31973, 48183], 14674: [48183, 30767], 48183: [22535, 14674], 30767: [39841, 14674, 6250], 6250: [30767, 31973], 31973: [6250, 22535], 3656: [58244, 25411, 4502, 24050, 41518, 7920], 12412: [20807, 54354, 32555, 36221], 22703: [14056, 65456, 30733], 15842: [55243, 18670], 61411: [54142, 903], 7085: [18670, 903], 30894: [18670, 54142], 18670: [7085, 15842, 30894], 55243: [19552, 15842], 903: [61411, 7085, 38246], 41866: [63843, 60942, 19552, 9206], 38246: [1201, 903], 19552: [55243, 41866, 1201], 1201: [19552, 38246], 41706: [61262, 4833], 38807: [64501, 5607, 17788], 35958: [46897, 40508], 40508: [35958, 60472], 36949: [10031, 6712], 6712: [36949, 49178], 10031: [60472, 36949], 46897: [49178, 35958], 63447: [44184, 52412, 39841, 33864], 5408: [11497, 41967, 53558, 8930, 10829], 42668: [36915, 34880], 36915: [42668], 34880: [42668, 17735], 4432: [13753, 27929], 13753: [42795, 7503, 4432], 7503: [11551, 13753], 11730: [40766, 15064], 9660: [57279], 54307: [12401, 1461], 5296: [33310, 19501, 39521], 8544: [29937, 45171, 49547, 16544], 15678: [37501, 58831], 58831: [15678, 39023], 39023: [58831, 56355], 37501: [56355, 63282, 15678], 56355: [39023, 37501], 44723: [19635, 16790], 1346: [11420, 16790], 16790: [44723, 1346, 53493], 49571: [63723, 20018, 25682], 57953: [25682, 12407], 23038: [12407], 25682: [49571, 57953], 20018: [6113, 49571], 6113: [9976, 20018], 12407: [57953, 23038], 4940: [9976], 9976: [4940, 6113], 19506: [57984, 9009], 35053: [43514, 64024, 6741], 61050: [64024, 57839], 64024: [35053, 61050], 57839: [61050, 43514], 43514: [57839, 35053], 64210: [26270, 5935, 5743, 7444], 61262: [24083, 24914, 41706], 23801: [46871, 25690], 14486: [25690, 57950], 32993: [46871, 57950], 25690: [23801, 14486], 46871: [32993, 64709, 23801], 57950: [14486, 32993], 54396: [2550, 1550], 1550: [54396, 10221], 2550: [54396], 807: [54354, 17618], 56509: [59151, 12720], 52213: [54354, 12720], 17618: [807, 41959], 54354: [12412, 807, 52213], 529: [41959], 41959: [17618, 529], 59151: [56509], 12720: [56509, 52213], 40867: [476, 42911], 42911: [40867, 47389], 11420: [60554, 1346, 11128, 18866, 21934, 4397, 4184], 63139: [44967, 61306], 20551: [58449, 61198], 5152: [61198, 24383], 61198: [20551, 5152], 39768: [12795, 58449], 32739: [24383, 12795], 12795: [32739, 39768], 60090: [13322, 46092, 3452], 14211: [42731, 22473], 42731: [11430, 14211], 22473: [10490, 14211, 3452], 14182: [11430, 13322], 11430: [42731, 14182, 37078], 13322: [14182, 60090], 3452: [60090, 22473], 27140: [64816, 27301], 64816: [27140, 50862, 34959], 34959: [64816, 6884], 27301: [27140, 6884], 6884: [27301, 34959], 62795: [49408, 48698], 56090: [4219, 59252], 49408: [62795], 4219: [48698, 56090], 48698: [62795, 4219], 17201: [46657, 49109, 7112, 22423], 37671: [7388, 46092, 42436, 61320], 60472: [40508, 33435, 10031, 10575, 15064], 59146: [61306, 2715], 30955: [64709, 2715], 2715: [59146, 30955], 54791: [36801], 5629: [36225, 35384, 46277], 28503: [17908], 35384: [5629, 25775], 17908: [28503, 25775], 25775: [35384, 17908], 36801: [19228, 54791], 36225: [5629, 19228], 19228: [36225, 36801], 17352: [20228, 23456, 29005], 56646: [25511, 4481], 25511: [22266, 56646], 4481: [56646], 27283: [46657, 6580], 46657: [20010, 23066, 17201, 27283, 36222], 52632: [36222, 60002], 36222: [47030, 46657, 52632], 60002: [52632, 30155], 47030: [30155, 36222], 30155: [60002, 48807, 47030], 50197: [50422], 16775: [3359, 63976, 46910], 46910: [16775, 65034, 50862, 34906], 16079: [20807, 48614], 16243: [48878, 27879], 39521: [49779, 5296, 51146], 40840: [63207, 29552], 49779: [29552, 39521], 29552: [40840, 49779], 48878: [51524, 16243], 51524: [51146, 48878], 51146: [39521, 51524], 63207: [40840, 52848], 52848: [63207, 2464], 2464: [52848, 27879], 27879: [2464, 16243], 62017: [33287, 53793], 55676: [5233, 33287], 33287: [55676, 62017], 65097: [7594], 7594: [65097, 57736], 57736: [7594, 18033], 41518: [3656, 20546], 20546: [41518, 11591, 15549, 35894], 19711: [15405, 44908], 29353: [50422, 21929, 44202, 63282], 56341: [42964, 50338], 42964: [56341, 65224], 6654: [63843, 6913], 6913: [6654, 65224], 65224: [6913, 42964, 57819], 41380: [1529, 57819], 57819: [41380, 65224], 5616: [63843, 37619, 1529], 1529: [5616, 38662, 39718, 41380], 9386: [5743, 14057], 14057: [9386, 6764], 5743: [64210, 58218, 9386], 58218: [5743], 8135: [11128, 11659], 11659: [27929, 8135], 11128: [11420, 8135], 54922: [32555], 30691: [15405, 44606], 49900: [46277, 1461, 10843, 3314], 3644: [14930, 11431, 57279, 5233], 7614: [15405, 13191], 1006: [13191], 13191: [7614, 1006], 1252: [65456, 30160], 65456: [22703, 1252], 30160: [1252], 30251: [32906, 63309], 32906: [56435, 10221, 30251], 9371: [63309, 16756], 16756: [9371, 56435, 26523], 56435: [16756, 32906], 63309: [30251, 9371], 57279: [3644, 9660], 19501: [17659, 5972, 5296, 4367], 11497: [56589, 55949, 44967, 42637, 5408, 51923], 30693: [12937, 31931, 22498], 12937: [15064, 30693], 22498: [30693, 60704], 37690: [48423, 2151], 48423: [6204, 35928, 37690], 6204: [63976, 48423], 38450: [51291], 5560: [51291, 2151], 51291: [38450, 5560], 26740: [63976, 55906], 38048: [55906, 55373], 55906: [26740, 35928, 38048], 35928: [48423, 55906], 18302: [48438, 34009], 25933: [48807, 48438], 50360: [54776, 34009], 54776: [50360, 28265], 28265: [48807, 54776], 48438: [25933, 18302], 23690: [49651], 18663: [36678], 36542: [37569, 4397], 37569: [36542, 57264], 16544: [8544, 24083, 49343, 58545], 44683: [45272, 17788], 17788: [44683, 11334, 38807], 45272: [41689, 44683, 8640], 29049: [5916], 5916: [29049, 4713], 4713: [5916, 40366, 6245], 6245: [4713], 7162: [14930, 9695], 9695: [7162, 46636], 42009: [46636], 46636: [9695, 42009], 12702: [42583, 13782], 61981: [47507, 25757], 60405: [25757, 36858, 49929], 25757: [61981, 60405], 47507: [49929, 61981], 49929: [60405, 47507], 19635: [11551, 20528, 16971, 27611, 38805, 44723, 17790, 1031], 52730: [47251, 31875], 43412: [34666, 34009, 30842], 34666: [36972, 43412], 36972: [43303, 34666], 58090: [24865, 476], 24865: [34031, 6741, 4833, 58090, 43303], 43303: [30842, 24865, 36972], 30842: [43412, 43303], 3676: [17790, 27386], 17790: [19635, 3676], 27386: [3676], 59861: [40653, 31033], 10542: [31928, 61868], 31928: [10542, 6718], 61868: [10542, 22285], 61999: [27195, 6718, 7399], 6718: [32482, 61999, 24383, 31928], 7399: [61999, 27166], 27166: [27195, 53793, 7399], 27195: [61999, 27166], 32482: [6718, 31033], 31033: [32482, 59861], 63425: [6764], 34031: [29933, 7112, 25324, 24865], 27929: [48514, 55643, 38900, 2292, 8948, 32024, 4432, 11659], 34009: [51856, 50360, 18302, 476, 12236, 43412], 50986: [39725, 47389], 39725: [63649, 24377, 50986], 47389: [50986, 42911, 5612], 49236: [48362, 27203, 2292], 2292: [49236, 27929], 48362: [27415, 49236], 30439: [14419], 8879: [40653, 14419], 14419: [8879, 30439], 8930: [5408, 18402], 18402: [8930, 53377], 53377: [18402, 42041], 42041: [53377], 59370: [63795, 45035], 63795: [38662, 59370], 10575: [34173, 60472, 22420, 58402], 58402: [10575, 6764, 54694, 46340, 27134], 54415: [6446, 26523], 465: [41536, 65033, 45035], 56648: [47321], 47321: [56648, 265], 265: [4502, 47321], 55993: [18135, 45378], 32432: [55380, 30319], 8027: [1655, 55380], 12824: [21297, 45827], 21297: [1655, 12824], 1655: [8027, 21297], 30319: [32432, 28753], 55380: [8027, 32432], 45827: [12824, 28753], 28753: [30319, 45827, 56295], 45838: [4011, 8640], 8640: [45838, 45272], 65427: [45202, 5823], 27276: [62831, 5823], 62831: [51220, 27276], 51220: [41689, 62831], 45202: [65427, 20953], 20953: [45202, 41689], 10490: [39085, 60398, 22473, 33479, 55866], 33479: [10490, 54267, 3197, 63976], 6446: [55649, 10221, 54415], 55649: [44429, 6446, 22285, 34130], 8348: [6534, 57984], 6534: [20812, 8348], 20812: [44103, 51786, 6534], 60204: [57984, 17814], 32091: [44103, 17814, 10829], 57984: [8348, 19506, 60204], 44103: [20812, 32091], 17814: [60204, 32091], 56158: [20528, 4367], 35568: [59718, 50306, 24377, 5612], 59718: [35568, 51856], 50306: [35568, 45227], 9995: [34513, 33718], 34513: [24914, 9995], 33718: [9995], 5823: [798, 4011, 27276, 65427, 45491, 59009, 9877], 45491: [5823, 60737], 60737: [45491, 42623], 42623: [60737, 46408], 1571: [46408, 8001], 798: [8001, 5823], 8001: [1571, 798], 13009: [47251, 17735], 53793: [40653, 62017, 27166, 22285], 40653: [42800, 21941, 59861, 8879, 53793], 45360: [8938, 46344, 55908], 55908: [45360, 36687], 46344: [29089, 45360], 29089: [36687, 46344], 36687: [55908, 29089], 22627: [50904, 15868], 33199: [55866, 47312], 47312: [45317, 33199], 55866: [10490, 33199], 45317: [47312], 14914: [19320], 60619: [20467, 24677], 20467: [60619, 5068], 5068: [20467, 27134], 27134: [5068, 58402, 61950], 24677: [60619, 61950], 61950: [24677, 27134], 32555: [12412, 54922, 36877, 30679], 30733: [22703, 59494, 2913, 48778, 43374], 24472: [22893, 28330], 22893: [24472, 53042], 53042: [22893], 40766: [23027, 11730], 27609: [44908, 65491, 13454], 65491: [15005, 27609], 5366: [34363, 15005], 13454: [27609, 34363], 34363: [13454, 5366], 15005: [9355, 5366, 65491], 18769: [61653], 61653: [18769, 38190, 36858], 38190: [61653, 1822], 1822: [38190, 4502], 36858: [60440, 61653, 53456, 31703, 60405], 39861: [49978, 6538, 21301, 8938, 55776], 57061: [5289, 22061], 22061: [43374, 57061], 5289: [57061], 45680: [25237, 46092], 25237: [10835, 45680], 10835: [25237], 37326: [48109, 22285], 22497: [2151, 63845], 8643: [37078, 63845], 63845: [22497, 8643], 23540: [46092], 36678: [7444, 39841, 4977, 18663, 42760], 3469: [7388, 27659], 33988: [31628, 32480], 50846: [4223], 3197: [33479, 4223], 4223: [3197, 50846], 21929: [38836, 29353], 38836: [27137, 21929], 27137: [38836], 37078: [11430, 8643], 35894: [5022, 766, 42161, 20546, 29619, 58649, 1891, 21835], 55332: [14021, 42760], 14021: [7938, 55332, 35706], 11591: [7388, 20546], 24377: [35568, 56803, 39725], 56803: [62694, 24377], 62694: [45227, 56803], 45227: [50306, 48807, 62694], 18715: [10893, 14040], 10893: [18715, 60501], 38789: [11924, 13559], 61804: [44184, 14040, 8624], 60501: [10893], 14040: [18715, 61804], 13559: [8624, 38789], 8624: [61804, 13559], 11924: [38789], 43413: [3319, 49343], 3319: [44207, 43413], 44207: [3319, 7063], 7063: [12878, 44207], 49343: [16544, 43413, 1159], 36761: [1159, 12878], 1159: [49343, 36761], 12878: [36761, 7063], 17383: [14813, 58545], 58545: [17383, 16544], 14813: [17383], 24083: [8533, 61262, 16544, 24651], 487: [58541, 14056, 5197, 42800], 61525: [63965, 20228], 63965: [14151, 35724, 61525], 367: [58103, 35706], 33864: [63447, 23659, 58103], 35706: [14021, 367], 58103: [33864, 367], 50029: [23659], 23659: [50029, 33864], 20528: [56158, 19635], 34579: [40100, 30471], 40100: [28574, 34579], 30471: [34579], 60942: [61306, 22266, 41866], 17735: [46340, 13009, 49254, 27564, 34880], 23881: [26523, 9511], 9511: [23881, 31628], 4565: [22423, 25456], 24641: [25456, 48807, 3009], 22423: [3009, 17201, 4565], 25456: [4565, 24641], 3009: [24641, 22423], 28758: [39443, 36891], 39443: [56276, 28758], 30717: [36891, 56276], 56276: [30717, 39443], 36891: [28758, 4502, 30717], 26866: [44908, 15599, 31819, 61471, 17251, 31758], 13176: [36877, 59194], 36877: [12723, 32555, 13176], 22488: [7136, 12723], 12723: [22488, 36877], 59194: [13176, 7136], 7136: [59194, 22488], 59252: [59606, 28012, 56090], 32245: [50422], 34400: [24914, 14930, 14056, 46756, 12926], 3314: [49900, 42443], 61327: [51404, 57199], 51404: [20010, 61327], 57199: [61327], 55247: [63799, 18865], 63799: [61320, 55247], 61320: [37671, 63799], 18865: [55247], 63194: [64265, 6799], 64265: [63194, 6538], 6799: [63194], 6538: [11651, 64265, 39861], 36287: [1461, 20807, 15837, 56807, 64235], 5233: [3644, 63723, 7082, 55676], 6: [5622], 5622: [6, 25209], 25209: [5622, 23471], 49624: [43170], 43768: [43170, 22266], 43170: [49624, 43768], 53493: [16790], 12926: [34400], 44606: [30691, 26523], 13885: [28012, 58244, 40362, 60592], 58244: [49308, 30338, 3656, 13885], 35283: [28885, 28754], 10763: [28754, 62442], 28754: [35283, 10763], 62442: [46408, 10763], 28885: [24050, 35283], 60259: [4399, 39322], 39322: [60259, 46408], 46839: [24050, 11018], 4399: [60259, 11018], 11018: [4399, 46839], 46578: [28330, 43374, 13714, 28084], 28330: [19144, 24472, 46578], 1957: [739, 33296], 739: [18866, 1957], 18866: [11420, 739], 21934: [11420, 17579], 36774: [17579, 33296], 17579: [21934, 36774], 48109: [63723, 37326], 18359: [34306, 45175], 21973: [34306], 34306: [21973, 18359], 11455: [49605, 34478], 56295: [18182, 28753, 24426, 46277], 16167: [10829, 25732, 19144], 10829: [5408, 32091, 16167, 5950], 25411: [62177, 3656], 24362: [60388, 29781], 29781: [44184, 24362], 60388: [1031, 24362], 21958: [14936, 33755], 33755: [1031, 21958], 14936: [44184, 21958], 24691: [49270, 46292], 5262: [5950, 49270], 5950: [10829, 5262, 46292], 49270: [5262, 24691], 46292: [5950, 24691], 44941: [7444], 34678: [26528, 58271], 26528: [34678, 64709], 19069: [58271], 58271: [19069, 34678], 4397: [33783, 36542, 11420, 31875], 27659: [3469, 8948], 43015: [28084, 26496], 26496: [43015], 28084: [46578, 43015], 62177: [18182, 25411], 64864: [27959, 25609], 15331: [35368, 17659], 35368: [25609, 15331], 17659: [15331, 19501, 27959], 25609: [64864, 35368], 27959: [17659, 64864], 17963: [20123, 55776], 55776: [17963, 39861, 20123], 20123: [55776, 17963], 35179: [15144, 60532], 60532: [35179, 9009], 9009: [19506, 60532], 53456: [18182, 21167, 36858, 53225], 31875: [52730, 4397], 9469: [59220, 65502], 59220: [9469, 20807], 65502: [9469], 30225: [58604, 4184], 58604: [12852, 30225], 44983: [34661, 12852], 34661: [44983, 4184], 44955: [4184, 38148], 38148: [44955, 12852], 7938: [1031, 14021, 33783, 12852], 33783: [7938, 4397], 1031: [19635, 60388, 33755, 7938], 12852: [7938, 44983, 58604, 38148], 4184: [34661, 11420, 30225, 44955], 18990: [54667, 60740], 42917: [47427, 54667], 51559: [16754, 37639], 47427: [37639, 42917], 60740: [18990, 23027, 48282], 37639: [51559, 47427], 54667: [42917, 18990], 48282: [60740, 16754], 16754: [48282, 51559], 29005: [17352, 39631], 39631: [29005, 17251], 17251: [39631, 26866], 31758: [26866, 42837], 42837: [31758, 23456], 23456: [42837, 17352], 31931: [15064, 9355, 50570, 30693], 15064: [60472, 11730, 12937, 31931], 38176: [27415, 11551, 49651], 11551: [50472, 7503, 19635, 38176], 27415: [8948, 48362, 38176], 6741: [25763, 35053, 7288, 24865], 41536: [62712, 465], 62712: [41250, 41536], 41250: [50338, 62712], 38344: [50338, 57240, 10017], 65033: [10017, 465], 10017: [38344, 65033], 43133: [23185, 54267], 27308: [23185, 1609], 54267: [43133, 4972, 33479], 23185: [27308, 43133], 4972: [1609, 54267], 1609: [27308, 4972], 55949: [34625, 43986, 11497], 9535: [46106, 43986], 43986: [9535, 55949], 34625: [46106, 55949], 46106: [9535, 34625], 24426: [56295], 444: [61306, 52904], 52904: [444, 39821], 42760: [5456, 55332, 36678, 55563, 47251, 56029, 40366], 26523: [54415, 16756, 58449, 23881, 44606], 45035: [59370, 465, 50459], 50459: [39821, 45035], 39821: [52904, 2094, 50459], 44134: [11489, 47422], 11489: [32227, 44134], 55414: [47422, 18182, 22261], 36490: [38864], 32227: [11489], 47422: [44134, 55414], 22261: [55414, 56174], 56174: [38864, 22261], 38864: [36490, 56174], 20228: [61525, 17352, 39916], 7920: [46965, 3656, 60949], 60949: [7920, 46965], 46965: [7920, 60949], 6580: [27283, 51923, 49806, 48807], 23471: [56589, 6363, 25209, 20010, 57493, 8566], 35556: [44908, 39916], 39916: [35556, 20228], 19858: [9206], 36221: [12412, 9206], 9206: [36221, 41866, 19858], 56066: [39841, 30926, 62217], 54043: [30926, 63944], 30926: [56066, 54043], 63944: [54043, 20844], 20844: [63944, 62217], 62217: [20844, 56066], 45788: [57493, 2121], 2121: [45788, 22248], 57493: [40834, 23471, 45788], 40834: [57493, 22248], 22248: [40834, 2121], 28859: [60440, 55571], 55571: [28859, 12143], 12143: [55571], 60440: [14209, 49605, 36858, 28859], 46277: [56295, 5629, 25260, 15021, 49900], 22285: [55649, 53793, 37326, 61868], 34510: [49459, 8566], 49459: [34510], 8566: [34510, 23471], 62021: [65034, 15073], 65034: [62021, 46910, 55485], 65167: [13714, 19939], 15073: [42583, 62021], 42583: [19939, 12702, 15073], 13714: [46578, 65167, 55485], 19939: [65167, 42583], 55485: [13714, 65034], 15400: [40126], 40126: [15400, 3359], 3359: [40126, 16775], 42178: [5237], 51923: [11497, 6580], 30679: [32555, 14804, 22266, 29856], 43374: [30733, 27718, 10808, 22061, 46578], 53225: [53456, 33363, 60302], 11784: [37884, 33363], 33363: [11784, 53225], 37884: [11784, 60302], 60302: [37884, 53225], 62108: [28311, 42800], 63422: [28311], 28311: [63422, 62108], 40535: [7828, 58449, 30335], 30335: [40535, 32480], 32480: [30335, 33988, 7828], 7828: [32480, 40535], 56075: [33310], 33310: [34882, 56075, 49651, 62697, 5296], 49978: [51786, 35296, 19210, 39861], 22315: [48514, 65203], 65203: [22315, 59650], 48514: [27929, 22315], 6949: [55643, 19374], 19374: [6949, 59650], 55643: [27929, 6949], 39648: [17821, 60398], 17821: [21330, 39648], 21330: [17821], 39211: [48513, 5612], 51856: [59718, 48513, 34009], 48513: [39211, 51856], 5612: [39211, 35568, 47389], 34098: [29937], 15711: [21075], 7444: [64210, 44941, 36452, 36678], 32345: [32710], 6108: [1698, 1568], 1698: [29856, 6108], 22645: [1568, 29856], 29856: [22645, 30679, 1698], 1568: [6108, 22645], 5696: [26270, 34173], 15868: [22627, 36047, 50264], 36047: [63048, 15868], 63048: [50264, 24383, 36047], 50264: [15868, 63048], 40409: [9055, 4546], 4546: [40409, 41027], 4995: [3726, 41027], 9055: [40409, 3726], 41027: [4995, 4546, 49605], 3726: [9055, 4995], 12809: [29292], 29292: [27718, 12809], 27718: [43374, 29292], 32210: [8948, 21678], 21678: [32210, 57226], 49412: [21941, 31080, 24383, 36543], 10197: [24651, 29933], 1325: [24651, 31471], 29933: [10197, 34031, 31471], 31471: [29933, 1325], 24651: [24083, 10197, 1325], 58603: [58198, 14209], 58198: [58603], 14209: [21170, 58603, 60440], 21170: [14209], 62214: [20832, 64426], 64426: [62214, 1593], 20832: [20349, 62214], 20349: [32854, 20832], 32854: [1593, 20349], 1593: [64426, 9355, 32854], 5591: [22115, 34478], 34478: [5591, 11455], 22115: [5591], 50422: [50197, 15631, 15405, 10221, 29353, 32245], 4367: [19501, 44184, 56158, 32431], 42800: [487, 40907, 40653, 62108], 54447: [57264, 57226], 57264: [33296, 37569, 54447], 57226: [21678, 54447, 59650], 59009: [5823, 52157], 1891: [35894, 52157], 25058: [9877, 21835], 9877: [5823, 25058], 21835: [35894, 25058], 52157: [59009, 1891], 60169: [14606, 34130], 2454: [38777, 14606], 14606: [2454, 60169], 39786: [34130, 35663], 10282: [35663, 38777], 35663: [39786, 10282], 38777: [10282, 58449, 2454], 34130: [60169, 55649, 39786] } }, {}], 6: [function(e, t) { t.exports = [{ id: 14363, n: "Elemental Resistances", d: ["+6% to all Elemental Resistances"], o: { x: 0, y: 0, w: 27, h: 27 }, l: { x: 337.13, y: 1997.16 }, t: 0 }, { id: 49109, n: "Armour and Evasion", d: ["12% increased Evasion Rating and Armour"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 241.13, y: 1941.73 }, t: 0 }, { id: 17566, n: "Armour and Evasion", d: ["12% increased Evasion Rating and Armour"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 217.7, y: 2029.16 }, t: 0 }, { id: 45171, n: "Armour and Evasion", d: ["12% increased Evasion Rating and Armour"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 305.13, y: 2052.58 }, t: 0 }, { id: 21435, n: "Cloth and Chain", d: ["24% increased Evasion Rating and Armour", "+12% to all Elemental Resistances"], o: { x: 0, y: 162, w: 38, h: 38 }, l: { x: 305.13, y: 1941.73 }, t: 1 }, { id: 15405, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1410.05, y: -3.98 }, t: 0 }, { id: 32710, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 978.6, y: -1549.36 }, t: 0 }, { id: 25763, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -788.21, y: 1809.42 }, t: 0 }, { id: 50338, n: "Ballistic Mastery", d: ["20% increased Projectile Speed", "15% increased Projectile Damage", "+20 to Dexterity"], o: { x: 38, y: 162, w: 38, h: 38 }, l: { x: 1464.25, y: 507.25 }, t: 1 }, { id: 32024, n: "Minion Life", d: ["Minions have 10% increased maximum Life"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: 29.84, y: -1550.04 }, t: 0 }, { id: 60554, n: "Minion Damage", d: ["Minions deal 15% increased Damage"], o: { x: 135, y: 0, w: 27, h: 27 }, l: { x: -25.59, y: -1550.04 }, t: 0 }, { id: 27611, n: "Lord of the Dead", d: ["Minions have 10% increased maximum Life", "Minions deal 15% increased Damage", "+1 to Maximum number of Zombies", "+2 to Maximum number of Skeletons"], o: { x: 76, y: 162, w: 38, h: 38 }, l: { x: 2.13, y: -1598.04 }, t: 1 }, { id: 23199, n: "Physical Damage over Time", d: ["10% increased Physical Damage over Time"], o: { x: 162, y: 0, w: 27, h: 27 }, l: { x: 1113.71, y: 2259.04 }, t: 0 }, { id: 60887, n: "Physical Damage over Time", d: ["12% increased Physical Damage over Time"], o: { x: 162, y: 0, w: 27, h: 27 }, l: { x: 1169.13, y: 2291.04 }, t: 0 }, { id: 25796, n: "Physical Damage over Time", d: ["12% increased Physical Damage over Time"], o: { x: 162, y: 0, w: 27, h: 27 }, l: { x: 1169.13, y: 2355.04 }, t: 0 }, { id: 17833, n: "Melee Chance to Bleed", d: ["Melee Attacks have 6% chance to cause Bleeding"], o: { x: 162, y: 0, w: 27, h: 27 }, l: { x: 1049.71, y: 2323.04 }, t: 0 }, { id: 26294, n: "Bloodletting", d: ["24% increased Physical Damage over Time", "20% increased Attack Damage against Bleeding Enemies"], o: { x: 114, y: 162, w: 38, h: 38 }, l: { x: 1113.71, y: 2387.04 }, t: 1 }, { id: 33508, n: "Fire Resistance", d: ["+18% to Fire Resistance"], o: { x: 189, y: 0, w: 27, h: 27 }, l: { x: -29.57, y: 238.45 }, t: 0 }, { id: 36881, n: "Cold Resistance", d: ["+18% to Cold Resistance"], o: { x: 216, y: 0, w: 27, h: 27 }, l: { x: -61.57, y: 293.88 }, t: 0 }, { id: 35503, n: "Lightning Resistance", d: ["+18% to Lightning Resistance"], o: { x: 243, y: 0, w: 27, h: 27 }, l: { x: -29.57, y: 349.3 }, t: 0 }, { id: 43162, n: "Projectile Damage", d: ["8% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 66.43, y: 293.88 }, t: 0 }, { id: 39773, n: "Projectile Damage", d: ["8% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 34.43, y: 238.45 }, t: 0 }, { id: 23122, n: "Projectile Damage", d: ["8% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 34.43, y: 349.3 }, t: 0 }, { id: 7903, n: "Block", d: ["2% additional Block Chance while Dual Wielding or holding a Shield"], o: { x: 297, y: 0, w: 27, h: 27 }, l: { x: -108.42, y: 357.88 }, t: 0 }, { id: 20310, n: "Block and Block Recovery", d: ["1% additional Block Chance while Dual Wielding or holding a Shield", "30% increased Block Recovery"], o: { x: 297, y: 0, w: 27, h: 27 }, l: { x: -125.57, y: 293.88 }, t: 0 }, { id: 45887, n: "Block and Block Recovery", d: ["1% additional Block Chance while Dual Wielding or holding a Shield", "30% increased Block Recovery"], o: { x: 297, y: 0, w: 27, h: 27 }, l: { x: -108.42, y: 229.88 }, t: 0 }, { id: 18791, n: "Strength and Dexterity", d: ["+10 to Strength", "+10 to Dexterity"], o: { x: 324, y: 0, w: 27, h: 27 }, l: { x: 2.43, y: 293.88 }, t: 0 }, { id: 61306, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1272.8, y: 1027.64 }, t: 0 }, { id: 54142, n: "Finesse", d: ["8% increased Attack Speed", "20% increased Accuracy Rating", "+20 to Dexterity"], o: { x: 152, y: 162, w: 38, h: 38 }, l: { x: 1464.8, y: 835.64 }, t: 1 }, { id: 47251, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -834.47, y: -1312.03 }, t: 0 }, { id: 59928, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -2228.35, y: 408.47 }, t: 0 }, { id: 26471, n: "Avoid Shock", d: ["30% chance to Avoid being Shocked"], o: { x: 378, y: 0, w: 27, h: 27 }, l: { x: 2543.94, y: 386.03 }, t: 0 }, { id: 55307, n: "Avoid Ignite", d: ["30% chance to Avoid being Ignited"], o: { x: 405, y: 0, w: 27, h: 27 }, l: { x: 2511.94, y: 441.45 }, t: 0 }, { id: 64241, n: "Avoid Freeze and Chill", d: ["30% chance to Avoid being Chilled", "30% chance to Avoid being Frozen"], o: { x: 432, y: 0, w: 27, h: 27 }, l: { x: 2575.94, y: 330.6 }, t: 0 }, { id: 40743, n: "Crystal Skin", d: ["15% chance to Avoid Elemental Status Ailments"], o: { x: 190, y: 162, w: 38, h: 38 }, l: { x: 2599.37, y: 418.03 }, t: 1 }, { id: 15837, n: "Avoid Status Ailments", d: ["5% chance to Avoid Elemental Status Ailments"], o: { x: 0, y: 0, w: 27, h: 27 }, l: { x: 2488.51, y: 354.03 }, t: 0 }, { id: 32942, n: "Wand Physical Damage", d: ["12% increased Physical Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 951.96, y: -1869.17 }, t: 0 }, { id: 64239, n: "Wand Physical Damage", d: ["12% increased Physical Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 1062.81, y: -1869.17 }, t: 0 }, { id: 22407, n: "Wand Physical Damage", d: ["12% increased Physical Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 1007.38, y: -1901.17 }, t: 0 }, { id: 41476, n: "Elder Power", d: ["40% increased Physical Damage with Wands"], o: { x: 228, y: 162, w: 38, h: 38 }, l: { x: 951.96, y: -1805.17 }, t: 1 }, { id: 19098, n: "Wand Fire Damage", d: ["10% of Wand Physical Damage Added as Fire Damage"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 1007.38, y: -1773.17 }, t: 0 }, { id: 64612, n: "Wand Cold Damage", d: ["10% of Wand Physical Damage Added as Cold Damage"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 1062.81, y: -1805.17 }, t: 0 }, { id: 49254, n: "Retribution", d: ["14% increased Spell Damage", "14% increased Melee Damage", "5% increased Attack and Cast Speed", "+10 to Strength and Intelligence"], o: { x: 266, y: 162, w: 38, h: 38 }, l: { x: -1370.56, y: -956.03 }, t: 1 }, { id: 40291, n: "Fire Damage", d: ["8% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: 1671.21, y: -834.35 }, t: 0 }, { id: 42161, n: "Fire Damage", d: ["8% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: 1449.51, y: -834.35 }, t: 0 }, { id: 58766, n: "Blaze", d: ["12% increased Fire Damage", "5% chance to Ignite"], o: { x: 304, y: 162, w: 38, h: 38 }, l: { x: 1560.36, y: -770.35 }, t: 1 }, { id: 766, n: "Cold Damage", d: ["8% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 1432.36, y: -898.35 }, t: 0 }, { id: 17091, n: "Cold Damage", d: ["8% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 1688.36, y: -898.35 }, t: 0 }, { id: 57220, n: "Freeze", d: ["12% increased Cold Damage", "5% chance to Freeze"], o: { x: 342, y: 162, w: 38, h: 38 }, l: { x: 1560.36, y: -898.35 }, t: 1 }, { id: 5022, n: "Lightning Damage", d: ["8% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 1449.51, y: -962.35 }, t: 0 }, { id: 32307, n: "Lightning Damage", d: ["8% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 1671.21, y: -962.35 }, t: 0 }, { id: 42129, n: "Shock", d: ["12% increased Lightning Damage", "5% chance to Shock"], o: { x: 380, y: 162, w: 38, h: 38 }, l: { x: 1560.36, y: -1026.35 }, t: 1 }, { id: 2913, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: -962.86, y: 1332.95 }, t: 0 }, { id: 20010, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 759.3, y: 1810.64 }, t: 0 }, { id: 14930, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1601.21, y: 1803.92 }, t: 0 }, { id: 11397, n: "Frenzy Charge Duration", d: ["18% increased Frenzy Charge Duration"], o: { x: 567, y: 0, w: 27, h: 27 }, l: { x: 490.31, y: 2040.51 }, t: 0 }, { id: 6615, n: "Arcing Blows", d: ["30% increased Lightning Damage with Weapons"], o: { x: 418, y: 162, w: 38, h: 38 }, l: { x: 1448.1, y: -1150.79 }, t: 1 }, { id: 37781, n: "Weapon Lightning Damage", d: ["10% increased Lightning Damage with Weapons"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 1475.82, y: -1198.79 }, t: 0 }, { id: 44339, n: "Weapon Lightning Damage", d: ["10% increased Lightning Damage with Weapons"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 1503.53, y: -1150.79 }, t: 0 }, { id: 34907, n: "Mana and Mana Gain on Killing Blow", d: ["4% increased maximum Mana", "+5 Mana Gained on Kill"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 760.93, y: 142.09 }, t: 0 }, { id: 28424, n: "Mana and Mana Gain on Killing Blow", d: ["4% increased maximum Mana", "+5 Mana Gained on Kill"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 816.35, y: 142.09 }, t: 0 }, { id: 45067, n: "Thrill Killer", d: ["8% increased maximum Mana", "+10 Mana Gained on Kill"], o: { x: 456, y: 162, w: 38, h: 38 }, l: { x: 788.64, y: 190.09 }, t: 1 }, { id: 21974, n: "Reduced Mana Reservation", d: ["4% reduced Mana Reserved"], o: { x: 621, y: 0, w: 27, h: 27 }, l: { x: -2128.95, y: -1671.62 }, t: 0 }, { id: 25831, n: "Reduced Mana Reservation", d: ["4% reduced Mana Reserved"], o: { x: 621, y: 0, w: 27, h: 27 }, l: { x: -2073.53, y: -1639.62 }, t: 0 }, { id: 5935, n: "Aura Area of Effect", d: ["12% increased Radius of Auras"], o: { x: 648, y: 0, w: 27, h: 27 }, l: { x: -2018.1, y: -1671.62 }, t: 0 }, { id: 9392, n: "Aura Effect", d: ["6% increased effect of Auras you Cast"], o: { x: 0, y: 27, w: 27, h: 27 }, l: { x: -2018.1, y: -1735.62 }, t: 0 }, { id: 32932, n: "Sovereignty", d: ["6% reduced Mana Reserved", "10% increased effect of Auras you Cast"], o: { x: 494, y: 162, w: 38, h: 38 }, l: { x: -2128.95, y: -1735.62 }, t: 1 }, { id: 17059, n: "Aura Effect", d: ["6% increased effect of Auras you Cast"], o: { x: 0, y: 27, w: 27, h: 27 }, l: { x: -2073.53, y: -1767.62 }, t: 0 }, { id: 11334, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 952.83, y: -767.51 }, t: 0 }, { id: 15549, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1048.83, y: -933.79 }, t: 0 }, { id: 61547, n: "Cast Speed", d: ["4% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: 1112.83, y: -822.94 }, t: 0 }, { id: 5607, n: "Cast Speed", d: ["4% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: 1080.83, y: -767.51 }, t: 0 }, { id: 29619, n: "Cast Speed", d: ["4% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: 1176.83, y: -822.94 }, t: 0 }, { id: 64501, n: "Elemental Damage", d: ["10% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: 1112.83, y: -712.09 }, t: 0 }, { id: 46136, n: "Elemental Damage", d: ["10% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: 1176.83, y: -712.09 }, t: 0 }, { id: 58649, n: "Elemental Damage", d: ["10% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: 1208.83, y: -767.51 }, t: 0 }, { id: 1461, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 2384.18, y: .07 }, t: 0 }, { id: 44202, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -2228.39, y: -249.34 }, t: 0 }, { id: 42720, n: "Heavy Draw", d: ["24% increased Physical Damage with Bows", "10% reduced Enemy Stun Threshold with Bows", "20% increased Stun Duration with Bows on Enemies"], o: { x: 532, y: 162, w: 38, h: 38 }, l: { x: 2741.59, y: 617.15 }, t: 1 }, { id: 32514, n: "Bow Damage", d: ["15% increased Physical Damage with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 2630.74, y: 553.15 }, t: 0 }, { id: 55750, n: "Bow Damage", d: ["15% increased Physical Damage with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 2519.89, y: 617.15 }, t: 0 }, { id: 2185, n: "Bow Damage and Attack Speed", d: ["10% increased Physical Damage with Bows", "3% increased Attack Speed with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 2519.89, y: 745.15 }, t: 0 }, { id: 23912, n: "Bow Damage and Attack Speed", d: ["10% increased Physical Damage with Bows", "3% increased Attack Speed with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 2630.74, y: 809.15 }, t: 0 }, { id: 12948, n: "Bow Damage", d: ["15% increased Physical Damage with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 2566.74, y: 570.29 }, t: 0 }, { id: 39665, n: "Bow Damage and Attack Speed", d: ["10% increased Physical Damage with Bows", "3% increased Attack Speed with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 2566.74, y: 792 }, t: 0 }, { id: 38149, n: "Bow Damage and Accuracy", d: ["10% increased Physical Damage with Bows", "10% increased Accuracy Rating with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 2502.74, y: 681.15 }, t: 0 }, { id: 51881, n: "Deadly Draw", d: ["12% increased Physical Damage with Bows", "12% increased Attack Speed with Bows", "20% increased Arrow Speed"], o: { x: 570, y: 162, w: 38, h: 38 }, l: { x: 2741.59, y: 745.15 }, t: 1 }, { id: 6359, n: "Armour", d: ["15% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1159.28, y: 136.55 }, t: 0 }, { id: 3167, n: "Life Regeneration", d: ["0.5% of Life Regenerated per Second"], o: { x: 135, y: 27, w: 27, h: 27 }, l: { x: -1048.42, y: 200.55 }, t: 0 }, { id: 21413, n: "Combat Stamina", d: ["20% increased Armour", "5% increased maximum Life", "1% of Life Regenerated per Second"], o: { x: 608, y: 162, w: 38, h: 38 }, l: { x: -1135.85, y: 223.98 }, t: 1 }, { id: 7335, n: "Armour and Life Regeneration", d: ["10% increased Armour", "0.3% of Life Regenerated per Second"], o: { x: 135, y: 27, w: 27, h: 27 }, l: { x: -1071.85, y: 113.13 }, t: 0 }, { id: 27203, n: "Heart and Soul", d: ["8% increased maximum Life", "10% increased maximum Mana"], o: { x: 646, y: 162, w: 38, h: 38 }, l: { x: 402.28, y: -1675.84 }, t: 1 }, { id: 39085, n: "Elemental Equilibrium", d: ["Enemies you hit with Elemental Damage temporarily get +25% Resistance to those Elements and -50% Resistance to other Elements"], o: { x: 0, y: 656, w: 53, h: 54 }, l: { x: -416.32, y: -804.27 }, t: 2 }, { id: 48778, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -650.49, y: 1401.62 }, t: 0 }, { id: 59606, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1896.45, y: .81 }, t: 0 }, { id: 15027, n: "Beef", d: ["+30 to Strength"], o: { x: 0, y: 200, w: 38, h: 38 }, l: { x: 1049.11, y: 1460.98 }, t: 1 }, { id: 54657, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -518.19, y: -997.58 }, t: 0 }, { id: 34157, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -422.19, y: -942.15 }, t: 0 }, { id: 9432, n: "Mental Rapidity", d: ["6% increased Cast Speed"], o: { x: 38, y: 200, w: 38, h: 38 }, l: { x: -422.2, y: -1053 }, t: 1 }, { id: 31819, n: "Reduced Mana Cost", d: ["6% reduced Mana Cost of Skills"], o: { x: 162, y: 27, w: 27, h: 27 }, l: { x: -1552.72, y: -577.71 }, t: 0 }, { id: 46726, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -1648.72, y: -633.14 }, t: 0 }, { id: 38516, n: "Righteous Decree", d: ["22% increased maximum Mana", "6% reduced Mana Cost of Skills"], o: { x: 76, y: 200, w: 38, h: 38 }, l: { x: -1648.72, y: -522.28 }, t: 1 }, { id: 58968, n: "Chaos Damage", d: ["7% increased Chaos Damage"], o: { x: 189, y: 27, w: 27, h: 27 }, l: { x: 1108.29, y: -134.55 }, t: 0 }, { id: 37663, n: "Chaos Damage", d: ["7% increased Chaos Damage"], o: { x: 189, y: 27, w: 27, h: 27 }, l: { x: 1108.29, y: -198.55 }, t: 0 }, { id: 1427, n: "Chaos Resistance", d: ["+7% to Chaos Resistance"], o: { x: 216, y: 27, w: 27, h: 27 }, l: { x: 997.44, y: -198.55 }, t: 0 }, { id: 51235, n: "Chaos Resistance", d: ["+7% to Chaos Resistance"], o: { x: 216, y: 27, w: 27, h: 27 }, l: { x: 997.44, y: -134.55 }, t: 0 }, { id: 35296, n: "Chaos Resistance and Chaos Damage", d: ["5% increased Chaos Damage", "+3% to Chaos Resistance"], o: { x: 243, y: 27, w: 27, h: 27 }, l: { x: 1052.86, y: -102.55 }, t: 0 }, { id: 18707, n: "Method to the Madness", d: ["22% increased Chaos Damage"], o: { x: 114, y: 200, w: 38, h: 38 }, l: { x: 1052.86, y: -230.55 }, t: 1 }, { id: 40907, n: "Unwavering Stance", d: ["Cannot Evade enemy Attacks\nCannot be Stunned"], o: { x: 53, y: 656, w: 53, h: 54 }, l: { x: -1441.03, y: 1313.28 }, t: 2 }, { id: 18182, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 2384.23, y: -798.66 }, t: 0 }, { id: 29937, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 562.7, y: 2170.9 }, t: 0 }, { id: 33296, n: "Spell Damage", d: ["12% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: -110.37, y: -1190.56 }, t: 0 }, { id: 21075, n: "Area of Effect Radius", d: ["4% increased Radius of Area Skills"], o: { x: 297, y: 27, w: 27, h: 27 }, l: { x: 153.26, y: -1693.23 }, t: 0 }, { id: 38900, n: "Area of Effect Radius", d: ["4% increased Radius of Area Skills"], o: { x: 297, y: 27, w: 27, h: 27 }, l: { x: 125.55, y: -1645.23 }, t: 0 }, { id: 38805, n: "Area of Effect Radius", d: ["4% increased Radius of Area Skills"], o: { x: 297, y: 27, w: 27, h: 27 }, l: { x: 97.84, y: -1693.23 }, t: 0 }, { id: 58449, n: "Born to Fight", d: ["4% increased Melee Attack Speed", "26% increased Melee Physical Damage", "+20 to Strength"], o: { x: 152, y: 200, w: 38, h: 38 }, l: { x: -1412.32, y: 602.96 }, t: 1 }, { id: 33545, n: "Harrier", d: ["10% increased Attack Speed", "6% increased Cast Speed", "6% increased Movement Speed"], o: { x: 190, y: 200, w: 38, h: 38 }, l: { x: 489.36, y: -276.11 }, t: 1 }, { id: 45593, n: "Evasion and Life", d: ["8% increased Evasion Rating", "4% increased maximum Life"], o: { x: 324, y: 27, w: 27, h: 27 }, l: { x: 2136.07, y: 216.25 }, t: 0 }, { id: 12801, n: "Evasion and Life", d: ["8% increased Evasion Rating", "4% increased maximum Life"], o: { x: 324, y: 27, w: 27, h: 27 }, l: { x: 2104.07, y: 160.83 }, t: 0 }, { id: 53114, n: "Revenge of the Hunted", d: ["12% increased Physical Damage", "18% increased Evasion Rating", "4% increased maximum Life"], o: { x: 228, y: 200, w: 38, h: 38 }, l: { x: 2200.07, y: 216.25 }, t: 1 }, { id: 25067, n: "Evasion and Life", d: ["8% increased Evasion Rating", "4% increased maximum Life"], o: { x: 324, y: 27, w: 27, h: 27 }, l: { x: 2232.07, y: 160.83 }, t: 0 }, { id: 31315, n: "Evasion and Life", d: ["8% increased Evasion Rating", "4% increased maximum Life"], o: { x: 324, y: 27, w: 27, h: 27 }, l: { x: 2200.07, y: 105.4 }, t: 0 }, { id: 26270, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -2229.1, y: -1060.96 }, t: 0 }, { id: 6363, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1110.4, y: 2170.38 }, t: 0 }, { id: 24203, n: "Dual Wield Damage", d: ["12% increased Physical Weapon Damage while Dual Wielding"], o: { x: 351, y: 27, w: 27, h: 27 }, l: { x: 2578.16, y: 248.14 }, t: 0 }, { id: 33725, n: "Swagger", d: ["2% additional Block Chance while Dual Wielding", "24% increased Physical Weapon Damage while Dual Wielding"], o: { x: 266, y: 200, w: 38, h: 38 }, l: { x: 2601.59, y: 160.71 }, t: 1 }, { id: 56807, n: "Dual Wield Block", d: ["2% additional Block Chance while Dual Wielding"], o: { x: 378, y: 27, w: 27, h: 27 }, l: { x: 2490.74, y: 224.71 }, t: 0 }, { id: 59016, n: "Dual Wield Attack Speed", d: ["4% increased Attack Speed while Dual Wielding"], o: { x: 405, y: 27, w: 27, h: 27 }, l: { x: 2514.16, y: 137.29 }, t: 0 }, { id: 40609, n: "Cold Damage", d: ["12% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 430.1, y: -2488.33 }, t: 0 }, { id: 22090, n: "Cold Damage", d: ["12% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 412.95, y: -2424.33 }, t: 0 }, { id: 5972, n: "Cold Damage", d: ["10% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 302.1, y: -2360.33 }, t: 0 }, { id: 8833, n: "Heart of Ice", d: ["25% increased Cold Damage", "Damage Penetrates 3% Cold Resistance"], o: { x: 304, y: 200, w: 38, h: 38 }, l: { x: 412.95, y: -2552.33 }, t: 1 }, { id: 36412, n: "Cold Damage", d: ["12% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 366.1, y: -2377.48 }, t: 0 }, { id: 40705, n: "Freeze and Chill Duration", d: ["30% increased Chill Duration on Enemies", "20% increased Freeze Duration on Enemies"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 302.1, y: -2424.33 }, t: 0 }, { id: 53732, n: "Freeze Chance", d: ["5% chance to Freeze"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 246.67, y: -2456.33 }, t: 0 }, { id: 36226, n: "Cold Damage", d: ["10% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 246.67, y: -2520.33 }, t: 0 }, { id: 21460, n: "Breath of Rime", d: ["10% increased Cold Damage", "20% increased Freeze Duration on Enemies", "5% chance to Freeze"], o: { x: 342, y: 200, w: 38, h: 38 }, l: { x: 302.1, y: -2552.33 }, t: 1 }, { id: 58541, n: "Mace Damage and Armour", d: ["10% increased Physical Damage with Maces", "10% increased Armour"], o: { x: 432, y: 27, w: 27, h: 27 }, l: { x: -1228.89, y: 1526.88 }, t: 0 }, { id: 6633, n: "Mace Damage", d: ["14% increased Physical Damage with Maces"], o: { x: 432, y: 27, w: 27, h: 27 }, l: { x: -1164.89, y: 1526.88 }, t: 0 }, { id: 24772, n: "Mace Damage", d: ["14% increased Physical Damage with Maces"], o: { x: 432, y: 27, w: 27, h: 27 }, l: { x: -1132.89, y: 1471.45 }, t: 0 }, { id: 26456, n: "Mace Damage and Armour", d: ["10% increased Physical Damage with Maces", "10% increased Armour"], o: { x: 432, y: 27, w: 27, h: 27 }, l: { x: -1252.32, y: 1439.45 }, t: 0 }, { id: 24721, n: "Bloody Bludgeon", d: ["18% increased Physical Damage with Maces", "6% increased Attack Speed with Maces", "4% increased Radius of Area Skills"], o: { x: 380, y: 200, w: 38, h: 38 }, l: { x: -1164.89, y: 1416.03 }, t: 1 }, { id: 25732, n: "Totem Life and Duration", d: ["24% increased Totem Life", "15% increased Totem Duration"], o: { x: 459, y: 27, w: 27, h: 27 }, l: { x: 227.52, y: 417.64 }, t: 0 }, { id: 1696, n: "Totem Attack and Cast Speed", d: ["Spells Cast by Totems have 4% increased Cast Speed", "Attacks used by Totems have 6% increased Attack Speed"], o: { x: 486, y: 27, w: 27, h: 27 }, l: { x: 282.94, y: 417.64 }, t: 0 }, { id: 63933, n: "Totemic Zeal", d: ["30% increased Casting Speed for Summoning Totems"], o: { x: 418, y: 200, w: 38, h: 38 }, l: { x: 255.23, y: 369.64 }, t: 1 }, { id: 50570, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1581.5, y: -445.18 }, t: 0 }, { id: 8948, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 489.84, y: -1439.58 }, t: 0 }, { id: 44967, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: 959.47, y: 1254.61 }, t: 0 }, { id: 15085, n: "Ambidexterity", d: ["26% increased Attack Damage with Main Hand", "20% increased Attack Speed with Off Hand"], o: { x: 456, y: 200, w: 38, h: 38 }, l: { x: 485.45, y: 2462.07 }, t: 1 }, { id: 49547, n: "Dual Wield Damage", d: ["12% increased Physical Weapon Damage while Dual Wielding"], o: { x: 351, y: 27, w: 27, h: 27 }, l: { x: 374.6, y: 2270.07 }, t: 0 }, { id: 54268, n: "Blade Barrier", d: ["3% additional Block Chance while Dual Wielding", "50% increased Block Recovery", "18% increased Physical Weapon Damage while Dual Wielding"], o: { x: 494, y: 200, w: 38, h: 38 }, l: { x: 263.75, y: 2462.07 }, t: 1 }, { id: 13807, n: "Dual Wield Damage and Attack Speed", d: ["6% increased Physical Weapon Damage while Dual Wielding", "3% increased Attack Speed while Dual Wielding"], o: { x: 513, y: 27, w: 27, h: 27 }, l: { x: 502.6, y: 2398.07 }, t: 0 }, { id: 33089, n: "Dual Wield Damage and Attack Speed", d: ["6% increased Physical Weapon Damage while Dual Wielding", "3% increased Attack Speed while Dual Wielding"], o: { x: 513, y: 27, w: 27, h: 27 }, l: { x: 485.45, y: 2334.07 }, t: 0 }, { id: 56231, n: "Dual Wield Damage and Block", d: ["1% additional Block Chance while Dual Wielding", "8% increased Physical Weapon Damage while Dual Wielding"], o: { x: 378, y: 27, w: 27, h: 27 }, l: { x: 263.75, y: 2334.07 }, t: 0 }, { id: 2392, n: "Dual Wield Damage and Block", d: ["1% additional Block Chance while Dual Wielding", "8% increased Physical Weapon Damage while Dual Wielding"], o: { x: 378, y: 27, w: 27, h: 27 }, l: { x: 246.6, y: 2398.07 }, t: 0 }, { id: 52407, n: "Lightning Damage", d: ["12% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: -2375.73, y: -705.11 }, t: 0 }, { id: 54645, n: "Lightning Damage", d: ["12% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: -2486.58, y: -641.11 }, t: 0 }, { id: 31462, n: "Fire Damage", d: ["12% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -2375.73, y: -833.11 }, t: 0 }, { id: 25597, n: "Fire Damage", d: ["12% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -2486.58, y: -897.11 }, t: 0 }, { id: 18135, n: "Celestial Judgement", d: ["18% increased Elemental Damage", "Damage Penetrates 2% Fire Resistance", "Damage Penetrates 2% Cold Resistance", "Damage Penetrates 2% Lightning Resistance"], o: { x: 532, y: 200, w: 38, h: 38 }, l: { x: -2550.58, y: -879.96 }, t: 1 }, { id: 12439, n: "Cold Damage", d: ["12% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: -2597.43, y: -833.11 }, t: 0 }, { id: 14730, n: "Cold Damage", d: ["12% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: -2597.43, y: -705.11 }, t: 0 }, { id: 45378, n: "Celestial Punishment", d: ["25% increased Damage against Frozen, Shocked or Ignited Enemies", "5% chance to Freeze, Shock and Ignite"], o: { x: 570, y: 200, w: 38, h: 38 }, l: { x: -2550.58, y: -658.26 }, t: 1 }, { id: 29061, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -2358.58, y: -769.11 }, t: 0 }, { id: 22313, n: "Elemental Damage", d: ["6% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -2454.58, y: -824.54 }, t: 0 }, { id: 11431, n: "Totem Duration", d: ["25% increased Totem Duration"], o: { x: 540, y: 27, w: 27, h: 27 }, l: { x: -1841.65, y: 1405.23 }, t: 0 }, { id: 63150, n: "Ironwood", d: ["12% increased Totem Damage", "Totems gain +15% to all Elemental Resistances", "Totems have 10% additional Physical Damage Reduction"], o: { x: 608, y: 200, w: 38, h: 38 }, l: { x: -1730.8, y: 1341.23 }, t: 1 }, { id: 19140, n: "Totem Attack, Cast and Placement Speed", d: ["7% increased Casting Speed for Summoning Totems", "Spells Cast by Totems have 2% increased Cast Speed", "Attacks used by Totems have 4% increased Attack Speed"], o: { x: 486, y: 27, w: 27, h: 27 }, l: { x: -1754.22, y: 1428.65 }, t: 0 }, { id: 30825, n: "Totem Placement Speed", d: ["14% increased Casting Speed for Summoning Totems"], o: { x: 567, y: 27, w: 27, h: 27 }, l: { x: -1818.22, y: 1317.8 }, t: 0 }, { id: 10808, n: "Vaal Pact", d: ["Life Leech applies instantly at 40% effectiveness. Life Regeneration has no effect."], o: { x: 106, y: 656, w: 53, h: 54 }, l: { x: -498.15, y: 1052.21 }, t: 2 }, { id: 50862, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -980.69, y: -3.7 }, t: 0 }, { id: 7388, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 831.1, y: -1313.11 }, t: 0 }, { id: 9355, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1763.49, y: -302.53 }, t: 0 }, { id: 35851, n: "Accuracy and Critical Strike Chance", d: ["8% increased Accuracy Rating", "10% increased Critical Strike Chance"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 2062.86, y: -432.37 }, t: 0 }, { id: 60592, n: "Accuracy and Critical Strike Chance", d: ["8% increased Accuracy Rating", "10% increased Critical Strike Chance"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 2035.14, y: -480.37 }, t: 0 }, { id: 47484, n: "Depth Perception", d: ["16% increased Accuracy Rating", "+20 to Dexterity", "20% increased Critical Strike Chance"], o: { x: 646, y: 200, w: 38, h: 38 }, l: { x: 2007.43, y: -432.37 }, t: 1 }, { id: 13361, n: "Staff Damage and Accuracy", d: ["6% increased Physical Damage with Staves", "8% increased Accuracy Rating with Staves"], o: { x: 621, y: 27, w: 27, h: 27 }, l: { x: -1327.28, y: -1756.16 }, t: 0 }, { id: 64395, n: "Blunt Trauma", d: ["50% increased Critical Strike Chance with Staves", "Knocks Back Enemies if you get a Critical Strike with a Staff"], o: { x: 0, y: 238, w: 38, h: 38 }, l: { x: -1359.28, y: -1811.58 }, t: 1 }, { id: 17806, n: "Staff Damage and Attack Speed", d: ["6% increased Physical Damage with Staves", "2% increased Attack Speed with Staves"], o: { x: 648, y: 27, w: 27, h: 27 }, l: { x: -1327.28, y: -1867.01 }, t: 0 }, { id: 22702, n: "Serpent Stance", d: ["40% increased Global Critical Strike Chance while wielding a Staff", "30% increased Global Critical Strike Multiplier while wielding a Staff"], o: { x: 38, y: 238, w: 38, h: 38 }, l: { x: -1263.28, y: -1756.16 }, t: 1 }, { id: 24229, n: "Staff Damage and Critical Strike Chance", d: ["8% increased Physical Damage with Staves", "20% increased Global Critical Strike Chance while wielding a Staff"], o: { x: 0, y: 54, w: 27, h: 27 }, l: { x: -1231.28, y: -1811.58 }, t: 0 }, { id: 4977, n: "Staff Damage and Critical Strike Chance", d: ["8% increased Physical Damage with Staves", "20% increased Global Critical Strike Chance while wielding a Staff"], o: { x: 0, y: 54, w: 27, h: 27 }, l: { x: -1263.28, y: -1867.01 }, t: 0 }, { id: 19897, n: "Death Attunement", d: ["Minions have 8% increased Attack Speed", "Minions have 8% increased Cast Speed", "+1 to Maximum number of Spectres"], o: { x: 76, y: 238, w: 38, h: 38 }, l: { x: -674.97, y: -2449.24 }, t: 1 }, { id: 4247, n: "Minion Life", d: ["Minions have 10% increased maximum Life"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: -619.54, y: -2417.24 }, t: 0 }, { id: 17412, n: "Minion Life and Life Regeneration", d: ["Minions have 7% increased maximum Life", "Minions Regenerate 1% Life per Second"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: -619.54, y: -2353.24 }, t: 0 }, { id: 52412, n: "Minion Life", d: ["Minions have 10% increased maximum Life"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: -674.97, y: -2321.24 }, t: 0 }, { id: 43716, n: "Minion Damage and Life Leech", d: ["Minions deal 10% increased Damage", "Minions Leech 1% of Damage as Life"], o: { x: 135, y: 0, w: 27, h: 27 }, l: { x: -730.39, y: -2353.24 }, t: 0 }, { id: 34144, n: "Minion Damage", d: ["Minions deal 15% increased Damage"], o: { x: 135, y: 0, w: 27, h: 27 }, l: { x: -730.39, y: -2417.24 }, t: 0 }, { id: 7374, n: "Life and Reduced Mana Cost", d: ["4% increased maximum Life", "3% reduced Mana Cost of Skills"], o: { x: 27, y: 54, w: 27, h: 27 }, l: { x: -1851.61, y: -163.22 }, t: 0 }, { id: 3533, n: "Life and Reduced Mana Cost", d: ["4% increased maximum Life", "3% reduced Mana Cost of Skills"], o: { x: 27, y: 54, w: 27, h: 27 }, l: { x: -1962.46, y: -99.22 }, t: 0 }, { id: 11088, n: "Life and Reduced Mana Cost", d: ["4% increased maximum Life", "3% reduced Mana Cost of Skills"], o: { x: 27, y: 54, w: 27, h: 27 }, l: { x: -1939.03, y: -186.64 }, t: 0 }, { id: 65108, n: "Unrelenting", d: ["8% increased maximum Life", "10% reduced Mana Cost of Skills"], o: { x: 114, y: 238, w: 38, h: 38 }, l: { x: -1875.03, y: -75.79 }, t: 1 }, { id: 918, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 217.07, y: -96.74 }, t: 0 }, { id: 28221, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 281.07, y: -96.74 }, t: 0 }, { id: 24643, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 313.07, y: -152.17 }, t: 0 }, { id: 45456, n: "Spell Damage", d: ["6% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: 281.07, y: -207.59 }, t: 0 }, { id: 56153, n: "Spell Damage", d: ["6% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: 185.07, y: -152.17 }, t: 0 }, { id: 11688, n: "Spell Damage", d: ["6% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: 217.07, y: -207.59 }, t: 0 }, { id: 8742, n: "Critical Strike Multiplier", d: ["10% increased Critical Strike Multiplier"], o: { x: 81, y: 54, w: 27, h: 27 }, l: { x: 359.92, y: -88.17 }, t: 0 }, { id: 34062, n: "Critical Strike Multiplier", d: ["10% increased Critical Strike Multiplier"], o: { x: 81, y: 54, w: 27, h: 27 }, l: { x: 249.07, y: -24.17 }, t: 0 }, { id: 13344, n: "Critical Strike Multiplier", d: ["10% increased Critical Strike Multiplier"], o: { x: 81, y: 54, w: 27, h: 27 }, l: { x: 313.07, y: -41.32 }, t: 0 }, { id: 39028, n: "Dexterity and Intelligence", d: ["+10 to Dexterity", "+10 to Intelligence"], o: { x: 108, y: 54, w: 27, h: 27 }, l: { x: 249.07, y: -152.17 }, t: 0 }, { id: 49806, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 343.65, y: 1237.38 }, t: 0 }, { id: 63649, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 177.37, y: 1141.38 }, t: 0 }, { id: 60398, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -612.72, y: -942.78 }, t: 0 }, { id: 21941, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1529.9, y: 1129.46 }, t: 0 }, { id: 17421, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 1779.18, y: 1676.25 }, t: 0 }, { id: 29104, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 1751.47, y: 1628.25 }, t: 0 }, { id: 51440, n: "Druidic Rite", d: ["12% increased maximum Mana", "20% increased Mana Recovery from Flasks", "20% increased Flask effect duration"], o: { x: 152, y: 238, w: 38, h: 38 }, l: { x: 1723.75, y: 1676.25 }, t: 1 }, { id: 22972, n: "Wandslinger", d: ["8% increased Attack Speed with Wands", "16% increased Damage with Wands"], o: { x: 190, y: 238, w: 38, h: 38 }, l: { x: 468.48, y: -1913.7 }, t: 1 }, { id: 50472, n: "Wand Damage and Accuracy", d: ["15% increased Accuracy Rating with Wands", "10% increased Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 413.06, y: -1913.7 }, t: 0 }, { id: 63067, n: "Wand Damage", d: ["15% increased Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 440.77, y: -1961.7 }, t: 0 }, { id: 22420, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -1851.83, y: -902.19 }, t: 0 }, { id: 60732, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -1796.41, y: -902.19 }, t: 0 }, { id: 54694, n: "Light of Divinity", d: ["15% increased Spell Damage", "4% increased Cast Speed", "20% increased Light Radius", "+10 to Strength and Intelligence"], o: { x: 228, y: 238, w: 38, h: 38 }, l: { x: -1824.12, y: -950.19 }, t: 1 }, { id: 46408, n: "Quickness", d: ["20% increased Physical Damage", "5% increased Movement Speed", "+10 to Dexterity"], o: { x: 266, y: 238, w: 38, h: 38 }, l: { x: 1815.77, y: -514.73 }, t: 1 }, { id: 31080, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: -1218.29, y: 1282.79 }, t: 0 }, { id: 64709, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1626.41, y: 1383.03 }, t: 0 }, { id: 63282, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -2229.24, y: 161.4 }, t: 0 }, { id: 23066, n: "Savagery", d: ["+1 Maximum Frenzy Charge"], o: { x: 304, y: 238, w: 38, h: 38 }, l: { x: 437.69, y: 1948.54 }, t: 1 }, { id: 24383, n: "Warrior's Blood", d: ["1.8% of Life Regenerated per Second", "+20 to Strength"], o: { x: 342, y: 238, w: 38, h: 38 }, l: { x: -1416.04, y: 942.22 }, t: 1 }, { id: 19287, n: "Life and Life on Kill", d: ["4% increased maximum Life", "+5 Life gained on Kill"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 706.53, y: -200.45 }, t: 0 }, { id: 61875, n: "Life and Life on Kill", d: ["4% increased maximum Life", "+5 Life gained on Kill"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 678.82, y: -152.45 }, t: 0 }, { id: 49379, n: "Hired Killer", d: ["6% increased maximum Life", "+10 Life gained on Kill"], o: { x: 380, y: 238, w: 38, h: 38 }, l: { x: 734.25, y: -152.45 }, t: 1 }, { id: 19320, n: "Acrobatics Improvement", d: ["3% additional chance to Dodge Attacks"], o: { x: 324, y: 27, w: 27, h: 27 }, l: { x: 2749.44, y: -48.97 }, t: 0 }, { id: 12401, n: "Acrobatics Improvement", d: ["3% additional chance to Dodge Attacks"], o: { x: 324, y: 27, w: 27, h: 27 }, l: { x: 2721.73, y: -.97 }, t: 0 }, { id: 56744, n: "Acrobatics Improvement", d: ["4% additional chance to Dodge Attacks"], o: { x: 324, y: 27, w: 27, h: 27 }, l: { x: 2694.01, y: -48.97 }, t: 0 }, { id: 39841, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1039.51, y: -2219.69 }, t: 0 }, { id: 20807, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 2380.81, y: 679.09 }, t: 0 }, { id: 21301, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: 1367.11, y: -122.48 }, t: 0 }, { id: 11605, n: "Dagger Damage and Accuracy", d: ["6% increased Physical Damage with Daggers", "8% increased Accuracy Rating with Daggers"], o: { x: 162, y: 54, w: 27, h: 27 }, l: { x: 1536.45, y: -197.59 }, t: 0 }, { id: 1405, n: "From the Shadows", d: ["15% increased Physical Damage with Daggers", "20% increased Accuracy Rating with Daggers", "40% increased Critical Strike Chance with Daggers"], o: { x: 418, y: 238, w: 38, h: 38 }, l: { x: 1536.45, y: -69.59 }, t: 1 }, { id: 59902, n: "Dagger Damage", d: ["12% increased Physical Damage with Daggers"], o: { x: 162, y: 54, w: 27, h: 27 }, l: { x: 1519.3, y: -133.59 }, t: 0 }, { id: 39447, n: "Claw Damage and Attack Speed", d: ["6% increased Physical Damage with Claws", "2% increased Attack Speed with Claws"], o: { x: 189, y: 54, w: 27, h: 27 }, l: { x: 1775.3, y: -133.59 }, t: 0 }, { id: 27285, n: "Claw Damage and Accuracy", d: ["6% increased Physical Damage with Claws", "8% increased Accuracy Rating with Claws"], o: { x: 216, y: 54, w: 27, h: 27 }, l: { x: 1758.16, y: -197.59 }, t: 0 }, { id: 37504, n: "Claws of the Pride", d: ["15% increased Physical Damage with Claws", "8% increased Attack Speed with Claws", "20% increased Accuracy Rating with Claws"], o: { x: 456, y: 238, w: 38, h: 38 }, l: { x: 1758.16, y: -69.59 }, t: 1 }, { id: 53257, n: "One Handed Attack Speed", d: ["4% increased Attack Speed with One Handed Melee Weapons"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1647.3, y: -261.59 }, t: 0 }, { id: 19396, n: "One Handed Accuracy", d: ["12% increased Accuracy Rating with One Handed Melee Weapons"], o: { x: 243, y: 54, w: 27, h: 27 }, l: { x: 1583.3, y: -133.59 }, t: 0 }, { id: 26097, n: "Brutal Efficiency", d: ["8% increased Attack Speed with One Handed Melee Weapons", "20% increased Accuracy Rating with One Handed Melee Weapons"], o: { x: 494, y: 238, w: 38, h: 38 }, l: { x: 1647.3, y: -197.59 }, t: 1 }, { id: 47996, n: "One Handed Melee Damage", d: ["10% increased Physical Damage with One Handed Melee Weapons"], o: { x: 270, y: 54, w: 27, h: 27 }, l: { x: 1711.3, y: -133.59 }, t: 0 }, { id: 8451, n: "One Handed Melee Damage", d: ["10% increased Physical Damage with One Handed Melee Weapons"], o: { x: 270, y: 54, w: 27, h: 27 }, l: { x: 1647.3, y: -69.59 }, t: 0 }, { id: 56982, n: "Stun Threshold Reduction", d: ["5% reduced Enemy Stun Threshold"], o: { x: 297, y: 54, w: 27, h: 27 }, l: { x: -1307.66, y: 1902.04 }, t: 0 }, { id: 57923, n: "Stun Duration", d: ["25% increased Stun Duration on Enemies"], o: { x: 297, y: 54, w: 27, h: 27 }, l: { x: -1188.23, y: 1934.04 }, t: 0 }, { id: 46756, n: "Stun Duration", d: ["25% increased Stun Duration on Enemies"], o: { x: 297, y: 54, w: 27, h: 27 }, l: { x: -1252.23, y: 1998.04 }, t: 0 }, { id: 38922, n: "Stun Mastery", d: ["10% reduced Enemy Stun Threshold", "30% increased Stun Duration on Enemies", "50% increased Stun Recovery"], o: { x: 532, y: 238, w: 38, h: 38 }, l: { x: -1252.23, y: 1870.04 }, t: 1 }, { id: 17038, n: "Stun Duration", d: ["20% increased Stun Duration on Enemies"], o: { x: 297, y: 54, w: 27, h: 27 }, l: { x: -1307.66, y: 1966.04 }, t: 0 }, { id: 59650, n: "Energy Shield", d: ["12% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 108.24, y: -1195.2 }, t: 0 }, { id: 31703, n: "Pain Attunement", d: ["30% more Spell Damage when on Low Life"], o: { x: 159, y: 656, w: 53, h: 54 }, l: { x: 1881.51, y: -1742.2 }, t: 2 }, { id: 36874, n: "Wisdom of the Glade", d: ["+30 to Intelligence"], o: { x: 570, y: 238, w: 38, h: 38 }, l: { x: 1168.1, y: 1464.76 }, t: 1 }, { id: 8938, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1651.62, y: -.73 }, t: 0 }, { id: 10221, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1763.84, y: 270.45 }, t: 0 }, { id: 9788, n: "Nimbleness", d: ["6% increased Cast Speed"], o: { x: 608, y: 238, w: 38, h: 38 }, l: { x: 1130.74, y: -1372.37 }, t: 1 }, { id: 12189, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: 1075.32, y: -1372.37 }, t: 0 }, { id: 5875, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: 1103.03, y: -1324.37 }, t: 0 }, { id: 34906, n: "Mana and Reduced Mana Cost", d: ["5% increased maximum Mana", "3% reduced Mana Cost of Skills"], o: { x: 162, y: 27, w: 27, h: 27 }, l: { x: -761.57, y: -98.21 }, t: 0 }, { id: 41026, n: "Mana and Reduced Mana Cost", d: ["5% increased maximum Mana", "3% reduced Mana Cost of Skills"], o: { x: 162, y: 27, w: 27, h: 27 }, l: { x: -816.99, y: -194.21 }, t: 0 }, { id: 24256, n: "Dynamo", d: ["10% increased maximum Mana", "6% reduced Mana Cost of Skills"], o: { x: 646, y: 238, w: 38, h: 38 }, l: { x: -706.14, y: -194.21 }, t: 1 }, { id: 21167, n: "Damage Over Time", d: ["9% increased Damage over Time"], o: { x: 351, y: 54, w: 27, h: 27 }, l: { x: 2487.97, y: -1268.63 }, t: 0 }, { id: 44362, n: "Damage Over Time", d: ["9% increased Damage over Time"], o: { x: 351, y: 54, w: 27, h: 27 }, l: { x: 2551.97, y: -1268.63 }, t: 0 }, { id: 56671, n: "Chaos Damage", d: ["10% increased Chaos Damage"], o: { x: 189, y: 27, w: 27, h: 27 }, l: { x: 2551.97, y: -1157.77 }, t: 0 }, { id: 47949, n: "Chaos Damage", d: ["10% increased Chaos Damage"], o: { x: 189, y: 27, w: 27, h: 27 }, l: { x: 2487.97, y: -1157.77 }, t: 0 }, { id: 26620, n: "Corruption", d: ["8% increased Damage over Time", "18% increased Chaos Damage"], o: { x: 0, y: 276, w: 38, h: 38 }, l: { x: 2583.97, y: -1213.2 }, t: 1 }, { id: 31961, n: "Resolute Technique", d: ["Your hits can't be Evaded", "Never deal Critical Strikes"], o: { x: 212, y: 656, w: 53, h: 54 }, l: { x: -2339.62, y: 156.64 }, t: 2 }, { id: 49605, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1210.98, y: -1948.22 }, t: 0 }, { id: 6237, n: "Precision", d: ["3% increased Attack Speed", "20% increased Accuracy Rating", "3% increased Movement Speed", "+20 to Dexterity"], o: { x: 38, y: 276, w: 38, h: 38 }, l: { x: -1356.94, y: -767.16 }, t: 1 }, { id: 15599, n: "Accuracy and Attack Speed", d: ["3% increased Attack Speed", "10% increased Accuracy Rating"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: -1388.94, y: -711.73 }, t: 0 }, { id: 44529, n: "Accuracy and Attack Speed", d: ["3% increased Attack Speed", "10% increased Accuracy Rating"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: -1388.94, y: -822.58 }, t: 0 }, { id: 41472, n: "Discipline and Training", d: ["+30 to maximum Life", "10% increased maximum Life"], o: { x: 76, y: 276, w: 38, h: 38 }, l: { x: -1484.94, y: -767.16 }, t: 1 }, { id: 61471, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1452.94, y: -711.73 }, t: 0 }, { id: 1203, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1452.94, y: -822.58 }, t: 0 }, { id: 42795, n: "Arcane Focus", d: ["20% increased maximum Energy Shield", "10% faster start of Energy Shield Recharge"], o: { x: 114, y: 276, w: 38, h: 38 }, l: { x: 242.63, y: -1778.5 }, t: 1 }, { id: 61308, n: "Amplify", d: ["12% increased Radius of Area Skills", "8% increased Area Damage"], o: { x: 152, y: 276, w: 38, h: 38 }, l: { x: -1641.03, y: -1010.63 }, t: 1 }, { id: 40927, n: "Area of Effect Radius", d: ["4% increased Radius of Area Skills"], o: { x: 297, y: 27, w: 27, h: 27 }, l: { x: -1545.03, y: -955.21 }, t: 0 }, { id: 15365, n: "Area of Effect Radius", d: ["4% increased Radius of Area Skills"], o: { x: 297, y: 27, w: 27, h: 27 }, l: { x: -1641.03, y: -899.78 }, t: 0 }, { id: 44624, n: "Axe Damage", d: ["12% increased Physical Damage with Axes"], o: { x: 378, y: 54, w: 27, h: 27 }, l: { x: -868.68, y: 1951.24 }, t: 0 }, { id: 26023, n: "Splitting Strikes", d: ["26% increased Physical Damage with Axes", "6% increased Attack Speed with Axes"], o: { x: 190, y: 276, w: 38, h: 38 }, l: { x: -932.68, y: 2062.09 }, t: 1 }, { id: 31604, n: "Axe Damage and Accuracy", d: ["8% increased Physical Damage with Axes", "10% increased Accuracy Rating with Axes"], o: { x: 405, y: 54, w: 27, h: 27 }, l: { x: -845.26, y: 2038.66 }, t: 0 }, { id: 65131, n: "Axe Damage, Armour and Evasion", d: ["10% increased Physical Damage with Axes", "8% increased Evasion Rating and Armour"], o: { x: 378, y: 54, w: 27, h: 27 }, l: { x: -932.68, y: 1951.24 }, t: 0 }, { id: 5065, n: "Axe Damage, Armour and Evasion", d: ["10% increased Physical Damage with Axes", "8% increased Evasion Rating and Armour"], o: { x: 378, y: 54, w: 27, h: 27 }, l: { x: -964.68, y: 2006.66 }, t: 0 }, { id: 19144, n: "Sentinel", d: ["24% increased Evasion Rating and Armour", "+10% to all Elemental Resistances"], o: { x: 228, y: 276, w: 38, h: 38 }, l: { x: -1.28, y: 522.25 }, t: 1 }, { id: 34245, n: "Energy Shield on Shield", d: ["40% increased Energy Shield from equipped Shield"], o: { x: 432, y: 54, w: 27, h: 27 }, l: { x: -143.89, y: -2011.06 }, t: 0 }, { id: 57278, n: "Mind Barrier", d: ["5% additional Chance to Block Spells with Shields"], o: { x: 266, y: 276, w: 38, h: 38 }, l: { x: -199.31, y: -1915.06 }, t: 1 }, { id: 16971, n: "Shield Spell Block", d: ["2% additional Chance to Block Spells with Shields"], o: { x: 459, y: 54, w: 27, h: 27 }, l: { x: -88.46, y: -1915.06 }, t: 0 }, { id: 4502, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1474.27, y: -1271.96 }, t: 0 }, { id: 56029, n: "Agility", d: ["+30 to Dexterity"], o: { x: 304, y: 276, w: 38, h: 38 }, l: { x: -1091.71, y: -1641.42 }, t: 1 }, { id: 2094, n: "Evasion and Life", d: ["14% increased Evasion Rating", "5% increased maximum Life"], o: { x: 486, y: 54, w: 27, h: 27 }, l: { x: 1043.4, y: 835.29 }, t: 0 }, { id: 60704, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -1708.97, y: -712.07 }, t: 0 }, { id: 33435, n: "Elementalist", d: ["+12% to all Elemental Resistances", "10% increased Elemental Damage", "5% chance to Freeze, Shock and Ignite"], o: { x: 342, y: 276, w: 38, h: 38 }, l: { x: -1740.97, y: -767.49 }, t: 1 }, { id: 57715, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -1612.97, y: -767.49 }, t: 0 }, { id: 39483, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -1708.97, y: -822.92 }, t: 0 }, { id: 57266, n: "Mace Damage and Reduced Enemy Stun Threshold", d: ["10% increased Physical Damage with Maces", "4% reduced Enemy Stun Threshold with Maces"], o: { x: 513, y: 54, w: 27, h: 27 }, l: { x: -2557.96, y: 471.53 }, t: 0 }, { id: 38023, n: "Mace Damage and Reduced Enemy Stun Threshold", d: ["10% increased Physical Damage with Maces", "4% reduced Enemy Stun Threshold with Maces"], o: { x: 513, y: 54, w: 27, h: 27 }, l: { x: -2557.96, y: 343.53 }, t: 0 }, { id: 30547, n: "Mace Damage and Attack Speed", d: ["10% increased Physical Damage with Maces", "2% increased Attack Speed with Maces"], o: { x: 540, y: 54, w: 27, h: 27 }, l: { x: -2383.11, y: 296.68 }, t: 0 }, { id: 15163, n: "Mace Damage and Attack Speed", d: ["10% increased Physical Damage with Maces", "2% increased Attack Speed with Maces"], o: { x: 540, y: 54, w: 27, h: 27 }, l: { x: -2447.11, y: 279.53 }, t: 0 }, { id: 16703, n: "Skull Cracking", d: ["22% increased Physical Damage with Maces", "10% reduced Enemy Stun Threshold with Maces", "Hits that Stun Enemies have Culling Strike"], o: { x: 380, y: 276, w: 38, h: 38 }, l: { x: -2511.11, y: 518.39 }, t: 1 }, { id: 8500, n: "Mace Damage", d: ["15% increased Physical Damage with Maces"], o: { x: 432, y: 27, w: 27, h: 27 }, l: { x: -2447.11, y: 535.53 }, t: 0 }, { id: 40645, n: "Bone Breaker", d: ["30% increased Physical Damage with Maces", "40% increased Stun Duration on Enemies"], o: { x: 418, y: 276, w: 38, h: 38 }, l: { x: -2511.11, y: 296.68 }, t: 1 }, { id: 46127, n: "Mace Damage", d: ["15% increased Physical Damage with Maces"], o: { x: 432, y: 27, w: 27, h: 27 }, l: { x: -2383.11, y: 518.39 }, t: 0 }, { id: 20966, n: "Mace Damage", d: ["12% increased Physical Damage with Maces"], o: { x: 432, y: 27, w: 27, h: 27 }, l: { x: -2319.11, y: 407.53 }, t: 0 }, { id: 65159, n: "Totem Damage", d: ["8% increased Totem Damage"], o: { x: 567, y: 54, w: 27, h: 27 }, l: { x: -830.5, y: 119.34 }, t: 0 }, { id: 31520, n: "Totem Damage", d: ["8% increased Totem Damage"], o: { x: 567, y: 54, w: 27, h: 27 }, l: { x: -798.5, y: 174.77 }, t: 0 }, { id: 4300, n: "Totem Damage", d: ["8% increased Totem Damage"], o: { x: 567, y: 54, w: 27, h: 27 }, l: { x: -894.5, y: 119.34 }, t: 0 }, { id: 11190, n: "Totem Physical Damage Reduction", d: ["Totems have 6% additional Physical Damage Reduction"], o: { x: 459, y: 27, w: 27, h: 27 }, l: { x: -926.5, y: 174.77 }, t: 0 }, { id: 35910, n: "Totem Elemental Resistances", d: ["Totems gain +10% to all Elemental Resistances"], o: { x: 459, y: 27, w: 27, h: 27 }, l: { x: -894.5, y: 230.19 }, t: 0 }, { id: 63635, n: "Totemic Mastery", d: ["14% increased Totem Damage", "24% increased Totem Life"], o: { x: 456, y: 276, w: 38, h: 38 }, l: { x: -830.5, y: 230.19 }, t: 1 }, { id: 5456, n: "Might", d: ["+30 to Strength"], o: { x: 0, y: 200, w: 38, h: 38 }, l: { x: -968.23, y: -1696.54 }, t: 1 }, { id: 6764, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1555.11, y: -1473.05 }, t: 0 }, { id: 40366, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1388.83, y: -1569.05 }, t: 0 }, { id: 49178, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -2227.99, y: -769.22 }, t: 0 }, { id: 56149, n: "Melee Damage", d: ["10% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: 1190.61, y: 904.92 }, t: 0 }, { id: 720, n: "Melee Damage", d: ["10% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: 1135.19, y: 872.92 }, t: 0 }, { id: 6542, n: "Evasion and Life", d: ["10% increased Evasion Rating", "4% increased maximum Life"], o: { x: 486, y: 54, w: 27, h: 27 }, l: { x: 1190.61, y: 776.92 }, t: 0 }, { id: 60803, n: "Evasion and Life", d: ["10% increased Evasion Rating", "4% increased maximum Life"], o: { x: 486, y: 54, w: 27, h: 27 }, l: { x: 1135.19, y: 808.92 }, t: 0 }, { id: 29870, n: "Melee Attack Speed", d: ["4% increased Melee Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1246.04, y: 872.92 }, t: 0 }, { id: 94, n: "Evasion and Life", d: ["10% increased Evasion Rating", "4% increased maximum Life"], o: { x: 486, y: 54, w: 27, h: 27 }, l: { x: 1246.04, y: 808.92 }, t: 0 }, { id: 42804, n: "Mind Drinker", d: ["12% increased maximum Mana", "2% of Physical Attack Damage Leeched as Mana"], o: { x: 494, y: 276, w: 38, h: 38 }, l: { x: 2193.5, y: -749 }, t: 1 }, { id: 63228, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 2221.22, y: -797 }, t: 0 }, { id: 49308, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 2165.79, y: -797 }, t: 0 }, { id: 23083, n: "Totem Life", d: ["32% increased Totem Life"], o: { x: 459, y: 27, w: 27, h: 27 }, l: { x: -2453.48, y: -1194.72 }, t: 0 }, { id: 41970, n: "Ancestral Bond", d: ["You can't deal Damage with your Skills yourself", "Can summon up to 1 additional totem"], o: { x: 265, y: 656, w: 53, h: 54 }, l: { x: -2564.33, y: -1258.72 }, t: 2 }, { id: 22757, n: "Totem Damage", d: ["8% increased Totem Damage"], o: { x: 567, y: 54, w: 27, h: 27 }, l: { x: -2342.63, y: -1130.72 }, t: 0 }, { id: 49939, n: "Totem Damage", d: ["8% increased Totem Damage"], o: { x: 567, y: 54, w: 27, h: 27 }, l: { x: -2366.05, y: -1218.14 }, t: 0 }, { id: 10771, n: "Totem Placement Speed", d: ["14% increased Casting Speed for Summoning Totems"], o: { x: 567, y: 27, w: 27, h: 27 }, l: { x: -2430.05, y: -1107.29 }, t: 0 }, { id: 40362, n: "Life", d: ["6% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 2162.29, y: -600.34 }, t: 0 }, { id: 25260, n: "Life", d: ["6% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 2217.71, y: -600.34 }, t: 0 }, { id: 27788, n: "Blood Drinker", d: ["8% increased maximum Life", "2% of Physical Attack Damage Leeched as Life"], o: { x: 532, y: 276, w: 38, h: 38 }, l: { x: 2190, y: -648.34 }, t: 1 }, { id: 38662, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1417.62, y: 322.38 }, t: 0 }, { id: 46340, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1523.41, y: -1089.47 }, t: 0 }, { id: 15631, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1762.86, y: -163.38 }, t: 0 }, { id: 43787, n: "Accuracy and Elemental Resistances", d: ["8% increased Accuracy Rating", "+3% to all Elemental Resistances"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 1233.81, y: 1303.88 }, t: 0 }, { id: 29379, n: "Accuracy and Elemental Resistances", d: ["8% increased Accuracy Rating", "+3% to all Elemental Resistances"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 1289.24, y: 1303.88 }, t: 0 }, { id: 52230, n: "Weathered Hunter", d: ["20% increased Accuracy Rating", "+8% to all Elemental Resistances", "+20 to Dexterity"], o: { x: 646, y: 200, w: 38, h: 38 }, l: { x: 1261.52, y: 1255.88 }, t: 1 }, { id: 61982, n: "Grave Intentions", d: ["Minions have +15% to Chaos Resistance", "+1 to Maximum number of Zombies", "+1 to Maximum number of Skeletons"], o: { x: 570, y: 276, w: 38, h: 38 }, l: { x: 883.81, y: -1161.41 }, t: 1 }, { id: 51517, n: "Minion Life and Chaos Resistance", d: ["Minions have 7% increased maximum Life", "Minions have +5% to Chaos Resistance"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: 828.38, y: -1161.41 }, t: 0 }, { id: 49047, n: "Minion Life", d: ["Minions have 10% increased maximum Life"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: 856.09, y: -1113.41 }, t: 0 }, { id: 58763, n: "Cold and Lightning Damage", d: ["8% increased Cold Damage", "8% increased Lightning Damage"], o: { x: 621, y: 54, w: 27, h: 27 }, l: { x: -1350.17, y: -1493.47 }, t: 0 }, { id: 63963, n: "Cold Damage", d: ["10% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: -1373.6, y: -1406.05 }, t: 0 }, { id: 7153, n: "Lightning Damage", d: ["10% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: -1262.74, y: -1470.05 }, t: 0 }, { id: 32455, n: "Storm Weaver", d: ["25% increased Cold Damage", "25% increased Lightning Damage", "20% increased Mana Regeneration Rate"], o: { x: 608, y: 276, w: 38, h: 38 }, l: { x: -1286.17, y: -1382.62 }, t: 1 }, { id: 62662, n: "Melee Damage", d: ["6% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -200.74, y: 169.38 }, t: 0 }, { id: 17674, n: "Melee Damage", d: ["6% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -228.45, y: 121.38 }, t: 0 }, { id: 13782, n: "Melee Damage", d: ["6% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -256.17, y: 169.38 }, t: 0 }, { id: 4011, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1367.16, y: -314.62 }, t: 0 }, { id: 46092, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 421.3, y: -589.14 }, t: 0 }, { id: 18033, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 421.3, y: -397.14 }, t: 0 }, { id: 24914, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -840.28, y: 2170.77 }, t: 0 }, { id: 32117, n: "Stun Recovery", d: ["15% increased Stun Recovery"], o: { x: 648, y: 54, w: 27, h: 27 }, l: { x: 1463.64, y: 731.78 }, t: 0 }, { id: 48099, n: "Stun Recovery", d: ["15% increased Stun Recovery"], o: { x: 648, y: 54, w: 27, h: 27 }, l: { x: 1463.64, y: 620.93 }, t: 0 }, { id: 65210, n: "Heart of Oak", d: ["8% increased maximum Life", "30% chance to Avoid being Stunned", "1% of Life Regenerated per Second"], o: { x: 646, y: 276, w: 38, h: 38 }, l: { x: 1495.64, y: 676.36 }, t: 1 }, { id: 25178, n: "Primal Spirit", d: ["20% increased Mana Regeneration Rate", "20% increased Mana Recovery from Flasks", "+20 to Strength", "+20 to Intelligence"], o: { x: 0, y: 314, w: 38, h: 38 }, l: { x: 1367.64, y: 676.36 }, t: 1 }, { id: 57240, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 1399.64, y: 620.93 }, t: 0 }, { id: 9373, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 1399.64, y: 731.78 }, t: 0 }, { id: 46469, n: "Shock Duration", d: ["30% increased Shock Duration on Enemies"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 65.05, y: -2265.72 }, t: 0 }, { id: 56716, n: "Heart of Thunder", d: ["25% increased Lightning Damage", "Damage Penetrates 3% Lightning Resistance"], o: { x: 38, y: 314, w: 38, h: 38 }, l: { x: -109.8, y: -2440.57 }, t: 1 }, { id: 32431, n: "Lightning Damage", d: ["10% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 1.05, y: -2248.57 }, t: 0 }, { id: 49588, n: "Lightning Damage", d: ["10% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 129.05, y: -2376.57 }, t: 0 }, { id: 36121, n: "Lightning Damage", d: ["12% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: -62.95, y: -2265.72 }, t: 0 }, { id: 55647, n: "Lightning Damage", d: ["12% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: -126.95, y: -2376.57 }, t: 0 }, { id: 57362, n: "Lightning Damage", d: ["12% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: -109.8, y: -2312.57 }, t: 0 }, { id: 61264, n: "Shock Chance", d: ["5% chance to Shock"], o: { x: 243, y: 0, w: 27, h: 27 }, l: { x: 111.9, y: -2312.57 }, t: 0 }, { id: 11645, n: "Breath of Lightning", d: ["10% increased Lightning Damage", "20% increased Shock Duration on Enemies", "5% chance to Shock"], o: { x: 76, y: 314, w: 38, h: 38 }, l: { x: 111.9, y: -2440.57 }, t: 1 }, { id: 2474, n: "Spell Damage", d: ["10% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: -1194.21, y: -922.37 }, t: 0 }, { id: 55804, n: "Spell Damage", d: ["10% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: -1258.21, y: -922.37 }, t: 0 }, { id: 49306, n: "Spell Damage", d: ["10% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: -1162.21, y: -866.94 }, t: 0 }, { id: 37980, n: "Melee Damage", d: ["10% increased Melee Damage"], o: { x: 0, y: 81, w: 27, h: 27 }, l: { x: -1290.21, y: -866.94 }, t: 0 }, { id: 52326, n: "Melee Damage", d: ["10% increased Melee Damage"], o: { x: 0, y: 81, w: 27, h: 27 }, l: { x: -1258.21, y: -811.52 }, t: 0 }, { id: 19096, n: "Melee Damage", d: ["10% increased Melee Damage"], o: { x: 0, y: 81, w: 27, h: 27 }, l: { x: -1194.21, y: -811.52 }, t: 0 }, { id: 10843, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 2474.13, y: -241.25 }, t: 0 }, { id: 33374, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 2497.56, y: -153.82 }, t: 0 }, { id: 31222, n: "Projectile Damage and Pierce", d: ["5% chance of Projectiles Piercing", "5% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 2529.56, y: -273.25 }, t: 0 }, { id: 17206, n: "Projectile Damage and Pierce", d: ["5% chance of Projectiles Piercing", "5% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 2584.98, y: -241.25 }, t: 0 }, { id: 21228, n: "Piercing Shots", d: ["30% chance of Projectiles Piercing"], o: { x: 114, y: 314, w: 38, h: 38 }, l: { x: 2584.98, y: -177.25 }, t: 1 }, { id: 63843, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1949.42, y: 678.36 }, t: 0 }, { id: 22266, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1946.54, y: 1678.97 }, t: 0 }, { id: 63723, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -2228.22, y: 767.09 }, t: 0 }, { id: 42443, n: "Frenetic", d: ["+1 Maximum Frenzy Charge"], o: { x: 304, y: 238, w: 38, h: 38 }, l: { x: 2005.78, y: -314.52 }, t: 1 }, { id: 59494, n: "Accuracy and Critical Strike Chance", d: ["12% increased Accuracy Rating", "8% increased Critical Strike Chance"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: -787.31, y: 1247.88 }, t: 0 }, { id: 2225, n: "Eagle Eye", d: ["30% increased Accuracy Rating", "16% increased Critical Strike Chance"], o: { x: 152, y: 314, w: 38, h: 38 }, l: { x: -815.03, y: 1199.88 }, t: 1 }, { id: 16380, n: "Accuracy and Critical Strike Chance", d: ["12% increased Accuracy Rating", "8% increased Critical Strike Chance"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: -842.74, y: 1247.88 }, t: 0 }, { id: 19210, n: "Physical Damage", d: ["8% increased Physical Damage"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: 1057.32, y: 73.8 }, t: 0 }, { id: 43316, n: "Physical Damage", d: ["8% increased Physical Damage"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: 1121.32, y: 137.8 }, t: 0 }, { id: 24838, n: "Physical Damage", d: ["8% increased Physical Damage"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: 1057.32, y: 201.8 }, t: 0 }, { id: 47065, n: "Master of Force", d: ["16% increased Physical Damage"], o: { x: 190, y: 314, w: 38, h: 38 }, l: { x: 993.32, y: 137.8 }, t: 1 }, { id: 20077, n: "Curse Cast Speed", d: ["10% increased Cast Speed for Curses"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: 449.86, y: -1055.83 }, t: 0 }, { id: 42436, n: "Curse Effect", d: ["6% increased Effect of your Curses"], o: { x: 54, y: 81, w: 27, h: 27 }, l: { x: 545.86, y: -1000.4 }, t: 0 }, { id: 39986, n: "Hex Master", d: ["100% increased Curse Duration"], o: { x: 228, y: 314, w: 38, h: 38 }, l: { x: 449.86, y: -944.97 }, t: 1 }, { id: 18025, n: "Hard Knocks", d: ["+30 to Intelligence"], o: { x: 570, y: 238, w: 38, h: 38 }, l: { x: -1017.27, y: 1884.34 }, t: 1 }, { id: 34601, n: "Quickness", d: ["+30 to Dexterity"], o: { x: 304, y: 276, w: 38, h: 38 }, l: { x: -1116.25, y: 1829.29 }, t: 1 }, { id: 14056, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1038.16, y: 1808.21 }, t: 0 }, { id: 62790, n: "Sword Damage and Attack Speed", d: ["6% increased Physical Damage with Swords", "2% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: -640.68, y: 2001.63 }, t: 0 }, { id: 58821, n: "Deft Blade", d: ["22% increased Physical Damage with Swords", "15% reduced Enemy Chance to Block Sword Attacks"], o: { x: 266, y: 314, w: 38, h: 38 }, l: { x: -736.68, y: 1946.2 }, t: 1 }, { id: 7288, n: "Damage and Reduce Enemy Block With Swords", d: ["6% increased Physical Damage with Swords", "8% reduced Enemy Chance to Block Sword Attacks"], o: { x: 108, y: 81, w: 27, h: 27 }, l: { x: -640.68, y: 1890.77 }, t: 0 }, { id: 6289, n: "Bloodless", d: ["8% increased maximum Life", "Enemies Cannot Leech Life From You"], o: { x: 304, y: 314, w: 38, h: 38 }, l: { x: -1442.51, y: 1632.62 }, t: 1 }, { id: 48287, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1506.51, y: 1696.62 }, t: 0 }, { id: 5197, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1378.51, y: 1696.62 }, t: 0 }, { id: 64587, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1442.51, y: 1760.62 }, t: 0 }, { id: 41689, n: "Physical Damage", d: ["12% increased Physical Damage"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: 1080.32, y: -515.26 }, t: 0 }, { id: 45175, n: "Necromantic Aegis", d: ["All bonuses from an equipped Shield apply to your Minions instead of you"], o: { x: 318, y: 656, w: 53, h: 54 }, l: { x: 523.61, y: -397.7 }, t: 2 }, { id: 44184, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -308.35, y: -2223.92 }, t: 0 }, { id: 56589, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1109.64, y: 1379.48 }, t: 0 }, { id: 52714, n: "Prowess", d: ["+30 to Strength"], o: { x: 0, y: 200, w: 38, h: 38 }, l: { x: 2009.44, y: -62.49 }, t: 1 }, { id: 4036, n: "Critical Strike Multiplier", d: ["8% increased Critical Strike Multiplier"], o: { x: 81, y: 54, w: 27, h: 27 }, l: { x: 783.67, y: -1667.01 }, t: 0 }, { id: 47306, n: "Throatseeker", d: ["20% increased Critical Strike Multiplier"], o: { x: 342, y: 314, w: 38, h: 38 }, l: { x: 839.09, y: -1571.01 }, t: 1 }, { id: 15228, n: "Critical Strike Multiplier", d: ["8% increased Critical Strike Multiplier"], o: { x: 81, y: 54, w: 27, h: 27 }, l: { x: 728.24, y: -1571.01 }, t: 0 }, { id: 4833, n: "Vigor", d: ["+1 Maximum Endurance Charge"], o: { x: 380, y: 314, w: 38, h: 38 }, l: { x: -432.22, y: 1946.7 }, t: 1 }, { id: 46289, n: "Damage Over Time", d: ["9% increased Damage over Time"], o: { x: 351, y: 54, w: 27, h: 27 }, l: { x: 2053.91, y: -980.14 }, t: 0 }, { id: 30338, n: "Damage Over Time", d: ["9% increased Damage over Time"], o: { x: 351, y: 54, w: 27, h: 27 }, l: { x: 2026.2, y: -932.14 }, t: 0 }, { id: 51212, n: "Entropy", d: ["27% increased Damage over Time"], o: { x: 418, y: 314, w: 38, h: 38 }, l: { x: 1998.49, y: -980.14 }, t: 1 }, { id: 10661, n: "Iron Reflexes", d: ["Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating"], o: { x: 371, y: 656, w: 53, h: 54 }, l: { x: 758.11, y: 1610.96 }, t: 2 }, { id: 34882, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1013.11, y: -2054.13 }, t: 0 }, { id: 51786, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 760.07, y: -5.31 }, t: 0 }, { id: 28574, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 593.8, y: -101.31 }, t: 0 }, { id: 35724, n: "Elemental Damage", d: ["12% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -1071.66, y: -780.99 }, t: 0 }, { id: 63398, n: "Spell Critical Strike Chance", d: ["20% increased Critical Strike Chance for Spells"], o: { x: 135, y: 81, w: 27, h: 27 }, l: { x: -1655.64, y: -1857.37 }, t: 0 }, { id: 36452, n: "Spell Critical Strike Multiplier", d: ["10% increased Critical Strike Multiplier for Spells"], o: { x: 162, y: 81, w: 27, h: 27 }, l: { x: -1711.07, y: -1857.37 }, t: 0 }, { id: 46842, n: "Arcane Potency", d: ["30% increased Critical Strike Chance for Spells", "20% increased Critical Strike Multiplier for Spells"], o: { x: 456, y: 314, w: 38, h: 38 }, l: { x: -1683.35, y: -1809.37 }, t: 1 }, { id: 26096, n: "Hatchet Master", d: ["16% increased Physical Damage with Axes", "8% increased Attack Speed with Axes", "10% increased Evasion Rating"], o: { x: 494, y: 314, w: 38, h: 38 }, l: { x: 902.24, y: 1462.75 }, t: 1 }, { id: 30030, n: "Axe Damage and Attack Speed", d: ["6% increased Physical Damage with Axes", "2% increased Attack Speed with Axes"], o: { x: 405, y: 54, w: 27, h: 27 }, l: { x: 874.52, y: 1510.75 }, t: 0 }, { id: 42637, n: "Axe Damage and Attack Speed", d: ["6% increased Physical Damage with Axes", "2% increased Attack Speed with Axes"], o: { x: 405, y: 54, w: 27, h: 27 }, l: { x: 846.81, y: 1462.75 }, t: 0 }, { id: 63976, n: "Shaper", d: ["40% increased Mana Regeneration Rate", "1% of Life Regenerated per Second"], o: { x: 532, y: 314, w: 38, h: 38 }, l: { x: -484.99, y: -277.45 }, t: 1 }, { id: 37619, n: "Evasion and Elemental Resistances", d: ["12% increased Evasion Rating", "+3% to all Elemental Resistances"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 2129.01, y: 417.56 }, t: 0 }, { id: 24133, n: "Survivalist", d: ["24% increased Evasion Rating", "+8% to all Elemental Resistances", "+1% to maximum Cold Resistance"], o: { x: 570, y: 314, w: 38, h: 38 }, l: { x: 2156.72, y: 465.56 }, t: 1 }, { id: 64235, n: "Evasion and Elemental Resistances", d: ["12% increased Evasion Rating", "+3% to all Elemental Resistances"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 2184.43, y: 417.56 }, t: 0 }, { id: 49651, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 692.5, y: -1851.27 }, t: 0 }, { id: 41635, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 858.78, y: -1755.27 }, t: 0 }, { id: 48807, n: "Art of the Gladiator", d: ["12% increased Attack Speed", "20% increased Accuracy Rating", "Ignore all Movement Penalties from Armour", "+20 to Dexterity"], o: { x: 266, y: 238, w: 38, h: 38 }, l: { x: 206.73, y: 1474.36 }, t: 1 }, { id: 28658, n: "Bow Critical Strike Chance", d: ["20% increased Critical Strike Chance with Bows"], o: { x: 189, y: 81, w: 27, h: 27 }, l: { x: 2022.93, y: 1377.17 }, t: 0 }, { id: 14804, n: "Bow Critical Strike Chance", d: ["20% increased Critical Strike Chance with Bows"], o: { x: 189, y: 81, w: 27, h: 27 }, l: { x: 2110.36, y: 1400.6 }, t: 0 }, { id: 41119, n: "Lethality", d: ["16% increased Physical Damage with Bows", "50% increased Critical Strike Chance with Bows", "25% increased Critical Strike Multiplier with Bows"], o: { x: 608, y: 314, w: 38, h: 38 }, l: { x: 2046.36, y: 1289.74 }, t: 1 }, { id: 12794, n: "Bow Critical Strike Chance and Multiplier", d: ["16% increased Critical Strike Chance with Bows", "8% increased Critical Strike Multiplier with Bows"], o: { x: 189, y: 81, w: 27, h: 27 }, l: { x: 2110.36, y: 1289.74 }, t: 0 }, { id: 30455, n: "Bow Critical Strike Chance and Multiplier", d: ["16% increased Critical Strike Chance with Bows", "8% increased Critical Strike Multiplier with Bows"], o: { x: 189, y: 81, w: 27, h: 27 }, l: { x: 2142.36, y: 1345.17 }, t: 0 }, { id: 17236, n: "Energy Shield Delay", d: ["15% faster start of Energy Shield Recharge"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 1099.4, y: -2201.21 }, t: 0 }, { id: 7641, n: "Energy Shield Delay", d: ["15% faster start of Energy Shield Recharge"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 1071.69, y: -2153.21 }, t: 0 }, { id: 62577, n: "Essence Surge", d: ["40% faster start of Energy Shield Recharge"], o: { x: 646, y: 314, w: 38, h: 38 }, l: { x: 1127.11, y: -2153.21 }, t: 1 }, { id: 4336, n: "Sword Damage", d: ["15% increased Physical Damage with Swords"], o: { x: 216, y: 81, w: 27, h: 27 }, l: { x: -2554.04, y: 1222.36 }, t: 0 }, { id: 55166, n: "Sword Damage and Attack Speed", d: ["8% increased Physical Damage with Swords", "3% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: -2443.19, y: 1286.36 }, t: 0 }, { id: 49415, n: "Sword Damage and Attack Speed", d: ["8% increased Physical Damage with Swords", "3% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: -2379.19, y: 1269.21 }, t: 0 }, { id: 32410, n: "Sword Damage and Accuracy", d: ["10% increased Physical Damage with Swords", "10% increased Accuracy Rating with Swords"], o: { x: 243, y: 81, w: 27, h: 27 }, l: { x: -2379.19, y: 1047.51 }, t: 0 }, { id: 25367, n: "Blade Master", d: ["22% increased Physical Damage with Swords", "8% increased Attack Speed with Swords", "12% increased Accuracy Rating with Swords"], o: { x: 0, y: 352, w: 38, h: 38 }, l: { x: -2507.19, y: 1269.21 }, t: 1 }, { id: 768, n: "Sword Damage and Accuracy", d: ["10% increased Physical Damage with Swords", "10% increased Accuracy Rating with Swords"], o: { x: 243, y: 81, w: 27, h: 27 }, l: { x: -2443.19, y: 1030.36 }, t: 0 }, { id: 62042, n: "Sword Damage", d: ["15% increased Physical Damage with Swords"], o: { x: 216, y: 81, w: 27, h: 27 }, l: { x: -2554.04, y: 1094.36 }, t: 0 }, { id: 33082, n: "Razor's Edge", d: ["20% increased Physical Damage with Swords", "20% increased Accuracy Rating with Swords", "Melee Attacks have 5% chance to cause Bleeding"], o: { x: 38, y: 352, w: 38, h: 38 }, l: { x: -2507.19, y: 1047.51 }, t: 1 }, { id: 7082, n: "Sword Damage", d: ["12% increased Physical Damage with Swords"], o: { x: 108, y: 81, w: 27, h: 27 }, l: { x: -2315.19, y: 1158.36 }, t: 0 }, { id: 24157, n: "Totem Damage", d: ["8% increased Totem Damage"], o: { x: 567, y: 54, w: 27, h: 27 }, l: { x: -866.21, y: -1125.4 }, t: 0 }, { id: 53757, n: "Shamanistic Fury", d: ["16% increased Totem Damage"], o: { x: 76, y: 352, w: 38, h: 38 }, l: { x: -810.79, y: -1125.4 }, t: 1 }, { id: 42900, n: "Totem Attack and Cast Speed", d: ["Spells Cast by Totems have 4% increased Cast Speed", "Attacks used by Totems have 6% increased Attack Speed"], o: { x: 486, y: 27, w: 27, h: 27 }, l: { x: -838.5, y: -1173.4 }, t: 0 }, { id: 476, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -408.14, y: 1446.2 }, t: 0 }, { id: 60180, n: "Thief's Craft", d: ["+30 to Intelligence"], o: { x: 570, y: 238, w: 38, h: 38 }, l: { x: 2013.85, y: 65.75 }, t: 1 }, { id: 23027, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -2228.48, y: -475.81 }, t: 0 }, { id: 2355, n: "Shield Defences", d: ["50% increased Defences from equipped Shield"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: 593.23, y: 658.83 }, t: 0 }, { id: 53558, n: "Shield Block", d: ["2% additional Chance to Block with Shields"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: 497.23, y: 714.25 }, t: 0 }, { id: 57900, n: "Command of Steel", d: ["2% additional Chance to Block with Shields", "60% increased Defences from equipped Shield"], o: { x: 114, y: 352, w: 38, h: 38 }, l: { x: 497.23, y: 603.4 }, t: 1 }, { id: 34173, n: "Overcharge", d: ["+1 Maximum Power Charge"], o: { x: 152, y: 352, w: 38, h: 38 }, l: { x: -2059.55, y: -957.98 }, t: 1 }, { id: 56381, n: "Two Handed Attack Speed", d: ["4% increased Attack Speed with Two Handed Melee Weapons"], o: { x: 297, y: 81, w: 27, h: 27 }, l: { x: -255.29, y: 2330.98 }, t: 0 }, { id: 49318, n: "Wrecking Ball", d: ["20% increased Physical Damage with Two Handed Melee Weapons", "10% increased Attack Speed with Two Handed Melee Weapons"], o: { x: 190, y: 352, w: 38, h: 38 }, l: { x: -255.29, y: 2458.98 }, t: 1 }, { id: 10016, n: "Executioner", d: ["24% increased Physical Damage with Two Handed Melee Weapons", "20% increased Stun Duration with Two Handed Melee Weapons on Enemies", "20% increased Damage against Enemies on Low Life"], o: { x: 228, y: 352, w: 38, h: 38 }, l: { x: -476.99, y: 2458.98 }, t: 1 }, { id: 8533, n: "Two Handed Melee Damage", d: ["12% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -366.14, y: 2266.98 }, t: 0 }, { id: 11515, n: "Two Handed Melee Damage", d: ["14% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -476.99, y: 2330.98 }, t: 0 }, { id: 35362, n: "Two Handed Melee Damage", d: ["14% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -494.14, y: 2394.98 }, t: 0 }, { id: 1909, n: "Two Handed Attack Speed", d: ["4% increased Attack Speed with Two Handed Melee Weapons"], o: { x: 297, y: 81, w: 27, h: 27 }, l: { x: -238.14, y: 2394.98 }, t: 0 }, { id: 44429, n: "Life and Elemental Resistances", d: ["4% increased maximum Life", "+3% to all Elemental Resistances"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -2036.01, y: 536.52 }, t: 0 }, { id: 30380, n: "Life and Elemental Resistances", d: ["4% increased maximum Life", "+3% to all Elemental Resistances"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -2132.01, y: 481.1 }, t: 0 }, { id: 53118, n: "Barbarism", d: ["6% increased maximum Life", "+1% to maximum Fire Resistance", "+8% to Fire Resistance"], o: { x: 266, y: 352, w: 38, h: 38 }, l: { x: -2132.01, y: 591.95 }, t: 1 }, { id: 7112, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: -.54, y: 1810.39 }, t: 0 }, { id: 14151, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -938.78, y: -901.53 }, t: 0 }, { id: 27564, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1130.78, y: -1093.53 }, t: 0 }, { id: 10153, n: "Physique", d: ["+30 to Strength"], o: { x: 0, y: 200, w: 38, h: 38 }, l: { x: 1086.91, y: -1605.25 }, t: 1 }, { id: 57080, n: "Accuracy and Attack Speed", d: ["3% increased Attack Speed", "8% increased Accuracy Rating"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 2318.01, y: 783.21 }, t: 0 }, { id: 42104, n: "Accuracy and Attack Speed", d: ["3% increased Attack Speed", "8% increased Accuracy Rating"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 2290.3, y: 831.21 }, t: 0 }, { id: 49621, n: "Acuity", d: ["3% increased Attack Speed", "20% increased Accuracy Rating", "+20 to Dexterity"], o: { x: 646, y: 200, w: 38, h: 38 }, l: { x: 2262.59, y: 783.21 }, t: 1 }, { id: 64128, n: "Puppet Master", d: ["Minions have 16% increased maximum Life", "+1 to Maximum number of Zombies", "+1 to Maximum number of Skeletons"], o: { x: 304, y: 352, w: 38, h: 38 }, l: { x: -1093.64, y: -1386.62 }, t: 1 }, { id: 55563, n: "Minion Life", d: ["Minions have 10% increased maximum Life"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: -1065.93, y: -1434.62 }, t: 0 }, { id: 10904, n: "Minion Life", d: ["Minions have 10% increased maximum Life"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: -1038.22, y: -1386.62 }, t: 0 }, { id: 62225, n: "Elemental Damage", d: ["6% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -2454.39, y: -715.51 }, t: 0 }, { id: 2151, n: "Mana Regeneration", d: ["20% increased Mana Regeneration Rate"], o: { x: 351, y: 81, w: 27, h: 27 }, l: { x: -62.91, y: -108.68 }, t: 0 }, { id: 47062, n: "Spell Damage", d: ["10% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: 65.09, y: -108.68 }, t: 0 }, { id: 62103, n: "Projectile Damage", d: ["8% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 65.09, y: 113.02 }, t: 0 }, { id: 15144, n: "Attack Speed", d: ["4% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 129.09, y: 2.17 }, t: 0 }, { id: 55373, n: "Life", d: ["+10 to maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -126.91, y: 2.17 }, t: 0 }, { id: 48828, n: "Melee Damage", d: ["10% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -62.91, y: 113.02 }, t: 0 }, { id: 28012, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1814.94, y: -315.6 }, t: 0 }, { id: 11651, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1392, y: 226.03 }, t: 0 }, { id: 6981, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -953.84, y: 941.97 }, t: 0 }, { id: 36543, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1145.84, y: 1133.97 }, t: 0 }, { id: 28548, n: "Block Recovery", d: ["40% increased Block Recovery"], o: { x: 405, y: 81, w: 27, h: 27 }, l: { x: 2220.81, y: -418.24 }, t: 0 }, { id: 65308, n: "Deflection", d: ["4% additional Chance to Block with Shields", "40% increased Defences from equipped Shield"], o: { x: 342, y: 352, w: 38, h: 38 }, l: { x: 2193.09, y: -466.24 }, t: 1 }, { id: 15021, n: "Shield Defences", d: ["40% increased Defences from equipped Shield"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: 2248.52, y: -466.24 }, t: 0 }, { id: 62697, n: "Shock Duration", d: ["30% increased Shock Duration on Enemies"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 745.21, y: -2065.64 }, t: 0 }, { id: 26557, n: "Static Blows", d: ["20% increased Shock Duration on Enemies", "10% chance to Shock"], o: { x: 380, y: 352, w: 38, h: 38 }, l: { x: 617.21, y: -2065.64 }, t: 1 }, { id: 13961, n: "Shock Chance", d: ["5% chance to Shock"], o: { x: 243, y: 0, w: 27, h: 27 }, l: { x: 681.21, y: -2129.64 }, t: 0 }, { id: 20399, n: "Lightning Damage", d: ["8% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: 681.21, y: -2001.64 }, t: 0 }, { id: 12236, n: "Melee Damage with Shield", d: ["12% increased Melee Physical Damage while holding a Shield"], o: { x: 432, y: 81, w: 27, h: 27 }, l: { x: -163.54, y: 1609.62 }, t: 0 }, { id: 46730, n: "Melee Damage with Shield", d: ["12% increased Melee Physical Damage while holding a Shield"], o: { x: 432, y: 81, w: 27, h: 27 }, l: { x: -195.54, y: 1665.04 }, t: 0 }, { id: 25324, n: "Melee Damage with Shield", d: ["12% increased Melee Physical Damage while holding a Shield"], o: { x: 432, y: 81, w: 27, h: 27 }, l: { x: -163.54, y: 1720.47 }, t: 0 }, { id: 19782, n: "Defences with Shield", d: ["40% increased Defences from equipped Shield"], o: { x: 297, y: 0, w: 27, h: 27 }, l: { x: -99.54, y: 1720.47 }, t: 0 }, { id: 49538, n: "Defiance", d: ["3% additional Chance to Block with Shields", "20% increased Melee Physical Damage", "25% increased Defences from equipped Shield"], o: { x: 418, y: 352, w: 38, h: 38 }, l: { x: -67.54, y: 1665.04 }, t: 1 }, { id: 24050, n: "Coldhearted Calculation", d: ["12% increased Spell Damage", "20% increased Mana Regeneration Rate", "12% increased Melee Damage", "+10 to Intelligence"], o: { x: 456, y: 352, w: 38, h: 38 }, l: { x: 1807.77, y: -905.77 }, t: 1 }, { id: 5237, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1565.99, y: 1907.76 }, t: 0 }, { id: 39718, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1895.85, y: 160.67 }, t: 0 }, { id: 44908, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1408.54, y: -445.04 }, t: 0 }, { id: 48614, n: "Fervor", d: ["+1 Maximum Frenzy Charge"], o: { x: 304, y: 238, w: 38, h: 38 }, l: { x: 2127, y: 679.69 }, t: 1 }, { id: 50904, n: "Life and Armour", d: ["16% increased Armour", "+16 to maximum Life"], o: { x: 459, y: 81, w: 27, h: 27 }, l: { x: -943.89, y: 617.54 }, t: 0 }, { id: 31628, n: "Melee Damage", d: ["16% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -1007.89, y: 506.68 }, t: 0 }, { id: 41967, n: "Mana and Flasks", d: ["6% increased maximum Mana", "10% increased Mana Recovery from Flasks"], o: { x: 513, y: 81, w: 27, h: 27 }, l: { x: 406.91, y: 866.29 }, t: 0 }, { id: 17546, n: "Mana and Flasks", d: ["6% increased maximum Mana", "10% increased Mana Recovery from Flasks"], o: { x: 513, y: 81, w: 27, h: 27 }, l: { x: 351.49, y: 866.29 }, t: 0 }, { id: 21634, n: "Arcane Chemistry", d: ["12% increased maximum Mana", "30% increased Mana Recovery from Flasks"], o: { x: 494, y: 352, w: 38, h: 38 }, l: { x: 379.2, y: 914.29 }, t: 1 }, { id: 22535, n: "Whispers of Doom", d: ["Enemies can have 1 additional Curse"], o: { x: 532, y: 352, w: 38, h: 38 }, l: { x: -1165.9, y: -2442.71 }, t: 1 }, { id: 14674, n: "Curse Cast Speed", d: ["10% increased Cast Speed for Curses"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -1165.9, y: -2331.86 }, t: 0 }, { id: 48183, n: "Curse Cast Speed", d: ["10% increased Cast Speed for Curses"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -1197.9, y: -2387.28 }, t: 0 }, { id: 30767, n: "Curse Effect", d: ["6% increased Effect of your Curses"], o: { x: 54, y: 81, w: 27, h: 27 }, l: { x: -1101.9, y: -2331.86 }, t: 0 }, { id: 6250, n: "Curse Duration", d: ["15% increased Curse Duration"], o: { x: 54, y: 81, w: 27, h: 27 }, l: { x: -1069.9, y: -2387.28 }, t: 0 }, { id: 31973, n: "Curse Area of Effect", d: ["12% increased Radius of Curses"], o: { x: 54, y: 81, w: 27, h: 27 }, l: { x: -1101.9, y: -2442.71 }, t: 0 }, { id: 3656, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1806.45, y: -1087.42 }, t: 0 }, { id: 12412, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 2380.59, y: 1067.55 }, t: 0 }, { id: 22703, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -939.25, y: 1638.69 }, t: 0 }, { id: 15842, n: "Precise Interception", d: ["3% additional Chance to Block with Shields", "60% increased Defences from equipped Shield"], o: { x: 570, y: 352, w: 38, h: 38 }, l: { x: 1759.15, y: 978.74 }, t: 1 }, { id: 61411, n: "Dual Wield Block", d: ["2% additional Block Chance while Dual Wielding"], o: { x: 378, y: 27, w: 27, h: 27 }, l: { x: 1648.3, y: 786.74 }, t: 0 }, { id: 7085, n: "Weapon Artistry", d: ["2% additional Block Chance while Dual Wielding or holding a Shield", "20% increased Melee Physical Damage", "+20 to Dexterity"], o: { x: 608, y: 352, w: 38, h: 38 }, l: { x: 1759.15, y: 850.74 }, t: 1 }, { id: 30894, n: "Melee Damage with Shield", d: ["10% increased Melee Physical Damage while holding a Shield"], o: { x: 432, y: 81, w: 27, h: 27 }, l: { x: 1648.3, y: 914.74 }, t: 0 }, { id: 18670, n: "Melee Damage with Shield", d: ["10% increased Melee Physical Damage while holding a Shield"], o: { x: 432, y: 81, w: 27, h: 27 }, l: { x: 1695.15, y: 961.59 }, t: 0 }, { id: 55243, n: "Shield Defences", d: ["50% increased Defences from equipped Shield"], o: { x: 297, y: 0, w: 27, h: 27 }, l: { x: 1823.15, y: 961.59 }, t: 0 }, { id: 903, n: "Dual Wield Damage", d: ["10% increased Physical Weapon Damage while Dual Wielding"], o: { x: 405, y: 27, w: 27, h: 27 }, l: { x: 1695.15, y: 739.89 }, t: 0 }, { id: 41866, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1951.15, y: 850.74 }, t: 0 }, { id: 38246, n: "Aspect of the Panther", d: ["16% increased Physical Damage with One Handed Melee Weapons", "6% increased Attack Speed with One Handed Melee Weapons", "+10 to maximum Life", "4% increased Movement Speed"], o: { x: 646, y: 352, w: 38, h: 38 }, l: { x: 1759.15, y: 722.74 }, t: 1 }, { id: 19552, n: "One Handed Attack Speed", d: ["4% increased Attack Speed with One Handed Melee Weapons"], o: { x: 540, y: 81, w: 27, h: 27 }, l: { x: 1887.15, y: 850.74 }, t: 0 }, { id: 1201, n: "One Handed Attack Speed", d: ["4% increased Attack Speed with One Handed Melee Weapons"], o: { x: 540, y: 81, w: 27, h: 27 }, l: { x: 1823.15, y: 739.89 }, t: 0 }, { id: 41706, n: "Endurance Charge Duration", d: ["18% increased Endurance Charge Duration"], o: { x: 567, y: 81, w: 27, h: 27 }, l: { x: -486.15, y: 2036.37 }, t: 0 }, { id: 38807, n: "Elemental Damage", d: ["12% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: 1010.63, y: -670.03 }, t: 0 }, { id: 35958, n: "Faith and Steel", d: ["20% increased Armour", "10% increased maximum Energy Shield", "+8% to all Elemental Resistances"], o: { x: 0, y: 390, w: 38, h: 38 }, l: { x: -2092.44, y: -834.26 }, t: 1 }, { id: 40508, n: "Armour and Energy Shield", d: ["8% increased Armour", "5% increased maximum Energy Shield"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -2037.01, y: -802.26 }, t: 0 }, { id: 36949, n: "Devotion", d: ["8% increased maximum Life", "5% increased Effect of Buffs on You", "+20 to Strength"], o: { x: 266, y: 352, w: 38, h: 38 }, l: { x: -2092.44, y: -706.26 }, t: 1 }, { id: 6712, n: "Life", d: ["6% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -2147.87, y: -738.26 }, t: 0 }, { id: 10031, n: "Life", d: ["6% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -2037.01, y: -738.26 }, t: 0 }, { id: 46897, n: "Armour and Energy Shield", d: ["8% increased Armour", "5% increased maximum Energy Shield"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -2147.87, y: -802.26 }, t: 0 }, { id: 63447, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -672.98, y: -2223.84 }, t: 0 }, { id: 5408, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 496.03, y: 866.99 }, t: 0 }, { id: 42668, n: "Minion Damage", d: ["Minions deal 15% increased Damage"], o: { x: 135, y: 0, w: 27, h: 27 }, l: { x: -1209.67, y: -1311.82 }, t: 0 }, { id: 36915, n: "Herd the Flock", d: ["Minions have +16% to all Elemental Resistances", "+1 to Maximum number of Zombies", "+1 to Maximum number of Skeletons"], o: { x: 38, y: 390, w: 38, h: 38 }, l: { x: -1154.25, y: -1311.82 }, t: 1 }, { id: 34880, n: "Minion Life Regeneration", d: ["Minions Regenerate 1.5% Life per Second"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: -1181.96, y: -1263.82 }, t: 0 }, { id: 4432, n: "Energy Shield", d: ["8% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 269.23, y: -1645.12 }, t: 0 }, { id: 13753, n: "Energy Shield", d: ["8% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 241.52, y: -1693.12 }, t: 0 }, { id: 7503, n: "Energy Shield and Recovery", d: ["5% increased maximum Energy Shield", "10% faster start of Energy Shield Recharge"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 296.94, y: -1693.12 }, t: 0 }, { id: 11730, n: "Endurance", d: ["+1 Maximum Endurance Charge"], o: { x: 380, y: 314, w: 38, h: 38 }, l: { x: -2060.06, y: -577.96 }, t: 1 }, { id: 9660, n: "Mortal Conviction", d: ["50% less Mana Reserved"], o: { x: 76, y: 390, w: 38, h: 38 }, l: { x: -2082.75, y: 1636.46 }, t: 1 }, { id: 54307, n: "Acrobatics", d: ["30% Chance to Dodge Attacks. 50% less Armour and Energy Shield, 30% less Chance to Block Spells and Attacks"], o: { x: 424, y: 656, w: 53, h: 54 }, l: { x: 2587.57, y: 1.13 }, t: 2 }, { id: 5296, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 723.54, y: -2227.37 }, t: 0 }, { id: 8544, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 371.54, y: 2171.4 }, t: 0 }, { id: 15678, n: "One Handed Critical Strike Multiplier", d: ["10% increased Melee Critical Strike Multiplier"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: -2086.17, y: 220.6 }, t: 0 }, { id: 58831, n: "Disemboweling", d: ["50% increased Melee Critical Strike Chance", "15% increased Melee Critical Strike Multiplier"], o: { x: 114, y: 390, w: 38, h: 38 }, l: { x: -2022.17, y: 156.6 }, t: 1 }, { id: 39023, n: "Melee Critical Strike Chance", d: ["30% increased Melee Critical Strike Chance"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: -2054.17, y: 101.17 }, t: 0 }, { id: 37501, n: "Melee Critical Strike Chance", d: ["25% increased Melee Critical Strike Chance"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: -2150.17, y: 156.6 }, t: 0 }, { id: 56355, n: "Melee Critical Strike Chance", d: ["30% increased Melee Critical Strike Chance"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: -2118.17, y: 101.17 }, t: 0 }, { id: 44723, n: "Spell Critical Strike Chance", d: ["20% increased Critical Strike Chance for Spells"], o: { x: 135, y: 81, w: 27, h: 27 }, l: { x: -94.29, y: -1690.07 }, t: 0 }, { id: 1346, n: "Spell Critical Strike Chance", d: ["20% increased Critical Strike Chance for Spells"], o: { x: 135, y: 81, w: 27, h: 27 }, l: { x: -122, y: -1642.07 }, t: 0 }, { id: 16790, n: "Spell Critical Strike Chance", d: ["25% increased Critical Strike Chance for Spells"], o: { x: 135, y: 81, w: 27, h: 27 }, l: { x: -149.71, y: -1690.07 }, t: 0 }, { id: 49571, n: "Axe Damage and Attack Speed", d: ["6% increased Physical Damage with Axes", "2% increased Attack Speed with Axes"], o: { x: 405, y: 54, w: 27, h: 27 }, l: { x: -2397.03, y: 768.04 }, t: 0 }, { id: 57953, n: "Axe Damage and Attack Speed", d: ["10% increased Physical Damage with Axes", "2% increased Attack Speed with Axes"], o: { x: 405, y: 54, w: 27, h: 27 }, l: { x: -2525.03, y: 896.04 }, t: 0 }, { id: 23038, n: "Slaughter", d: ["25% increased Physical Damage with Axes", "25% increased Accuracy Rating with Axes", "10% chance to gain Onslaught for 3 seconds on Kill"], o: { x: 152, y: 390, w: 38, h: 38 }, l: { x: -2635.88, y: 832.04 }, t: 1 }, { id: 25682, n: "Axe Damage and Accuracy", d: ["10% increased Physical Damage with Axes", "10% increased Accuracy Rating with Axes"], o: { x: 405, y: 54, w: 27, h: 27 }, l: { x: -2461.03, y: 878.89 }, t: 0 }, { id: 20018, n: "Axe Damage", d: ["15% increased Physical Damage with Axes"], o: { x: 378, y: 54, w: 27, h: 27 }, l: { x: -2461.03, y: 657.19 }, t: 0 }, { id: 6113, n: "Axe Damage", d: ["15% increased Physical Damage with Axes"], o: { x: 378, y: 54, w: 27, h: 27 }, l: { x: -2525.03, y: 640.04 }, t: 0 }, { id: 12407, n: "Axe Damage and Attack Speed", d: ["10% increased Physical Damage with Axes", "2% increased Attack Speed with Axes"], o: { x: 405, y: 54, w: 27, h: 27 }, l: { x: -2589.03, y: 878.89 }, t: 0 }, { id: 4940, n: "Cleaving", d: ["35% increased Physical Damage with Axes"], o: { x: 494, y: 314, w: 38, h: 38 }, l: { x: -2635.88, y: 704.04 }, t: 1 }, { id: 9976, n: "Axe Damage", d: ["15% increased Physical Damage with Axes"], o: { x: 378, y: 54, w: 27, h: 27 }, l: { x: -2589.03, y: 657.19 }, t: 0 }, { id: 19506, n: "Path of the Hunter", d: ["+20 to Accuracy Rating", "12% increased Projectile Damage", "+20 to Dexterity"], o: { x: 190, y: 390, w: 38, h: 38 }, l: { x: 366.76, y: 207.12 }, t: 1 }, { /* @TODO: Start here!! */ id: 35053, n: "Sword Damage", d: ["12% increased Physical Damage with Swords"], o: { x: 108, y: 81, w: 27, h: 27 }, l: { x: -680.15, y: 1699.75 }, t: 0 }, { id: 61050, n: "Sword Attack Speed", d: ["4% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: -776.15, y: 1644.33 }, t: 0 }, { id: 64024, n: "Sword Attack Speed", d: ["4% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: -744.15, y: 1699.75 }, t: 0 }, { id: 57839, n: "Blade of Cunning", d: ["22% increased Physical Damage with Swords", "8% increased Attack Speed with Swords", "20% increased Evasion Rating"], o: { x: 228, y: 390, w: 38, h: 38 }, l: { x: -744.15, y: 1588.9 }, t: 1 }, { id: 43514, n: "Sword Damage and Evasion", d: ["8% increased Physical Damage with Swords", "10% increased Evasion Rating"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: -656.72, y: 1612.33 }, t: 0 }, { id: 64210, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1940.04, y: -1620.57 }, t: 0 }, { id: 61262, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -567.33, y: 2170.84 }, t: 0 }, { id: 23801, n: "One Handed Melee Damage", d: ["10% increased Physical Damage with One Handed Melee Weapons"], o: { x: 270, y: 54, w: 27, h: 27 }, l: { x: 1764.06, y: 1254.09 }, t: 0 }, { id: 14486, n: "Fencing", d: ["24% increased Physical Damage with One Handed Melee Weapons"], o: { x: 266, y: 390, w: 38, h: 38 }, l: { x: 1764.06, y: 1143.24 }, t: 1 }, { id: 32993, n: "One Handed Accuracy", d: ["12% increased Accuracy Rating with One Handed Melee Weapons"], o: { x: 243, y: 54, w: 27, h: 27 }, l: { x: 1668.06, y: 1198.66 }, t: 0 }, { id: 25690, n: "One Handed Attack Speed", d: ["3% increased Attack Speed with One Handed Melee Weapons"], o: { x: 540, y: 81, w: 27, h: 27 }, l: { x: 1796.06, y: 1198.66 }, t: 0 }, { id: 46871, n: "One Handed Attack Speed", d: ["3% increased Attack Speed with One Handed Melee Weapons"], o: { x: 540, y: 81, w: 27, h: 27 }, l: { x: 1700.06, y: 1254.09 }, t: 0 }, { id: 57950, n: "One Handed Critical Strike Chance", d: ["40% increased Critical Strike Chance with One Handed Melee Weapons"], o: { x: 594, y: 81, w: 27, h: 27 }, l: { x: 1700.06, y: 1143.24 }, t: 0 }, { id: 54396, n: "Fire Damage", d: ["8% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -1933.8, y: 215.71 }, t: 0 }, { id: 1550, n: "Fire Damage", d: ["8% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -1837.8, y: 271.14 }, t: 0 }, { id: 2550, n: "Arsonist", d: ["24% increased Fire Damage", "1% of Life Regenerated per Second"], o: { x: 304, y: 390, w: 38, h: 38 }, l: { x: -1933.8, y: 326.56 }, t: 1 }, { id: 807, n: "Sword Damage and Accuracy", d: ["12% increased Physical Damage with Swords", "8% increased Accuracy Rating with Swords"], o: { x: 243, y: 81, w: 27, h: 27 }, l: { x: 2523.03, y: 1132.4 }, t: 0 }, { id: 56509, n: "Sword Damage and Attack Speed", d: ["6% increased Physical Damage with Swords", "4% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: 2633.88, y: 940.4 }, t: 0 }, { id: 52213, n: "Sword Damage and Attack Speed", d: ["6% increased Physical Damage with Swords", "4% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: 2523.03, y: 1004.4 }, t: 0 }, { id: 17618, n: "Sword Damage and Accuracy", d: ["12% increased Physical Damage with Swords", "8% increased Accuracy Rating with Swords"], o: { x: 243, y: 81, w: 27, h: 27 }, l: { x: 2569.88, y: 1179.26 }, t: 0 }, { id: 54354, n: "Sword Damage", d: ["12% increased Physical Damage with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: 2505.88, y: 1068.4 }, t: 0 }, { id: 529, n: "Slashing Comeback", d: ["4% additional Block Chance while Dual Wielding or holding a Shield", "24% increased Physical Damage with Swords", "20% increased Accuracy Rating with Swords"], o: { x: 342, y: 390, w: 38, h: 38 }, l: { x: 2744.73, y: 1132.4 }, t: 1 }, { id: 41959, n: "Sword Damage and Accuracy", d: ["12% increased Physical Damage with Swords", "8% increased Accuracy Rating with Swords"], o: { x: 243, y: 81, w: 27, h: 27 }, l: { x: 2633.88, y: 1196.4 }, t: 0 }, { id: 59151, n: "Brutal Blade", d: ["16% increased Physical Damage with Swords", "8% increased Attack Speed with Swords", "+20 to Strength"], o: { x: 380, y: 390, w: 38, h: 38 }, l: { x: 2744.73, y: 1004.4 }, t: 1 }, { id: 12720, n: "Sword Damage and Attack Speed", d: ["6% increased Physical Damage with Swords", "4% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: 2569.88, y: 957.55 }, t: 0 }, { id: 40867, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -339.81, y: 1235.13 }, t: 0 }, { id: 42911, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -173.54, y: 1139.13 }, t: 0 }, { id: 11420, n: "Elemental Dominion", d: ["4% increased Cast Speed", "16% increased Elemental Damage with Spells", "+20 to Intelligence"], o: { x: 418, y: 390, w: 38, h: 38 }, l: { x: -260.83, y: -1436.88 }, t: 1 }, { id: 63139, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: 1112.68, y: 1139.43 }, t: 0 }, { id: 20551, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1380.62, y: 714.55 }, t: 0 }, { id: 5152, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1380.62, y: 825.4 }, t: 0 }, { id: 61198, n: "Heart of the Warrior", d: ["+20 to maximum Life", "10% increased maximum Life", "+10 to Strength"], o: { x: 456, y: 390, w: 38, h: 38 }, l: { x: -1348.62, y: 769.98 }, t: 1 }, { id: 39768, n: "Accuracy and Reduced Mana Cost", d: ["10% increased Accuracy Rating", "4% reduced Mana Cost of Skills"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: -1444.62, y: 714.55 }, t: 0 }, { id: 32739, n: "Accuracy and Reduced Mana Cost", d: ["10% increased Accuracy Rating", "4% reduced Mana Cost of Skills"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: -1444.62, y: 825.4 }, t: 0 }, { id: 12795, n: "Versatility", d: ["20% increased Accuracy Rating", "4% reduced Mana Cost of Skills", "+20 to Dexterity", "+20 to Intelligence"], o: { x: 38, y: 276, w: 38, h: 38 }, l: { x: -1476.62, y: 769.98 }, t: 1 }, { id: 60090, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 127, y: -702.24 }, t: 0 }, { id: 14211, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -111.85, y: -638.24 }, t: 0 }, { id: 42731, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -65, y: -591.39 }, t: 0 }, { id: 22473, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -129, y: -702.24 }, t: 0 }, { id: 14182, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 63, y: -591.39 }, t: 0 }, { id: 11430, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -1, y: -574.24 }, t: 0 }, { id: 13322, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 109.86, y: -638.24 }, t: 0 }, { id: 3452, n: "Foresight", d: ["+20 to maximum Energy Shield", "14% increased maximum Energy Shield"], o: { x: 494, y: 390, w: 38, h: 38 }, l: { x: -1, y: -830.24 }, t: 1 }, { id: 27140, n: "Two Handed Melee Damage and Accuracy", d: ["8% increased Physical Damage with Two Handed Melee Weapons", "8% increased Accuracy Rating with Two Handed Melee Weapons"], o: { x: 621, y: 81, w: 27, h: 27 }, l: { x: -1046.34, y: -166.34 }, t: 0 }, { id: 64816, n: "Two Handed Melee Damage", d: ["10% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -982.34, y: -102.34 }, t: 0 }, { id: 34959, n: "Two Handed Melee Damage", d: ["12% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -926.91, y: -134.34 }, t: 0 }, { id: 27301, n: "Martial Experience", d: ["16% increased Physical Damage with Two Handed Melee Weapons", "4% increased Attack Speed with Two Handed Melee Weapons", "10% increased Accuracy Rating with Two Handed Melee Weapons", "10% increased Stun Duration with Two Handed Melee Weapons on Enemies"], o: { x: 532, y: 390, w: 38, h: 38 }, l: { x: -982.34, y: -230.34 }, t: 1 }, { id: 6884, n: "Two Handed Melee Damage", d: ["12% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -926.91, y: -198.34 }, t: 0 }, { id: 62795, n: "Evasion and Energy Shield", d: ["8% increased Evasion Rating", "5% increased maximum Energy Shield"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 2222.02, y: -163.26 }, t: 0 }, { id: 56090, n: "Evasion and Energy Shield", d: ["8% increased Evasion Rating", "5% increased maximum Energy Shield"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 2094.02, y: -163.26 }, t: 0 }, { id: 49408, n: "Evasion and Energy Shield", d: ["8% increased Evasion Rating", "5% increased maximum Energy Shield"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 2190.02, y: -107.84 }, t: 0 }, { id: 4219, n: "Evasion and Energy Shield", d: ["8% increased Evasion Rating", "5% increased maximum Energy Shield"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 2126.02, y: -218.69 }, t: 0 }, { id: 48698, n: "Void Barrier", d: ["10% increased Evasion Rating", "10% increased maximum Energy Shield", "10% faster start of Energy Shield Recharge", "+8% to all Elemental Resistances"], o: { x: 570, y: 390, w: 38, h: 38 }, l: { x: 2190.02, y: -218.69 }, t: 1 }, { id: 17201, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 168.47, y: 1810.59 }, t: 0 }, { id: 37671, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 626.67, y: -954.66 }, t: 0 }, { id: 60472, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1951.71, y: -768.08 }, t: 0 }, { id: 59146, n: "Attack and Movement Speed", d: ["3% increased Attack Speed", "2% increased Movement Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1417.04, y: 1161.99 }, t: 0 }, { id: 30955, n: "Attack and Movement Speed", d: ["3% increased Attack Speed", "2% increased Movement Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1444.75, y: 1209.99 }, t: 0 }, { id: 2715, n: "Quickstep", d: ["6% increased Attack Speed", "4% increased Movement Speed"], o: { x: 608, y: 390, w: 38, h: 38 }, l: { x: 1472.47, y: 1161.99 }, t: 1 }, { id: 54791, n: "Claws of the Magpie", d: ["12% increased Physical Damage with Claws", "10% increased Attack Speed with Claws", "25% chance to Steal Power, Frenzy, and Endurance Charges on Hit with Claws"], o: { x: 646, y: 390, w: 38, h: 38 }, l: { x: 2585.91, y: -369.9 }, t: 1 }, { id: 5629, n: "Claw Damage", d: ["12% increased Physical Damage with Claws"], o: { x: 648, y: 81, w: 27, h: 27 }, l: { x: 2475.06, y: -561.9 }, t: 0 }, { id: 28503, n: "Soul Raker", d: ["18% increased Physical Damage with Claws", "6% of Physical Damage Dealt with Claws Leeched as Life", "2% of Physical Damage Dealt with Claws Leeched as Mana"], o: { x: 0, y: 428, w: 38, h: 38 }, l: { x: 2696.76, y: -561.9 }, t: 1 }, { id: 35384, n: "Claw Damage", d: ["15% increased Physical Damage with Claws"], o: { x: 648, y: 81, w: 27, h: 27 }, l: { x: 2521.91, y: -608.75 }, t: 0 }, { id: 17908, n: "Claw Damage", d: ["15% increased Physical Damage with Claws"], o: { x: 648, y: 81, w: 27, h: 27 }, l: { x: 2649.91, y: -608.75 }, t: 0 }, { id: 25775, n: "Claw Damage", d: ["15% increased Physical Damage with Claws"], o: { x: 648, y: 81, w: 27, h: 27 }, l: { x: 2585.91, y: -625.9 }, t: 0 }, { id: 36801, n: "Claw Attack Speed", d: ["5% increased Attack Speed with Claws"], o: { x: 189, y: 54, w: 27, h: 27 }, l: { x: 2521.91, y: -387.05 }, t: 0 }, { id: 36225, n: "Claw Attack Speed", d: ["5% increased Attack Speed with Claws"], o: { x: 189, y: 54, w: 27, h: 27 }, l: { x: 2457.91, y: -497.9 }, t: 0 }, { id: 19228, n: "Claw Attack Speed", d: ["5% increased Attack Speed with Claws"], o: { x: 189, y: 54, w: 27, h: 27 }, l: { x: 2475.06, y: -433.9 }, t: 0 }, { id: 17352, n: "Mana and Life", d: ["5% increased maximum Life", "5% increased maximum Mana"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: -1074.23, y: -576.52 }, t: 0 }, { id: 56646, n: "Weapon Elemental Damage", d: ["8% increased Elemental Damage with Weapons"], o: { x: 27, y: 108, w: 27, h: 27 }, l: { x: 1973.47, y: 1871.4 }, t: 0 }, { id: 25511, n: "Weapon Elemental Damage", d: ["8% increased Elemental Damage with Weapons"], o: { x: 27, y: 108, w: 27, h: 27 }, l: { x: 1945.76, y: 1823.4 }, t: 0 }, { id: 4481, n: "Forces of Nature", d: ["18% increased Elemental Damage with Weapons"], o: { x: 38, y: 428, w: 38, h: 38 }, l: { x: 1918.05, y: 1871.4 }, t: 1 }, { id: 27283, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 485.16, y: 1683.1 }, t: 0 }, { id: 46657, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 357.16, y: 1811.1 }, t: 0 }, { id: 52632, n: "Projectile Damage and Speed", d: ["10% increased Projectile Speed", "6% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 389.16, y: 1738.53 }, t: 0 }, { id: 36222, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 325.16, y: 1738.53 }, t: 0 }, { id: 60002, n: "Fury Bolts", d: ["20% increased Accuracy Rating", "20% increased Projectile Damage", "+20 to Strength"], o: { x: 76, y: 428, w: 38, h: 38 }, l: { x: 421.16, y: 1683.1 }, t: 1 }, { id: 47030, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 293.16, y: 1683.1 }, t: 0 }, { id: 30155, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 325.16, y: 1627.68 }, t: 0 }, { id: 50197, n: "Ancestral Knowledge", d: ["+30 to Intelligence"], o: { x: 570, y: 238, w: 38, h: 38 }, l: { x: -1682.87, y: 75.32 }, t: 1 }, { id: 16775, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -594.2, y: -102.45 }, t: 0 }, { id: 46910, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -760.47, y: -6.45 }, t: 0 }, { id: 16079, n: "Evasion Per Frenzy Charge", d: ["4% increased Evasion Rating per Frenzy Charge"], o: { x: 567, y: 0, w: 27, h: 27 }, l: { x: 2241.19, y: 679.87 }, t: 0 }, { id: 16243, n: "Fusillade", d: ["6% increased Wand Damage per Power Charge"], o: { x: 114, y: 428, w: 38, h: 38 }, l: { x: 831.84, y: -2526.94 }, t: 1 }, { id: 39521, n: "Wand Damage", d: ["12% increased Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 720.99, y: -2334.94 }, t: 0 }, { id: 40840, n: "Wand Damage", d: ["15% increased Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 592.99, y: -2462.94 }, t: 0 }, { id: 49779, n: "Wand Damage", d: ["15% increased Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 656.99, y: -2352.09 }, t: 0 }, { id: 29552, n: "Wand Damage", d: ["15% increased Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 610.14, y: -2398.94 }, t: 0 }, { id: 48878, n: "Wand Attack Speed and Accuracy", d: ["4% increased Attack Speed with Wands", "10% increased Accuracy Rating with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 848.99, y: -2462.94 }, t: 0 }, { id: 51524, n: "Wand Attack Speed and Accuracy", d: ["4% increased Attack Speed with Wands", "10% increased Accuracy Rating with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 831.84, y: -2398.94 }, t: 0 }, { id: 51146, n: "Wand Attack Speed and Accuracy", d: ["4% increased Attack Speed with Wands", "10% increased Accuracy Rating with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: 784.99, y: -2352.09 }, t: 0 }, { id: 63207, n: "Tempest Blast", d: ["30% of Wand Physical Damage Added as Lightning Damage"], o: { x: 152, y: 428, w: 38, h: 38 }, l: { x: 610.14, y: -2526.94 }, t: 1 }, { id: 52848, n: "Wand Critical Strike Chance and Multiplier", d: ["30% increased Critical Strike Chance with Wands", "8% increased Critical Strike Multiplier with Wands"], o: { x: 54, y: 108, w: 27, h: 27 }, l: { x: 656.99, y: -2573.79 }, t: 0 }, { id: 2464, n: "Wand Critical Strike Chance and Multiplier", d: ["30% increased Critical Strike Chance with Wands", "8% increased Critical Strike Multiplier with Wands"], o: { x: 54, y: 108, w: 27, h: 27 }, l: { x: 720.99, y: -2590.94 }, t: 0 }, { id: 27879, n: "Wand Critical Strike Chance and Multiplier", d: ["30% increased Critical Strike Chance with Wands", "8% increased Critical Strike Multiplier with Wands"], o: { x: 54, y: 108, w: 27, h: 27 }, l: { x: 784.99, y: -2573.79 }, t: 0 }, { id: 62017, n: "Life and Armour", d: ["8% increased Armour", "4% increased maximum Life"], o: { x: 81, y: 108, w: 27, h: 27 }, l: { x: -2035.18, y: 1019.94 }, t: 0 }, { id: 55676, n: "Life and Armour", d: ["8% increased Armour", "4% increased maximum Life"], o: { x: 81, y: 108, w: 27, h: 27 }, l: { x: -2131.18, y: 1075.37 }, t: 0 }, { id: 33287, n: "Juggernaut", d: ["16% increased Armour", "6% increased maximum Life", "20% increased Life Recovery from Flasks"], o: { x: 190, y: 428, w: 38, h: 38 }, l: { x: -2131.18, y: 964.52 }, t: 1 }, { id: 65097, n: "Leadership", d: ["30% increased Radius of Auras"], o: { x: 228, y: 428, w: 38, h: 38 }, l: { x: 272.57, y: -441.76 }, t: 1 }, { id: 7594, n: "Reduced Mana Reservation", d: ["4% reduced Mana Reserved"], o: { x: 621, y: 0, w: 27, h: 27 }, l: { x: 244.85, y: -393.76 }, t: 0 }, { id: 57736, n: "Aura Effect", d: ["6% increased effect of Auras you Cast"], o: { x: 0, y: 27, w: 27, h: 27 }, l: { x: 300.28, y: -393.76 }, t: 0 }, { id: 41518, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1359.49, y: -1083.84 }, t: 0 }, { id: 20546, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1263.49, y: -1058.12 }, t: 0 }, { id: 19711, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: -1409.52, y: -218.01 }, t: 0 }, { id: 29353, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -2228.59, y: -4.91 }, t: 0 }, { id: 56341, n: "Bow Damage and Attack Speed", d: ["6% increased Physical Damage with Bows", "2% increased Attack Speed with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1633.4, y: 510.55 }, t: 0 }, { id: 42964, n: "Bow Damage and Attack Speed", d: ["6% increased Physical Damage with Bows", "2% increased Attack Speed with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1697.39, y: 399.7 }, t: 0 }, { id: 6654, n: "Bow Damage", d: ["15% increased Physical Damage with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1825.4, y: 621.4 }, t: 0 }, { id: 6913, n: "Bow Damage", d: ["15% increased Physical Damage with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1697.4, y: 621.4 }, t: 0 }, { id: 65224, n: "Aspect of the Eagle", d: ["20% increased Physical Damage with Bows", "20% increased Accuracy Rating", "+10 to maximum Life", "4% increased Movement Speed"], o: { x: 266, y: 428, w: 38, h: 38 }, l: { x: 1761.4, y: 510.55 }, t: 1 }, { id: 41380, n: "Bow Attack Speed and Critical Strike Chance", d: ["3% increased Attack Speed with Bows", "15% increased Critical Strike Chance with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1825.4, y: 399.7 }, t: 0 }, { id: 57819, n: "Bow Attack Speed and Critical Strike Chance", d: ["3% increased Attack Speed with Bows", "15% increased Critical Strike Chance with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1889.4, y: 510.55 }, t: 0 }, { id: 5616, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1953.4, y: 510.55 }, t: 0 }, { id: 1529, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1761.4, y: 318.55 }, t: 0 }, { id: 9386, n: "Life and Chaos Resistance", d: ["4% increased maximum Life", "+4% to Chaos Resistance"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1759.32, y: -1611.08 }, t: 0 }, { id: 14057, n: "Life and Chaos Resistance", d: ["4% increased maximum Life", "+4% to Chaos Resistance"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1671.89, y: -1587.65 }, t: 0 }, { id: 5743, n: "Life and Chaos Resistance", d: ["4% increased maximum Life", "+4% to Chaos Resistance"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -1782.75, y: -1523.65 }, t: 0 }, { id: 58218, n: "Purity of Flesh", d: ["8% increased maximum Life", "+8% to Chaos Resistance", "+10 to Strength"], o: { x: 304, y: 428, w: 38, h: 38 }, l: { x: -1695.32, y: -1500.23 }, t: 1 }, { id: 8135, n: "Practical Application", d: ["25% chance to Avoid interruption from Stuns while Casting", "+20 to Strength", "+20 to Dexterity"], o: { x: 342, y: 428, w: 38, h: 38 }, l: { x: -.81, y: -1392.72 }, t: 1 }, { id: 11659, n: "Avoid Interruption while Casting", d: ["15% chance to Avoid interruption from Stuns while Casting"], o: { x: 108, y: 108, w: 27, h: 27 }, l: { x: 26.91, y: -1440.72 }, t: 0 }, { id: 11128, n: "Avoid Interruption while Casting", d: ["15% chance to Avoid interruption from Stuns while Casting"], o: { x: 108, y: 108, w: 27, h: 27 }, l: { x: -28.52, y: -1440.72 }, t: 0 }, { id: 54922, n: "Ondar's Guile", d: ["Doubles chance to Evade Projectile Attacks"], o: { x: 477, y: 656, w: 53, h: 54 }, l: { x: 2462.69, y: 1577.66 }, t: 2 }, { id: 30691, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1411.47, y: 142.61 }, t: 0 }, { id: 49900, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 2379.65, y: -316.18 }, t: 0 }, { id: 3644, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1918.97, y: 1478.19 }, t: 0 }, { id: 7614, n: "Skill Duration", d: ["10% increased Skill Effect Duration"], o: { x: 135, y: 108, w: 27, h: 27 }, l: { x: -1328.07, y: -81.06 }, t: 0 }, { id: 1006, n: "Potency of Will", d: ["25% increased Skill Effect Duration"], o: { x: 380, y: 428, w: 38, h: 38 }, l: { x: -1272.65, y: -81.06 }, t: 1 }, { id: 13191, n: "Skill Duration", d: ["10% increased Skill Effect Duration"], o: { x: 135, y: 108, w: 27, h: 27 }, l: { x: -1300.36, y: -129.06 }, t: 0 }, { id: 1252, n: "Knockback Chance", d: ["6% chance to Knock Enemies Back on hit"], o: { x: 162, y: 108, w: 27, h: 27 }, l: { x: -1064.05, y: 1587.75 }, t: 0 }, { id: 65456, n: "Knockback Distance", d: ["25% increased Knockback Distance"], o: { x: 162, y: 108, w: 27, h: 27 }, l: { x: -1008.63, y: 1587.75 }, t: 0 }, { id: 30160, n: "Fending", d: ["12% chance to Knock Enemies Back on hit", "25% increased Knockback Distance"], o: { x: 418, y: 428, w: 38, h: 38 }, l: { x: -1036.34, y: 1635.75 }, t: 1 }, { id: 30251, n: "Axe and Sword Damage", d: ["12% increased Physical Damage with Axes", "12% increased Physical Damage with Swords"], o: { x: 216, y: 81, w: 27, h: 27 }, l: { x: -1620.52, y: 206.96 }, t: 0 }, { id: 32906, n: "Axe and Sword Damage", d: ["12% increased Physical Damage with Axes", "12% increased Physical Damage with Swords"], o: { x: 216, y: 81, w: 27, h: 27 }, l: { x: -1620.52, y: 270.96 }, t: 0 }, { id: 9371, n: "Axe and Sword Attack Speed", d: ["4% increased Attack Speed with Axes", "4% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: -1509.67, y: 206.96 }, t: 0 }, { id: 16756, n: "Axe and Sword Attack Speed", d: ["4% increased Attack Speed with Axes", "4% increased Attack Speed with Swords"], o: { x: 81, y: 81, w: 27, h: 27 }, l: { x: -1509.67, y: 270.96 }, t: 0 }, { id: 56435, n: "Axe and Sword Accuracy", d: ["15% increased Accuracy Rating with Axes", "15% increased Accuracy Rating with Swords"], o: { x: 243, y: 81, w: 27, h: 27 }, l: { x: -1565.09, y: 302.96 }, t: 0 }, { id: 63309, n: "By The Blade", d: ["24% increased Physical Damage with Axes", "24% increased Physical Damage with Swords", "10% increased Accuracy Rating", "16% increased Evasion Rating"], o: { x: 456, y: 428, w: 38, h: 38 }, l: { x: -1565.09, y: 174.96 }, t: 1 }, { id: 57279, n: "Blood Magic", d: ["Removes all mana. Spend Life instead of Mana for Skills"], o: { x: 530, y: 656, w: 53, h: 54 }, l: { x: -2000.35, y: 1557.31 }, t: 2 }, { id: 19501, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 302.03, y: -2226.65 }, t: 0 }, { id: 11497, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 790.33, y: 1375.97 }, t: 0 }, { id: 30693, n: "Catalyse", d: ["24% increased Elemental Damage with Weapons", "+10 to Strength and Intelligence"], o: { x: 494, y: 428, w: 38, h: 38 }, l: { x: -1827.76, y: -585.33 }, t: 1 }, { id: 12937, n: "Weapon Elemental Damage", d: ["10% increased Elemental Damage with Weapons"], o: { x: 27, y: 108, w: 27, h: 27 }, l: { x: -1855.47, y: -633.33 }, t: 0 }, { id: 22498, n: "Weapon Elemental Damage", d: ["10% increased Elemental Damage with Weapons"], o: { x: 27, y: 108, w: 27, h: 27 }, l: { x: -1800.05, y: -633.33 }, t: 0 }, { id: 37690, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -185.7, y: -144.32 }, t: 0 }, { id: 48423, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -217.7, y: -199.75 }, t: 0 }, { id: 6204, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -281.7, y: -199.75 }, t: 0 }, { id: 38450, n: "Area of Effect Radius", d: ["4% increased Radius of Area Skills"], o: { x: 297, y: 27, w: 27, h: 27 }, l: { x: -249.7, y: -272.32 }, t: 0 }, { id: 5560, n: "Area of Effect Radius", d: ["4% increased Radius of Area Skills"], o: { x: 297, y: 27, w: 27, h: 27 }, l: { x: -138.85, y: -208.32 }, t: 0 }, { id: 51291, n: "Area of Effect Radius", d: ["4% increased Radius of Area Skills"], o: { x: 297, y: 27, w: 27, h: 27 }, l: { x: -185.7, y: -255.17 }, t: 0 }, { id: 26740, n: "Life Regeneration", d: ["0.4% of Life Regenerated per Second"], o: { x: 135, y: 27, w: 27, h: 27 }, l: { x: -313.7, y: -144.32 }, t: 0 }, { id: 38048, n: "Life Regeneration", d: ["0.4% of Life Regenerated per Second"], o: { x: 135, y: 27, w: 27, h: 27 }, l: { x: -217.7, y: -88.9 }, t: 0 }, { id: 55906, n: "Life Regeneration", d: ["0.4% of Life Regenerated per Second"], o: { x: 135, y: 27, w: 27, h: 27 }, l: { x: -281.7, y: -88.9 }, t: 0 }, { id: 35928, n: "Strength and Intelligence", d: ["+10 to Strength", "+10 to Intelligence"], o: { x: 189, y: 108, w: 27, h: 27 }, l: { x: -249.7, y: -144.32 }, t: 0 }, { id: 18302, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -55.04, y: 1504.44 }, t: 0 }, { id: 25933, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 55.81, y: 1504.44 }, t: 0 }, { id: 50360, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -55.04, y: 1440.44 }, t: 0 }, { id: 54776, n: "Mana Flows", d: ["16% increased maximum Mana", "40% increased Mana Regeneration Rate", "+20 to Intelligence"], o: { x: 532, y: 428, w: 38, h: 38 }, l: { x: .39, y: 1408.44 }, t: 1 }, { id: 28265, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 55.81, y: 1440.44 }, t: 0 }, { id: 48438, n: "Bravery", d: ["24% increased Evasion Rating and Armour", "8% increased maximum Life"], o: { x: 570, y: 428, w: 38, h: 38 }, l: { x: .39, y: 1536.44 }, t: 1 }, { id: 23690, n: "Arcane Vision", d: ["+30 to Accuracy Rating", "Light Radius is based on Energy Shield instead of Life"], o: { x: 608, y: 428, w: 38, h: 38 }, l: { x: 691.89, y: -1751.32 }, t: 1 }, { id: 18663, n: "Minion Instability", d: ["Minions explode when reduced to low life, dealing 33% of their maximum life as fire damage to surrounding enemies"], o: { x: 583, y: 656, w: 53, h: 54 }, l: { x: -1339.8, y: -2155.67 }, t: 2 }, { id: 36542, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -361.18, y: -1228.18 }, t: 0 }, { id: 37569, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -194.91, y: -1132.18 }, t: 0 }, { id: 16544, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: .9, y: 2171.38 }, t: 0 }, { id: 17788, n: "Elemental Damage and Energy Shield", d: ["+10 to maximum Energy Shield", "14% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: 939.66, y: -617.41 }, t: 0 }, { id: 45272, n: "Physical Damage and Life", d: ["15% increased Physical Damage", "+12 to maximum Life"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: 1003.66, y: -506.56 }, t: 0 }, { id: 29049, n: "Holy Fire", d: ["45% increased Burning Damage"], o: { x: 646, y: 428, w: 38, h: 38 }, l: { x: -1492.15, y: -1748.31 }, t: 1 }, { id: 5916, n: "Burning Damage", d: ["15% increased Burning Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -1404.72, y: -1724.88 }, t: 0 }, { id: 4713, n: "Burning Damage", d: ["15% increased Burning Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -1428.15, y: -1637.46 }, t: 0 }, { id: 6245, n: "Ignite Chance", d: ["5% chance to Ignite"], o: { x: 243, y: 108, w: 27, h: 27 }, l: { x: -1515.57, y: -1660.88 }, t: 0 }, { id: 7162, n: "Armour", d: ["14% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1664.57, y: 1876.51 }, t: 0 }, { id: 9695, n: "Armour", d: ["14% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1752, y: 1853.08 }, t: 0 }, { id: 42009, n: "Soul of Steel", d: ["30% increased Armour", "+4% to all Elemental Resistances", "4% additional Physical Damage Reduction"], o: { x: 0, y: 466, w: 38, h: 38 }, l: { x: -1688, y: 1963.93 }, t: 1 }, { id: 46636, n: "Armour", d: ["14% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1775.42, y: 1940.51 }, t: 0 }, { id: 12702, n: "Path of the Warrior", d: ["12% increased Physical Damage", "+10 to Armour", "+20 to Strength"], o: { x: 38, y: 466, w: 38, h: 38 }, l: { x: -360.87, y: 216.31 }, t: 1 }, { id: 61981, n: "Doom Cast", d: ["60% increased Critical Strike Chance for Spells", "10% increased Critical Strike Multiplier for Spells"], o: { x: 76, y: 466, w: 38, h: 38 }, l: { x: 1869.81, y: -1401.51 }, t: 1 }, { id: 60405, n: "Spell Critical Strike Chance", d: ["20% increased Critical Strike Chance for Spells"], o: { x: 135, y: 81, w: 27, h: 27 }, l: { x: 1805.81, y: -1512.36 }, t: 0 }, { id: 25757, n: "Spell Critical Strike Chance", d: ["20% increased Critical Strike Chance for Spells"], o: { x: 135, y: 81, w: 27, h: 27 }, l: { x: 1893.24, y: -1488.94 }, t: 0 }, { id: 47507, n: "Spell Critical Strike Multiplier", d: ["10% increased Critical Strike Multiplier for Spells"], o: { x: 162, y: 81, w: 27, h: 27 }, l: { x: 1805.81, y: -1401.51 }, t: 0 }, { id: 49929, n: "Spell Critical Strike Multiplier", d: ["10% increased Critical Strike Multiplier for Spells"], o: { x: 162, y: 81, w: 27, h: 27 }, l: { x: 1773.81, y: -1456.94 }, t: 0 }, { id: 19635, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1.78, y: -1824.54 }, t: 0 }, { id: 52730, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -699.66, y: -1384.1 }, t: 0 }, { id: 43412, n: "Two Handed Melee Damage", d: ["12% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -322.92, y: 1627.32 }, t: 0 }, { id: 34666, n: "Destroyer", d: ["25% increased Physical Damage with Two Handed Melee Weapons", "5% increased Attack Speed with Two Handed Melee Weapons", "20% increased Accuracy Rating with Two Handed Melee Weapons"], o: { x: 114, y: 466, w: 38, h: 38 }, l: { x: -418.92, y: 1682.74 }, t: 1 }, { id: 36972, n: "Two Handed Attack Speed", d: ["4% increased Attack Speed with Two Handed Melee Weapons"], o: { x: 297, y: 81, w: 27, h: 27 }, l: { x: -386.92, y: 1738.17 }, t: 0 }, { id: 58090, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -482.92, y: 1682.74 }, t: 0 }, { id: 24865, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -354.92, y: 1810.74 }, t: 0 }, { id: 43303, n: "Two Handed Melee Damage", d: ["12% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -322.92, y: 1738.17 }, t: 0 }, { id: 30842, n: "Two Handed Melee Damage", d: ["12% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -290.92, y: 1682.74 }, t: 0 }, { id: 3676, n: "Flask Effect", d: ["8% increased effect of Flasks"], o: { x: 513, y: 81, w: 27, h: 27 }, l: { x: 151.42, y: -2010.11 }, t: 0 }, { id: 17790, n: "Flask Effect", d: ["8% increased effect of Flasks"], o: { x: 513, y: 81, w: 27, h: 27 }, l: { x: 95.99, y: -1914.11 }, t: 0 }, { id: 27386, n: "Alchemist", d: ["12% increased Flask effect duration", "14% increased effect of Flasks"], o: { x: 152, y: 466, w: 38, h: 38 }, l: { x: 206.85, y: -1914.11 }, t: 1 }, { id: 59861, n: "Shield Block and Shield Defences", d: ["1% additional Chance to Block with Shields", "25% increased Defences from equipped Shield"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: -1723.35, y: 1070.04 }, t: 0 }, { id: 10542, n: "Armour Mastery", d: ["24% increased Armour", "3% increased Movement Speed", "0.5% of Life Regenerated per Second"], o: { x: 0, y: 466, w: 38, h: 38 }, l: { x: -1659.35, y: 831.19 }, t: 1 }, { id: 31928, n: "Armour", d: ["14% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1612.5, y: 878.04 }, t: 0 }, { id: 61868, n: "Armour", d: ["14% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1723.35, y: 814.04 }, t: 0 }, { id: 61999, n: "Diamond Skin", d: ["+15% to all Elemental Resistances"], o: { x: 190, y: 466, w: 38, h: 38 }, l: { x: -1659.35, y: 942.04 }, t: 1 }, { id: 6718, n: "Armour", d: ["12% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1595.35, y: 942.04 }, t: 0 }, { id: 7399, n: "Lightning Resistance", d: ["+12% to Lightning Resistance"], o: { x: 243, y: 0, w: 27, h: 27 }, l: { x: -1755.35, y: 997.46 }, t: 0 }, { id: 27166, n: "Fire Resistance", d: ["+12% to Fire Resistance"], o: { x: 189, y: 0, w: 27, h: 27 }, l: { x: -1787.35, y: 942.04 }, t: 0 }, { id: 27195, n: "Cold Resistance", d: ["+12% to Cold Resistance"], o: { x: 216, y: 0, w: 27, h: 27 }, l: { x: -1755.35, y: 886.61 }, t: 0 }, { id: 32482, n: "Shield Block", d: ["2% additional Chance to Block with Shields"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: -1612.5, y: 1006.04 }, t: 0 }, { id: 31033, n: "Solidity", d: ["3% additional Chance to Block with Shields", "10% increased Melee Physical Damage while holding a Shield", "25% increased Defences from equipped Shield"], o: { x: 228, y: 466, w: 38, h: 38 }, l: { x: -1659.35, y: 1052.89 }, t: 1 }, { id: 63425, n: "Zealot's Oath", d: ["Life Regeneration applies to Energy Shield instead of Life"], o: { x: 636, y: 656, w: 53, h: 54 }, l: { x: -1478.7, y: -1351.86 }, t: 2 }, { id: 34031, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -162.42, y: 1810.01 }, t: 0 }, { id: 27929, n: "Deep Wisdom", d: ["+20 to maximum Mana", "+20 to maximum Energy Shield", "+20 to Intelligence"], o: { x: 266, y: 466, w: 38, h: 38 }, l: { x: 267.02, y: -1439.98 }, t: 1 }, { id: 34009, n: "Master of the Arena", d: ["1% of Life Regenerated per Second", "8% increased Melee Physical Damage", "+2 to Melee Weapon and Unarmed range", "+20 to Strength"], o: { x: 304, y: 466, w: 38, h: 38 }, l: { x: -205.75, y: 1472.45 }, t: 1 }, { id: 39725, n: "Attack Speed and Accuracy", d: ["6% increased Attack Speed", "12% increased Accuracy Rating"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 62.36, y: 1130.19 }, t: 0 }, { id: 47389, n: "Physical Attack Damage and Life", d: ["+14 to maximum Life", "14% increased Physical Damage with Attacks"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: -65.64, y: 1130.19 }, t: 0 }, { id: 49236, n: "Mana and Life", d: ["4% increased maximum Life", "6% increased maximum Mana"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: 403.48, y: -1583.31 }, t: 0 }, { id: 2292, n: "Mana and Life", d: ["4% increased maximum Life", "6% increased maximum Mana"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: 375.76, y: -1535.31 }, t: 0 }, { id: 48362, n: "Mana and Life", d: ["4% increased maximum Life", "6% increased maximum Mana"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: 431.19, y: -1535.31 }, t: 0 }, { id: 30439, n: "Lava Lash", d: ["30% increased Fire Damage with Weapons"], o: { x: 342, y: 466, w: 38, h: 38 }, l: { x: -1892.65, y: 1195.42 }, t: 1 }, { id: 8879, n: "Weapon Fire Damage", d: ["10% increased Fire Damage with Weapons"], o: { x: 243, y: 108, w: 27, h: 27 }, l: { x: -1837.22, y: 1195.42 }, t: 0 }, { id: 14419, n: "Weapon Fire Damage", d: ["10% increased Fire Damage with Weapons"], o: { x: 243, y: 108, w: 27, h: 27 }, l: { x: -1864.94, y: 1243.42 }, t: 0 }, { id: 8930, n: "Life and Flasks", d: ["3% increased maximum Life", "10% increased Life Recovery from Flasks"], o: { x: 270, y: 108, w: 27, h: 27 }, l: { x: 663.81, y: 870.46 }, t: 0 }, { id: 18402, n: "Life and Flasks", d: ["3% increased maximum Life", "10% increased Life Recovery from Flasks"], o: { x: 270, y: 108, w: 27, h: 27 }, l: { x: 727.81, y: 806.46 }, t: 0 }, { id: 53377, n: "Life and Flasks", d: ["3% increased maximum Life", "10% increased Life Recovery from Flasks"], o: { x: 270, y: 108, w: 27, h: 27 }, l: { x: 791.81, y: 870.46 }, t: 0 }, { id: 42041, n: "Profane Chemistry", d: ["6% increased maximum Life", "30% increased Life Recovery from Flasks"], o: { x: 380, y: 466, w: 38, h: 38 }, l: { x: 727.81, y: 934.46 }, t: 1 }, { id: 59370, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1088.04, y: 411.01 }, t: 0 }, { id: 63795, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1254.32, y: 315.01 }, t: 0 }, { id: 10575, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1956.15, y: -901.62 }, t: 0 }, { id: 58402, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1764.15, y: -1093.62 }, t: 0 }, { id: 54415, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1587.21, y: 414.74 }, t: 0 }, { id: 465, n: "Accuracy", d: ["20% increased Accuracy Rating"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 1118.17, y: 515.87 }, t: 0 }, { id: 56648, n: "Claws of the Falcon", d: ["18% increased Physical Damage with Claws", "10% increased Accuracy Rating with Claws", "30% increased Critical Strike Chance with Claws"], o: { x: 646, y: 390, w: 38, h: 38 }, l: { x: 1211.28, y: -1331.02 }, t: 1 }, { id: 47321, n: "Claw Damage and Critical Strike Chance", d: ["10% increased Physical Damage with Claws", "15% increased Critical Strike Chance with Claws"], o: { x: 297, y: 108, w: 27, h: 27 }, l: { x: 1183.57, y: -1283.02 }, t: 0 }, { id: 265, n: "Claw Damage and Critical Strike Chance", d: ["10% increased Physical Damage with Claws", "15% increased Critical Strike Chance with Claws"], o: { x: 297, y: 108, w: 27, h: 27 }, l: { x: 1238.99, y: -1283.02 }, t: 0 }, { id: 55993, n: "Elemental Damage", d: ["6% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -2550.35, y: -769.64 }, t: 0 }, { id: 32432, n: "Trap and Mine Laying Speed", d: ["6% increased Trap Throwing Speed", "6% increased Mine Laying Speed"], o: { x: 324, y: 108, w: 27, h: 27 }, l: { x: 2874.99, y: -832.93 }, t: 0 }, { id: 8027, n: "Trap and Mine Duration", d: ["15% increased Trap Duration", "15% increased Mine Duration"], o: { x: 351, y: 108, w: 27, h: 27 }, l: { x: 2985.84, y: -768.93 }, t: 0 }, { id: 12824, n: "Trap and Mine Damage", d: ["9% increased Trap Damage", "9% increased Mine Damage"], o: { x: 378, y: 108, w: 27, h: 27 }, l: { x: 2874.99, y: -576.93 }, t: 0 }, { id: 21297, n: "High Explosives", d: ["Trap Damage Penetrates 10% Elemental Resistances", "Mine Damage Penetrates 10% Elemental Resistances"], o: { x: 418, y: 466, w: 38, h: 38 }, l: { x: 2938.99, y: -594.08 }, t: 1 }, { id: 1655, n: "Trap and Mine Damage and Laying Speed", d: ["5% increased Trap Damage", "5% increased Mine Damage", "3% increased Trap Throwing Speed", "3% increased Mine Laying Speed"], o: { x: 324, y: 108, w: 27, h: 27 }, l: { x: 2985.84, y: -640.93 }, t: 0 }, { id: 30319, n: "Trap and Mine Laying Speed", d: ["6% increased Trap Throwing Speed", "6% increased Mine Laying Speed"], o: { x: 324, y: 108, w: 27, h: 27 }, l: { x: 2810.99, y: -815.78 }, t: 0 }, { id: 55380, n: "Clever Construction", d: ["Traps cannot be Damaged for 5 Seconds after being Thrown", "Mines cannot be Damaged for 5 Seconds after being Placed"], o: { x: 456, y: 466, w: 38, h: 38 }, l: { x: 2938.99, y: -815.78 }, t: 1 }, { id: 45827, n: "Trap and Mine Damage", d: ["9% increased Trap Damage", "9% increased Mine Damage"], o: { x: 378, y: 108, w: 27, h: 27 }, l: { x: 2810.99, y: -594.08 }, t: 0 }, { id: 28753, n: "Trap and Mine Damage", d: ["9% increased Trap Damage", "9% increased Mine Damage"], o: { x: 378, y: 108, w: 27, h: 27 }, l: { x: 2746.99, y: -704.93 }, t: 0 }, { id: 45838, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1208.69, y: -322.34 }, t: 0 }, { id: 8640, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1112.69, y: -348.06 }, t: 0 }, { id: 65427, n: "Attack Speed", d: ["4% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1264.12, y: -482.34 }, t: 0 }, { id: 27276, n: "Physical Damage", d: ["10% increased Physical Damage"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: 1264.12, y: -546.34 }, t: 0 }, { id: 62831, n: "Physical Damage", d: ["10% increased Physical Damage"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: 1208.69, y: -578.34 }, t: 0 }, { id: 51220, n: "Physical Damage", d: ["10% increased Physical Damage"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: 1153.27, y: -546.34 }, t: 0 }, { id: 45202, n: "Attack Speed", d: ["4% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1208.69, y: -450.34 }, t: 0 }, { id: 20953, n: "Attack Speed", d: ["4% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1153.27, y: -482.34 }, t: 0 }, { id: 10490, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -419.62, y: -589.82 }, t: 0 }, { id: 33479, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -419.62, y: -397.82 }, t: 0 }, { id: 6446, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1764.59, y: 410.66 }, t: 0 }, { id: 55649, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1956.59, y: 602.66 }, t: 0 }, { id: 8348, n: "Evasion", d: ["12% increased Evasion Rating"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 506.63, y: 225.38 }, t: 0 }, { id: 6534, n: "Evasion", d: ["12% increased Evasion Rating"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 570.63, y: 208.23 }, t: 0 }, { id: 20812, n: "Evasion", d: ["12% increased Evasion Rating"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 634.63, y: 225.38 }, t: 0 }, { id: 60204, n: "Evasion", d: ["12% increased Evasion Rating"], o: { x: 486, y: 54, w: 27, h: 27 }, l: { x: 442.63, y: 336.23 }, t: 0 }, { id: 32091, n: "Evasion", d: ["12% increased Evasion Rating"], o: { x: 486, y: 54, w: 27, h: 27 }, l: { x: 506.63, y: 447.09 }, t: 0 }, { id: 57984, n: "Evasion", d: ["12% increased Evasion Rating"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 459.78, y: 272.23 }, t: 0 }, { id: 44103, n: "Reflexes", d: ["+50 to Evasion Rating", "30% increased Evasion Rating"], o: { x: 494, y: 466, w: 38, h: 38 }, l: { x: 681.48, y: 400.23 }, t: 1 }, { id: 17814, n: "Evasion", d: ["12% increased Evasion Rating"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 459.78, y: 400.23 }, t: 0 }, { id: 56158, n: "Spell Damage per Power Charge", d: ["4% increased Spell Damage per Power Charge"], o: { x: 405, y: 108, w: 27, h: 27 }, l: { x: 3.5, y: -2063.02 }, t: 0 }, { id: 35568, n: "Armour, Evasion and Life", d: ["6% increased Evasion Rating and Armour", "4% increased maximum Life"], o: { x: 432, y: 108, w: 27, h: 27 }, l: { x: -.43, y: 1277.21 }, t: 0 }, { id: 59718, n: "Armour, Evasion and Life", d: ["6% increased Evasion Rating and Armour", "4% increased maximum Life"], o: { x: 432, y: 108, w: 27, h: 27 }, l: { x: -28.14, y: 1325.21 }, t: 0 }, { id: 50306, n: "Armour, Evasion and Life", d: ["6% increased Evasion Rating and Armour", "4% increased maximum Life"], o: { x: 432, y: 108, w: 27, h: 27 }, l: { x: 27.28, y: 1325.21 }, t: 0 }, { id: 9995, n: "Aura Area of Effect", d: ["12% increased Radius of Auras"], o: { x: 648, y: 0, w: 27, h: 27 }, l: { x: -867.89, y: 2324.93 }, t: 0 }, { id: 34513, n: "Aura Effect", d: ["6% increased effect of Auras you Cast"], o: { x: 0, y: 27, w: 27, h: 27 }, l: { x: -840.17, y: 2276.93 }, t: 0 }, { id: 33718, n: "Champion of the Cause", d: ["12% increased Radius of Auras", "4% reduced Mana Reserved", "6% increased effect of Auras you Cast"], o: { x: 532, y: 466, w: 38, h: 38 }, l: { x: -812.46, y: 2324.93 }, t: 1 }, { id: 5823, n: "Coordination", d: ["12% increased Attack Speed", "6% increased Cast Speed", "+20 to Dexterity"], o: { x: 570, y: 466, w: 38, h: 38 }, l: { x: 1365.67, y: -521.62 }, t: 1 }, { id: 45491, n: "One Handed Melee Damage", d: ["10% increased Physical Damage with One Handed Melee Weapons"], o: { x: 270, y: 54, w: 27, h: 27 }, l: { x: 1502.24, y: -489.62 }, t: 0 }, { id: 60737, n: "Sleight of Hand", d: ["20% increased Physical Damage with One Handed Melee Weapons", "8% increased Attack Speed with One Handed Melee Weapons"], o: { x: 608, y: 466, w: 38, h: 38 }, l: { x: 1557.67, y: -457.62 }, t: 1 }, { id: 42623, n: "One Handed Melee Damage", d: ["10% increased Physical Damage with One Handed Melee Weapons"], o: { x: 270, y: 54, w: 27, h: 27 }, l: { x: 1613.09, y: -489.62 }, t: 0 }, { id: 1571, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 1613.09, y: -553.62 }, t: 0 }, { id: 798, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 1502.24, y: -553.62 }, t: 0 }, { id: 8001, n: "Sniper", d: ["10% increased Projectile Speed", "20% increased Projectile Damage"], o: { x: 646, y: 466, w: 38, h: 38 }, l: { x: 1557.67, y: -585.62 }, t: 1 }, { id: 13009, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: -1027.57, y: -1212.83 }, t: 0 }, { id: 53793, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1956.06, y: 941.83 }, t: 0 }, { id: 40653, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1764.06, y: 1133.83 }, t: 0 }, { id: 45360, n: "Bow Damage", d: ["12% increased Physical Damage with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1651.07, y: 111.93 }, t: 0 }, { id: 55908, n: "Bow Accuracy", d: ["20% increased Accuracy Rating with Bows"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 1587.07, y: 175.93 }, t: 0 }, { id: 46344, n: "Bow Damage and Movement Speed", d: ["10% increased Physical Damage with Bows", "3% increased Movement Speed"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1706.5, y: 143.93 }, t: 0 }, { id: 29089, n: "Bow Damage and Movement Speed", d: ["10% increased Physical Damage with Bows", "3% increased Movement Speed"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 1706.5, y: 207.93 }, t: 0 }, { id: 36687, n: "Avatar of the Hunt", d: ["24% increased Physical Damage with Bows", "3% increased Movement Speed"], o: { x: 0, y: 504, w: 38, h: 38 }, l: { x: 1651.07, y: 239.93 }, t: 1 }, { id: 22627, n: "Life and Armour", d: ["6% increased Armour", "5% increased maximum Life"], o: { x: 459, y: 81, w: 27, h: 27 }, l: { x: -1051.38, y: 791.07 }, t: 0 }, { id: 33199, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -591.64, y: -528.33 }, t: 0 }, { id: 47312, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -655.64, y: -592.33 }, t: 0 }, { id: 55866, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -527.64, y: -592.33 }, t: 0 }, { id: 45317, n: "Ash, Frost and Storm", d: ["16% increased Elemental Damage"], o: { x: 38, y: 504, w: 38, h: 38 }, l: { x: -591.64, y: -656.33 }, t: 1 }, { id: 14914, n: "Phase Acrobatics", d: ["30% Chance to Dodge Spell Damage"], o: { x: 0, y: 710, w: 53, h: 54 }, l: { x: 2872.55, y: -49.95 }, t: 2 }, { id: 60619, n: "Galvanic Hammer", d: ["20% increased Accuracy Rating with Maces", "25% increased Critical Strike Chance with Maces", "25% increased Elemental Damage with Maces"], o: { x: 76, y: 504, w: 38, h: 38 }, l: { x: -1977.58, y: -1232.34 }, t: 1 }, { id: 20467, n: "Mace Critical Strike Chance and Multiplier", d: ["20% increased Critical Strike Chance with Maces", "15% increased Critical Strike Multiplier with Maces"], o: { x: 459, y: 108, w: 27, h: 27 }, l: { x: -1922.15, y: -1264.34 }, t: 0 }, { id: 5068, n: "Mace Critical Strike Chance and Multiplier", d: ["20% increased Critical Strike Chance with Maces", "15% increased Critical Strike Multiplier with Maces"], o: { x: 459, y: 108, w: 27, h: 27 }, l: { x: -1866.73, y: -1232.34 }, t: 0 }, { id: 27134, n: "Mace Damage", d: ["12% increased Physical Damage with Maces"], o: { x: 432, y: 27, w: 27, h: 27 }, l: { x: -1866.73, y: -1168.34 }, t: 0 }, { id: 24677, n: "Mace Elemental Damage and Accuracy", d: ["10% increased Accuracy Rating with Maces", "10% increased Elemental Damage with Maces"], o: { x: 486, y: 108, w: 27, h: 27 }, l: { x: -1977.58, y: -1168.34 }, t: 0 }, { id: 61950, n: "Mace Elemental Damage and Accuracy", d: ["10% increased Accuracy Rating with Maces", "10% increased Elemental Damage with Maces"], o: { x: 486, y: 108, w: 27, h: 27 }, l: { x: -1922.15, y: -1136.34 }, t: 0 }, { id: 32555, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 2378.63, y: 1431.75 }, t: 0 }, { id: 30733, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -788.64, y: 1369.45 }, t: 0 }, { id: 24472, n: "Skill Duration", d: ["10% increased Skill Effect Duration"], o: { x: 135, y: 108, w: 27, h: 27 }, l: { x: -234.81, y: 409.11 }, t: 0 }, { id: 22893, n: "Skill Duration", d: ["10% increased Skill Effect Duration"], o: { x: 135, y: 108, w: 27, h: 27 }, l: { x: -262.52, y: 361.11 }, t: 0 }, { id: 53042, n: "Exceptional Performance", d: ["25% increased Skill Effect Duration"], o: { x: 114, y: 504, w: 38, h: 38 }, l: { x: -290.24, y: 409.11 }, t: 1 }, { id: 40766, n: "Endurance Charge Duration", d: ["18% increased Endurance Charge Duration"], o: { x: 567, y: 81, w: 27, h: 27 }, l: { x: -2136.77, y: -529.74 }, t: 0 }, { id: 27609, n: "Staff and Mace Damage", d: ["12% increased Physical Damage with Staves", "12% increased Physical Damage with Maces"], o: { x: 513, y: 108, w: 27, h: 27 }, l: { x: -1549.86, y: -304.12 }, t: 0 }, { id: 65491, n: "Staff and Mace Damage", d: ["12% increased Physical Damage with Staves", "12% increased Physical Damage with Maces"], o: { x: 513, y: 108, w: 27, h: 27 }, l: { x: -1605.29, y: -336.12 }, t: 0 }, { id: 5366, n: "Staff and Mace Attack Speed and Armour", d: ["3% increased Attack Speed with Staves", "3% increased Attack Speed with Maces", "10% increased Armour"], o: { x: 540, y: 108, w: 27, h: 27 }, l: { x: -1660.71, y: -240.12 }, t: 0 }, { id: 13454, n: "Staff and Mace Attack Speed and Armour", d: ["3% increased Attack Speed with Staves", "3% increased Attack Speed with Maces", "10% increased Armour"], o: { x: 540, y: 108, w: 27, h: 27 }, l: { x: -1549.86, y: -240.12 }, t: 0 }, { id: 34363, n: "Blunt Instrument", d: ["28% increased Physical Damage with Staves", "28% increased Physical Damage with Maces", "30% increased Armour"], o: { x: 152, y: 504, w: 38, h: 38 }, l: { x: -1605.29, y: -208.12 }, t: 1 }, { id: 15005, n: "Staff and Mace Damage", d: ["12% increased Physical Damage with Staves", "12% increased Physical Damage with Maces"], o: { x: 513, y: 108, w: 27, h: 27 }, l: { x: -1660.71, y: -304.12 }, t: 0 }, { id: 18769, n: "Written in Blood", d: ["8% increased maximum Life", "10% increased maximum Energy Shield", "+10 to Strength"], o: { x: 190, y: 504, w: 38, h: 38 }, l: { x: 1643.31, y: -1394.86 }, t: 1 }, { id: 61653, n: "Life and Energy Shield", d: ["4% increased maximum Life", "5% increased maximum Energy Shield"], o: { x: 567, y: 108, w: 27, h: 27 }, l: { x: 1707.31, y: -1458.86 }, t: 0 }, { id: 38190, n: "Life and Energy Shield", d: ["4% increased maximum Life", "5% increased maximum Energy Shield"], o: { x: 567, y: 108, w: 27, h: 27 }, l: { x: 1643.31, y: -1522.86 }, t: 0 }, { id: 1822, n: "Life and Energy Shield", d: ["4% increased maximum Life", "5% increased maximum Energy Shield"], o: { x: 567, y: 108, w: 27, h: 27 }, l: { x: 1579.31, y: -1458.86 }, t: 0 }, { id: 36858, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1800.38, y: -1602.78 }, t: 0 }, { id: 39861, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1363.42, y: -.3 }, t: 0 }, { id: 57061, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -707.25, y: 775.48 }, t: 0 }, { id: 22061, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -651.83, y: 871.48 }, t: 0 }, { id: 5289, n: "Battle Rouse", d: ["12% increased maximum Mana", "3% of Damage taken Gained as Mana when Hit"], o: { x: 228, y: 504, w: 38, h: 38 }, l: { x: -762.68, y: 871.48 }, t: 1 }, { id: 45680, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 497.37, y: -593.75 }, t: 0 }, { id: 25237, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 552.8, y: -593.75 }, t: 0 }, { id: 10835, n: "Dreamer", d: ["20% increased maximum Mana", "15% increased Mana Regeneration Rate"], o: { x: 266, y: 504, w: 38, h: 38 }, l: { x: 525.09, y: -545.75 }, t: 1 }, { id: 37326, n: "Stamina", d: ["+1 Maximum Endurance Charge"], o: { x: 380, y: 314, w: 38, h: 38 }, l: { x: -2048.45, y: 766.94 }, t: 1 }, { id: 22497, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -26.17, y: -242.08 }, t: 0 }, { id: 8643, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: 1.54, y: -290.08 }, t: 0 }, { id: 63845, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: 29.26, y: -242.08 }, t: 0 }, { id: 23540, n: "Conduit", d: ["Share Endurance, Frenzy and Power Charges with nearby party members"], o: { x: 53, y: 710, w: 53, h: 54 }, l: { x: 419.71, y: -793.33 }, t: 2 }, { id: 36678, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1210.75, y: -1957.78 }, t: 0 }, { id: 3469, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 721.61, y: -1378.06 }, t: 0 }, { id: 33988, n: "Melee Damage", d: ["12% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -1080.06, y: 555.96 }, t: 0 }, { id: 50846, n: "Inner Force", d: ["15% increased Effect of Buffs on You"], o: { x: 304, y: 504, w: 38, h: 38 }, l: { x: -283.59, y: -444.22 }, t: 1 }, { id: 3197, n: "Buff Effect", d: ["3% increased Effect of Buffs on You"], o: { x: 594, y: 108, w: 27, h: 27 }, l: { x: -311.31, y: -396.22 }, t: 0 }, { id: 4223, n: "Buff Effect", d: ["3% increased Effect of Buffs on You"], o: { x: 594, y: 108, w: 27, h: 27 }, l: { x: -255.88, y: -396.22 }, t: 0 }, { id: 21929, n: "Armour", d: ["14% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -2123.68, y: -86.32 }, t: 0 }, { id: 38836, n: "Armour", d: ["14% increased Armour"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -2068.26, y: -86.32 }, t: 0 }, { id: 27137, n: "Unyielding", d: ["You take 20% reduced Extra Damage from Critical Strikes", "30% increased Armour"], o: { x: 342, y: 504, w: 38, h: 38 }, l: { x: -2095.97, y: -134.32 }, t: 1 }, { id: 37078, n: "Path of the Savant", d: ["16% increased Spell Damage", "+20 to maximum Mana", "+20 to Intelligence"], o: { x: 380, y: 504, w: 38, h: 38 }, l: { x: 2.2, y: -417.04 }, t: 1 }, { id: 35894, n: "Trickery", d: ["20% increased Elemental Damage", "+20 to Intelligence", "20% increased Critical Strike Chance"], o: { x: 418, y: 504, w: 38, h: 38 }, l: { x: 1349.32, y: -899.16 }, t: 1 }, { id: 55332, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -838.23, y: -1759.53 }, t: 0 }, { id: 14021, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -671.95, y: -1855.53 }, t: 0 }, { id: 11591, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: 1045.87, y: -1186.95 }, t: 0 }, { id: 24377, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 121.43, y: 1250.25 }, t: 0 }, { id: 56803, n: "Attack Speed", d: ["4% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 217.43, y: 1305.68 }, t: 0 }, { id: 62694, n: "Attack Speed", d: ["4% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 185.43, y: 1361.11 }, t: 0 }, { id: 45227, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 121.43, y: 1361.11 }, t: 0 }, { id: 18715, n: "Fire Damage", d: ["12% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -419.65, y: -2425.95 }, t: 0 }, { id: 10893, n: "Fire Damage", d: ["12% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -436.8, y: -2489.95 }, t: 0 }, { id: 38789, n: "Fire Damage", d: ["10% increased Fire Damage"], o: { x: 621, y: 108, w: 27, h: 27 }, l: { x: -253.38, y: -2521.95 }, t: 0 }, { id: 61804, n: "Fire Damage", d: ["10% increased Fire Damage"], o: { x: 621, y: 108, w: 27, h: 27 }, l: { x: -308.8, y: -2361.95 }, t: 0 }, { id: 60501, n: "Heart of Flame", d: ["25% increased Fire Damage", "Damage Penetrates 3% Fire Resistance"], o: { x: 456, y: 504, w: 38, h: 38 }, l: { x: -419.65, y: -2553.95 }, t: 1 }, { id: 14040, n: "Fire Damage", d: ["12% increased Fire Damage"], o: { x: 621, y: 108, w: 27, h: 27 }, l: { x: -372.8, y: -2379.1 }, t: 0 }, { id: 13559, n: "Ignite Chance", d: ["5% chance to Ignite"], o: { x: 243, y: 108, w: 27, h: 27 }, l: { x: -253.38, y: -2457.95 }, t: 0 }, { id: 8624, n: "Ignite Duration", d: ["20% increased Ignite Duration on Enemies"], o: { x: 621, y: 108, w: 27, h: 27 }, l: { x: -308.8, y: -2425.95 }, t: 0 }, { id: 11924, n: "Breath of Flames", d: ["10% increased Fire Damage", "20% increased Ignite Duration on Enemies", "5% chance to Ignite"], o: { x: 494, y: 504, w: 38, h: 38 }, l: { x: -308.8, y: -2553.95 }, t: 1 }, { id: 43413, n: "Shield Block and Block Recovery", d: ["1% additional Chance to Block with Shields", "30% increased Block Recovery"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: -109.75, y: 2373.76 }, t: 0 }, { id: 3319, n: "Shield Block and Block Recovery", d: ["1% additional Chance to Block with Shields", "30% increased Block Recovery"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: -126.9, y: 2437.76 }, t: 0 }, { id: 44207, n: "Testudo", d: ["3% additional Chance to Block with Shields", "60% increased Block Recovery", "+8 Mana gained when you Block"], o: { x: 342, y: 352, w: 38, h: 38 }, l: { x: -109.75, y: 2501.76 }, t: 1 }, { id: 7063, n: "Shield Defences", d: ["40% increased Defences from equipped Shield"], o: { x: 297, y: 0, w: 27, h: 27 }, l: { x: 1.1, y: 2565.76 }, t: 0 }, { id: 49343, n: "Block Chance and Melee Damage with Shield", d: ["1% additional Chance to Block with Shields", "8% increased Melee Physical Damage while holding a Shield"], o: { x: 432, y: 81, w: 27, h: 27 }, l: { x: 1.1, y: 2309.76 }, t: 0 }, { id: 36761, n: "Melee Damage and Attack Speed with Shield", d: ["2% increased Attack Speed while holding a Shield", "10% increased Melee Physical Damage while holding a Shield"], o: { x: 432, y: 81, w: 27, h: 27 }, l: { x: 129.1, y: 2437.76 }, t: 0 }, { id: 1159, n: "Melee Damage and Attack Speed with Shield", d: ["2% increased Attack Speed while holding a Shield", "10% increased Melee Physical Damage while holding a Shield"], o: { x: 432, y: 81, w: 27, h: 27 }, l: { x: 111.95, y: 2373.76 }, t: 0 }, { id: 12878, n: "Retaliation", d: ["6% increased Attack Speed while holding a Shield", "24% increased Melee Physical Damage while holding a Shield", "25% increased Defences from equipped Shield"], o: { x: 532, y: 504, w: 38, h: 38 }, l: { x: 111.95, y: 2501.76 }, t: 1 }, { id: 17383, n: "Mana and Mana Gain on Killing Blow", d: ["4% increased maximum Mana", "+5 Mana Gained on Kill"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 28.91, y: 2012.36 }, t: 0 }, { id: 58545, n: "Mana and Mana Gain on Killing Blow", d: ["4% increased maximum Mana", "+5 Mana Gained on Kill"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 1.2, y: 2060.36 }, t: 0 }, { id: 14813, n: "Revelry", d: ["8% increased maximum Mana", "+2 Mana gained for each Enemy hit by your Attacks", "+10 Mana Gained on Kill"], o: { x: 570, y: 504, w: 38, h: 38 }, l: { x: -26.51, y: 2012.36 }, t: 1 }, { id: 24083, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -365.68, y: 2171.46 }, t: 0 }, { id: 487, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1282.03, y: 1581.55 }, t: 0 }, { id: 63965, n: "Elemental Damage", d: ["+14 to maximum Mana", "14% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -945.17, y: -613.99 }, t: 0 }, { id: 367, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -615.57, y: -2043.1 }, t: 0 }, { id: 33864, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -671, y: -2139.1 }, t: 0 }, { id: 35706, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -671, y: -2011.1 }, t: 0 }, { id: 58103, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -615.57, y: -2107.1 }, t: 0 }, { id: 50029, n: "Unnatural Calm", d: ["18% increased maximum Energy Shield", "15% faster start of Energy Shield Recharge", "+1% to maximum Lightning Resistance"], o: { x: 114, y: 276, w: 38, h: 38 }, l: { x: -726.43, y: -2043.1 }, t: 1 }, { id: 23659, n: "Energy Shield", d: ["6% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: -726.43, y: -2107.1 }, t: 0 }, { id: 20528, n: "Instability", d: ["+1 Maximum Power Charge"], o: { x: 152, y: 352, w: 38, h: 38 }, l: { x: 2.53, y: -1993.83 }, t: 1 }, { id: 34579, n: "Critical Strike Chance", d: ["15% increased Critical Strike Chance"], o: { x: 0, y: 135, w: 27, h: 27 }, l: { x: 446.98, y: -47.67 }, t: 0 }, { id: 40100, n: "Critical Strike Chance", d: ["15% increased Critical Strike Chance"], o: { x: 0, y: 135, w: 27, h: 27 }, l: { x: 502.41, y: -47.67 }, t: 0 }, { id: 30471, n: "True Strike", d: ["45% increased Critical Strike Chance", "8% increased Critical Strike Multiplier"], o: { x: 608, y: 504, w: 38, h: 38 }, l: { x: 474.7, y: .33 }, t: 1 }, { id: 60942, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1945.92, y: 1029.72 }, t: 0 }, { id: 17735, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1283.87, y: -1089.38 }, t: 0 }, { id: 23881, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1170.11, y: 412.03 }, t: 0 }, { id: 9511, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1074.11, y: 437.75 }, t: 0 }, { id: 4565, n: "Dual Wield Attack Speed", d: ["4% increased Attack Speed while Dual Wielding"], o: { x: 405, y: 27, w: 27, h: 27 }, l: { x: 105.59, y: 1717.37 }, t: 0 }, { id: 24641, n: "Dual Wield Damage", d: ["12% increased Physical Weapon Damage while Dual Wielding"], o: { x: 513, y: 27, w: 27, h: 27 }, l: { x: 169.59, y: 1606.52 }, t: 0 }, { id: 22423, n: "Dual Wield Damage", d: ["12% increased Physical Weapon Damage while Dual Wielding"], o: { x: 513, y: 27, w: 27, h: 27 }, l: { x: 169.59, y: 1717.37 }, t: 0 }, { id: 25456, n: "Dervish", d: ["2% additional Block Chance while Dual Wielding", "24% increased Physical Weapon Damage while Dual Wielding", "6% increased Attack Speed while Dual Wielding"], o: { x: 646, y: 504, w: 38, h: 38 }, l: { x: 73.59, y: 1661.94 }, t: 1 }, { id: 3009, n: "Dual Wield Accuracy", d: ["18% increased Accuracy Rating while Dual Wielding"], o: { x: 27, y: 135, w: 27, h: 27 }, l: { x: 201.59, y: 1661.94 }, t: 0 }, { id: 28758, n: "Dagger Damage and Critical Strike Chance", d: ["6% increased Physical Damage with Daggers", "30% increased Critical Strike Chance with Daggers"], o: { x: 54, y: 135, w: 27, h: 27 }, l: { x: 1470.04, y: -1418.78 }, t: 0 }, { id: 39443, n: "Dagger Damage and Critical Strike Chance", d: ["6% increased Physical Damage with Daggers", "30% increased Critical Strike Chance with Daggers"], o: { x: 54, y: 135, w: 27, h: 27 }, l: { x: 1470.04, y: -1482.78 }, t: 0 }, { id: 30717, n: "Dagger Damage and Accuracy", d: ["6% increased Physical Damage with Daggers", "12% increased Accuracy Rating with Daggers"], o: { x: 54, y: 135, w: 27, h: 27 }, l: { x: 1350.61, y: -1450.78 }, t: 0 }, { id: 56276, n: "Nightstalker", d: ["20% increased Physical Damage with Daggers", "60% increased Critical Strike Chance with Daggers"], o: { x: 0, y: 542, w: 38, h: 38 }, l: { x: 1414.61, y: -1514.78 }, t: 1 }, { id: 36891, n: "Dagger Damage", d: ["12% increased Physical Damage with Daggers"], o: { x: 162, y: 54, w: 27, h: 27 }, l: { x: 1414.61, y: -1386.78 }, t: 0 }, { id: 26866, n: "Sanctity", d: ["20% increased Armour", "10% increased maximum Energy Shield", "1% of Life Regenerated per Second", "+10 to Strength and Intelligence"], o: { x: 0, y: 390, w: 38, h: 38 }, l: { x: -1409.57, y: -577.54 }, t: 1 }, { id: 13176, n: "Number of Traps Allowed", d: ["Can set up to 1 additional trap"], o: { x: 81, y: 135, w: 27, h: 27 }, l: { x: 2231, y: 1296.38 }, t: 0 }, { id: 36877, n: "Trap Damage", d: ["9% increased Trap Damage"], o: { x: 378, y: 108, w: 27, h: 27 }, l: { x: 2295, y: 1296.38 }, t: 0 }, { id: 22488, n: "Trap Throw Speed and Damage", d: ["5% increased Trap Damage", "3% increased Trap Throwing Speed"], o: { x: 324, y: 108, w: 27, h: 27 }, l: { x: 2295, y: 1185.53 }, t: 0 }, { id: 12723, n: "Trap Throw Speed and Damage", d: ["5% increased Trap Damage", "3% increased Trap Throwing Speed"], o: { x: 324, y: 108, w: 27, h: 27 }, l: { x: 2327, y: 1240.96 }, t: 0 }, { id: 59194, n: "Trap Damage and Trigger Radius", d: ["7% increased Trap Damage", "15% increased Trap Trigger Radius"], o: { x: 108, y: 135, w: 27, h: 27 }, l: { x: 2199, y: 1240.96 }, t: 0 }, { id: 7136, n: "Master Sapper", d: ["24% increased Trap Damage", "Can set up to 1 additional trap"], o: { x: 38, y: 542, w: 38, h: 38 }, l: { x: 2231, y: 1185.53 }, t: 1 }, { id: 59252, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1895.26, y: -163.25 }, t: 0 }, { id: 32245, n: "Expertise", d: ["+30 to Dexterity"], o: { x: 304, y: 276, w: 38, h: 38 }, l: { x: -1685.77, y: -78.1 }, t: 1 }, { id: 34400, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1252.15, y: 2171.22 }, t: 0 }, { id: 3314, n: "Frenzy Charge Duration", d: ["18% increased Frenzy Charge Duration"], o: { x: 567, y: 0, w: 27, h: 27 }, l: { x: 2251.44, y: -313.89 }, t: 0 }, { id: 61327, n: "Weapon Cold Damage", d: ["10% increased Cold Damage with Weapons"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 786.93, y: 1954.3 }, t: 0 }, { id: 51404, n: "Weapon Cold Damage", d: ["10% increased Cold Damage with Weapons"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 759.22, y: 1906.3 }, t: 0 }, { id: 57199, n: "Ice Bite", d: ["30% increased Cold Damage with Weapons"], o: { x: 76, y: 542, w: 38, h: 38 }, l: { x: 731.51, y: 1954.3 }, t: 1 }, { id: 55247, n: "Life and Energy Shield", d: ["3% increased maximum Life", "5% increased maximum Energy Shield"], o: { x: 567, y: 108, w: 27, h: 27 }, l: { x: 826.06, y: -842.81 }, t: 0 }, { id: 63799, n: "Life and Energy Shield", d: ["3% increased maximum Life", "5% increased maximum Energy Shield"], o: { x: 567, y: 108, w: 27, h: 27 }, l: { x: 802.64, y: -930.23 }, t: 0 }, { id: 61320, n: "Life and Energy Shield", d: ["3% increased maximum Life", "5% increased maximum Energy Shield"], o: { x: 567, y: 108, w: 27, h: 27 }, l: { x: 715.21, y: -906.81 }, t: 0 }, { id: 18865, n: "Melding", d: ["6% increased maximum Life", "10% increased maximum Energy Shield"], o: { x: 114, y: 542, w: 38, h: 38 }, l: { x: 738.64, y: -819.38 }, t: 1 }, { id: 63194, n: "Reduced Mana Reservation", d: ["4% reduced Mana Reserved"], o: { x: 621, y: 0, w: 27, h: 27 }, l: { x: 1206.97, y: 119.09 }, t: 0 }, { id: 64265, n: "Aura Area of Effect", d: ["12% increased Radius of Auras"], o: { x: 648, y: 0, w: 27, h: 27 }, l: { x: 1262.4, y: 119.09 }, t: 0 }, { id: 6799, n: "Charisma", d: ["8% reduced Mana Reserved", "6% increased effect of Auras you Cast"], o: { x: 152, y: 542, w: 38, h: 38 }, l: { x: 1234.68, y: 167.09 }, t: 1 }, { id: 6538, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1369.92, y: 118.25 }, t: 0 }, { id: 36287, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 2380.71, y: 288.37 }, t: 0 }, { id: 5233, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -2228.4, y: 1158.38 }, t: 0 }, { id: 6, n: "Twin Terrors", d: ["75% increased Weapon Critical Strike Chance while Dual Wielding"], o: { x: 190, y: 542, w: 38, h: 38 }, l: { x: 930.58, y: 1913.51 }, t: 1 }, { id: 5622, n: "Dual Wield Critical Strike Chance", d: ["25% increased Weapon Critical Strike Chance while Dual Wielding"], o: { x: 405, y: 27, w: 27, h: 27 }, l: { x: 986.01, y: 2009.51 }, t: 0 }, { id: 25209, n: "Dual Wield Critical Strike Chance", d: ["25% increased Weapon Critical Strike Chance while Dual Wielding"], o: { x: 405, y: 27, w: 27, h: 27 }, l: { x: 1041.43, y: 1913.51 }, t: 0 }, { id: 49624, n: "Celerity", d: ["24% increased Evasion Rating", "3% increased Movement Speed"], o: { x: 228, y: 542, w: 38, h: 38 }, l: { x: 2155.75, y: 1679.53 }, t: 1 }, { id: 43768, n: "Movement Speed and Evasion", d: ["10% increased Evasion Rating", "3% increased Movement Speed"], o: { x: 135, y: 135, w: 27, h: 27 }, l: { x: 2100.33, y: 1679.53 }, t: 0 }, { id: 43170, n: "Movement Speed and Evasion", d: ["10% increased Evasion Rating", "3% increased Movement Speed"], o: { x: 135, y: 135, w: 27, h: 27 }, l: { x: 2128.04, y: 1631.53 }, t: 0 }, { id: 53493, n: "Annihilation", d: ["50% increased Critical Strike Chance for Spells", "10% increased Critical Strike Multiplier for Spells"], o: { x: 266, y: 542, w: 38, h: 38 }, l: { x: -147.83, y: -1776.84 }, t: 1 }, { id: 12926, n: "Iron Grip", d: ["The increase to Physical Damage from Strength applies to Projectile Attacks as well as Melee Attacks"], o: { x: 106, y: 710, w: 53, h: 54 }, l: { x: -1315.83, y: 2275.57 }, t: 2 }, { id: 44606, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1412.27, y: 270.96 }, t: 0 }, { id: 13885, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1980.93, y: -604.04 }, t: 0 }, { id: 58244, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1980.93, y: -796.04 }, t: 0 }, { id: 35283, n: "Critical Strike Chance", d: ["20% increased Critical Strike Chance"], o: { x: 0, y: 135, w: 27, h: 27 }, l: { x: 1703.8, y: -764.04 }, t: 0 }, { id: 10763, n: "Critical Strike Chance", d: ["20% increased Critical Strike Chance"], o: { x: 0, y: 135, w: 27, h: 27 }, l: { x: 1703.8, y: -636.04 }, t: 0 }, { id: 28754, n: "Assassination", d: ["30% increased Critical Strike Chance", "30% increased Critical Strike Multiplier"], o: { x: 304, y: 542, w: 38, h: 38 }, l: { x: 1686.65, y: -700.04 }, t: 1 }, { id: 62442, n: "Critical Strike Chance", d: ["20% increased Critical Strike Chance"], o: { x: 0, y: 135, w: 27, h: 27 }, l: { x: 1750.65, y: -589.18 }, t: 0 }, { id: 28885, n: "Critical Strike Chance", d: ["20% increased Critical Strike Chance"], o: { x: 0, y: 135, w: 27, h: 27 }, l: { x: 1750.65, y: -810.89 }, t: 0 }, { id: 60259, n: "Evasion and Energy Shield", d: ["8% increased Evasion Rating", "5% increased maximum Energy Shield"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 1925.5, y: -636.04 }, t: 0 }, { id: 39322, n: "Evasion and Energy Shield", d: ["8% increased Evasion Rating", "5% increased maximum Energy Shield"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 1878.65, y: -589.18 }, t: 0 }, { id: 46839, n: "Evasion and Energy Shield", d: ["8% increased Evasion Rating", "5% increased maximum Energy Shield"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 1878.65, y: -810.89 }, t: 0 }, { id: 4399, n: "Nullification", d: ["10% increased Evasion Rating", "10% increased maximum Energy Shield", "10% faster start of Energy Shield Recharge", "+8% to all Elemental Resistances"], o: { x: 570, y: 390, w: 38, h: 38 }, l: { x: 1942.65, y: -700.04 }, t: 1 }, { id: 11018, n: "Evasion and Energy Shield", d: ["8% increased Evasion Rating", "5% increased maximum Energy Shield"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 1925.5, y: -764.04 }, t: 0 }, { id: 46578, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -351.3, y: 622.4 }, t: 0 }, { id: 28330, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -185.03, y: 526.4 }, t: 0 }, { id: 1957, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -129.83, y: -1276.58 }, t: 0 }, { id: 739, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -129.83, y: -1340.58 }, t: 0 }, { id: 18866, n: "Cast Speed", d: ["3% increased Cast Speed"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -185.26, y: -1372.58 }, t: 0 }, { id: 21934, n: "Spell Damage", d: ["10% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: -240.68, y: -1340.58 }, t: 0 }, { id: 36774, n: "Spell Damage", d: ["10% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: -185.26, y: -1244.58 }, t: 0 }, { id: 17579, n: "Spell Damage", d: ["10% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: -240.68, y: -1276.58 }, t: 0 }, { id: 48109, n: "Life Regeneration per Endurance Charge", d: ["0.2% of maximum Life Regenerated per second per Endurance Charge"], o: { x: 567, y: 81, w: 27, h: 27 }, l: { x: -2124.34, y: 768.06 }, t: 0 }, { id: 18359, n: "Minion Block", d: ["Minions have 2% Chance to Block"], o: { x: 162, y: 135, w: 27, h: 27 }, l: { x: 644.42, y: -397.03 }, t: 0 }, { id: 21973, n: "Minion Block", d: ["Minions have 2% Chance to Block"], o: { x: 162, y: 135, w: 27, h: 27 }, l: { x: 616.71, y: -349.03 }, t: 0 }, { id: 34306, n: "Minion Block", d: ["Minions have 2% Chance to Block"], o: { x: 162, y: 135, w: 27, h: 27 }, l: { x: 672.13, y: -349.03 }, t: 0 }, { id: 11455, n: "Chaos Inoculation", d: ["Maximum Life becomes 1, Immune to Chaos Damage"], o: { x: 159, y: 710, w: 53, h: 54 }, l: { x: 1290.84, y: -2089.45 }, t: 2 }, { id: 56295, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 2471.03, y: -707 }, t: 0 }, { id: 16167, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 194.24, y: 527.15 }, t: 0 }, { id: 10829, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 360.51, y: 623.15 }, t: 0 }, { id: 25411, n: "Infused", d: ["+1 Maximum Power Charge"], o: { x: 152, y: 352, w: 38, h: 38 }, l: { x: 2101.33, y: -1086.23 }, t: 1 }, { id: 24362, n: "Deep Thoughts", d: ["20% increased maximum Mana", "20% increased Mana Regeneration Rate", "+20 to Intelligence"], o: { x: 342, y: 542, w: 38, h: 38 }, l: { x: -276.5, y: -2038.99 }, t: 1 }, { id: 29781, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -308.5, y: -2094.41 }, t: 0 }, { id: 60388, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: -308.5, y: -1983.56 }, t: 0 }, { id: 21958, n: "Cruel Preparation", d: ["10% increased maximum Life", "+5% to all Elemental Resistances"], o: { x: 380, y: 542, w: 38, h: 38 }, l: { x: -404.5, y: -2038.99 }, t: 1 }, { id: 33755, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -372.5, y: -1983.56 }, t: 0 }, { id: 14936, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -372.5, y: -2094.41 }, t: 0 }, { id: 24691, n: "One Handed Attack Speed", d: ["3% increased Attack Speed with One Handed Melee Weapons"], o: { x: 189, y: 135, w: 27, h: 27 }, l: { x: 191.65, y: 711.49 }, t: 0 }, { id: 5262, n: "One Handed Accuracy", d: ["12% increased Accuracy Rating with One Handed Melee Weapons"], o: { x: 243, y: 54, w: 27, h: 27 }, l: { x: 311.07, y: 743.49 }, t: 0 }, { id: 5950, n: "One Handed Melee Damage", d: ["10% increased Physical Damage with One Handed Melee Weapons"], o: { x: 270, y: 54, w: 27, h: 27 }, l: { x: 311.07, y: 679.49 }, t: 0 }, { id: 49270, n: "Studious Combatant", d: ["16% increased Physical Damage with One Handed Melee Weapons", "4% increased Attack Speed with One Handed Melee Weapons", "10% increased Accuracy Rating with One Handed Melee Weapons", "10% increased Critical Strike Chance with One Handed Melee Weapons"], o: { x: 418, y: 542, w: 38, h: 38 }, l: { x: 255.65, y: 775.49 }, t: 1 }, { id: 46292, n: "One Handed Attack Speed", d: ["3% increased Attack Speed with One Handed Melee Weapons"], o: { x: 189, y: 135, w: 27, h: 27 }, l: { x: 223.65, y: 656.07 }, t: 0 }, { id: 44941, n: "Avatar of Fire", d: ["50% of Physical Damage Converted to Fire Damage", "50% of Lightning Damage Converted to Fire Damage", "50% of Cold Damage Converted to Fire Damage", "Deal no Non-Fire Damage"], o: { x: 212, y: 710, w: 53, h: 54 }, l: { x: -1831.07, y: -2058.02 }, t: 2 }, { id: 34678, n: "Life", d: ["4% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 1489.73, y: 1572.38 }, t: 0 }, { id: 26528, n: "Life", d: ["4% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 1553.73, y: 1508.38 }, t: 0 }, { id: 19069, n: "Thick Skin", d: ["10% increased maximum Life", "8% chance to Avoid Elemental Status Ailments"], o: { x: 380, y: 542, w: 38, h: 38 }, l: { x: 1617.73, y: 1572.38 }, t: 1 }, { id: 58271, n: "Life", d: ["4% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 1553.73, y: 1636.38 }, t: 0 }, { id: 4397, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -484.75, y: -1434.03 }, t: 0 }, { id: 27659, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 619.3, y: -1438.91 }, t: 0 }, { id: 43015, n: "Dual Wield Attack Speed", d: ["3% increased Attack Speed while Dual Wielding"], o: { x: 216, y: 135, w: 27, h: 27 }, l: { x: -191.25, y: 683.09 }, t: 0 }, { id: 26496, n: "Duality", d: ["24% increased Physical Weapon Damage while Dual Wielding"], o: { x: 456, y: 542, w: 38, h: 38 }, l: { x: -246.67, y: 779.09 }, t: 1 }, { id: 28084, n: "Dual Wield Damage and Attack Speed", d: ["8% increased Physical Weapon Damage while Dual Wielding", "3% increased Attack Speed while Dual Wielding"], o: { x: 513, y: 27, w: 27, h: 27 }, l: { x: -302.1, y: 683.09 }, t: 0 }, { id: 62177, n: "Power Charge Duration", d: ["18% increased Power Charge Duration"], o: { x: 405, y: 108, w: 27, h: 27 }, l: { x: 2238.47, y: -946.17 }, t: 0 }, { id: 64864, n: "Dual Wield Damage", d: ["10% increased Physical Weapon Damage while Dual Wielding"], o: { x: 351, y: 27, w: 27, h: 27 }, l: { x: 249.98, y: -2056.5 }, t: 0 }, { id: 15331, n: "Dual Wield Attack and Cast Speed", d: ["4% increased Attack Speed while Dual Wielding", "4% increased Cast Speed while Dual Wielding"], o: { x: 243, y: 135, w: 27, h: 27 }, l: { x: 360.83, y: -2120.5 }, t: 0 }, { id: 35368, n: "Dual Wield Attack and Cast Speed", d: ["4% increased Attack Speed while Dual Wielding", "4% increased Cast Speed while Dual Wielding"], o: { x: 243, y: 135, w: 27, h: 27 }, l: { x: 360.83, y: -2056.5 }, t: 0 }, { id: 17659, n: "Dual Wield Attack and Cast Speed", d: ["4% increased Attack Speed while Dual Wielding", "4% increased Cast Speed while Dual Wielding"], o: { x: 243, y: 135, w: 27, h: 27 }, l: { x: 305.41, y: -2152.5 }, t: 0 }, { id: 25609, n: "Dark Arts", d: ["12% increased Attack Speed while Dual Wielding", "8% increased Cast Speed while Dual Wielding", "+20 to Dexterity"], o: { x: 494, y: 542, w: 38, h: 38 }, l: { x: 305.41, y: -2024.5 }, t: 1 }, { id: 27959, n: "Dual Wield Damage", d: ["10% increased Physical Weapon Damage while Dual Wielding"], o: { x: 351, y: 27, w: 27, h: 27 }, l: { x: 249.98, y: -2120.5 }, t: 0 }, { id: 17963, n: "Trap and Mine Damage", d: ["9% increased Trap Damage", "9% increased Mine Damage"], o: { x: 378, y: 108, w: 27, h: 27 }, l: { x: 1217.49, y: -80.24 }, t: 0 }, { id: 55776, n: "Trap and Mine Damage and Laying Speed", d: ["5% increased Trap Damage", "5% increased Mine Damage", "3% increased Trap Throwing Speed", "3% increased Mine Laying Speed"], o: { x: 324, y: 108, w: 27, h: 27 }, l: { x: 1272.92, y: -80.24 }, t: 0 }, { id: 20123, n: "Expeditious Munitions", d: ["18% increased Trap Damage", "18% increased Mine Damage", "8% increased Trap Throwing Speed", "8% increased Mine Laying Speed"], o: { x: 532, y: 542, w: 38, h: 38 }, l: { x: 1245.21, y: -128.24 }, t: 1 }, { id: 35179, n: "Movement Speed", d: ["2% increased Movement Speed"], o: { x: 270, y: 135, w: 27, h: 27 }, l: { x: 252.56, y: 92.62 }, t: 0 }, { id: 60532, n: "Movement Speed", d: ["2% increased Movement Speed"], o: { x: 270, y: 135, w: 27, h: 27 }, l: { x: 224.84, y: 140.62 }, t: 0 }, { id: 9009, n: "Movement Speed", d: ["2% increased Movement Speed"], o: { x: 270, y: 135, w: 27, h: 27 }, l: { x: 280.27, y: 140.62 }, t: 0 }, { id: 53456, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 2385.91, y: -1267.19 }, t: 0 }, { id: 31875, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -594.93, y: -1434.63 }, t: 0 }, { id: 9469, n: "Critical Strike Chance", d: ["25% increased Critical Strike Chance"], o: { x: 0, y: 135, w: 27, h: 27 }, l: { x: 2291.57, y: 537.77 }, t: 0 }, { id: 59220, n: "Critical Strike Chance", d: ["25% increased Critical Strike Chance"], o: { x: 0, y: 135, w: 27, h: 27 }, l: { x: 2319.28, y: 585.77 }, t: 0 }, { id: 65502, n: "Heartseeker", d: ["25% increased Critical Strike Multiplier"], o: { x: 570, y: 542, w: 38, h: 38 }, l: { x: 2263.85, y: 585.77 }, t: 1 }, { id: 30225, n: "Lightning Walker", d: ["18% increased Lightning Damage", "+15% to Lightning Resistance"], o: { x: 608, y: 542, w: 38, h: 38 }, l: { x: -373.6, y: -1634.87 }, t: 1 }, { id: 58604, n: "Lightning Damage", d: ["10% increased Lightning Damage"], o: { x: 540, y: 0, w: 27, h: 27 }, l: { x: -405.6, y: -1690.3 }, t: 0 }, { id: 44983, n: "Fire Damage", d: ["10% increased Fire Damage"], o: { x: 486, y: 0, w: 27, h: 27 }, l: { x: -501.6, y: -1634.87 }, t: 0 }, { id: 34661, n: "Fire Walker", d: ["18% increased Fire Damage", "+15% to Fire Resistance"], o: { x: 646, y: 542, w: 38, h: 38 }, l: { x: -437.6, y: -1524.02 }, t: 1 }, { id: 44955, n: "Frost Walker", d: ["18% increased Cold Damage", "+15% to Cold Resistance"], o: { x: 0, y: 580, w: 38, h: 38 }, l: { x: -245.6, y: -1634.87 }, t: 1 }, { id: 38148, n: "Cold Damage", d: ["10% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: -309.6, y: -1745.72 }, t: 0 }, { id: 7938, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -469.6, y: -1801.15 }, t: 0 }, { id: 33783, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -539.88, y: -1538.87 }, t: 0 }, { id: 1031, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -373.6, y: -1826.87 }, t: 0 }, { id: 12852, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -437.6, y: -1745.72 }, t: 0 }, { id: 4184, n: "Elemental Damage", d: ["8% increased Elemental Damage"], o: { x: 54, y: 27, w: 27, h: 27 }, l: { x: -309.6, y: -1524.02 }, t: 0 }, { id: 18990, n: "Staff Block", d: ["2% additional Block Chance With Staves"], o: { x: 297, y: 135, w: 27, h: 27 }, l: { x: -2350.31, y: -268.74 }, t: 0 }, { id: 42917, n: "Whirling Barrier", d: ["10% chance to gain a Power Charge when you Block", "6% additional Block Chance With Staves"], o: { x: 38, y: 580, w: 38, h: 38 }, l: { x: -2461.16, y: -204.74 }, t: 1 }, { id: 51559, n: "Smashing Strikes", d: ["20% increased Physical Damage with Staves", "10% chance to gain an Endurance Charge on Critical Strike", "30% increased Global Critical Strike Chance while wielding a Staff"], o: { x: 76, y: 580, w: 38, h: 38 }, l: { x: -2572.01, y: -396.74 }, t: 1 }, { id: 47427, n: "Staff Damage", d: ["15% increased Physical Damage with Staves"], o: { x: 513, y: 108, w: 27, h: 27 }, l: { x: -2525.16, y: -221.89 }, t: 0 }, { id: 60740, n: "Staff Damage", d: ["12% increased Physical Damage with Staves"], o: { x: 513, y: 108, w: 27, h: 27 }, l: { x: -2350.31, y: -396.74 }, t: 0 }, { id: 37639, n: "Staff Damage", d: ["15% increased Physical Damage with Staves"], o: { x: 513, y: 108, w: 27, h: 27 }, l: { x: -2589.16, y: -332.74 }, t: 0 }, { id: 54667, n: "Staff Block", d: ["2% additional Block Chance With Staves"], o: { x: 297, y: 135, w: 27, h: 27 }, l: { x: -2397.16, y: -221.89 }, t: 0 }, { id: 48282, n: "Staff Critical Strike Chance and Damage", d: ["20% increased Physical Damage with Staves", "10% increased Global Critical Strike Chance while wielding a Staff"], o: { x: 648, y: 27, w: 27, h: 27 }, l: { x: -2461.16, y: -460.74 }, t: 0 }, { id: 16754, n: "Staff Critical Strike Chance and Damage", d: ["20% increased Physical Damage with Staves", "10% increased Global Critical Strike Chance while wielding a Staff"], o: { x: 648, y: 27, w: 27, h: 27 }, l: { x: -2525.16, y: -443.59 }, t: 0 }, { id: 29005, n: "Armour and Energy Shield", d: ["10% increased Armour", "5% increased maximum Energy Shield"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1169.05, y: -549.83 }, t: 0 }, { id: 39631, n: "Armour and Energy Shield", d: ["10% increased Armour", "5% increased maximum Energy Shield"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1224.47, y: -517.83 }, t: 0 }, { id: 17251, n: "Armour and Energy Shield", d: ["10% increased Armour", "5% increased maximum Energy Shield"], o: { x: 108, y: 27, w: 27, h: 27 }, l: { x: -1279.9, y: -549.83 }, t: 0 }, { id: 31758, n: "Mana and Life Regeneratoin", d: ["15% increased Mana Regeneration Rate", "0.4% of Life Regenerated per Second"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: -1279.9, y: -613.83 }, t: 0 }, { id: 42837, n: "Mana and Life Regeneratoin", d: ["15% increased Mana Regeneration Rate", "0.4% of Life Regenerated per Second"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: -1224.47, y: -645.83 }, t: 0 }, { id: 23456, n: "Mana and Life Regeneratoin", d: ["15% increased Mana Regeneration Rate", "0.4% of Life Regenerated per Second"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: -1169.05, y: -613.83 }, t: 0 }, { id: 31931, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1764.39, y: -440.41 }, t: 0 }, { id: 15064, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1956.39, y: -632.41 }, t: 0 }, { id: 38176, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 468.71, y: -1799.66 }, t: 0 }, { id: 11551, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 372.71, y: -1825.38 }, t: 0 }, { id: 27415, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 538.99, y: -1537.38 }, t: 0 }, { id: 6741, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -603.97, y: 1809.69 }, t: 0 }, { id: 41536, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 1188.64, y: 478.2 }, t: 0 }, { id: 62712, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 1244.07, y: 446.2 }, t: 0 }, { id: 41250, n: "Projectile Damage", d: ["10% increased Projectile Damage"], o: { x: 270, y: 0, w: 27, h: 27 }, l: { x: 1299.49, y: 478.2 }, t: 0 }, { id: 38344, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1299.49, y: 542.2 }, t: 0 }, { id: 65033, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1188.64, y: 542.2 }, t: 0 }, { id: 10017, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1244.07, y: 574.2 }, t: 0 }, { id: 43133, n: "Minion Attack and Cast Speed", d: ["Minions have 6% increased Attack Speed", "Minions have 6% increased Cast Speed"], o: { x: 324, y: 135, w: 27, h: 27 }, l: { x: -561.16, y: -454.71 }, t: 0 }, { id: 27308, n: "Gravepact", d: ["Minions deal 20% increased Damage", "+1 to Maximum number of Zombies", "+1 to Maximum number of Skeletons"], o: { x: 114, y: 580, w: 38, h: 38 }, l: { x: -657.16, y: -399.29 }, t: 1 }, { id: 54267, n: "Minion Damage", d: ["Minions deal 15% increased Damage"], o: { x: 135, y: 0, w: 27, h: 27 }, l: { x: -529.16, y: -399.29 }, t: 0 }, { id: 23185, n: "Minion Attack and Cast Speed", d: ["Minions have 6% increased Attack Speed", "Minions have 6% increased Cast Speed"], o: { x: 324, y: 135, w: 27, h: 27 }, l: { x: -625.16, y: -454.71 }, t: 0 }, { id: 4972, n: "Minion Life", d: ["Minions have 10% increased maximum Life"], o: { x: 108, y: 0, w: 27, h: 27 }, l: { x: -561.16, y: -343.86 }, t: 0 }, { id: 1609, n: "Minion Life Leech", d: ["Minions Leech 3% of Damage as Life"], o: { x: 135, y: 0, w: 27, h: 27 }, l: { x: -625.16, y: -343.86 }, t: 0 }, { id: 55949, n: "Bow Damage", d: ["12% increased Physical Damage with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 793.54, y: 1222.18 }, t: 0 }, { id: 9535, n: "Master Fletcher", d: ["24% increased Physical Damage with Bows"], o: { x: 152, y: 580, w: 38, h: 38 }, l: { x: 848.97, y: 1126.18 }, t: 1 }, { id: 43986, n: "Bow Damage and Attack Speed", d: ["6% increased Physical Damage with Bows", "2% increased Attack Speed with Bows"], o: { x: 81, y: 27, w: 27, h: 27 }, l: { x: 848.97, y: 1190.18 }, t: 0 }, { id: 34625, n: "Bow Accuracy", d: ["20% increased Accuracy Rating with Bows"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 738.12, y: 1126.18 }, t: 0 }, { id: 46106, n: "Bow Accuracy", d: ["20% increased Accuracy Rating with Bows"], o: { x: 594, y: 27, w: 27, h: 27 }, l: { x: 793.54, y: 1094.18 }, t: 0 }, { id: 24426, n: "Ghost Reaver", d: ["Life Leech applies to Energy Shield instead of Life"], o: { x: 265, y: 710, w: 53, h: 54 }, l: { x: 2340.15, y: -708.13 }, t: 2 }, { id: 444, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1147.06, y: 1026.12 }, t: 0 }, { id: 52904, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 955.06, y: 834.12 }, t: 0 }, { id: 42760, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -984.45, y: -1573.73 }, t: 0 }, { id: 26523, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1411.02, y: 415.4 }, t: 0 }, { id: 45035, n: "Attack Speed", d: ["8% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: 1011.56, y: 516.17 }, t: 0 }, { id: 39821, n: "Evasion and Life", d: ["18% increased Evasion Rating", "+12 to maximum Life"], o: { x: 27, y: 0, w: 27, h: 27 }, l: { x: 947.56, y: 627.02 }, t: 0 }, { id: 44134, n: "Dagger Critical Strike Chance and Multiplier", d: ["20% increased Critical Strike Chance with Daggers", "10% increased Critical Strike Multiplier with Daggers"], o: { x: 378, y: 135, w: 27, h: 27 }, l: { x: 2583.96, y: -790.94 }, t: 0 }, { id: 11489, n: "Dagger Critical Strike Chance and Multiplier", d: ["20% increased Critical Strike Chance with Daggers", "10% increased Critical Strike Multiplier with Daggers"], o: { x: 378, y: 135, w: 27, h: 27 }, l: { x: 2647.96, y: -808.08 }, t: 0 }, { id: 55414, n: "Dagger Damage", d: ["12% increased Physical Damage with Daggers"], o: { x: 54, y: 135, w: 27, h: 27 }, l: { x: 2473.11, y: -854.94 }, t: 0 }, { id: 36490, n: "Flaying", d: ["24% increased Physical Damage with Daggers", "10% increased Attack Speed with Daggers"], o: { x: 190, y: 580, w: 38, h: 38 }, l: { x: 2583.96, y: -1046.94 }, t: 1 }, { id: 32227, n: "Adder's Touch", d: ["Critical Strikes with Daggers Poison the Enemy", "40% increased Critical Strike Multiplier with Daggers"], o: { x: 228, y: 580, w: 38, h: 38 }, l: { x: 2694.81, y: -854.94 }, t: 1 }, { id: 47422, n: "Dagger Damage and Critical Strike Chance", d: ["10% increased Physical Damage with Daggers", "30% increased Critical Strike Chance with Daggers"], o: { x: 378, y: 135, w: 27, h: 27 }, l: { x: 2519.96, y: -808.08 }, t: 0 }, { id: 22261, n: "Dagger Damage and Attack Speed", d: ["10% increased Physical Damage with Daggers", "3% increased Attack Speed with Daggers"], o: { x: 405, y: 135, w: 27, h: 27 }, l: { x: 2455.96, y: -918.94 }, t: 0 }, { id: 56174, n: "Dagger Damage and Attack Speed", d: ["10% increased Physical Damage with Daggers", "3% increased Attack Speed with Daggers"], o: { x: 405, y: 135, w: 27, h: 27 }, l: { x: 2473.11, y: -982.94 }, t: 0 }, { id: 38864, n: "Dagger Damage and Attack Speed", d: ["10% increased Physical Damage with Daggers", "3% increased Attack Speed with Daggers"], o: { x: 405, y: 135, w: 27, h: 27 }, l: { x: 2519.96, y: -1029.79 }, t: 0 }, { id: 20228, n: "Mana Regeneration and Life", d: ["+14 to maximum Life", "20% increased Mana Regeneration Rate"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: -1000.96, y: -533.58 }, t: 0 }, { id: 7920, n: "Trap and Mine Laying Speed", d: ["6% increased Trap Throwing Speed", "6% increased Mine Laying Speed"], o: { x: 324, y: 108, w: 27, h: 27 }, l: { x: 1807.28, y: -1207.62 }, t: 0 }, { id: 60949, n: "Trap and Mine Damage", d: ["9% increased Trap Damage", "9% increased Mine Damage"], o: { x: 378, y: 108, w: 27, h: 27 }, l: { x: 1834.99, y: -1255.62 }, t: 0 }, { id: 46965, n: "Saboteur", d: ["20% increased Trap Damage", "20% increased Mine Damage", "Can set up to 1 additional trap", "Can set up to 1 additional remote mine"], o: { x: 266, y: 580, w: 38, h: 38 }, l: { x: 1862.7, y: -1207.62 }, t: 1 }, { id: 6580, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 409.95, y: 1440.94 }, t: 0 }, { id: 23471, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1109.13, y: 1810.45 }, t: 0 }, { id: 35556, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1188.32, y: -440.03 }, t: 0 }, { id: 39916, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1092.32, y: -465.75 }, t: 0 }, { id: 19858, n: "Herbalism", d: ["10% increased maximum Life", "20% increased Life Recovery from Flasks", "20% increased Flask Recovery Speed"], o: { x: 304, y: 580, w: 38, h: 38 }, l: { x: 2154.85, y: 900.3 }, t: 1 }, { id: 36221, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 2182.56, y: 948.3 }, t: 0 }, { id: 9206, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 2127.14, y: 948.3 }, t: 0 }, { id: 56066, n: "Wand Elemental Damage", d: ["8% increased Elemental Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: -977.4, y: -2084.42 }, t: 0 }, { id: 54043, n: "Wand Elemental Damage", d: ["8% increased Elemental Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: -881.4, y: -2028.99 }, t: 0 }, { id: 30926, n: "Wand Elemental Damage", d: ["8% increased Elemental Damage with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: -913.4, y: -2084.42 }, t: 0 }, { id: 63944, n: "Prism Weave", d: ["6% increased Attack Speed with Wands", "20% increased Elemental Damage with Wands"], o: { x: 342, y: 580, w: 38, h: 38 }, l: { x: -913.4, y: -1973.57 }, t: 1 }, { id: 20844, n: "Wand Attack Speed", d: ["4% increased Attack Speed with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: -977.4, y: -1973.57 }, t: 0 }, { id: 62217, n: "Wand Attack Speed", d: ["4% increased Attack Speed with Wands"], o: { x: 459, y: 0, w: 27, h: 27 }, l: { x: -1009.4, y: -2028.99 }, t: 0 }, { id: 45788, n: "Claw, Dagger and Sword Attack Speed", d: ["4% increased Attack Speed with Claws", "4% increased Attack Speed with Daggers", "4% increased Attack Speed with Swords"], o: { x: 432, y: 135, w: 27, h: 27 }, l: { x: 1302.16, y: 1865.48 }, t: 0 }, { id: 2121, n: "Claw, Dagger and Sword Attack Speed", d: ["4% increased Attack Speed with Claws", "4% increased Attack Speed with Daggers", "4% increased Attack Speed with Swords"], o: { x: 432, y: 135, w: 27, h: 27 }, l: { x: 1366.16, y: 1865.48 }, t: 0 }, { id: 57493, n: "Claw, Dagger and Sword Damage", d: ["12% increased Physical Damage with Claws", "12% increased Physical Damage with Daggers", "12% increased Physical Damage with Swords"], o: { x: 432, y: 135, w: 27, h: 27 }, l: { x: 1270.16, y: 1810.05 }, t: 0 }, { id: 40834, n: "Claw, Dagger and Sword Critical Strike Chance", d: ["25% increased Critical Strike Chance with Claws", "25% increased Critical Strike Chance with Daggers", "25% increased Critical Strike Chance with Swords"], o: { x: 432, y: 135, w: 27, h: 27 }, l: { x: 1334.16, y: 1746.05 }, t: 0 }, { id: 22248, n: "Deadly Dilettante", d: ["24% increased Physical Damage with Claws", "24% increased Physical Damage with Daggers", "24% increased Physical Damage with Swords"], o: { x: 380, y: 580, w: 38, h: 38 }, l: { x: 1398.16, y: 1810.05 }, t: 1 }, { id: 28859, n: "Reduced Mana Reservation", d: ["4% reduced Mana Reserved"], o: { x: 621, y: 0, w: 27, h: 27 }, l: { x: 1466.16, y: -1697.96 }, t: 0 }, { id: 55571, n: "Aura Effect", d: ["6% increased effect of Auras you Cast"], o: { x: 0, y: 27, w: 27, h: 27 }, l: { x: 1410.74, y: -1697.96 }, t: 0 }, { id: 12143, n: "Influence", d: ["14% increased effect of Auras you Cast"], o: { x: 418, y: 580, w: 38, h: 38 }, l: { x: 1438.45, y: -1649.96 }, t: 1 }, { id: 60440, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 1506.06, y: -1769.43 }, t: 0 }, { id: 46277, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 2382.02, y: -599.68 }, t: 0 }, { id: 22285, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1951.11, y: 814.79 }, t: 0 }, { id: 34510, n: "Bow Damage and Critical Strike Chance", d: ["10% increased Physical Damage with Bows", "10% increased Critical Strike Chance with Bows"], o: { x: 189, y: 81, w: 27, h: 27 }, l: { x: 953.02, y: 1719.81 }, t: 0 }, { id: 49459, n: "King of the Hill", d: ["80% increased Critical Strike Chance with Bows", "Knocks Back Enemies if you get a Critical Strike with a Bow"], o: { x: 456, y: 580, w: 38, h: 38 }, l: { x: 980.73, y: 1671.81 }, t: 1 }, { id: 8566, n: "Bow Damage and Critical Strike Chance", d: ["10% increased Physical Damage with Bows", "10% increased Critical Strike Chance with Bows"], o: { x: 189, y: 81, w: 27, h: 27 }, l: { x: 1008.45, y: 1719.81 }, t: 0 }, { id: 62021, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -567.16, y: 201.47 }, t: 0 }, { id: 65034, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -631.16, y: 218.62 }, t: 0 }, { id: 65167, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -456.31, y: 393.47 }, t: 0 }, { id: 15073, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -503.16, y: 218.62 }, t: 0 }, { id: 42583, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -456.31, y: 265.47 }, t: 0 }, { id: 13714, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -503.16, y: 440.32 }, t: 0 }, { id: 19939, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -439.16, y: 329.47 }, t: 0 }, { id: 55485, n: "Constitution", d: ["+20 to maximum Life", "14% increased maximum Life"], o: { x: 494, y: 580, w: 38, h: 38 }, l: { x: -678.01, y: 393.47 }, t: 1 }, { id: 15400, n: "Skittering Runes", d: ["12% increased Effect of your Curses"], o: { x: 532, y: 580, w: 38, h: 38 }, l: { x: -478.83, y: 32.72 }, t: 1 }, { id: 40126, n: "Curse Area of Effect", d: ["12% increased Radius of Curses"], o: { x: 54, y: 81, w: 27, h: 27 }, l: { x: -451.12, y: -15.28 }, t: 0 }, { id: 3359, n: "Curse Cast Speed", d: ["10% increased Cast Speed for Curses"], o: { x: 27, y: 27, w: 27, h: 27 }, l: { x: -506.54, y: -15.28 }, t: 0 }, { id: 42178, n: "Point Blank", d: ["Projectile Attacks deal up to 50% more Damage to targets at the start of their movement, dealing less Damage to targets as the projectile travels further"], o: { x: 318, y: 710, w: 53, h: 54 }, l: { x: 1646.08, y: 2038.55 }, t: 2 }, { id: 51923, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 641.53, y: 1400.06 }, t: 0 }, { id: 30679, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 2191.44, y: 1534.84 }, t: 0 }, { id: 43374, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -501.47, y: 870.51 }, t: 0 }, { id: 53225, n: "Dual Wield Attack Speed", d: ["4% increased Attack Speed while Dual Wielding"], o: { x: 243, y: 135, w: 27, h: 27 }, l: { x: 2266.24, y: -1268.21 }, t: 0 }, { id: 11784, n: "Gemini", d: ["2% additional Block Chance while Dual Wielding", "20% increased Physical Weapon Damage while Dual Wielding", "15% increased Accuracy Rating while Dual Wielding"], o: { x: 570, y: 580, w: 38, h: 38 }, l: { x: 2170.24, y: -1212.79 }, t: 1 }, { id: 33363, n: "Dual Wield Accuracy", d: ["16% increased Accuracy Rating while Dual Wielding"], o: { x: 27, y: 135, w: 27, h: 27 }, l: { x: 2202.24, y: -1268.21 }, t: 0 }, { id: 37884, n: "Dual Wield Block", d: ["2% additional Block Chance while Dual Wielding"], o: { x: 378, y: 27, w: 27, h: 27 }, l: { x: 2202.24, y: -1157.36 }, t: 0 }, { id: 60302, n: "Dual Wield Block", d: ["2% additional Block Chance while Dual Wielding"], o: { x: 378, y: 27, w: 27, h: 27 }, l: { x: 2266.24, y: -1157.36 }, t: 0 }, { id: 62108, n: "Life Leech", d: ["1% of Physical Attack Damage Leeched as Life"], o: { x: 459, y: 135, w: 27, h: 27 }, l: { x: -1587.9, y: 1481.83 }, t: 0 }, { id: 63422, n: "Lust for Carnage", d: ["2% of Physical Attack Damage Leeched as Life", "+2 Life gained for each Enemy hit by your Attacks", "+20 Life gained on Kill"], o: { x: 608, y: 580, w: 38, h: 38 }, l: { x: -1683.9, y: 1537.26 }, t: 1 }, { id: 28311, n: "Life Gain on Hit", d: ["+2 Life gained for each Enemy hit by your Attacks"], o: { x: 459, y: 135, w: 27, h: 27 }, l: { x: -1587.9, y: 1592.68 }, t: 0 }, { id: 40535, n: "Melee Damage", d: ["10% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -1281.06, y: 602.9 }, t: 0 }, { id: 30335, n: "Melee Damage", d: ["14% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -1217.06, y: 538.9 }, t: 0 }, { id: 32480, n: "Melee Damage", d: ["10% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -1153.06, y: 602.9 }, t: 0 }, { id: 7828, n: "Melee Attack Speed", d: ["5% increased Melee Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: -1217.06, y: 666.9 }, t: 0 }, { id: 56075, n: "Eldritch Battery", d: ["Converts all Energy Shield to Mana"], o: { x: 371, y: 710, w: 53, h: 54 }, l: { x: 946.29, y: -2292.38 }, t: 2 }, { id: 33310, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 860.47, y: -2144.29 }, t: 0 }, { id: 49978, n: "Dexterity", d: ["+10 to Dexterity"], o: { x: 351, y: 0, w: 27, h: 27 }, l: { x: 1054.04, y: -.31 }, t: 0 }, { id: 22315, n: "Mana and Mana Regeneration", d: ["8% increased maximum Mana", "10% increased Mana Regeneration Rate"], o: { x: 351, y: 81, w: 27, h: 27 }, l: { x: 235.2, y: -1280.42 }, t: 0 }, { id: 65203, n: "Mana and Mana Regeneration", d: ["8% increased maximum Mana", "10% increased Mana Regeneration Rate"], o: { x: 351, y: 81, w: 27, h: 27 }, l: { x: 179.78, y: -1248.42 }, t: 0 }, { id: 48514, n: "Mana and Mana Regeneration", d: ["8% increased maximum Mana", "10% increased Mana Regeneration Rate"], o: { x: 351, y: 81, w: 27, h: 27 }, l: { x: 235.2, y: -1344.42 }, t: 0 }, { id: 6949, n: "Energy Shield and Recovery", d: ["6% increased maximum Energy Shield", "10% faster start of Energy Shield Recharge"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 124.35, y: -1344.42 }, t: 0 }, { id: 19374, n: "Energy Shield", d: ["10% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 124.35, y: -1280.42 }, t: 0 }, { id: 55643, n: "Energy Shield", d: ["10% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 179.78, y: -1376.42 }, t: 0 }, { id: 39648, n: "Mana Regeneration and Life", d: ["4% increased maximum Life", "10% increased Mana Regeneration Rate"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: -724.26, y: -879.46 }, t: 0 }, { id: 17821, n: "Mana Regeneration and Life", d: ["4% increased maximum Life", "10% increased Mana Regeneration Rate"], o: { x: 0, y: 108, w: 27, h: 27 }, l: { x: -779.69, y: -879.46 }, t: 0 }, { id: 21330, n: "Quick Recovery", d: ["6% increased maximum Life", "20% increased Mana Regeneration Rate", "0.8% of Life Regenerated per Second"], o: { x: 646, y: 580, w: 38, h: 38 }, l: { x: -751.97, y: -927.46 }, t: 1 }, { id: 39211, n: "Melee Damage", d: ["12% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -214.92, y: 1297.81 }, t: 0 }, { id: 51856, n: "Melee Damage", d: ["10% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -118.92, y: 1353.24 }, t: 0 }, { id: 48513, n: "Melee Damage", d: ["12% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -182.92, y: 1353.24 }, t: 0 }, { id: 5612, n: "Physical Attack Damage", d: ["12% increased Physical Damage with Attacks"], o: { x: 27, y: 81, w: 27, h: 27 }, l: { x: -118.92, y: 1242.39 }, t: 0 }, { id: 34098, n: "Mind Over Matter", d: ["When Hit, 30% of Damage is taken from Mana before Life"], o: { x: 424, y: 710, w: 53, h: 54 }, l: { x: 626.49, y: 2279.93 }, t: 2 }, { id: 15711, n: "Blast Radius", d: ["8% increased Radius of Area Skills", "12% increased Area Damage"], o: { x: 0, y: 618, w: 38, h: 38 }, l: { x: 154.49, y: -1780 }, t: 1 }, { id: 7444, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: -1769.86, y: -1957.6 }, t: 0 }, { id: 32345, n: "Alacrity", d: ["+30 to Dexterity"], o: { x: 304, y: 276, w: 38, h: 38 }, l: { x: 976.92, y: -1674.34 }, t: 1 }, { id: 6108, n: "Sword Critical Strike Multiplier", d: ["15% increased Critical Strike Multiplier with Swords"], o: { x: 108, y: 81, w: 27, h: 27 }, l: { x: 2266.05, y: 1769 }, t: 0 }, { id: 1698, n: "Sword Critical Strike Multiplier", d: ["15% increased Critical Strike Multiplier with Swords"], o: { x: 108, y: 81, w: 27, h: 27 }, l: { x: 2234.05, y: 1713.58 }, t: 0 }, { id: 22645, n: "Sword Critical Strike Chance", d: ["25% increased Critical Strike Chance with Swords"], o: { x: 108, y: 81, w: 27, h: 27 }, l: { x: 2353.48, y: 1681.58 }, t: 0 }, { id: 29856, n: "Sword Critical Strike Chance", d: ["25% increased Critical Strike Chance with Swords"], o: { x: 108, y: 81, w: 27, h: 27 }, l: { x: 2266.05, y: 1658.15 }, t: 0 }, { id: 1568, n: "Fatal Blade", d: ["10% increased Physical Damage with Swords", "60% increased Critical Strike Chance with Swords", "20% increased Critical Strike Multiplier with Swords"], o: { x: 38, y: 618, w: 38, h: 38 }, l: { x: 2330.05, y: 1769 }, t: 1 }, { id: 5696, n: "Power Charge Duration", d: ["18% increased Power Charge Duration"], o: { x: 405, y: 108, w: 27, h: 27 }, l: { x: -2140.13, y: -1008.87 }, t: 0 }, { id: 15868, n: "Life and Armour", d: ["6% increased Armour", "4% increased maximum Life"], o: { x: 459, y: 81, w: 27, h: 27 }, l: { x: -1148.04, y: 942.81 }, t: 0 }, { id: 36047, n: "Life and Armour", d: ["12% increased Armour", "4% increased maximum Life"], o: { x: 459, y: 81, w: 27, h: 27 }, l: { x: -1212.04, y: 878.81 }, t: 0 }, { id: 63048, n: "Life and Armour", d: ["6% increased Armour", "4% increased maximum Life"], o: { x: 459, y: 81, w: 27, h: 27 }, l: { x: -1276.04, y: 942.81 }, t: 0 }, { id: 50264, n: "Life Regeneration", d: ["0.8% of Life Regenerated per Second"], o: { x: 135, y: 27, w: 27, h: 27 }, l: { x: -1212.04, y: 1006.81 }, t: 0 }, { id: 40409, n: "Mine Damage", d: ["9% increased Mine Damage"], o: { x: 378, y: 108, w: 27, h: 27 }, l: { x: 1267.94, y: -1684.01 }, t: 0 }, { id: 4546, n: "Mine Damage", d: ["9% increased Mine Damage"], o: { x: 378, y: 108, w: 27, h: 27 }, l: { x: 1267.94, y: -1748.01 }, t: 0 }, { id: 4995, n: "Mine Damage and Duration", d: ["6% increased Mine Damage", "20% increased Mine Duration"], o: { x: 351, y: 108, w: 27, h: 27 }, l: { x: 1157.09, y: -1748.01 }, t: 0 }, { id: 9055, n: "Volatile Mines", d: ["20% increased Mine Damage", "Detonating Mines is Instant"], o: { x: 76, y: 618, w: 38, h: 38 }, l: { x: 1212.52, y: -1652.01 }, t: 1 }, { id: 41027, n: "Mine Laying Speed", d: ["6% increased Mine Laying Speed"], o: { x: 324, y: 108, w: 27, h: 27 }, l: { x: 1212.52, y: -1780.01 }, t: 0 }, { id: 3726, n: "Additional Mines", d: ["Can set up to 1 additional remote mine"], o: { x: 81, y: 135, w: 27, h: 27 }, l: { x: 1157.09, y: -1684.01 }, t: 0 }, { id: 12809, n: "Berserking", d: ["12% increased Attack Speed"], o: { x: 114, y: 618, w: 38, h: 38 }, l: { x: -386.82, y: 922.69 }, t: 1 }, { id: 29292, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: -359.11, y: 874.69 }, t: 0 }, { id: 27718, n: "Attack Speed", d: ["3% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: -414.53, y: 874.69 }, t: 0 }, { id: 32210, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 355.79, y: -1232.01 }, t: 0 }, { id: 21678, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 189.52, y: -1136.01 }, t: 0 }, { id: 49412, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1309.7, y: 1129.86 }, t: 0 }, { id: 10197, n: "Life Regeneration", d: ["0.6% of Life Regenerated per Second"], o: { x: 135, y: 27, w: 27, h: 27 }, l: { x: -213.45, y: 2027.52 }, t: 0 }, { id: 1325, n: "Golem's Blood", d: ["5% increased maximum Life", "1% of Life Regenerated per Second"], o: { x: 152, y: 618, w: 38, h: 38 }, l: { x: -332.88, y: 1995.52 }, t: 1 }, { id: 29933, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -236.88, y: 1940.09 }, t: 0 }, { id: 31471, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -300.88, y: 1940.09 }, t: 0 }, { id: 24651, n: "Life", d: ["5% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: -300.88, y: 2050.95 }, t: 0 }, { id: 58603, n: "Freeze and Chill Duration", d: ["30% increased Chill Duration on Enemies", "20% increased Freeze Duration on Enemies"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 1643.17, y: -1875.49 }, t: 0 }, { id: 58198, n: "Fingers of Frost", d: ["Enemies Become Chilled as they Unfreeze", "5% chance to Freeze"], o: { x: 190, y: 618, w: 38, h: 38 }, l: { x: 1619.74, y: -1962.91 }, t: 1 }, { id: 14209, n: "Cold Damage", d: ["8% increased Cold Damage"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 1555.74, y: -1852.06 }, t: 0 }, { id: 21170, n: "Freeze Chance", d: ["5% chance to Freeze"], o: { x: 513, y: 0, w: 27, h: 27 }, l: { x: 1532.32, y: -1939.49 }, t: 0 }, { id: 62214, n: "Shield Block and Shield Defences", d: ["1% additional Chance to Block with Shields", "25% increased Defences from equipped Shield"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: -2066.05, y: -358.24 }, t: 0 }, { id: 64426, n: "Shield Block and Shield Defences", d: ["1% additional Chance to Block with Shields", "25% increased Defences from equipped Shield"], o: { x: 270, y: 81, w: 27, h: 27 }, l: { x: -2002.05, y: -358.24 }, t: 0 }, { id: 20832, n: "Sanctuary", d: ["3% additional Chance to Block with Shields", "+12% Elemental Resistances while holding a Shield"], o: { x: 342, y: 352, w: 38, h: 38 }, l: { x: -2098.05, y: -302.82 }, t: 1 }, { id: 20349, n: "Elemental Resistance with Shields", d: ["+8% Elemental Resistances while holding a Shield"], o: { x: 486, y: 135, w: 27, h: 27 }, l: { x: -2066.05, y: -247.39 }, t: 0 }, { id: 32854, n: "Elemental Resistance with Shields", d: ["+8% Elemental Resistances while holding a Shield"], o: { x: 486, y: 135, w: 27, h: 27 }, l: { x: -2002.05, y: -247.39 }, t: 0 }, { id: 1593, n: "Shield Defences", d: ["40% increased Defences from equipped Shield"], o: { x: 297, y: 0, w: 27, h: 27 }, l: { x: -1970.05, y: -302.82 }, t: 0 }, { id: 5591, n: "Energy Shield", d: ["8% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 1469.27, y: -2042.15 }, t: 0 }, { id: 34478, n: "Energy Shield", d: ["8% increased maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 1441.56, y: -2090.15 }, t: 0 }, { id: 22115, n: "Infused Shield", d: ["15% more maximum Energy Shield"], o: { x: 228, y: 618, w: 38, h: 38 }, l: { x: 1496.99, y: -2090.15 }, t: 1 }, { id: 50422, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1763.31, y: .65 }, t: 0 }, { id: 4367, n: "Intelligence", d: ["+10 to Intelligence"], o: { x: 81, y: 0, w: 27, h: 27 }, l: { x: 4.4, y: -2153.72 }, t: 0 }, { id: 42800, n: "Strength", d: ["+10 to Strength"], o: { x: 54, y: 0, w: 27, h: 27 }, l: { x: -1500.25, y: 1380.88 }, t: 0 }, { id: 57264, n: "Spell Damage", d: ["16% increased Spell Damage"], o: { x: 270, y: 27, w: 27, h: 27 }, l: { x: -64.71, y: -1122.41 }, t: 0 }, { id: 57226, n: "Energy Shield and Mana Regeneration", d: ["25% increased Mana Regeneration Rate", "+14 to maximum Energy Shield"], o: { x: 324, y: 54, w: 27, h: 27 }, l: { x: 63.29, y: -1122.41 }, t: 0 }, { id: 59009, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 1326, y: -646.32 }, t: 0 }, { id: 1891, n: "Mana", d: ["8% increased maximum Mana"], o: { x: 594, y: 0, w: 27, h: 27 }, l: { x: 1326, y: -757.18 }, t: 0 }, { id: 25058, n: "Blood Siphon", d: ["12% increased maximum Life", "+5 Life gained on Kill", "+20 to Strength"], o: { x: 266, y: 618, w: 38, h: 38 }, l: { x: 1422, y: -701.75 }, t: 1 }, { id: 9877, n: "Life", d: ["6% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 1390, y: -646.32 }, t: 0 }, { id: 21835, n: "Life", d: ["6% increased maximum Life"], o: { x: 135, y: 54, w: 27, h: 27 }, l: { x: 1390, y: -757.18 }, t: 0 }, { id: 52157, n: "Soul Siphon", d: ["+10 to maximum Mana", "18% increased maximum Mana", "+5 Mana Gained on Kill"], o: { x: 304, y: 618, w: 38, h: 38 }, l: { x: 1294, y: -701.75 }, t: 1 }, { id: 60169, n: "Two Handed Melee Damage", d: ["12% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -1704.91, y: 474.75 }, t: 0 }, { id: 2454, n: "Two Handed Melee Damage", d: ["12% increased Physical Damage with Two Handed Melee Weapons"], o: { x: 324, y: 81, w: 27, h: 27 }, l: { x: -1594.06, y: 538.75 }, t: 0 }, { id: 14606, n: "Butchery", d: ["20% increased Physical Damage with Two Handed Melee Weapons", "4% increased Attack Speed with Two Handed Melee Weapons", "+20 to Strength"], o: { x: 342, y: 618, w: 38, h: 38 }, l: { x: -1640.91, y: 491.9 }, t: 1 }, { id: 39786, n: "One Handed Melee Damage", d: ["12% increased Physical Damage with One Handed Melee Weapons"], o: { x: 270, y: 54, w: 27, h: 27 }, l: { x: -1815.76, y: 666.75 }, t: 0 }, { id: 10282, n: "One Handed Melee Damage", d: ["12% increased Physical Damage with One Handed Melee Weapons"], o: { x: 270, y: 54, w: 27, h: 27 }, l: { x: -1704.91, y: 730.75 }, t: 0 }, { id: 35663, n: "Strong Arm", d: ["20% increased Physical Damage with One Handed Melee Weapons", "4% increased Attack Speed with One Handed Melee Weapons", "+20 to Strength"], o: { x: 380, y: 618, w: 38, h: 38 }, l: { x: -1768.91, y: 713.6 }, t: 1 }, { id: 38777, n: "Melee Damage", d: ["12% increased Melee Physical Damage"], o: { x: 594, y: 54, w: 27, h: 27 }, l: { x: -1576.91, y: 602.75 }, t: 0 }, { id: 34130, n: "Attack Speed", d: ["4% increased Attack Speed"], o: { x: 54, y: 54, w: 27, h: 27 }, l: { x: -1832.91, y: 602.75 }, t: 0 }] }, {}], 7: [function(e, t) { t.exports = [{ start_node: 14363, end_node: 45171, start: 0, delta: 1.0472, radius: 70, x: 273.128, y: 1997.1584, type: 1 }, { start_node: 49109, end_node: 21435, start: 4.1888, delta: 1.0472, radius: 70, x: 273.128, y: 1997.1584, type: 1 }, { start_node: 49109, end_node: 17201, start_x: 241.13, start_y: 1941.73, end_x: 168.47, end_y: 1810.59, type: 0 }, { start_node: 17566, end_node: 49109, start: 2.618, delta: 1.5708, radius: 70, x: 273.128, y: 1997.1584, type: 1 }, { start_node: 45171, end_node: 17566, start: 1.0472, delta: 1.5708, radius: 70, x: 273.128, y: 1997.1584, type: 1 }, { start_node: 21435, end_node: 14363, start: -1.0472, delta: 1.0472, radius: 70, x: 273.128, y: 1997.1584, type: 1 }, { start_node: 15405, end_node: 50862, start_x: -1410.05, start_y: -3.98, end_x: -980.69, end_y: -3.7, type: 0 }, { start_node: 15405, end_node: 19711, start_x: -1410.05, start_y: -3.98, end_x: -1409.52, end_y: -218.01, type: 0 }, { start_node: 32710, end_node: 10153, start_x: 978.6, start_y: -1549.36, end_x: 1086.91, end_y: -1605.25, type: 0 }, { start_node: 32710, end_node: 32345, start_x: 978.6, start_y: -1549.36, end_x: 976.92, end_y: -1674.34, type: 0 }, { start_node: 32710, end_node: 4502, start_x: 978.6, start_y: -1549.36, end_x: 1474.27, end_y: -1271.96, type: 0 }, { start_node: 32710, end_node: 12189, start_x: 978.6, start_y: -1549.36, end_x: 1075.32, end_y: -1372.37, type: 0 }, { start_node: 25763, end_node: 14056, start_x: -788.21, start_y: 1809.42, end_x: -1038.16, end_y: 1808.21, type: 0 }, { start_node: 50338, end_node: 38662, start_x: 1464.25, start_y: 507.25, end_x: 1417.62, end_y: 322.38, type: 0 }, { start_node: 50338, end_node: 56341, start_x: 1464.25, start_y: 507.25, end_x: 1633.4, end_y: 510.55, type: 0 }, { start_node: 32024, end_node: 27929, start_x: 29.84, start_y: -1550.04, end_x: 267.02, end_y: -1439.98, type: 0 }, { start_node: 60554, end_node: 32024, start: .5236, delta: 2.0944, radius: 35, x: 2.1251, y: -1566.037, type: 1 }, { start_node: 60554, end_node: 11420, start_x: -25.59, start_y: -1550.04, end_x: -260.83, end_y: -1436.88, type: 0 }, { start_node: 27611, end_node: 32024, start: -1.5708, delta: 2.0944, radius: 35, x: 2.1251, y: -1566.037, type: 1 }, { start_node: 27611, end_node: 60554, start: 2.618, delta: 2.0944, radius: 35, x: 2.1251, y: -1566.037, type: 1 }, { start_node: 27611, end_node: 19635, start_x: 2.13, start_y: -1598.04, end_x: 1.78, end_y: -1824.54, type: 0 }, { start_node: 23199, end_node: 6363, start_x: 1113.71, start_y: 2259.04, end_x: 1110.4, end_y: 2170.38, type: 0 }, { start_node: 23199, end_node: 17833, start: 3.1416, delta: 1.5708, radius: 70, x: 1113.7078, y: 2323.035, type: 1 }, { start_node: 60887, end_node: 23199, start: -1.5708, delta: 1.0472, radius: 70, x: 1113.7078, y: 2323.035, type: 1 }, { start_node: 25796, end_node: 60887, start: -.5236, delta: 1.0472, radius: 70, x: 1113.7078, y: 2323.035, type: 1 }, { start_node: 17833, end_node: 26294, start: 1.5708, delta: 1.5708, radius: 70, x: 1113.7078, y: 2323.035, type: 1 }, { start_node: 26294, end_node: 25796, start: .5236, delta: 1.0472, radius: 70, x: 1113.7078, y: 2323.035, type: 1 }, { start_node: 33508, end_node: 36881, start: 3.1416, delta: 1.0472, radius: 70, x: 2.4317, y: 293.8779, type: 1 }, { start_node: 36881, end_node: 35503, start: 2.0944, delta: 1.0472, radius: 70, x: 2.4317, y: 293.8779, type: 1 }, { start_node: 36881, end_node: 18791, start_x: -61.57, start_y: 293.88, end_x: 2.43, end_y: 293.88, type: 0 }, { start_node: 35503, end_node: 19144, start_x: -29.57, start_y: 349.3, end_x: -1.28, end_y: 522.25, type: 0 }, { start_node: 43162, end_node: 23122, start: 0, delta: 1.0472, radius: 70, x: 2.4317, y: 293.8779, type: 1 }, { start_node: 39773, end_node: 43162, start: -1.0472, delta: 1.0472, radius: 70, x: 2.4317, y: 293.8779, type: 1 }, { start_node: 20310, end_node: 7903, start: 2.618, delta: .5236, radius: 130, x: 2.4317, y: 293.8779, type: 1 }, { start_node: 45887, end_node: 20310, start: 3.1416, delta: .5236, radius: 130, x: 2.4317, y: 293.8779, type: 1 }, { start_node: 18791, end_node: 43162, start_x: 2.43, start_y: 293.88, end_x: 66.43, end_y: 293.88, type: 0 }, { start_node: 61306, end_node: 60942, start_x: 1272.8, start_y: 1027.64, end_x: 1945.92, end_y: 1029.72, type: 0 }, { start_node: 61306, end_node: 63139, start_x: 1272.8, start_y: 1027.64, end_x: 1112.68, end_y: 1139.43, type: 0 }, { start_node: 61306, end_node: 59146, start_x: 1272.8, start_y: 1027.64, end_x: 1417.04, end_y: 1161.99, type: 0 }, { start_node: 61306, end_node: 54142, start: 0, delta: 1.5708, radius: 190, x: 1272.8024, y: 835.6352, type: 1 }, { start_node: 54142, end_node: 9373, start_x: 1464.8, start_y: 835.64, end_x: 1399.64, end_y: 731.78, type: 0 }, { start_node: 54142, end_node: 32117, start_x: 1464.8, start_y: 835.64, end_x: 1463.64, end_y: 731.78, type: 0 }, { start_node: 54142, end_node: 61411, start_x: 1464.8, start_y: 835.64, end_x: 1648.3, end_y: 786.74, type: 0 }, { start_node: 54142, end_node: 30894, start_x: 1464.8, start_y: 835.64, end_x: 1648.3, end_y: 914.74, type: 0 }, { start_node: 47251, end_node: 42760, start_x: -834.47, start_y: -1312.03, end_x: -984.45, end_y: -1573.73, type: 0 }, { start_node: 47251, end_node: 52730, start_x: -834.47, start_y: -1312.03, end_x: -699.66, end_y: -1384.1, type: 0 }, { start_node: 59928, end_node: 63723, start_x: -2228.35, start_y: 408.47, end_x: -2228.22, end_y: 767.09, type: 0 }, { start_node: 26471, end_node: 40743, start_x: 2543.94, start_y: 386.03, end_x: 2599.37, end_y: 418.03, type: 0 }, { start_node: 26471, end_node: 15837, start_x: 2543.94, start_y: 386.03, end_x: 2488.51, end_y: 354.03, type: 0 }, { start_node: 55307, end_node: 15837, start: 2.0944, delta: 1.5708, radius: 70, x: 2543.9404, y: 386.0268, type: 1 }, { start_node: 64241, end_node: 40743, start: -1.0472, delta: 1.5708, radius: 70, x: 2543.9404, y: 386.0268, type: 1 }, { start_node: 40743, end_node: 55307, start: .5236, delta: 1.5708, radius: 70, x: 2543.9404, y: 386.0268, type: 1 }, { start_node: 15837, end_node: 64241, start: 3.6652, delta: 1.5708, radius: 70, x: 2543.9404, y: 386.0268, type: 1 }, { start_node: 32942, end_node: 41476, start: 2.618, delta: 1.0472, radius: 70, x: 1007.3838, y: -1837.1746, type: 1 }, { start_node: 64239, end_node: 22407, start: -1.5708, delta: 1.0472, radius: 70, x: 1007.3838, y: -1837.1746, type: 1 }, { start_node: 64239, end_node: 49605, start_x: 1062.81, start_y: -1869.17, end_x: 1210.98, end_y: -1948.22, type: 0 }, { start_node: 64239, end_node: 64612, start: -.5236, delta: 1.0472, radius: 70, x: 1007.3838, y: -1837.1746, type: 1 }, { start_node: 22407, end_node: 32942, start: 3.6652, delta: 1.0472, radius: 70, x: 1007.3838, y: -1837.1746, type: 1 }, { start_node: 19098, end_node: 41476, start: 1.5708, delta: 1.0472, radius: 70, x: 1007.3838, y: -1837.1746, type: 1 }, { start_node: 64612, end_node: 19098, start: .5236, delta: 1.0472, radius: 70, x: 1007.3838, y: -1837.1746, type: 1 }, { start_node: 49254, end_node: 17735, start_x: -1370.56, start_y: -956.03, end_x: -1283.87, end_y: -1089.38, type: 0 }, { start_node: 40291, end_node: 24050, start_x: 1671.21, start_y: -834.35, end_x: 1807.77, end_y: -905.77, type: 0 }, { start_node: 42161, end_node: 58766, start: 1.5708, delta: 1.0472, radius: 130, x: 1560.3598, y: -898.3466, type: 1 }, { start_node: 58766, end_node: 40291, start: .5236, delta: 1.0472, radius: 130, x: 1560.3598, y: -898.3466, type: 1 }, { start_node: 766, end_node: 57220, start_x: 1432.36, start_y: -898.35, end_x: 1560.36, end_y: -898.35, type: 0 }, { start_node: 17091, end_node: 24050, start_x: 1688.36, start_y: -898.35, end_x: 1807.77, end_y: -905.77, type: 0 }, { start_node: 57220, end_node: 17091, start_x: 1560.36, start_y: -898.35, end_x: 1688.36, end_y: -898.35, type: 0 }, { start_node: 5022, end_node: 42129, start: 3.6652, delta: 1.0472, radius: 130, x: 1560.3598, y: -898.3466, type: 1 }, { start_node: 32307, end_node: 24050, start_x: 1671.21, start_y: -962.35, end_x: 1807.77, end_y: -905.77, type: 0 }, { start_node: 42129, end_node: 32307, start: -1.5708, delta: 1.0472, radius: 130, x: 1560.3598, y: -898.3466, type: 1 }, { start_node: 2913, end_node: 30733, start_x: -962.86, start_y: 1332.95, end_x: -788.64, end_y: 1369.45, type: 0 }, { start_node: 20010, end_node: 23471, start_x: 759.3, start_y: 1810.64, end_x: 1109.13, end_y: 1810.45, type: 0 }, { start_node: 20010, end_node: 10661, start_x: 759.3, start_y: 1810.64, end_x: 758.11, end_y: 1610.96, type: 0 }, { start_node: 11397, end_node: 29937, start_x: 490.31, start_y: 2040.51, end_x: 562.7, end_y: 2170.9, type: 0 }, { start_node: 6615, end_node: 44339, start: .5236, delta: 2.0944, radius: 35, x: 1475.8174, y: -1166.79, type: 1 }, { start_node: 37781, end_node: 4502, start_x: 1475.82, start_y: -1198.79, end_x: 1474.27, end_y: -1271.96, type: 0 }, { start_node: 44339, end_node: 37781, start: -1.5708, delta: 2.0944, radius: 35, x: 1475.8174, y: -1166.79, type: 1 }, { start_node: 34907, end_node: 51786, start_x: 760.93, start_y: 142.09, end_x: 760.07, end_y: -5.31, type: 0 }, { start_node: 28424, end_node: 34907, start: 3.6652, delta: 2.0944, radius: 35, x: 788.6406, y: 158.0906, type: 1 }, { start_node: 45067, end_node: 28424, start: -.5236, delta: 2.0944, radius: 35, x: 788.6406, y: 158.0906, type: 1 }, { start_node: 21974, end_node: 25831, start: 1.5708, delta: 1.0472, radius: 70, x: -2073.527, y: -1703.6236, type: 1 }, { start_node: 25831, end_node: 5935, start: .5236, delta: 1.0472, radius: 70, x: -2073.527, y: -1703.6236, type: 1 }, { start_node: 5935, end_node: 9392, start: -.5236, delta: 1.0472, radius: 70, x: -2073.527, y: -1703.6236, type: 1 }, { start_node: 9392, end_node: 17059, start: -1.5708, delta: 1.0472, radius: 70, x: -2073.527, y: -1703.6236, type: 1 }, { start_node: 32932, end_node: 21974, start: 2.618, delta: 1.0472, radius: 70, x: -2073.527, y: -1703.6236, type: 1 }, { start_node: 17059, end_node: 32932, start: 3.6652, delta: 1.0472, radius: 70, x: -2073.527, y: -1703.6236, type: 1 }, { start_node: 11334, end_node: 15549, start: 3.1416, delta: 1.0472, radius: 190, x: 1144.826, y: -767.5126, type: 1 }, { start_node: 11334, end_node: 17788, start_x: 952.83, start_y: -767.51, end_x: 939.66, end_y: -617.41, type: 0 }, { start_node: 15549, end_node: 20546, start_x: 1048.83, start_y: -933.79, end_x: 1263.49, end_y: -1058.12, type: 0 }, { start_node: 61547, end_node: 29619, start: 4.1888, delta: 1.0472, radius: 70, x: 1144.826, y: -767.5126, type: 1 }, { start_node: 5607, end_node: 61547, start: 3.1416, delta: 1.0472, radius: 70, x: 1144.826, y: -767.5126, type: 1 }, { start_node: 29619, end_node: 35894, start_x: 1176.83, start_y: -822.94, end_x: 1349.32, end_y: -899.16, type: 0 }, { start_node: 64501, end_node: 46136, start: 1.0472, delta: 1.0472, radius: 70, x: 1144.826, y: -767.5126, type: 1 }, { start_node: 46136, end_node: 58649, start: 0, delta: 1.0472, radius: 70, x: 1144.826, y: -767.5126, type: 1 }, { start_node: 58649, end_node: 35894, start_x: 1208.83, start_y: -767.51, end_x: 1349.32, end_y: -899.16, type: 0 }, { start_node: 1461, end_node: 49900, start_x: 2384.18, start_y: .07, end_x: 2379.65, end_y: -316.18, type: 0 }, { start_node: 1461, end_node: 54307, start_x: 2384.18, start_y: .07, end_x: 2587.57, end_y: 1.13, type: 0 }, { start_node: 44202, end_node: 29353, start_x: -2228.39, start_y: -249.34, end_x: -2228.59, end_y: -4.91, type: 0 }, { start_node: 44202, end_node: 23027, start_x: -2228.39, start_y: -249.34, end_x: -2228.48, end_y: -475.81, type: 0 }, { start_node: 32514, end_node: 12948, start: 4.1888, delta: .5236, radius: 130, x: 2630.74, y: 681.1462, type: 1 }, { start_node: 32514, end_node: 42720, start: -1.5708, delta: 1.0472, radius: 130, x: 2630.74, y: 681.1462, type: 1 }, { start_node: 23912, end_node: 39665, start: 1.5708, delta: .5236, radius: 130, x: 2630.74, y: 681.1462, type: 1 }, { start_node: 12948, end_node: 55750, start: 3.6652, delta: .5236, radius: 130, x: 2630.74, y: 681.1462, type: 1 }, { start_node: 39665, end_node: 2185, start: 2.0944, delta: .5236, radius: 130, x: 2630.74, y: 681.1462, type: 1 }, { start_node: 38149, end_node: 55750, start: 3.1416, delta: .5236, radius: 130, x: 2630.74, y: 681.1462, type: 1 }, { start_node: 38149, end_node: 2185, start: 2.618, delta: .5236, radius: 130, x: 2630.74, y: 681.1462, type: 1 }, { start_node: 38149, end_node: 20807, start_x: 2502.74, start_y: 681.15, end_x: 2380.81, end_y: 679.09, type: 0 }, { start_node: 51881, end_node: 23912, start: .5236, delta: 1.0472, radius: 130, x: 2630.74, y: 681.1462, type: 1 }, { start_node: 6359, end_node: 21413, start: 2.0944, delta: 1.5708, radius: 70, x: -1103.8506, y: 168.5547, type: 1 }, { start_node: 3167, end_node: 7335, start: -1.0472, delta: 1.5708, radius: 70, x: -1103.8506, y: 168.5547, type: 1 }, { start_node: 21413, end_node: 3167, start: .5236, delta: 1.5708, radius: 70, x: -1103.8506, y: 168.5547, type: 1 }, { start_node: 7335, end_node: 6359, start: 3.6652, delta: 1.5708, radius: 70, x: -1103.8506, y: 168.5547, type: 1 }, { start_node: 7335, end_node: 50862, start_x: -1071.85, start_y: 113.13, end_x: -980.69, end_y: -3.7, type: 0 }, { start_node: 27203, end_node: 49236, start_x: 402.28, start_y: -1675.84, end_x: 403.48, end_y: -1583.31, type: 0 }, { start_node: 48778, end_node: 30733, start_x: -650.49, start_y: 1401.62, end_x: -788.64, end_y: 1369.45, type: 0 }, { start_node: 59606, end_node: 8938, start_x: 1896.45, start_y: .81, end_x: 1651.62, end_y: -.73, type: 0 }, { start_node: 59606, end_node: 39718, start_x: 1896.45, start_y: .81, end_x: 1895.85, end_y: 160.67, type: 0 }, { start_node: 59606, end_node: 60180, start_x: 1896.45, start_y: .81, end_x: 2013.85, end_y: 65.75, type: 0 }, { start_node: 59606, end_node: 52714, start_x: 1896.45, start_y: .81, end_x: 2009.44, end_y: -62.49, type: 0 }, { start_node: 59606, end_node: 1461, start_x: 1896.45, start_y: .81, end_x: 2384.18, end_y: .07, type: 0 }, { start_node: 15027, end_node: 56589, start_x: 1049.11, start_y: 1460.98, end_x: 1109.64, end_y: 1379.48, type: 0 }, { start_node: 54657, end_node: 34157, start: 1.0472, delta: 2.0944, radius: 70, x: -454.195, y: -997.576, type: 1 }, { start_node: 34157, end_node: 9432, start: -1.0472, delta: 2.0944, radius: 70, x: -454.195, y: -997.576, type: 1 }, { start_node: 31819, end_node: 46726, start: 4.1888, delta: 2.0944, radius: 70, x: -1616.7176, y: -577.7102, type: 1 }, { start_node: 31819, end_node: 26866, start_x: -1552.72, start_y: -577.71, end_x: -1409.57, end_y: -577.54, type: 0 }, { start_node: 46726, end_node: 60704, start_x: -1648.72, start_y: -633.14, end_x: -1708.97, end_y: -712.07, type: 0 }, { start_node: 38516, end_node: 31819, start: 0, delta: 2.0944, radius: 70, x: -1616.7176, y: -577.7102, type: 1 }, { start_node: 38516, end_node: 46726, start: 2.0944, delta: 2.0944, radius: 70, x: -1616.7176, y: -577.7102, type: 1 }, { start_node: 58968, end_node: 35296, start: .5236, delta: 1.0472, radius: 70, x: 1052.8622, y: -166.5544, type: 1 }, { start_node: 37663, end_node: 58968, start: -.5236, delta: 1.0472, radius: 70, x: 1052.8622, y: -166.5544, type: 1 }, { start_node: 1427, end_node: 18707, start: 3.6652, delta: 1.0472, radius: 70, x: 1052.8622, y: -166.5544, type: 1 }, { start_node: 51235, end_node: 1427, start: 2.618, delta: 1.0472, radius: 70, x: 1052.8622, y: -166.5544, type: 1 }, { start_node: 35296, end_node: 51235, start: 1.5708, delta: 1.0472, radius: 70, x: 1052.8622, y: -166.5544, type: 1 }, { start_node: 35296, end_node: 49978, start_x: 1052.86, start_y: -102.55, end_x: 1054.04, end_y: -.31, type: 0 }, { start_node: 18707, end_node: 37663, start: -1.5708, delta: 1.0472, radius: 70, x: 1052.8622, y: -166.5544, type: 1 }, { start_node: 40907, end_node: 42800, start_x: -1441.03, start_y: 1313.28, end_x: -1500.25, end_y: 1380.88, type: 0 }, { start_node: 18182, end_node: 55414, start_x: 2384.23, start_y: -798.66, end_x: 2473.11, end_y: -854.94, type: 0 }, { start_node: 29937, end_node: 6363, start_x: 562.7, start_y: 2170.9, end_x: 1110.4, end_y: 2170.38, type: 0 }, { start_node: 29937, end_node: 34098, start_x: 562.7, start_y: 2170.9, end_x: 626.49, end_y: 2279.93, type: 0 }, { start_node: 33296, end_node: 1957, start_x: -110.37, start_y: -1190.56, end_x: -129.83, end_y: -1276.58, type: 0 }, { start_node: 33296, end_node: 36774, start_x: -110.37, start_y: -1190.56, end_x: -185.26, end_y: -1244.58, type: 0 }, { start_node: 21075, end_node: 38805, start: 3.6652, delta: 2.0944, radius: 35, x: 125.5501, y: -1677.225, type: 1 }, { start_node: 21075, end_node: 15711, start_x: 153.26, start_y: -1693.23, end_x: 154.49, end_y: -1780, type: 0 }, { start_node: 21075, end_node: 38900, start: -.5236, delta: 2.0944, radius: 35, x: 125.5501, y: -1677.225, type: 1 }, { start_node: 38805, end_node: 19635, start_x: 97.84, start_y: -1693.23, end_x: 1.78, end_y: -1824.54, type: 0 }, { start_node: 58449, end_node: 26523, start_x: -1412.32, start_y: 602.96, end_x: -1411.02, end_y: 415.4, type: 0 }, { start_node: 58449, end_node: 39768, start_x: -1412.32, start_y: 602.96, end_x: -1444.62, end_y: 714.55, type: 0 }, { start_node: 33545, end_node: 18033, start_x: 489.36, start_y: -276.11, end_x: 421.3, end_y: -397.14, type: 0 }, { start_node: 33545, end_node: 28574, start_x: 489.36, start_y: -276.11, end_x: 593.8, end_y: -101.31, type: 0 }, { start_node: 45593, end_node: 53114, start: 1.0472, delta: 1.0472, radius: 70, x: 2168.0748, y: 160.8259, type: 1 }, { start_node: 12801, end_node: 45593, start: 2.0944, delta: 1.0472, radius: 70, x: 2168.0748, y: 160.8259, type: 1 }, { start_node: 53114, end_node: 25067, start: 0, delta: 1.0472, radius: 70, x: 2168.0748, y: 160.8259, type: 1 }, { start_node: 25067, end_node: 31315, start: -1.0472, delta: 1.0472, radius: 70, x: 2168.0748, y: 160.8259, type: 1 }, { start_node: 26270, end_node: 49178, start_x: -2229.1, start_y: -1060.96, end_x: -2227.99, end_y: -769.22, type: 0 }, { start_node: 26270, end_node: 22757, start_x: -2229.1, start_y: -1060.96, end_x: -2342.63, end_y: -1130.72, type: 0 }, { start_node: 24203, end_node: 33725, start: -.5236, delta: 1.5708, radius: 70, x: 2546.1634, y: 192.7147, type: 1 }, { start_node: 24203, end_node: 56807, start: 1.0472, delta: 1.5708, radius: 70, x: 2546.1634, y: 192.7147, type: 1 }, { start_node: 56807, end_node: 59016, start: 2.618, delta: 1.5708, radius: 70, x: 2546.1634, y: 192.7147, type: 1 }, { start_node: 56807, end_node: 36287, start_x: 2490.74, start_y: 224.71, end_x: 2380.71, end_y: 288.37, type: 0 }, { start_node: 59016, end_node: 33725, start: 4.1888, delta: 1.5708, radius: 70, x: 2546.1634, y: 192.7147, type: 1 }, { start_node: 40609, end_node: 22090, start: 0, delta: .5236, radius: 130, x: 302.097, y: -2488.3274, type: 1 }, { start_node: 22090, end_node: 36412, start: .5236, delta: .5236, radius: 130, x: 302.097, y: -2488.3274, type: 1 }, { start_node: 5972, end_node: 19501, start_x: 302.1, start_y: -2360.33, end_x: 302.03, end_y: -2226.65, type: 0 }, { start_node: 5972, end_node: 40705, start_x: 302.1, start_y: -2360.33, end_x: 302.1, end_y: -2424.33, type: 0 }, { start_node: 8833, end_node: 40609, start: -.5236, delta: .5236, radius: 130, x: 302.097, y: -2488.3274, type: 1 }, { start_node: 36412, end_node: 5972, start: 1.0472, delta: .5236, radius: 130, x: 302.097, y: -2488.3274, type: 1 }, { start_node: 40705, end_node: 53732, start: 1.5708, delta: 1.0472, radius: 70, x: 302.097, y: -2488.3274, type: 1 }, { start_node: 53732, end_node: 36226, start: 2.618, delta: 1.0472, radius: 70, x: 302.097, y: -2488.3274, type: 1 }, { start_node: 36226, end_node: 21460, start: 3.6652, delta: 1.0472, radius: 70, x: 302.097, y: -2488.3274, type: 1 }, { start_node: 58541, end_node: 26456, start: 2.0944, delta: 1.5708, radius: 70, x: -1196.8898, y: 1471.4512, type: 1 }, { start_node: 58541, end_node: 487, start_x: -1228.89, start_y: 1526.88, end_x: -1282.03, end_y: 1581.55, type: 0 }, { start_node: 6633, end_node: 58541, start: 1.0472, delta: 1.0472, radius: 70, x: -1196.8898, y: 1471.4512, type: 1 }, { start_node: 24772, end_node: 24721, start: -1.0472, delta: 1.0472, radius: 70, x: -1196.8898, y: 1471.4512, type: 1 }, { start_node: 24772, end_node: 6633, start: 0, delta: 1.0472, radius: 70, x: -1196.8898, y: 1471.4512, type: 1 }, { start_node: 24721, end_node: 26456, start: 3.6652, delta: 1.5708, radius: 70, x: -1196.8898, y: 1471.4512, type: 1 }, { start_node: 25732, end_node: 1696, start: .5236, delta: 2.0944, radius: 35, x: 255.2281, y: 401.6372, type: 1 }, { start_node: 1696, end_node: 63933, start: -1.5708, delta: 2.0944, radius: 35, x: 255.2281, y: 401.6372, type: 1 }, { start_node: 50570, end_node: 31931, start_x: -1581.5, start_y: -445.18, end_x: -1764.39, end_y: -440.41, type: 0 }, { start_node: 8948, end_node: 27415, start_x: 489.84, start_y: -1439.58, end_x: 538.99, end_y: -1537.38, type: 0 }, { start_node: 8948, end_node: 27659, start_x: 489.84, start_y: -1439.58, end_x: 619.3, end_y: -1438.91, type: 0 }, { start_node: 44967, end_node: 11497, start_x: 959.47, start_y: 1254.61, end_x: 790.33, end_y: 1375.97, type: 0 }, { start_node: 15085, end_node: 13807, start: 0, delta: .5236, radius: 130, x: 374.6017, y: 2398.0736, type: 1 }, { start_node: 49547, end_node: 8544, start_x: 374.6, start_y: 2270.07, end_x: 371.54, end_y: 2171.4, type: 0 }, { start_node: 49547, end_node: 33089, start: -1.5708, delta: 1.0472, radius: 130, x: 374.6017, y: 2398.0736, type: 1 }, { start_node: 49547, end_node: 56231, start: 3.6652, delta: 1.0472, radius: 130, x: 374.6017, y: 2398.0736, type: 1 }, { start_node: 13807, end_node: 33089, start: -.5236, delta: .5236, radius: 130, x: 374.6017, y: 2398.0736, type: 1 }, { start_node: 56231, end_node: 2392, start: 3.1416, delta: .5236, radius: 130, x: 374.6017, y: 2398.0736, type: 1 }, { start_node: 2392, end_node: 54268, start: 2.618, delta: .5236, radius: 130, x: 374.6017, y: 2398.0736, type: 1 }, { start_node: 52407, end_node: 54645, start: .5236, delta: 1.0472, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 54645, end_node: 45378, start: 1.5708, delta: .5236, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 31462, end_node: 29061, start: -.5236, delta: .5236, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 25597, end_node: 31462, start: -1.5708, delta: 1.0472, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 18135, end_node: 25597, start: 4.1888, delta: .5236, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 12439, end_node: 18135, start: 3.6652, delta: .5236, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 14730, end_node: 12439, start: 2.618, delta: 1.0472, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 45378, end_node: 55993, start_x: -2550.58, start_y: -658.26, end_x: -2550.35, end_y: -769.64, type: 0 }, { start_node: 45378, end_node: 14730, start: 2.0944, delta: .5236, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 29061, end_node: 52407, start: 0, delta: .5236, radius: 130, x: -2486.5794, y: -769.1124, type: 1 }, { start_node: 29061, end_node: 49178, start_x: -2358.58, start_y: -769.11, end_x: -2227.99, end_y: -769.22, type: 0 }, { start_node: 22313, end_node: 18135, start_x: -2454.58, start_y: -824.54, end_x: -2550.58, end_y: -879.96, type: 0 }, { start_node: 22313, end_node: 29061, start_x: -2454.58, start_y: -824.54, end_x: -2358.58, end_y: -769.11, type: 0 }, { start_node: 11431, end_node: 19140, start: 1.0472, delta: 1.5708, radius: 70, x: -1786.2242, y: 1373.225, type: 1 }, { start_node: 11431, end_node: 3644, start_x: -1841.65, start_y: 1405.23, end_x: -1918.97, end_y: 1478.19, type: 0 }, { start_node: 63150, end_node: 30825, start: 4.1888, delta: 1.5708, radius: 70, x: -1786.2242, y: 1373.225, type: 1 }, { start_node: 19140, end_node: 63150, start: -.5236, delta: 1.5708, radius: 70, x: -1786.2242, y: 1373.225, type: 1 }, { start_node: 30825, end_node: 11431, start: 2.618, delta: 1.5708, radius: 70, x: -1786.2242, y: 1373.225, type: 1 }, { start_node: 10808, end_node: 43374, start_x: -498.15, start_y: 1052.21, end_x: -501.47, end_y: 870.51, type: 0 }, { start_node: 50862, end_node: 46910, start_x: -980.69, start_y: -3.7, end_x: -760.47, end_y: -6.45, type: 0 }, { start_node: 7388, end_node: 32710, start_x: 831.1, start_y: -1313.11, end_x: 978.6, end_y: -1549.36, type: 0 }, { start_node: 7388, end_node: 37671, start_x: 831.1, start_y: -1313.11, end_x: 626.67, end_y: -954.66, type: 0 }, { start_node: 9355, end_node: 15631, start_x: -1763.49, start_y: -302.53, end_x: -1762.86, end_y: -163.38, type: 0 }, { start_node: 35851, end_node: 60592, start: -1.5708, delta: 2.0944, radius: 35, x: 2035.1432, y: -448.3696, type: 1 }, { start_node: 35851, end_node: 47484, start: .5236, delta: 2.0944, radius: 35, x: 2035.1432, y: -448.3696, type: 1 }, { start_node: 60592, end_node: 13885, start_x: 2035.14, start_y: -480.37, end_x: 1980.93, end_y: -604.04, type: 0 }, { start_node: 13361, end_node: 22702, start: 1.0472, delta: 1.0472, radius: 70, x: -1295.2794, y: -1811.5816, type: 1 }, { start_node: 64395, end_node: 13361, start: 2.0944, delta: 1.0472, radius: 70, x: -1295.2794, y: -1811.5816, type: 1 }, { start_node: 17806, end_node: 64395, start: 3.1416, delta: 1.0472, radius: 70, x: -1295.2794, y: -1811.5816, type: 1 }, { start_node: 22702, end_node: 24229, start: 0, delta: 1.0472, radius: 70, x: -1295.2794, y: -1811.5816, type: 1 }, { start_node: 24229, end_node: 4977, start: -1.0472, delta: 1.0472, radius: 70, x: -1295.2794, y: -1811.5816, type: 1 }, { start_node: 4977, end_node: 17806, start: 4.1888, delta: 1.0472, radius: 70, x: -1295.2794, y: -1811.5816, type: 1 }, { start_node: 4977, end_node: 36678, start_x: -1263.28, start_y: -1867.01, end_x: -1210.75, end_y: -1957.78, type: 0 }, { start_node: 19897, end_node: 4247, start: -1.5708, delta: 1.0472, radius: 70, x: -674.9674, y: -2385.2448, type: 1 }, { start_node: 19897, end_node: 34144, start: 3.6652, delta: 1.0472, radius: 70, x: -674.9674, y: -2385.2448, type: 1 }, { start_node: 4247, end_node: 17412, start: -.5236, delta: 1.0472, radius: 70, x: -674.9674, y: -2385.2448, type: 1 }, { start_node: 17412, end_node: 52412, start: .5236, delta: 1.0472, radius: 70, x: -674.9674, y: -2385.2448, type: 1 }, { start_node: 52412, end_node: 43716, start: 1.5708, delta: 1.0472, radius: 70, x: -674.9674, y: -2385.2448, type: 1 }, { start_node: 52412, end_node: 63447, start_x: -674.97, start_y: -2321.24, end_x: -672.98, end_y: -2223.84, type: 0 }, { start_node: 43716, end_node: 34144, start: 2.618, delta: 1.0472, radius: 70, x: -674.9674, y: -2385.2448, type: 1 }, { start_node: 7374, end_node: 15631, start_x: -1851.61, start_y: -163.22, end_x: -1762.86, end_y: -163.38, type: 0 }, { start_node: 3533, end_node: 11088, start: 2.618, delta: 1.5708, radius: 70, x: -1907.0338, y: -131.2174, type: 1 }, { start_node: 11088, end_node: 7374, start: 4.1888, delta: 1.5708, radius: 70, x: -1907.0338, y: -131.2174, type: 1 }, { start_node: 65108, end_node: 3533, start: 1.0472, delta: 1.5708, radius: 70, x: -1907.0338, y: -131.2174, type: 1 }, { start_node: 918, end_node: 28221, start: 1.0472, delta: 1.0472, radius: 70, x: 249.0653, y: -152.1668, type: 1 }, { start_node: 918, end_node: 15144, start_x: 217.07, start_y: -96.74, end_x: 129.09, end_y: 2.17, type: 0 }, { start_node: 28221, end_node: 24643, start: 0, delta: 1.0472, radius: 70, x: 249.0653, y: -152.1668, type: 1 }, { start_node: 28221, end_node: 39028, start_x: 281.07, start_y: -96.74, end_x: 249.07, end_y: -152.17, type: 0 }, { start_node: 24643, end_node: 33545, start_x: 313.07, start_y: -152.17, end_x: 489.36, end_y: -276.11, type: 0 }, { start_node: 45456, end_node: 33545, start_x: 281.07, start_y: -207.59, end_x: 489.36, end_y: -276.11, type: 0 }, { start_node: 56153, end_node: 11688, start: 3.1416, delta: 1.0472, radius: 70, x: 249.0653, y: -152.1668, type: 1 }, { start_node: 11688, end_node: 45456, start: 4.1888, delta: 1.0472, radius: 70, x: 249.0653, y: -152.1668, type: 1 }, { start_node: 34062, end_node: 13344, start: 1.0472, delta: .5236, radius: 130, x: 249.0653, y: -152.1668, type: 1 }, { start_node: 13344, end_node: 8742, start: .5236, delta: .5236, radius: 130, x: 249.0653, y: -152.1668, type: 1 }, { start_node: 39028, end_node: 11688, start_x: 249.07, start_y: -152.17, end_x: 217.07, end_y: -207.59, type: 0 }, { start_node: 49806, end_node: 6580, start_x: 343.65, start_y: 1237.38, end_x: 409.95, end_y: 1440.94, type: 0 }, { start_node: 63649, end_node: 49806, start: -1.5708, delta: 1.0472, radius: 190, x: 177.3684, y: 1333.382, type: 1 }, { start_node: 60398, end_node: 47251, start_x: -612.72, start_y: -942.78, end_x: -834.47, end_y: -1312.03, type: 0 }, { start_node: 60398, end_node: 10490, start_x: -612.72, start_y: -942.78, end_x: -419.62, end_y: -589.82, type: 0 }, { start_node: 60398, end_node: 54657, start_x: -612.72, start_y: -942.78, end_x: -518.19, end_y: -997.58, type: 0 }, { start_node: 21941, end_node: 40653, start_x: -1529.9, start_y: 1129.46, end_x: -1764.06, end_y: 1133.83, type: 0 }, { start_node: 17421, end_node: 29104, start: -1.5708, delta: 2.0944, radius: 35, x: 1751.4656, y: 1660.2542, type: 1 }, { start_node: 17421, end_node: 22266, start_x: 1779.18, start_y: 1676.25, end_x: 1946.54, end_y: 1678.97, type: 0 }, { start_node: 51440, end_node: 29104, start: 2.618, delta: 2.0944, radius: 35, x: 1751.4656, y: 1660.2542, type: 1 }, { start_node: 50472, end_node: 63067, start: 2.618, delta: 2.0944, radius: 35, x: 440.7696, y: -1929.7046, type: 1 }, { start_node: 50472, end_node: 11551, start_x: 413.06, start_y: -1913.7, end_x: 372.71, end_y: -1825.38, type: 0 }, { start_node: 63067, end_node: 22972, start: -1.5708, delta: 2.0944, radius: 35, x: 440.7696, y: -1929.7046, type: 1 }, { start_node: 22420, end_node: 10575, start_x: -1851.83, start_y: -902.19, end_x: -1956.15, end_y: -901.62, type: 0 }, { start_node: 60732, end_node: 54694, start: -1.5708, delta: 2.0944, radius: 35, x: -1824.1216, y: -918.1902, type: 1 }, { start_node: 54694, end_node: 22420, start: 2.618, delta: 2.0944, radius: 35, x: -1824.1216, y: -918.1902, type: 1 }, { start_node: 54694, end_node: 58402, start_x: -1824.12, start_y: -950.19, end_x: -1764.15, end_y: -1093.62, type: 0 }, { start_node: 46408, end_node: 1571, start_x: 1815.77, start_y: -514.73, end_x: 1613.09, end_y: -553.62, type: 0 }, { start_node: 46408, end_node: 42623, start_x: 1815.77, start_y: -514.73, end_x: 1613.09, end_y: -489.62, type: 0 }, { start_node: 31080, end_node: 2913, start_x: -1218.29, start_y: 1282.79, end_x: -962.86, end_y: 1332.95, type: 0 }, { start_node: 64709, end_node: 22266, start_x: 1626.41, start_y: 1383.03, end_x: 1946.54, end_y: 1678.97, type: 0 }, { start_node: 64709, end_node: 26528, start_x: 1626.41, start_y: 1383.03, end_x: 1553.73, end_y: 1508.38, type: 0 }, { start_node: 64709, end_node: 46871, start_x: 1626.41, start_y: 1383.03, end_x: 1700.06, end_y: 1254.09, type: 0 }, { start_node: 63282, end_node: 29353, start_x: -2229.24, start_y: 161.4, end_x: -2228.59, end_y: -4.91, type: 0 }, { start_node: 63282, end_node: 59928, start_x: -2229.24, start_y: 161.4, end_x: -2228.35, end_y: 408.47, type: 0 }, { start_node: 23066, end_node: 11397, start_x: 437.69, start_y: 1948.54, end_x: 490.31, end_y: 2040.51, type: 0 }, { start_node: 24383, end_node: 49412, start_x: -1416.04, start_y: 942.22, end_x: -1309.7, end_y: 1129.86, type: 0 }, { start_node: 24383, end_node: 5152, start_x: -1416.04, start_y: 942.22, end_x: -1380.62, end_y: 825.4, type: 0 }, { start_node: 19287, end_node: 61875, start: 2.618, delta: 2.0944, radius: 35, x: 706.534, y: -168.4529, type: 1 }, { start_node: 49379, end_node: 19287, start: -1.5708, delta: 2.0944, radius: 35, x: 706.534, y: -168.4529, type: 1 }, { start_node: 19320, end_node: 14914, start_x: 2749.44, start_y: -48.97, end_x: 2872.55, end_y: -49.95, type: 0 }, { start_node: 56744, end_node: 12401, start: 1.5708, delta: 2.0944, radius: 35, x: 2721.7272, y: -32.972, type: 1 }, { start_node: 56744, end_node: 19320, start: 3.6652, delta: 2.0944, radius: 35, x: 2721.7272, y: -32.972, type: 1 }, { start_node: 39841, end_node: 63447, start_x: -1039.51, start_y: -2219.69, end_x: -672.98, end_y: -2223.84, type: 0 }, { start_node: 20807, end_node: 12412, start_x: 2380.81, start_y: 679.09, end_x: 2380.59, end_y: 1067.55, type: 0 }, { start_node: 21301, end_node: 39861, start_x: 1367.11, start_y: -122.48, end_x: 1363.42, end_y: -.3, type: 0 }, { start_node: 21301, end_node: 4011, start_x: 1367.11, start_y: -122.48, end_x: 1367.16, end_y: -314.62, type: 0 }, { start_node: 11605, end_node: 59902, start: 3.1416, delta: .5236, radius: 130, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 1405, end_node: 59902, start: 2.618, delta: .5236, radius: 130, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 39447, end_node: 27285, start: -.5236, delta: .5236, radius: 130, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 27285, end_node: 53257, start: -1.5708, delta: 1.0472, radius: 130, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 37504, end_node: 39447, start: 0, delta: .5236, radius: 130, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 53257, end_node: 11605, start: 3.6652, delta: 1.0472, radius: 130, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 19396, end_node: 26097, start: 3.1416, delta: 1.5708, radius: 70, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 19396, end_node: 8451, start: 1.5708, delta: 1.5708, radius: 70, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 26097, end_node: 47996, start: -1.5708, delta: 1.5708, radius: 70, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 26097, end_node: 53257, start_x: 1647.3, start_y: -197.59, end_x: 1647.3, end_y: -261.59, type: 0 }, { start_node: 47996, end_node: 8451, start: 0, delta: 1.5708, radius: 70, x: 1647.3038, y: -133.5928, type: 1 }, { start_node: 8451, end_node: 8938, start_x: 1647.3, start_y: -69.59, end_x: 1651.62, end_y: -.73, type: 0 }, { start_node: 56982, end_node: 38922, start: 3.6652, delta: 1.0472, radius: 70, x: -1252.233, y: 1934.0442, type: 1 }, { start_node: 57923, end_node: 46756, start: 0, delta: 1.5708, radius: 70, x: -1252.233, y: 1934.0442, type: 1 }, { start_node: 46756, end_node: 17038, start: 1.5708, delta: 1.0472, radius: 70, x: -1252.233, y: 1934.0442, type: 1 }, { start_node: 46756, end_node: 34400, start_x: -1252.23, start_y: 1998.04, end_x: -1252.15, end_y: 2171.22, type: 0 }, { start_node: 38922, end_node: 57923, start: -1.5708, delta: 1.5708, radius: 70, x: -1252.233, y: 1934.0442, type: 1 }, { start_node: 17038, end_node: 56982, start: 2.618, delta: 1.0472, radius: 70, x: -1252.233, y: 1934.0442, type: 1 }, { start_node: 59650, end_node: 65203, start_x: 108.24, start_y: -1195.2, end_x: 179.78, end_y: -1248.42, type: 0 }, { start_node: 59650, end_node: 19374, start_x: 108.24, start_y: -1195.2, end_x: 124.35, end_y: -1280.42, type: 0 }, { start_node: 59650, end_node: 57226, start_x: 108.24, start_y: -1195.2, end_x: 63.29, end_y: -1122.41, type: 0 }, { start_node: 31703, end_node: 36858, start_x: 1881.51, start_y: -1742.2, end_x: 1800.38, end_y: -1602.78, type: 0 }, { start_node: 8938, end_node: 39861, start_x: 1651.62, start_y: -.73, end_x: 1363.42, end_y: -.3, type: 0 }, { start_node: 10221, end_node: 6446, start_x: -1763.84, start_y: 270.45, end_x: -1764.59, end_y: 410.66, type: 0 }, { start_node: 10221, end_node: 32906, start_x: -1763.84, start_y: 270.45, end_x: -1620.52, end_y: 270.96, type: 0 }, { start_node: 9788, end_node: 5875, start: -.5236, delta: 2.0944, radius: 35, x: 1103.0298, y: -1356.3682, type: 1 }, { start_node: 5875, end_node: 12189, start: 1.5708, delta: 2.0944, radius: 35, x: 1103.0298, y: -1356.3682, type: 1 }, { start_node: 34906, end_node: 46910, start_x: -761.57, start_y: -98.21, end_x: -760.47, end_y: -6.45, type: 0 }, { start_node: 41026, end_node: 34906, start: 1.5708, delta: 2.0944, radius: 70, x: -761.5656, y: -162.2144, type: 1 }, { start_node: 24256, end_node: 41026, start: 3.6652, delta: 2.0944, radius: 70, x: -761.5656, y: -162.2144, type: 1 }, { start_node: 21167, end_node: 44362, start: 4.1888, delta: 1.0472, radius: 70, x: 2519.97, y: -1213.1994, type: 1 }, { start_node: 44362, end_node: 26620, start: -1.0472, delta: 1.0472, radius: 70, x: 2519.97, y: -1213.1994, type: 1 }, { start_node: 56671, end_node: 47949, start: 1.0472, delta: 1.0472, radius: 70, x: 2519.97, y: -1213.1994, type: 1 }, { start_node: 47949, end_node: 21167, start: 2.0944, delta: 2.0944, radius: 70, x: 2519.97, y: -1213.1994, type: 1 }, { start_node: 26620, end_node: 56671, start: 0, delta: 1.0472, radius: 70, x: 2519.97, y: -1213.1994, type: 1 }, { start_node: 31961, end_node: 63282, start_x: -2339.62, start_y: 156.64, end_x: -2229.24, end_y: 161.4, type: 0 }, { start_node: 49605, end_node: 32710, start_x: 1210.98, start_y: -1948.22, end_x: 978.6, end_y: -1549.36, type: 0 }, { start_node: 49605, end_node: 60440, start_x: 1210.98, start_y: -1948.22, end_x: 1506.06, end_y: -1769.43, type: 0 }, { start_node: 49605, end_node: 34882, start_x: 1210.98, start_y: -1948.22, end_x: 1013.11, end_y: -2054.13, type: 0 }, { start_node: 49605, end_node: 41027, start_x: 1210.98, start_y: -1948.22, end_x: 1212.52, end_y: -1780.01, type: 0 }, { start_node: 6237, end_node: 15599, start: 0, delta: 1.0472, radius: 70, x: -1420.9378, y: -767.1554, type: 1 }, { start_node: 6237, end_node: 44529, start: -1.0472, delta: 1.0472, radius: 70, x: -1420.9378, y: -767.1554, type: 1 }, { start_node: 44529, end_node: 49254, start_x: -1388.94, start_y: -822.58, end_x: -1370.56, end_y: -956.03, type: 0 }, { start_node: 41472, end_node: 61471, start: 2.0944, delta: 1.0472, radius: 70, x: -1420.9378, y: -767.1554, type: 1 }, { start_node: 61471, end_node: 26866, start_x: -1452.94, start_y: -711.73, end_x: -1409.57, end_y: -577.54, type: 0 }, { start_node: 1203, end_node: 41472, start: 3.1416, delta: 1.0472, radius: 70, x: -1420.9378, y: -767.1554, type: 1 }, { start_node: 1203, end_node: 49254, start_x: -1452.94, start_y: -822.58, end_x: -1370.56, end_y: -956.03, type: 0 }, { start_node: 40927, end_node: 15365, start: 0, delta: 2.0944, radius: 70, x: -1609.0264, y: -955.206, type: 1 }, { start_node: 40927, end_node: 61308, start: 4.1888, delta: 2.0944, radius: 70, x: -1609.0264, y: -955.206, type: 1 }, { start_node: 40927, end_node: 49254, start_x: -1545.03, start_y: -955.21, end_x: -1370.56, end_y: -956.03, type: 0 }, { start_node: 15365, end_node: 61308, start: 2.0944, delta: 2.0944, radius: 70, x: -1609.0264, y: -955.206, type: 1 }, { start_node: 15365, end_node: 39483, start_x: -1641.03, start_y: -899.78, end_x: -1708.97, end_y: -822.92, type: 0 }, { start_node: 44624, end_node: 31604, start: -1.0472, delta: 1.5708, radius: 70, x: -900.6836, y: 2006.6622, type: 1 }, { start_node: 44624, end_node: 25763, start_x: -868.68, start_y: 1951.24, end_x: -788.21, end_y: 1809.42, type: 0 }, { start_node: 26023, end_node: 5065, start: 2.0944, delta: 1.0472, radius: 70, x: -900.6836, y: 2006.6622, type: 1 }, { start_node: 31604, end_node: 26023, start: .5236, delta: 1.5708, radius: 70, x: -900.6836, y: 2006.6622, type: 1 }, { start_node: 65131, end_node: 44624, start: 4.1888, delta: 1.0472, radius: 70, x: -900.6836, y: 2006.6622, type: 1 }, { start_node: 5065, end_node: 65131, start: 3.1416, delta: 1.0472, radius: 70, x: -900.6836, y: 2006.6622, type: 1 }, { start_node: 19144, end_node: 16167, start_x: -1.28, start_y: 522.25, end_x: 194.24, end_y: 527.15, type: 0 }, { start_node: 19144, end_node: 23122, start_x: -1.28, start_y: 522.25, end_x: 34.43, end_y: 349.3, type: 0 }, { start_node: 57278, end_node: 34245, start: 2.618, delta: 2.0944, radius: 70, x: -143.8859, y: -1947.0592, type: 1 }, { start_node: 16971, end_node: 34245, start: -1.5708, delta: 2.0944, radius: 70, x: -143.8859, y: -1947.0592, type: 1 }, { start_node: 4502, end_node: 3656, start_x: 1474.27, start_y: -1271.96, end_x: 1806.45, end_y: -1087.42, type: 0 }, { start_node: 56029, end_node: 42760, start_x: -1091.71, start_y: -1641.42, end_x: -984.45, end_y: -1573.73, type: 0 }, { start_node: 2094, end_node: 60803, start_x: 1043.4, start_y: 835.29, end_x: 1135.19, end_y: 808.92, type: 0 }, { start_node: 2094, end_node: 720, start_x: 1043.4, start_y: 835.29, end_x: 1135.19, end_y: 872.92, type: 0 }, { start_node: 60704, end_node: 22498, start_x: -1708.97, start_y: -712.07, end_x: -1800.05, end_y: -633.33, type: 0 }, { start_node: 60704, end_node: 33435, start: 2.0944, delta: 1.0472, radius: 70, x: -1676.9666, y: -767.4936, type: 1 }, { start_node: 33435, end_node: 60472, start_x: -1740.97, start_y: -767.49, end_x: -1951.71, end_y: -768.08, type: 0 }, { start_node: 57715, end_node: 60704, start: 0, delta: 2.0944, radius: 70, x: -1676.9666, y: -767.4936, type: 1 }, { start_node: 57715, end_node: 39483, start: 4.1888, delta: 2.0944, radius: 70, x: -1676.9666, y: -767.4936, type: 1 }, { start_node: 57715, end_node: 41472, start_x: -1612.97, start_y: -767.49, end_x: -1484.94, end_y: -767.16, type: 0 }, { start_node: 39483, end_node: 60732, start_x: -1708.97, start_y: -822.92, end_x: -1796.41, end_y: -902.19, type: 0 }, { start_node: 39483, end_node: 33435, start: 3.1416, delta: 1.0472, radius: 70, x: -1676.9666, y: -767.4936, type: 1 }, { start_node: 57266, end_node: 38023, start: 2.618, delta: 1.0472, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 30547, end_node: 20966, start: -1.0472, delta: 1.0472, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 15163, end_node: 30547, start: -1.5708, delta: .5236, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 15163, end_node: 40645, start: 4.1888, delta: .5236, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 16703, end_node: 8500, start: 1.5708, delta: .5236, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 16703, end_node: 57266, start: 2.0944, delta: .5236, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 40645, end_node: 38023, start: 3.6652, delta: .5236, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 46127, end_node: 8500, start: 1.0472, delta: .5236, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 20966, end_node: 46127, start: 0, delta: 1.0472, radius: 130, x: -2447.1088, y: 407.5348, type: 1 }, { start_node: 20966, end_node: 59928, start_x: -2319.11, start_y: 407.53, end_x: -2228.35, end_y: 408.47, type: 0 }, { start_node: 65159, end_node: 31520, start: -1.0472, delta: 1.0472, radius: 70, x: -862.4974, y: 174.7654, type: 1 }, { start_node: 31520, end_node: 63635, start: 0, delta: 1.0472, radius: 70, x: -862.4974, y: 174.7654, type: 1 }, { start_node: 4300, end_node: 65159, start: 4.1888, delta: 1.0472, radius: 70, x: -862.4974, y: 174.7654, type: 1 }, { start_node: 4300, end_node: 50862, start_x: -894.5, start_y: 119.34, end_x: -980.69, end_y: -3.7, type: 0 }, { start_node: 11190, end_node: 4300, start: 3.1416, delta: 1.0472, radius: 70, x: -862.4974, y: 174.7654, type: 1 }, { start_node: 35910, end_node: 11190, start: 2.0944, delta: 1.0472, radius: 70, x: -862.4974, y: 174.7654, type: 1 }, { start_node: 63635, end_node: 35910, start: 1.0472, delta: 1.0472, radius: 70, x: -862.4974, y: 174.7654, type: 1 }, { start_node: 6764, end_node: 40366, start: 3.6652, delta: 1.0472, radius: 190, x: -1388.8316, y: -1377.0516, type: 1 }, { start_node: 40366, end_node: 42760, start_x: -1388.83, start_y: -1569.05, end_x: -984.45, end_y: -1573.73, type: 0 }, { start_node: 49178, end_node: 6712, start_x: -2227.99, start_y: -769.22, end_x: -2147.87, end_y: -738.26, type: 0 }, { start_node: 56149, end_node: 29870, start: .5236, delta: 1.0472, radius: 70, x: 1190.6122, y: 840.921, type: 1 }, { start_node: 720, end_node: 56149, start: 1.5708, delta: 1.0472, radius: 70, x: 1190.6122, y: 840.921, type: 1 }, { start_node: 6542, end_node: 94, start: -1.5708, delta: 1.0472, radius: 70, x: 1190.6122, y: 840.921, type: 1 }, { start_node: 60803, end_node: 6542, start: 3.6652, delta: 1.0472, radius: 70, x: 1190.6122, y: 840.921, type: 1 }, { start_node: 29870, end_node: 54142, start_x: 1246.04, start_y: 872.92, end_x: 1464.8, end_y: 835.64, type: 0 }, { start_node: 94, end_node: 54142, start_x: 1246.04, start_y: 808.92, end_x: 1464.8, end_y: 835.64, type: 0 }, { start_node: 42804, end_node: 49308, start: 1.5708, delta: 2.0944, radius: 35, x: 2193.5044, y: -780.995, type: 1 }, { start_node: 63228, end_node: 18182, start_x: 2221.22, start_y: -797, end_x: 2384.23, end_y: -798.66, type: 0 }, { start_node: 63228, end_node: 42804, start: -.5236, delta: 2.0944, radius: 35, x: 2193.5044, y: -780.995, type: 1 }, { start_node: 49308, end_node: 63228, start: 3.6652, delta: 2.0944, radius: 35, x: 2193.5044, y: -780.995, type: 1 }, { start_node: 23083, end_node: 41970, start_x: -2453.48, start_y: -1194.72, end_x: -2564.33, end_y: -1258.72, type: 0 }, { start_node: 22757, end_node: 49939, start: -1.0472, delta: 1.5708, radius: 70, x: -2398.0546, y: -1162.7164, type: 1 }, { start_node: 49939, end_node: 23083, start: 3.6652, delta: 1.5708, radius: 70, x: -2398.0546, y: -1162.7164, type: 1 }, { start_node: 10771, end_node: 22757, start: .5236, delta: 1.5708, radius: 70, x: -2398.0546, y: -1162.7164, type: 1 }, { start_node: 10771, end_node: 23083, start: 2.0944, delta: 1.5708, radius: 70, x: -2398.0546, y: -1162.7164, type: 1 }, { start_node: 40362, end_node: 25260, start: .5236, delta: 2.0944, radius: 35, x: 2190.0008, y: -616.3372, type: 1 }, { start_node: 40362, end_node: 27788, start: 2.618, delta: 2.0944, radius: 35, x: 2190.0008, y: -616.3372, type: 1 }, { start_node: 25260, end_node: 46277, start_x: 2217.71, start_y: -600.34, end_x: 2382.02, end_y: -599.68, type: 0 }, { start_node: 27788, end_node: 25260, start: -1.5708, delta: 2.0944, radius: 35, x: 2190.0008, y: -616.3372, type: 1 }, { start_node: 38662, end_node: 1529, start_x: 1417.62, start_y: 322.38, end_x: 1761.4, end_y: 318.55, type: 0 }, { start_node: 46340, end_node: 58402, start_x: -1523.41, start_y: -1089.47, end_x: -1764.15, end_y: -1093.62, type: 0 }, { start_node: 43787, end_node: 29379, start: .5236, delta: 2.0944, radius: 35, x: 1261.524, y: 1287.8846, type: 1 }, { start_node: 29379, end_node: 52230, start: -1.5708, delta: 2.0944, radius: 35, x: 1261.524, y: 1287.8846, type: 1 }, { start_node: 51517, end_node: 7388, start_x: 828.38, start_y: -1161.41, end_x: 831.1, end_y: -1313.11, type: 0 }, { start_node: 49047, end_node: 51517, start: 1.5708, delta: 2.0944, radius: 35, x: 856.0944, y: -1145.4112, type: 1 }, { start_node: 49047, end_node: 61982, start: -.5236, delta: 2.0944, radius: 35, x: 856.0944, y: -1145.4112, type: 1 }, { start_node: 58763, end_node: 40366, start_x: -1350.17, start_y: -1493.47, end_x: -1388.83, end_y: -1569.05, type: 0 }, { start_node: 58763, end_node: 63963, start: 2.618, delta: 1.5708, radius: 70, x: -1318.1706, y: -1438.0492, type: 1 }, { start_node: 63963, end_node: 32455, start: 1.0472, delta: 1.5708, radius: 70, x: -1318.1706, y: -1438.0492, type: 1 }, { start_node: 7153, end_node: 58763, start: 4.1888, delta: 1.5708, radius: 70, x: -1318.1706, y: -1438.0492, type: 1 }, { start_node: 32455, end_node: 7153, start: -.5236, delta: 1.5708, radius: 70, x: -1318.1706, y: -1438.0492, type: 1 }, { start_node: 62662, end_node: 17674, start: -1.5708, delta: 2.0944, radius: 35, x: -228.4522, y: 153.3821, type: 1 }, { start_node: 17674, end_node: 13782, start: 2.618, delta: 2.0944, radius: 35, x: -228.4522, y: 153.3821, type: 1 }, { start_node: 13782, end_node: 12702, start_x: -256.17, start_y: 169.38, end_x: -360.87, end_y: 216.31, type: 0 }, { start_node: 4011, end_node: 28012, start_x: 1367.16, start_y: -314.62, end_x: 1814.94, end_y: -315.6, type: 0 }, { start_node: 46092, end_node: 37671, start_x: 421.3, start_y: -589.14, end_x: 626.67, end_y: -954.66, type: 0 }, { start_node: 46092, end_node: 23540, start_x: 421.3, start_y: -589.14, end_x: 419.71, end_y: -793.33, type: 0 }, { start_node: 18033, end_node: 46092, start: 2.618, delta: 1.0472, radius: 190, x: 587.5788, y: -493.1374, type: 1 }, { start_node: 18033, end_node: 57736, start_x: 421.3, start_y: -397.14, end_x: 300.28, end_y: -393.76, type: 0 }, { start_node: 24914, end_node: 61262, start_x: -840.28, start_y: 2170.77, end_x: -567.33, end_y: 2170.84, type: 0 }, { start_node: 32117, end_node: 65210, start: 0, delta: 1.0472, radius: 70, x: 1431.6386, y: 676.3582, type: 1 }, { start_node: 48099, end_node: 65210, start: -1.0472, delta: 1.0472, radius: 70, x: 1431.6386, y: 676.3582, type: 1 }, { start_node: 48099, end_node: 50338, start_x: 1463.64, start_y: 620.93, end_x: 1464.25, end_y: 507.25, type: 0 }, { start_node: 25178, end_node: 9373, start: 2.0944, delta: 1.0472, radius: 70, x: 1431.6386, y: 676.3582, type: 1 }, { start_node: 57240, end_node: 38344, start_x: 1399.64, start_y: 620.93, end_x: 1299.49, end_y: 542.2, type: 0 }, { start_node: 57240, end_node: 25178, start: 3.1416, delta: 1.0472, radius: 70, x: 1431.6386, y: 676.3582, type: 1 }, { start_node: 46469, end_node: 32431, start: 1.0472, delta: .5236, radius: 130, x: 1.048, y: -2376.5694, type: 1 }, { start_node: 32431, end_node: 4367, start_x: 1.05, start_y: -2248.57, end_x: 4.4, end_y: -2153.72, type: 0 }, { start_node: 49588, end_node: 61264, start: 0, delta: .5236, radius: 130, x: 1.048, y: -2376.5694, type: 1 }, { start_node: 49588, end_node: 11645, start: -.5236, delta: .5236, radius: 130, x: 1.048, y: -2376.5694, type: 1 }, { start_node: 36121, end_node: 32431, start: 1.5708, delta: .5236, radius: 130, x: 1.048, y: -2376.5694, type: 1 }, { start_node: 36121, end_node: 57362, start: 2.0944, delta: .5236, radius: 130, x: 1.048, y: -2376.5694, type: 1 }, { start_node: 55647, end_node: 56716, start: 3.1416, delta: .5236, radius: 130, x: 1.048, y: -2376.5694, type: 1 }, { start_node: 57362, end_node: 55647, start: 2.618, delta: .5236, radius: 130, x: 1.048, y: -2376.5694, type: 1 }, { start_node: 61264, end_node: 46469, start: .5236, delta: .5236, radius: 130, x: 1.048, y: -2376.5694, type: 1 }, { start_node: 2474, end_node: 55804, start: 4.1888, delta: 1.0472, radius: 70, x: -1226.2106, y: -866.9434, type: 1 }, { start_node: 55804, end_node: 49254, start_x: -1258.21, start_y: -922.37, end_x: -1370.56, end_y: -956.03, type: 0 }, { start_node: 49306, end_node: 2474, start: -1.0472, delta: 1.0472, radius: 70, x: -1226.2106, y: -866.9434, type: 1 }, { start_node: 49306, end_node: 35724, start_x: -1162.21, start_y: -866.94, end_x: -1071.66, end_y: -780.99, type: 0 }, { start_node: 37980, end_node: 49254, start_x: -1290.21, start_y: -866.94, end_x: -1370.56, end_y: -956.03, type: 0 }, { start_node: 52326, end_node: 37980, start: 2.0944, delta: 1.0472, radius: 70, x: -1226.2106, y: -866.9434, type: 1 }, { start_node: 19096, end_node: 52326, start: 1.0472, delta: 1.0472, radius: 70, x: -1226.2106, y: -866.9434, type: 1 }, { start_node: 19096, end_node: 35724, start_x: -1194.21, start_y: -811.52, end_x: -1071.66, end_y: -780.99, type: 0 }, { start_node: 10843, end_node: 49900, start_x: 2474.13, start_y: -241.25, end_x: 2379.65, end_y: -316.18, type: 0 }, { start_node: 33374, end_node: 21228, start: .5236, delta: 1.5708, radius: 70, x: 2529.5574, y: -209.2493, type: 1 }, { start_node: 33374, end_node: 10843, start: 2.0944, delta: 1.5708, radius: 70, x: 2529.5574, y: -209.2493, type: 1 }, { start_node: 31222, end_node: 10843, start: 3.6652, delta: 1.0472, radius: 70, x: 2529.5574, y: -209.2493, type: 1 }, { start_node: 17206, end_node: 31222, start: -1.5708, delta: 1.0472, radius: 70, x: 2529.5574, y: -209.2493, type: 1 }, { start_node: 21228, end_node: 17206, start: -.5236, delta: 1.0472, radius: 70, x: 2529.5574, y: -209.2493, type: 1 }, { start_node: 63843, end_node: 48614, start_x: 1949.42, start_y: 678.36, end_x: 2127, end_y: 679.69, type: 0 }, { start_node: 22266, end_node: 60942, start_x: 1946.54, start_y: 1678.97, end_x: 1945.92, end_y: 1029.72, type: 0 }, { start_node: 22266, end_node: 30679, start_x: 1946.54, start_y: 1678.97, end_x: 2191.44, end_y: 1534.84, type: 0 }, { start_node: 63723, end_node: 5233, start_x: -2228.22, start_y: 767.09, end_x: -2228.4, end_y: 1158.38, type: 0 }, { start_node: 42443, end_node: 3314, start_x: 2005.78, start_y: -314.52, end_x: 2251.44, end_y: -313.89, type: 0 }, { start_node: 16380, end_node: 59494, start: .5236, delta: 2.0944, radius: 35, x: -815.0278, y: 1231.8802, type: 1 }, { start_node: 16380, end_node: 2225, start: 2.618, delta: 2.0944, radius: 35, x: -815.0278, y: 1231.8802, type: 1 }, { start_node: 19210, end_node: 49978, start_x: 1057.32, start_y: 73.8, end_x: 1054.04, end_y: -.31, type: 0 }, { start_node: 43316, end_node: 19210, start: -1.5708, delta: 1.5708, radius: 70, x: 1057.3158, y: 137.8013, type: 1 }, { start_node: 24838, end_node: 43316, start: 0, delta: 1.5708, radius: 70, x: 1057.3158, y: 137.8013, type: 1 }, { start_node: 24838, end_node: 47065, start: 1.5708, delta: 1.5708, radius: 70, x: 1057.3158, y: 137.8013, type: 1 }, { start_node: 20077, end_node: 39986, start: 2.0944, delta: 2.0944, radius: 70, x: 481.8552, y: -1000.3994, type: 1 }, { start_node: 42436, end_node: 20077, start: 4.1888, delta: 2.0944, radius: 70, x: 481.8552, y: -1000.3994, type: 1 }, { start_node: 42436, end_node: 37671, start_x: 545.86, start_y: -1000.4, end_x: 626.67, end_y: -954.66, type: 0 }, { start_node: 18025, end_node: 14056, start_x: -1017.27, start_y: 1884.34, end_x: -1038.16, end_y: 1808.21, type: 0 }, { start_node: 14056, end_node: 487, start_x: -1038.16, start_y: 1808.21, end_x: -1282.03, end_y: 1581.55, type: 0 }, { start_node: 14056, end_node: 34601, start_x: -1038.16, start_y: 1808.21, end_x: -1116.25, end_y: 1829.29, type: 0 }, { start_node: 58821, end_node: 62790, start: 1.0472, delta: 2.0944, radius: 70, x: -672.6798, y: 1946.2004, type: 1 }, { start_node: 7288, end_node: 62790, start: -1.0472, delta: 2.0944, radius: 70, x: -672.6798, y: 1946.2004, type: 1 }, { start_node: 7288, end_node: 6741, start_x: -640.68, start_y: 1890.77, end_x: -603.97, end_y: 1809.69, type: 0 }, { start_node: 6289, end_node: 48287, start: 3.1416, delta: 1.5708, radius: 70, x: -1442.5104, y: 1696.6202, type: 1 }, { start_node: 48287, end_node: 14930, start_x: -1506.51, start_y: 1696.62, end_x: -1601.21, end_y: 1803.92, type: 0 }, { start_node: 48287, end_node: 64587, start: 1.5708, delta: 1.5708, radius: 70, x: -1442.5104, y: 1696.6202, type: 1 }, { start_node: 5197, end_node: 487, start_x: -1378.51, start_y: 1696.62, end_x: -1282.03, end_y: 1581.55, type: 0 }, { start_node: 64587, end_node: 5197, start: 0, delta: 1.5708, radius: 70, x: -1442.5104, y: 1696.6202, type: 1 }, { start_node: 41689, end_node: 45272, start_x: 1080.32, start_y: -515.26, end_x: 1003.66, end_y: -506.56, type: 0 }, { start_node: 41689, end_node: 20953, start_x: 1080.32, start_y: -515.26, end_x: 1153.27, end_y: -482.34, type: 0 }, { start_node: 45175, end_node: 18033, start_x: 523.61, start_y: -397.7, end_x: 421.3, end_y: -397.14, type: 0 }, { start_node: 44184, end_node: 29781, start_x: -308.35, start_y: -2223.92, end_x: -308.5, end_y: -2094.41, type: 0 }, { start_node: 56589, end_node: 36874, start_x: 1109.64, start_y: 1379.48, end_x: 1168.1, end_y: 1464.76, type: 0 }, { start_node: 56589, end_node: 64709, start_x: 1109.64, start_y: 1379.48, end_x: 1626.41, end_y: 1383.03, type: 0 }, { start_node: 56589, end_node: 43787, start_x: 1109.64, start_y: 1379.48, end_x: 1233.81, end_y: 1303.88, type: 0 }, { start_node: 4036, end_node: 15228, start: 2.618, delta: 2.0944, radius: 70, x: 783.6664, y: -1603.0148, type: 1 }, { start_node: 15228, end_node: 47306, start: .5236, delta: 2.0944, radius: 70, x: 783.6664, y: -1603.0148, type: 1 }, { start_node: 4833, end_node: 41706, start_x: -432.22, start_y: 1946.7, end_x: -486.15, end_y: 2036.37, type: 0 }, { start_node: 30338, end_node: 46289, start: -.5236, delta: 2.0944, radius: 35, x: 2026.2018, y: -964.1398, type: 1 }, { start_node: 30338, end_node: 58244, start_x: 2026.2, start_y: -932.14, end_x: 1980.93, end_y: -796.04, type: 0 }, { start_node: 51212, end_node: 46289, start: 3.6652, delta: 2.0944, radius: 35, x: 2026.2018, y: -964.1398, type: 1 }, { start_node: 51786, end_node: 28574, start: 1.5708, delta: 1.0472, radius: 190, x: 760.0722, y: -197.3123, type: 1 }, { start_node: 51786, end_node: 20812, start_x: 760.07, start_y: -5.31, end_x: 634.63, end_y: 225.38, type: 0 }, { start_node: 28574, end_node: 61875, start_x: 593.8, start_y: -101.31, end_x: 678.82, end_y: -152.45, type: 0 }, { start_node: 35724, end_node: 63965, start_x: -1071.66, start_y: -780.99, end_x: -945.17, end_y: -613.99, type: 0 }, { start_node: 63398, end_node: 36452, start: 3.6652, delta: 2.0944, radius: 35, x: -1683.3544, y: -1841.366, type: 1 }, { start_node: 36452, end_node: 7444, start_x: -1711.07, start_y: -1857.37, end_x: -1769.86, end_y: -1957.6, type: 0 }, { start_node: 46842, end_node: 63398, start: -.5236, delta: 2.0944, radius: 35, x: -1683.3544, y: -1841.366, type: 1 }, { start_node: 30030, end_node: 26096, start: -.5236, delta: 2.0944, radius: 35, x: 874.5244, y: 1478.7472, type: 1 }, { start_node: 42637, end_node: 30030, start: 1.5708, delta: 2.0944, radius: 35, x: 874.5244, y: 1478.7472, type: 1 }, { start_node: 42637, end_node: 11497, start_x: 846.81, start_y: 1462.75, end_x: 790.33, end_y: 1375.97, type: 0 }, { start_node: 63976, end_node: 33479, start_x: -484.99, start_y: -277.45, end_x: -419.62, end_y: -397.82, type: 0 }, { start_node: 63976, end_node: 16775, start_x: -484.99, start_y: -277.45, end_x: -594.2, end_y: -102.45, type: 0 }, { start_node: 37619, end_node: 5616, start_x: 2129.01, start_y: 417.56, end_x: 1953.4, end_y: 510.55, type: 0 }, { start_node: 37619, end_node: 24133, start: 1.5708, delta: 2.0944, radius: 35, x: 2156.7204, y: 433.5572, type: 1 }, { start_node: 37619, end_node: 64235, start: 3.6652, delta: 2.0944, radius: 35, x: 2156.7204, y: 433.5572, type: 1 }, { start_node: 64235, end_node: 36287, start_x: 2184.43, start_y: 417.56, end_x: 2380.71, end_y: 288.37, type: 0 }, { start_node: 49651, end_node: 41635, start: -1.5708, delta: 1.0472, radius: 190, x: 692.5006, y: -1659.2738, type: 1 }, { start_node: 41635, end_node: 32710, start_x: 858.78, start_y: -1755.27, end_x: 978.6, end_y: -1549.36, type: 0 }, { start_node: 41635, end_node: 4036, start_x: 858.78, start_y: -1755.27, end_x: 783.67, end_y: -1667.01, type: 0 }, { start_node: 48807, end_node: 45227, start_x: 206.73, start_y: 1474.36, end_x: 121.43, end_y: 1361.11, type: 0 }, { start_node: 48807, end_node: 25933, start_x: 206.73, start_y: 1474.36, end_x: 55.81, end_y: 1504.44, type: 0 }, { start_node: 48807, end_node: 6580, start_x: 206.73, start_y: 1474.36, end_x: 409.95, end_y: 1440.94, type: 0 }, { start_node: 14804, end_node: 28658, start: 1.0472, delta: 1.5708, radius: 70, x: 2078.3568, y: 1345.1696, type: 1 }, { start_node: 14804, end_node: 30455, start: 0, delta: 1.0472, radius: 70, x: 2078.3568, y: 1345.1696, type: 1 }, { start_node: 41119, end_node: 12794, start: 4.1888, delta: 1.0472, radius: 70, x: 2078.3568, y: 1345.1696, type: 1 }, { start_node: 41119, end_node: 28658, start: 2.618, delta: 1.5708, radius: 70, x: 2078.3568, y: 1345.1696, type: 1 }, { start_node: 12794, end_node: 30455, start: -1.0472, delta: 1.0472, radius: 70, x: 2078.3568, y: 1345.1696, type: 1 }, { start_node: 7641, end_node: 17236, start: 2.618, delta: 2.0944, radius: 35, x: 1099.4008, y: -2169.2148, type: 1 }, { start_node: 7641, end_node: 34882, start_x: 1071.69, start_y: -2153.21, end_x: 1013.11, end_y: -2054.13, type: 0 }, { start_node: 62577, end_node: 17236, start: -1.5708, delta: 2.0944, radius: 35, x: 1099.4008, y: -2169.2148, type: 1 }, { start_node: 4336, end_node: 25367, start: 2.0944, delta: .5236, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 55166, end_node: 49415, start: 1.0472, delta: .5236, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 49415, end_node: 7082, start: 0, delta: 1.0472, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 32410, end_node: 768, start: -1.5708, delta: .5236, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 25367, end_node: 55166, start: 1.5708, delta: .5236, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 768, end_node: 33082, start: 4.1888, delta: .5236, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 62042, end_node: 4336, start: 2.618, delta: 1.0472, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 33082, end_node: 62042, start: 3.6652, delta: .5236, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 7082, end_node: 5233, start_x: -2315.19, start_y: 1158.36, end_x: -2228.4, end_y: 1158.38, type: 0 }, { start_node: 7082, end_node: 32410, start: -1.0472, delta: 1.0472, radius: 130, x: -2443.191, y: 1158.3616, type: 1 }, { start_node: 24157, end_node: 53757, start: .5236, delta: 2.0944, radius: 35, x: -838.5004, y: -1141.3984, type: 1 }, { start_node: 42900, end_node: 47251, start_x: -838.5, start_y: -1173.4, end_x: -834.47, end_y: -1312.03, type: 0 }, { start_node: 42900, end_node: 24157, start: 2.618, delta: 2.0944, radius: 35, x: -838.5004, y: -1141.3984, type: 1 }, { start_node: 42900, end_node: 53757, start: -1.5708, delta: 2.0944, radius: 35, x: -838.5004, y: -1141.3984, type: 1 }, { start_node: 476, end_node: 58090, start_x: -408.14, start_y: 1446.2, end_x: -482.92, end_y: 1682.74, type: 0 }, { start_node: 476, end_node: 48778, start_x: -408.14, start_y: 1446.2, end_x: -650.49, end_y: 1401.62, type: 0 }, { start_node: 23027, end_node: 49178, start_x: -2228.48, start_y: -475.81, end_x: -2227.99, end_y: -769.22, type: 0 }, { start_node: 2355, end_node: 57900, start: 4.1888, delta: 2.0944, radius: 70, x: 529.2298, y: 658.825, type: 1 }, { start_node: 53558, end_node: 2355, start: 0, delta: 2.0944, radius: 70, x: 529.2298, y: 658.825, type: 1 }, { start_node: 53558, end_node: 5408, start_x: 497.23, start_y: 714.25, end_x: 496.03, end_y: 866.99, type: 0 }, { start_node: 34173, end_node: 5696, start_x: -2059.55, start_y: -957.98, end_x: -2140.13, end_y: -1008.87, type: 0 }, { start_node: 56381, end_node: 8533, start: -1.5708, delta: 1.0472, radius: 130, x: -366.141, y: 2394.9804, type: 1 }, { start_node: 49318, end_node: 1909, start: 0, delta: .5236, radius: 130, x: -366.141, y: 2394.9804, type: 1 }, { start_node: 8533, end_node: 11515, start: 3.6652, delta: 1.0472, radius: 130, x: -366.141, y: 2394.9804, type: 1 }, { start_node: 8533, end_node: 24083, start_x: -366.14, start_y: 2266.98, end_x: -365.68, end_y: 2171.46, type: 0 }, { start_node: 11515, end_node: 35362, start: 3.1416, delta: .5236, radius: 130, x: -366.141, y: 2394.9804, type: 1 }, { start_node: 35362, end_node: 10016, start: 2.618, delta: .5236, radius: 130, x: -366.141, y: 2394.9804, type: 1 }, { start_node: 1909, end_node: 56381, start: -.5236, delta: .5236, radius: 130, x: -366.141, y: 2394.9804, type: 1 }, { start_node: 44429, end_node: 53118, start: 0, delta: 2.0944, radius: 70, x: -2100.013, y: 536.522, type: 1 }, { start_node: 44429, end_node: 55649, start_x: -2036.01, start_y: 536.52, end_x: -1956.59, end_y: 602.66, type: 0 }, { start_node: 30380, end_node: 59928, start_x: -2132.01, start_y: 481.1, end_x: -2228.35, end_y: 408.47, type: 0 }, { start_node: 53118, end_node: 30380, start: 2.0944, delta: 2.0944, radius: 70, x: -2100.013, y: 536.522, type: 1 }, { start_node: 7112, end_node: 17201, start_x: -.54, start_y: 1810.39, end_x: 168.47, end_y: 1810.59, type: 0 }, { start_node: 7112, end_node: 34031, start_x: -.54, start_y: 1810.39, end_x: -162.42, end_y: 1810.01, type: 0 }, { start_node: 14151, end_node: 27564, start: -1.5708, delta: 1.5708, radius: 190, x: -1130.7774, y: -901.531, type: 1 }, { start_node: 27564, end_node: 17735, start_x: -1130.78, start_y: -1093.53, end_x: -1283.87, end_y: -1089.38, type: 0 }, { start_node: 57080, end_node: 42104, start: -.5236, delta: 2.0944, radius: 35, x: 2290.298, y: 799.2122, type: 1 }, { start_node: 57080, end_node: 20807, start_x: 2318.01, start_y: 783.21, end_x: 2380.81, end_y: 679.09, type: 0 }, { start_node: 49621, end_node: 42104, start: 1.5708, delta: 2.0944, radius: 35, x: 2290.298, y: 799.2122, type: 1 }, { start_node: 55563, end_node: 10904, start: -1.5708, delta: 2.0944, radius: 35, x: -1065.9304, y: -1402.6218, type: 1 }, { start_node: 10904, end_node: 64128, start: .5236, delta: 2.0944, radius: 35, x: -1065.9304, y: -1402.6218, type: 1 }, { start_node: 62225, end_node: 29061, start_x: -2454.39, start_y: -715.51, end_x: -2358.58, end_y: -769.11, type: 0 }, { start_node: 62225, end_node: 45378, start_x: -2454.39, start_y: -715.51, end_x: -2550.58, end_y: -658.26, type: 0 }, { start_node: 2151, end_node: 37690, start_x: -62.91, start_y: -108.68, end_x: -185.7, end_y: -144.32, type: 0 }, { start_node: 2151, end_node: 5560, start_x: -62.91, start_y: -108.68, end_x: -138.85, end_y: -208.32, type: 0 }, { start_node: 47062, end_node: 56153, start_x: 65.09, start_y: -108.68, end_x: 185.07, end_y: -152.17, type: 0 }, { start_node: 62103, end_node: 39773, start_x: 65.09, start_y: 113.02, end_x: 34.43, end_y: 238.45, type: 0 }, { start_node: 15144, end_node: 34062, start_x: 129.09, start_y: 2.17, end_x: 249.07, end_y: -24.17, type: 0 }, { start_node: 55373, end_node: 38048, start_x: -126.91, start_y: 2.17, end_x: -217.7, end_y: -88.9, type: 0 }, { start_node: 48828, end_node: 62662, start_x: -62.91, start_y: 113.02, end_x: -200.74, end_y: 169.38, type: 0 }, { start_node: 48828, end_node: 45887, start_x: -62.91, start_y: 113.02, end_x: -108.42, end_y: 229.88, type: 0 }, { start_node: 48828, end_node: 33508, start_x: -62.91, start_y: 113.02, end_x: -29.57, end_y: 238.45, type: 0 }, { start_node: 28012, end_node: 59252, start_x: 1814.94, start_y: -315.6, end_x: 1895.26, end_y: -163.25, type: 0 }, { start_node: 28012, end_node: 46408, start_x: 1814.94, start_y: -315.6, end_x: 1815.77, end_y: -514.73, type: 0 }, { start_node: 28012, end_node: 42443, start_x: 1814.94, start_y: -315.6, end_x: 2005.78, end_y: -314.52, type: 0 }, { start_node: 11651, end_node: 38662, start_x: 1392, start_y: 226.03, end_x: 1417.62, end_y: 322.38, type: 0 }, { start_node: 6981, end_node: 36543, start: 0, delta: 1.5708, radius: 190, x: -1145.8444, y: 941.9668, type: 1 }, { start_node: 36543, end_node: 49412, start_x: -1145.84, start_y: 1133.97, end_x: -1309.7, end_y: 1129.86, type: 0 }, { start_node: 28548, end_node: 65308, start: 1.5708, delta: 2.0944, radius: 35, x: 2220.8074, y: -450.243, type: 1 }, { start_node: 28548, end_node: 15021, start: -.5236, delta: 2.0944, radius: 35, x: 2220.8074, y: -450.243, type: 1 }, { start_node: 15021, end_node: 46277, start_x: 2248.52, start_y: -466.24, end_x: 2382.02, end_y: -599.68, type: 0 }, { start_node: 62697, end_node: 33310, start_x: 745.21, start_y: -2065.64, end_x: 860.47, end_y: -2144.29, type: 0 }, { start_node: 62697, end_node: 20399, start: 0, delta: 1.5708, radius: 70, x: 681.2108, y: -2065.6382, type: 1 }, { start_node: 62697, end_node: 13961, start: -1.5708, delta: 1.5708, radius: 70, x: 681.2108, y: -2065.6382, type: 1 }, { start_node: 20399, end_node: 26557, start: 1.5708, delta: 1.5708, radius: 70, x: 681.2108, y: -2065.6382, type: 1 }, { start_node: 12236, end_node: 46730, start: 3.1416, delta: 1.0472, radius: 70, x: -131.545, y: 1665.0422, type: 1 }, { start_node: 12236, end_node: 34009, start_x: -163.54, start_y: 1609.62, end_x: -205.75, end_y: 1472.45, type: 0 }, { start_node: 46730, end_node: 25324, start: 2.0944, delta: 1.0472, radius: 70, x: -131.545, y: 1665.0422, type: 1 }, { start_node: 25324, end_node: 19782, start: 1.0472, delta: 1.0472, radius: 70, x: -131.545, y: 1665.0422, type: 1 }, { start_node: 25324, end_node: 34031, start_x: -163.54, start_y: 1720.47, end_x: -162.42, end_y: 1810.01, type: 0 }, { start_node: 19782, end_node: 49538, start: 0, delta: 1.0472, radius: 70, x: -131.545, y: 1665.0422, type: 1 }, { start_node: 49538, end_node: 12236, start: 4.1888, delta: 2.0944, radius: 70, x: -131.545, y: 1665.0422, type: 1 }, { start_node: 24050, end_node: 46839, start_x: 1807.77, start_y: -905.77, end_x: 1878.65, end_y: -810.89, type: 0 }, { start_node: 24050, end_node: 3656, start_x: 1807.77, start_y: -905.77, end_x: 1806.45, end_y: -1087.42, type: 0 }, { start_node: 5237, end_node: 22266, start_x: 1565.99, start_y: 1907.76, end_x: 1946.54, end_y: 1678.97, type: 0 }, { start_node: 5237, end_node: 6363, start_x: 1565.99, start_y: 1907.76, end_x: 1110.4, end_y: 2170.38, type: 0 }, { start_node: 5237, end_node: 42178, start_x: 1565.99, start_y: 1907.76, end_x: 1646.08, end_y: 2038.55, type: 0 }, { start_node: 39718, end_node: 12801, start_x: 1895.85, start_y: 160.67, end_x: 2104.07, end_y: 160.83, type: 0 }, { start_node: 39718, end_node: 1529, start_x: 1895.85, start_y: 160.67, end_x: 1761.4, end_y: 318.55, type: 0 }, { start_node: 44908, end_node: 50570, start_x: -1408.54, start_y: -445.04, end_x: -1581.5, end_y: -445.18, type: 0 }, { start_node: 44908, end_node: 19711, start_x: -1408.54, start_y: -445.04, end_x: -1409.52, end_y: -218.01, type: 0 }, { start_node: 48614, end_node: 16079, start_x: 2127, start_y: 679.69, end_x: 2241.19, end_y: 679.87, type: 0 }, { start_node: 50904, end_node: 6981, start_x: -943.89, start_y: 617.54, end_x: -953.84, end_y: 941.97, type: 0 }, { start_node: 31628, end_node: 9511, start_x: -1007.89, start_y: 506.68, end_x: -1074.11, end_y: 437.75, type: 0 }, { start_node: 17546, end_node: 41967, start: 3.6652, delta: 2.0944, radius: 35, x: 379.2009, y: 882.2916, type: 1 }, { start_node: 21634, end_node: 17546, start: 1.5708, delta: 2.0944, radius: 35, x: 379.2009, y: 882.2916, type: 1 }, { start_node: 22535, end_node: 31973, start: 4.1888, delta: 1.0472, radius: 70, x: -1133.9048, y: -2387.2816, type: 1 }, { start_node: 14674, end_node: 48183, start: 2.0944, delta: 1.0472, radius: 70, x: -1133.9048, y: -2387.2816, type: 1 }, { start_node: 48183, end_node: 22535, start: 3.1416, delta: 1.0472, radius: 70, x: -1133.9048, y: -2387.2816, type: 1 }, { start_node: 30767, end_node: 39841, start_x: -1101.9, start_y: -2331.86, end_x: -1039.51, end_y: -2219.69, type: 0 }, { start_node: 30767, end_node: 14674, start: 1.0472, delta: 1.0472, radius: 70, x: -1133.9048, y: -2387.2816, type: 1 }, { start_node: 6250, end_node: 30767, start: 0, delta: 1.0472, radius: 70, x: -1133.9048, y: -2387.2816, type: 1 }, { start_node: 31973, end_node: 6250, start: -1.0472, delta: 1.0472, radius: 70, x: -1133.9048, y: -2387.2816, type: 1 }, { start_node: 3656, end_node: 58244, start_x: 1806.45, start_y: -1087.42, end_x: 1980.93, end_y: -796.04, type: 0 }, { start_node: 3656, end_node: 25411, start_x: 1806.45, start_y: -1087.42, end_x: 2101.33, end_y: -1086.23, type: 0 }, { start_node: 22703, end_node: 14056, start_x: -939.25, start_y: 1638.69, end_x: -1038.16, end_y: 1808.21, type: 0 }, { start_node: 15842, end_node: 55243, start: 1.0472, delta: .5236, radius: 130, x: 1759.1492, y: 850.7402, type: 1 }, { start_node: 30894, end_node: 18670, start: 2.0944, delta: .5236, radius: 130, x: 1759.1492, y: 850.7402, type: 1 }, { start_node: 18670, end_node: 7085, start_x: 1695.15, start_y: 961.59, end_x: 1759.15, end_y: 850.74, type: 0 }, { start_node: 18670, end_node: 15842, start: 1.5708, delta: .5236, radius: 130, x: 1759.1492, y: 850.7402, type: 1 }, { start_node: 55243, end_node: 19552, start: 0, delta: 1.0472, radius: 130, x: 1759.1492, y: 850.7402, type: 1 }, { start_node: 903, end_node: 61411, start: 3.6652, delta: .5236, radius: 130, x: 1759.1492, y: 850.7402, type: 1 }, { start_node: 903, end_node: 7085, start_x: 1695.15, start_y: 739.89, end_x: 1759.15, end_y: 850.74, type: 0 }, { start_node: 903, end_node: 38246, start: 4.1888, delta: .5236, radius: 130, x: 1759.1492, y: 850.7402, type: 1 }, { start_node: 41866, end_node: 63843, start_x: 1951.15, start_y: 850.74, end_x: 1949.42, end_y: 678.36, type: 0 }, { start_node: 41866, end_node: 60942, start_x: 1951.15, start_y: 850.74, end_x: 1945.92, end_y: 1029.72, type: 0 }, { start_node: 41866, end_node: 19552, start_x: 1951.15, start_y: 850.74, end_x: 1887.15, end_y: 850.74, type: 0 }, { start_node: 38246, end_node: 1201, start: -1.5708, delta: .5236, radius: 130, x: 1759.1492, y: 850.7402, type: 1 }, { start_node: 1201, end_node: 19552, start: -1.0472, delta: 1.0472, radius: 130, x: 1759.1492, y: 850.7402, type: 1 }, { start_node: 41706, end_node: 61262, start_x: -486.15, start_y: 2036.37, end_x: -567.33, end_y: 2170.84, type: 0 }, { start_node: 38807, end_node: 64501, start_x: 1010.63, start_y: -670.03, end_x: 1112.83, end_y: -712.09, type: 0 }, { start_node: 38807, end_node: 5607, start_x: 1010.63, start_y: -670.03, end_x: 1080.83, end_y: -767.51, type: 0 }, { start_node: 38807, end_node: 17788, start_x: 1010.63, start_y: -670.03, end_x: 939.66, end_y: -617.41, type: 0 }, { start_node: 35958, end_node: 46897, start: 3.6652, delta: 1.0472, radius: 70, x: -2092.4396, y: -770.26, type: 1 }, { start_node: 40508, end_node: 35958, start: -1.5708, delta: 1.0472, radius: 70, x: -2092.4396, y: -770.26, type: 1 }, { start_node: 36949, end_node: 10031, start: .5236, delta: 1.0472, radius: 70, x: -2092.4396, y: -770.26, type: 1 }, { start_node: 6712, end_node: 36949, start: 1.5708, delta: 1.0472, radius: 70, x: -2092.4396, y: -770.26, type: 1 }, { start_node: 10031, end_node: 60472, start_x: -2037.01, start_y: -738.26, end_x: -1951.71, end_y: -768.08, type: 0 }, { start_node: 46897, end_node: 49178, start_x: -2147.87, start_y: -802.26, end_x: -2227.99, end_y: -769.22, type: 0 }, { start_node: 63447, end_node: 44184, start_x: -672.98, start_y: -2223.84, end_x: -308.35, end_y: -2223.92, type: 0 }, { start_node: 5408, end_node: 11497, start_x: 496.03, start_y: 866.99, end_x: 790.33, end_y: 1375.97, type: 0 }, { start_node: 5408, end_node: 41967, start_x: 496.03, start_y: 866.99, end_x: 406.91, end_y: 866.29, type: 0 }, { start_node: 42668, end_node: 36915, start: 3.6652, delta: 2.0944, radius: 35, x: -1181.9596, y: -1295.8152, type: 1 }, { start_node: 34880, end_node: 42668, start: 1.5708, delta: 2.0944, radius: 35, x: -1181.9596, y: -1295.8152, type: 1 }, { start_node: 34880, end_node: 17735, start_x: -1181.96, start_y: -1263.82, end_x: -1283.87, end_y: -1089.38, type: 0 }, { start_node: 4432, end_node: 13753, start: 1.5708, delta: 2.0944, radius: 35, x: 269.2281, y: -1677.1224, type: 1 }, { start_node: 4432, end_node: 27929, start_x: 269.23, start_y: -1645.12, end_x: 267.02, end_y: -1439.98, type: 0 }, { start_node: 13753, end_node: 42795, start_x: 241.52, start_y: -1693.12, end_x: 242.63, end_y: -1778.5, type: 0 }, { start_node: 13753, end_node: 7503, start: 3.6652, delta: 2.0944, radius: 35, x: 269.2281, y: -1677.1224, type: 1 }, { start_node: 7503, end_node: 11551, start_x: 296.94, start_y: -1693.12, end_x: 372.71, end_y: -1825.38, type: 0 }, { start_node: 11730, end_node: 40766, start_x: -2060.06, start_y: -577.96, end_x: -2136.77, end_y: -529.74, type: 0 }, { start_node: 9660, end_node: 57279, start_x: -2082.75, start_y: 1636.46, end_x: -2000.35, end_y: 1557.31, type: 0 }, { start_node: 54307, end_node: 12401, start_x: 2587.57, start_y: 1.13, end_x: 2721.73, end_y: -.97, type: 0 }, { start_node: 5296, end_node: 33310, start_x: 723.54, start_y: -2227.37, end_x: 860.47, end_y: -2144.29, type: 0 }, { start_node: 5296, end_node: 19501, start_x: 723.54, start_y: -2227.37, end_x: 302.03, end_y: -2226.65, type: 0 }, { start_node: 8544, end_node: 29937, start_x: 371.54, start_y: 2171.4, end_x: 562.7, end_y: 2170.9, type: 0 }, { start_node: 8544, end_node: 45171, start_x: 371.54, start_y: 2171.4, end_x: 305.13, end_y: 2052.58, type: 0 }, { start_node: 15678, end_node: 37501, start: 1.5708, delta: 1.5708, radius: 70, x: -2086.1658, y: 156.5957, type: 1 }, { start_node: 58831, end_node: 15678, start: 0, delta: 1.5708, radius: 70, x: -2086.1658, y: 156.5957, type: 1 }, { start_node: 39023, end_node: 58831, start: -1.0472, delta: 1.0472, radius: 70, x: -2086.1658, y: 156.5957, type: 1 }, { start_node: 37501, end_node: 56355, start: 3.1416, delta: 1.0472, radius: 70, x: -2086.1658, y: 156.5957, type: 1 }, { start_node: 37501, end_node: 63282, start_x: -2150.17, start_y: 156.6, end_x: -2229.24, end_y: 161.4, type: 0 }, { start_node: 56355, end_node: 39023, start: 4.1888, delta: 1.0472, radius: 70, x: -2086.1658, y: 156.5957, type: 1 }, { start_node: 44723, end_node: 19635, start_x: -94.29, start_y: -1690.07, end_x: 1.78, end_y: -1824.54, type: 0 }, { start_node: 1346, end_node: 11420, start_x: -122, start_y: -1642.07, end_x: -260.83, end_y: -1436.88, type: 0 }, { start_node: 16790, end_node: 44723, start: 3.6652, delta: 2.0944, radius: 35, x: -121.9994, y: -1674.0672, type: 1 }, { start_node: 16790, end_node: 1346, start: 1.5708, delta: 2.0944, radius: 35, x: -121.9994, y: -1674.0672, type: 1 }, { start_node: 16790, end_node: 53493, start_x: -149.71, start_y: -1690.07, end_x: -147.83, end_y: -1776.84, type: 0 }, { start_node: 49571, end_node: 63723, start_x: -2397.03, start_y: 768.04, end_x: -2228.22, end_y: 767.09, type: 0 }, { start_node: 49571, end_node: 20018, start: -1.0472, delta: 1.0472, radius: 130, x: -2525.0278, y: 768.037, type: 1 }, { start_node: 57953, end_node: 25682, start: 1.0472, delta: .5236, radius: 130, x: -2525.0278, y: 768.037, type: 1 }, { start_node: 23038, end_node: 12407, start: 2.0944, delta: .5236, radius: 130, x: -2525.0278, y: 768.037, type: 1 }, { start_node: 25682, end_node: 49571, start: 0, delta: 1.0472, radius: 130, x: -2525.0278, y: 768.037, type: 1 }, { start_node: 20018, end_node: 6113, start: -1.5708, delta: .5236, radius: 130, x: -2525.0278, y: 768.037, type: 1 }, { start_node: 6113, end_node: 9976, start: 4.1888, delta: .5236, radius: 130, x: -2525.0278, y: 768.037, type: 1 }, { start_node: 12407, end_node: 57953, start: 1.5708, delta: .5236, radius: 130, x: -2525.0278, y: 768.037, type: 1 }, { start_node: 9976, end_node: 4940, start: 3.6652, delta: .5236, radius: 130, x: -2525.0278, y: 768.037, type: 1 }, { start_node: 19506, end_node: 57984, start_x: 366.76, start_y: 207.12, end_x: 459.78, end_y: 272.23, type: 0 }, { start_node: 35053, end_node: 43514, start: -.5236, delta: 1.5708, radius: 70, x: -712.1504, y: 1644.3284, type: 1 }, { start_node: 61050, end_node: 64024, start: 2.0944, delta: 1.0472, radius: 70, x: -712.1504, y: 1644.3284, type: 1 }, { start_node: 64024, end_node: 35053, start: 1.0472, delta: 1.0472, radius: 70, x: -712.1504, y: 1644.3284, type: 1 }, { start_node: 57839, end_node: 61050, start: 3.1416, delta: 1.0472, radius: 70, x: -712.1504, y: 1644.3284, type: 1 }, { start_node: 43514, end_node: 57839, start: 4.1888, delta: 1.5708, radius: 70, x: -712.1504, y: 1644.3284, type: 1 }, { start_node: 64210, end_node: 26270, start_x: -1940.04, start_y: -1620.57, end_x: -2229.1, end_y: -1060.96, type: 0 }, { start_node: 64210, end_node: 5935, start_x: -1940.04, start_y: -1620.57, end_x: -2018.1, end_y: -1671.62, type: 0 }, { start_node: 61262, end_node: 24083, start_x: -567.33, start_y: 2170.84, end_x: -365.68, end_y: 2171.46, type: 0 }, { start_node: 23801, end_node: 46871, start: 1.0472, delta: 1.0472, radius: 70, x: 1732.0552, y: 1198.6644, type: 1 }, { start_node: 14486, end_node: 25690, start: -1.0472, delta: 1.0472, radius: 70, x: 1732.0552, y: 1198.6644, type: 1 }, { start_node: 25690, end_node: 23801, start: 0, delta: 1.0472, radius: 70, x: 1732.0552, y: 1198.6644, type: 1 }, { start_node: 46871, end_node: 32993, start: 2.0944, delta: 1.0472, radius: 70, x: 1732.0552, y: 1198.6644, type: 1 }, { start_node: 57950, end_node: 14486, start: 4.1888, delta: 1.0472, radius: 70, x: 1732.0552, y: 1198.6644, type: 1 }, { start_node: 57950, end_node: 32993, start: 3.1416, delta: 1.0472, radius: 70, x: 1732.0552, y: 1198.6644, type: 1 }, { start_node: 54396, end_node: 2550, start: 2.0944, delta: 2.0944, radius: 70, x: -1901.7974, y: 271.138, type: 1 }, { start_node: 1550, end_node: 54396, start: 4.1888, delta: 2.0944, radius: 70, x: -1901.7974, y: 271.138, type: 1 }, { start_node: 1550, end_node: 10221, start_x: -1837.8, start_y: 271.14, end_x: -1763.84, end_y: 270.45, type: 0 }, { start_node: 807, end_node: 54354, start: 2.618, delta: .5236, radius: 130, x: 2633.8826, y: 1068.4042, type: 1 }, { start_node: 52213, end_node: 54354, start: 3.1416, delta: .5236, radius: 130, x: 2633.8826, y: 1068.4042, type: 1 }, { start_node: 52213, end_node: 12720, start: 3.6652, delta: .5236, radius: 130, x: 2633.8826, y: 1068.4042, type: 1 }, { start_node: 17618, end_node: 807, start: 2.0944, delta: .5236, radius: 130, x: 2633.8826, y: 1068.4042, type: 1 }, { start_node: 54354, end_node: 12412, start_x: 2505.88, start_y: 1068.4, end_x: 2380.59, end_y: 1067.55, type: 0 }, { start_node: 529, end_node: 41959, start: .5236, delta: 1.0472, radius: 130, x: 2633.8826, y: 1068.4042, type: 1 }, { start_node: 41959, end_node: 17618, start: 1.5708, delta: .5236, radius: 130, x: 2633.8826, y: 1068.4042, type: 1 }, { start_node: 59151, end_node: 56509, start: -1.5708, delta: 1.0472, radius: 130, x: 2633.8826, y: 1068.4042, type: 1 }, { start_node: 12720, end_node: 56509, start: 4.1888, delta: .5236, radius: 130, x: 2633.8826, y: 1068.4042, type: 1 }, { start_node: 40867, end_node: 476, start_x: -339.81, start_y: 1235.13, end_x: -408.14, end_y: 1446.2, type: 0 }, { start_node: 42911, end_node: 40867, start: 3.6652, delta: 1.0472, radius: 190, x: -173.5376, y: 1331.1286, type: 1 }, { start_node: 63139, end_node: 44967, start_x: 1112.68, start_y: 1139.43, end_x: 959.47, end_y: 1254.61, type: 0 }, { start_node: 20551, end_node: 58449, start_x: -1380.62, start_y: 714.55, end_x: -1412.32, end_y: 602.96, type: 0 }, { start_node: 5152, end_node: 61198, start: 0, delta: 1.0472, radius: 70, x: -1412.6158, y: 769.9788, type: 1 }, { start_node: 61198, end_node: 20551, start: -1.0472, delta: 1.0472, radius: 70, x: -1412.6158, y: 769.9788, type: 1 }, { start_node: 39768, end_node: 12795, start: 3.1416, delta: 1.0472, radius: 70, x: -1412.6158, y: 769.9788, type: 1 }, { start_node: 32739, end_node: 24383, start_x: -1444.62, start_y: 825.4, end_x: -1416.04, end_y: 942.22, type: 0 }, { start_node: 12795, end_node: 32739, start: 2.0944, delta: 1.0472, radius: 70, x: -1412.6158, y: 769.9788, type: 1 }, { start_node: 60090, end_node: 13322, start: 0, delta: .5236, radius: 130, x: -.9958, y: -702.2438, type: 1 }, { start_node: 60090, end_node: 46092, start_x: 127, start_y: -702.24, end_x: 421.3, end_y: -589.14, type: 0 }, { start_node: 14211, end_node: 42731, start: 2.0944, delta: .5236, radius: 130, x: -.9958, y: -702.2438, type: 1 }, { start_node: 42731, end_node: 11430, start: 1.5708, delta: .5236, radius: 130, x: -.9958, y: -702.2438, type: 1 }, { start_node: 22473, end_node: 10490, start_x: -129, start_y: -702.24, end_x: -419.62, end_y: -589.82, type: 0 }, { start_node: 22473, end_node: 14211, start: 2.618, delta: .5236, radius: 130, x: -.9958, y: -702.2438, type: 1 }, { start_node: 14182, end_node: 11430, start: 1.0472, delta: .5236, radius: 130, x: -.9958, y: -702.2438, type: 1 }, { start_node: 13322, end_node: 14182, start: .5236, delta: .5236, radius: 130, x: -.9958, y: -702.2438, type: 1 }, { start_node: 3452, end_node: 60090, start: -1.5708, delta: 1.5708, radius: 130, x: -.9958, y: -702.2438, type: 1 }, { start_node: 3452, end_node: 22473, start: 3.1416, delta: 1.5708, radius: 130, x: -.9958, y: -702.2438, type: 1 }, { start_node: 64816, end_node: 27140, start: 1.5708, delta: 1.5708, radius: 70, x: -982.338, y: -166.3351, type: 1 }, { start_node: 64816, end_node: 50862, start_x: -982.34, start_y: -102.34, end_x: -980.69, end_y: -3.7, type: 0 }, { start_node: 34959, end_node: 64816, start: .5236, delta: 1.0472, radius: 70, x: -982.338, y: -166.3351, type: 1 }, { start_node: 34959, end_node: 6884, start: -.5236, delta: 1.0472, radius: 70, x: -982.338, y: -166.3351, type: 1 }, { start_node: 27301, end_node: 27140, start: 3.1416, delta: 1.5708, radius: 70, x: -982.338, y: -166.3351, type: 1 }, { start_node: 6884, end_node: 27301, start: -1.5708, delta: 1.0472, radius: 70, x: -982.338, y: -166.3351, type: 1 }, { start_node: 56090, end_node: 4219, start: 3.1416, delta: 1.0472, radius: 70, x: 2158.0238, y: -163.2632, type: 1 }, { start_node: 56090, end_node: 59252, start_x: 2094.02, start_y: -163.26, end_x: 1895.26, end_y: -163.25, type: 0 }, { start_node: 49408, end_node: 62795, start: 0, delta: 1.0472, radius: 70, x: 2158.0238, y: -163.2632, type: 1 }, { start_node: 4219, end_node: 48698, start: 4.1888, delta: 1.0472, radius: 70, x: 2158.0238, y: -163.2632, type: 1 }, { start_node: 48698, end_node: 62795, start: -1.0472, delta: 1.0472, radius: 70, x: 2158.0238, y: -163.2632, type: 1 }, { start_node: 17201, end_node: 46657, start_x: 168.47, start_y: 1810.59, end_x: 357.16, end_y: 1811.1, type: 0 }, { start_node: 60472, end_node: 40508, start_x: -1951.71, start_y: -768.08, end_x: -2037.01, end_y: -802.26, type: 0 }, { start_node: 30955, end_node: 64709, start_x: 1444.75, start_y: 1209.99, end_x: 1626.41, end_y: 1383.03, type: 0 }, { start_node: 30955, end_node: 2715, start: -.5236, delta: 2.0944, radius: 35, x: 1444.7524, y: 1177.9886, type: 1 }, { start_node: 2715, end_node: 59146, start: 3.6652, delta: 2.0944, radius: 35, x: 1444.7524, y: 1177.9886, type: 1 }, { start_node: 54791, end_node: 36801, start: 1.5708, delta: .5236, radius: 130, x: 2585.9076, y: -497.8988, type: 1 }, { start_node: 5629, end_node: 36225, start: 3.1416, delta: .5236, radius: 130, x: 2585.9076, y: -497.8988, type: 1 }, { start_node: 28503, end_node: 17908, start: -1.0472, delta: .5236, radius: 130, x: 2585.9076, y: -497.8988, type: 1 }, { start_node: 35384, end_node: 5629, start: 3.6652, delta: .5236, radius: 130, x: 2585.9076, y: -497.8988, type: 1 }, { start_node: 25775, end_node: 35384, start: 4.1888, delta: .5236, radius: 130, x: 2585.9076, y: -497.8988, type: 1 }, { start_node: 25775, end_node: 17908, start: -1.5708, delta: .5236, radius: 130, x: 2585.9076, y: -497.8988, type: 1 }, { start_node: 36801, end_node: 19228, start: 2.0944, delta: .5236, radius: 130, x: 2585.9076, y: -497.8988, type: 1 }, { start_node: 19228, end_node: 36225, start: 2.618, delta: .5236, radius: 130, x: 2585.9076, y: -497.8988, type: 1 }, { start_node: 17352, end_node: 20228, start_x: -1074.23, start_y: -576.52, end_x: -1000.96, end_y: -533.58, type: 0 }, { start_node: 17352, end_node: 23456, start_x: -1074.23, start_y: -576.52, end_x: -1169.05, end_y: -613.83, type: 0 }, { start_node: 56646, end_node: 25511, start: -1.5708, delta: 2.0944, radius: 35, x: 1945.7596, y: 1855.4032, type: 1 }, { start_node: 25511, end_node: 22266, start_x: 1945.76, start_y: 1823.4, end_x: 1946.54, end_y: 1678.97, type: 0 }, { start_node: 4481, end_node: 56646, start: .5236, delta: 2.0944, radius: 35, x: 1945.7596, y: 1855.4032, type: 1 }, { start_node: 27283, end_node: 46657, start: 0, delta: 1.5708, radius: 130, x: 357.1605, y: 1683.1036, type: 1 }, { start_node: 46657, end_node: 20010, start_x: 357.16, start_y: 1811.1, end_x: 759.3, end_y: 1810.64, type: 0 }, { start_node: 46657, end_node: 23066, start_x: 357.16, start_y: 1811.1, end_x: 437.69, end_y: 1948.54, type: 0 }, { start_node: 52632, end_node: 36222, start: 1.0472, delta: 1.0472, radius: 70, x: 357.1605, y: 1683.1036, type: 1 }, { start_node: 36222, end_node: 47030, start: 2.0944, delta: 1.0472, radius: 70, x: 357.1605, y: 1683.1036, type: 1 }, { start_node: 36222, end_node: 46657, start_x: 325.16, start_y: 1738.53, end_x: 357.16, end_y: 1811.1, type: 0 }, { start_node: 60002, end_node: 52632, start: 0, delta: 1.0472, radius: 70, x: 357.1605, y: 1683.1036, type: 1 }, { start_node: 47030, end_node: 30155, start: 3.1416, delta: 1.0472, radius: 70, x: 357.1605, y: 1683.1036, type: 1 }, { start_node: 30155, end_node: 60002, start: 4.1888, delta: 2.0944, radius: 70, x: 357.1605, y: 1683.1036, type: 1 }, { start_node: 30155, end_node: 48807, start_x: 325.16, start_y: 1627.68, end_x: 206.73, end_y: 1474.36, type: 0 }, { start_node: 16775, end_node: 3359, start_x: -594.2, start_y: -102.45, end_x: -506.54, end_y: -15.28, type: 0 }, { start_node: 46910, end_node: 16775, start: .5236, delta: 1.0472, radius: 190, x: -760.475, y: -198.4523, type: 1 }, { start_node: 46910, end_node: 65034, start_x: -760.47, start_y: -6.45, end_x: -631.16, end_y: 218.62, type: 0 }, { start_node: 16079, end_node: 20807, start_x: 2241.19, start_y: 679.87, end_x: 2380.81, end_y: 679.09, type: 0 }, { start_node: 16243, end_node: 48878, start: -.5236, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 16243, end_node: 27879, start: -1.0472, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 39521, end_node: 49779, start: 1.5708, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 39521, end_node: 5296, start_x: 720.99, start_y: -2334.94, end_x: 723.54, end_y: -2227.37, type: 0 }, { start_node: 40840, end_node: 63207, start: 3.1416, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 49779, end_node: 29552, start: 2.0944, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 29552, end_node: 40840, start: 2.618, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 48878, end_node: 51524, start: 0, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 51524, end_node: 51146, start: .5236, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 51146, end_node: 39521, start: 1.0472, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 52848, end_node: 63207, start: 3.6652, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 2464, end_node: 52848, start: 4.1888, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 27879, end_node: 2464, start: -1.5708, delta: .5236, radius: 130, x: 720.9892, y: -2462.9434, type: 1 }, { start_node: 62017, end_node: 33287, start: 4.1888, delta: 2.0944, radius: 70, x: -2099.1846, y: 1019.9428, type: 1 }, { start_node: 62017, end_node: 53793, start_x: -2035.18, start_y: 1019.94, end_x: -1956.06, end_y: 941.83, type: 0 }, { start_node: 55676, end_node: 5233, start_x: -2131.18, start_y: 1075.37, end_x: -2228.4, end_y: 1158.38, type: 0 }, { start_node: 33287, end_node: 55676, start: 2.0944, delta: 2.0944, radius: 70, x: -2099.1846, y: 1019.9428, type: 1 }, { start_node: 7594, end_node: 65097, start: 2.618, delta: 2.0944, radius: 35, x: 272.5675, y: -409.7616, type: 1 }, { start_node: 57736, end_node: 7594, start: .5236, delta: 2.0944, radius: 35, x: 272.5675, y: -409.7616, type: 1 }, { start_node: 41518, end_node: 3656, start_x: 1359.49, start_y: -1083.84, end_x: 1806.45, end_y: -1087.42, type: 0 }, { start_node: 20546, end_node: 41518, start: 4.1888, delta: .5236, radius: 190, x: 1359.488, y: -891.8448, type: 1 }, { start_node: 20546, end_node: 11591, start_x: 1263.49, start_y: -1058.12, end_x: 1045.87, end_y: -1186.95, type: 0 }, { start_node: 29353, end_node: 50422, start_x: -2228.59, start_y: -4.91, end_x: -1763.31, end_y: .65, type: 0 }, { start_node: 29353, end_node: 21929, start_x: -2228.59, start_y: -4.91, end_x: -2123.68, end_y: -86.32, type: 0 }, { start_node: 56341, end_node: 42964, start: 3.1416, delta: 1.0472, radius: 130, x: 1761.395, y: 510.5528, type: 1 }, { start_node: 6654, end_node: 63843, start_x: 1825.4, start_y: 621.4, end_x: 1949.42, end_y: 678.36, type: 0 }, { start_node: 6913, end_node: 6654, start: 1.0472, delta: 1.0472, radius: 130, x: 1761.395, y: 510.5528, type: 1 }, { start_node: 65224, end_node: 6913, start_x: 1761.4, start_y: 510.55, end_x: 1697.4, end_y: 621.4, type: 0 }, { start_node: 65224, end_node: 42964, start_x: 1761.4, start_y: 510.55, end_x: 1697.39, end_y: 399.7, type: 0 }, { start_node: 65224, end_node: 57819, start_x: 1761.4, start_y: 510.55, end_x: 1889.4, end_y: 510.55, type: 0 }, { start_node: 41380, end_node: 1529, start_x: 1825.4, start_y: 399.7, end_x: 1761.4, end_y: 318.55, type: 0 }, { start_node: 57819, end_node: 41380, start: -1.0472, delta: 1.0472, radius: 130, x: 1761.395, y: 510.5528, type: 1 }, { start_node: 5616, end_node: 63843, start_x: 1953.4, start_y: 510.55, end_x: 1949.42, end_y: 678.36, type: 0 }, { start_node: 1529, end_node: 5616, start: -1.5708, delta: 1.5708, radius: 190, x: 1761.395, y: 510.5528, type: 1 }, { start_node: 9386, end_node: 5743, start: 2.618, delta: 1.5708, radius: 70, x: -1727.3204, y: -1555.6516, type: 1 }, { start_node: 14057, end_node: 9386, start: 4.1888, delta: 1.5708, radius: 70, x: -1727.3204, y: -1555.6516, type: 1 }, { start_node: 14057, end_node: 6764, start_x: -1671.89, start_y: -1587.65, end_x: -1555.11, end_y: -1473.05, type: 0 }, { start_node: 5743, end_node: 64210, start_x: -1782.75, start_y: -1523.65, end_x: -1940.04, end_y: -1620.57, type: 0 }, { start_node: 5743, end_node: 58218, start: 1.0472, delta: 1.5708, radius: 70, x: -1727.3204, y: -1555.6516, type: 1 }, { start_node: 8135, end_node: 11128, start: 1.5708, delta: 2.0944, radius: 35, x: -.806, y: -1424.7188, type: 1 }, { start_node: 11659, end_node: 27929, start_x: 26.91, start_y: -1440.72, end_x: 267.02, end_y: -1439.98, type: 0 }, { start_node: 11659, end_node: 8135, start: -.5236, delta: 2.0944, radius: 35, x: -.806, y: -1424.7188, type: 1 }, { start_node: 11128, end_node: 11420, start_x: -28.52, start_y: -1440.72, end_x: -260.83, end_y: -1436.88, type: 0 }, { start_node: 30691, end_node: 15405, start_x: -1411.47, start_y: 142.61, end_x: -1410.05, end_y: -3.98, type: 0 }, { start_node: 49900, end_node: 46277, start_x: 2379.65, start_y: -316.18, end_x: 2382.02, end_y: -599.68, type: 0 }, { start_node: 3644, end_node: 14930, start_x: -1918.97, start_y: 1478.19, end_x: -1601.21, end_y: 1803.92, type: 0 }, { start_node: 7614, end_node: 15405, start_x: -1328.07, start_y: -81.06, end_x: -1410.05, end_y: -3.98, type: 0 }, { start_node: 1006, end_node: 13191, start: -1.5708, delta: 2.0944, radius: 35, x: -1300.36, y: -97.0562, type: 1 }, { start_node: 13191, end_node: 7614, start: 2.618, delta: 2.0944, radius: 35, x: -1300.36, y: -97.0562, type: 1 }, { start_node: 1252, end_node: 65456, start: 3.6652, delta: 2.0944, radius: 35, x: -1036.3398, y: 1603.7482, type: 1 }, { start_node: 65456, end_node: 22703, start_x: -1008.63, start_y: 1587.75, end_x: -939.25, end_y: 1638.69, type: 0 }, { start_node: 30160, end_node: 1252, start: 1.5708, delta: 2.0944, radius: 35, x: -1036.3398, y: 1603.7482, type: 1 }, { start_node: 30251, end_node: 32906, start: 2.618, delta: 1.0472, radius: 70, x: -1565.0946, y: 238.9565, type: 1 }, { start_node: 32906, end_node: 56435, start: 1.5708, delta: 1.0472, radius: 70, x: -1565.0946, y: 238.9565, type: 1 }, { start_node: 9371, end_node: 63309, start: -1.5708, delta: 1.0472, radius: 70, x: -1565.0946, y: 238.9565, type: 1 }, { start_node: 16756, end_node: 9371, start: -.5236, delta: 1.0472, radius: 70, x: -1565.0946, y: 238.9565, type: 1 }, { start_node: 56435, end_node: 16756, start: .5236, delta: 1.0472, radius: 70, x: -1565.0946, y: 238.9565, type: 1 }, { start_node: 63309, end_node: 30251, start: 3.6652, delta: 1.0472, radius: 70, x: -1565.0946, y: 238.9565, type: 1 }, { start_node: 57279, end_node: 3644, start_x: -2000.35, start_y: 1557.31, end_x: -1918.97, end_y: 1478.19, type: 0 }, { start_node: 19501, end_node: 17659, start_x: 302.03, start_y: -2226.65, end_x: 305.41, end_y: -2152.5, type: 0 }, { start_node: 11497, end_node: 56589, start_x: 790.33, start_y: 1375.97, end_x: 1109.64, end_y: 1379.48, type: 0 }, { start_node: 11497, end_node: 55949, start_x: 790.33, start_y: 1375.97, end_x: 793.54, end_y: 1222.18, type: 0 }, { start_node: 30693, end_node: 12937, start: 1.5708, delta: 2.0944, radius: 35, x: -1827.762, y: -617.3328, type: 1 }, { start_node: 30693, end_node: 31931, start_x: -1827.76, start_y: -585.33, end_x: -1764.39, end_y: -440.41, type: 0 }, { start_node: 12937, end_node: 15064, start_x: -1855.47, start_y: -633.33, end_x: -1956.39, end_y: -632.41, type: 0 }, { start_node: 22498, end_node: 30693, start: -.5236, delta: 2.0944, radius: 35, x: -1827.762, y: -617.3328, type: 1 }, { start_node: 37690, end_node: 48423, start: -1.0472, delta: 1.0472, radius: 70, x: -249.7022, y: -144.3229, type: 1 }, { start_node: 48423, end_node: 6204, start: 4.1888, delta: 1.0472, radius: 70, x: -249.7022, y: -144.3229, type: 1 }, { start_node: 48423, end_node: 35928, start_x: -217.7, start_y: -199.75, end_x: -249.7, end_y: -144.32, type: 0 }, { start_node: 6204, end_node: 63976, start_x: -281.7, start_y: -199.75, end_x: -484.99, end_y: -277.45, type: 0 }, { start_node: 5560, end_node: 51291, start: -1.0472, delta: .5236, radius: 130, x: -249.7022, y: -144.3229, type: 1 }, { start_node: 51291, end_node: 38450, start: -1.5708, delta: .5236, radius: 130, x: -249.7022, y: -144.3229, type: 1 }, { start_node: 26740, end_node: 63976, start_x: -313.7, start_y: -144.32, end_x: -484.99, end_y: -277.45, type: 0 }, { start_node: 38048, end_node: 55906, start: 1.0472, delta: 1.0472, radius: 70, x: -249.7022, y: -144.3229, type: 1 }, { start_node: 55906, end_node: 26740, start: 2.0944, delta: 1.0472, radius: 70, x: -249.7022, y: -144.3229, type: 1 }, { start_node: 55906, end_node: 35928, start_x: -281.7, start_y: -88.9, end_x: -249.7, end_y: -144.32, type: 0 }, { start_node: 54776, end_node: 50360, start: 3.6652, delta: 1.0472, radius: 70, x: .3856, y: 1472.4354, type: 1 }, { start_node: 28265, end_node: 48807, start_x: 55.81, start_y: 1440.44, end_x: 206.73, end_y: 1474.36, type: 0 }, { start_node: 28265, end_node: 54776, start: -1.5708, delta: 1.0472, radius: 70, x: .3856, y: 1472.4354, type: 1 }, { start_node: 48438, end_node: 25933, start: .5236, delta: 1.0472, radius: 70, x: .3856, y: 1472.4354, type: 1 }, { start_node: 48438, end_node: 18302, start: 1.5708, delta: 1.0472, radius: 70, x: .3856, y: 1472.4354, type: 1 }, { start_node: 23690, end_node: 49651, start_x: 691.89, start_y: -1751.32, end_x: 692.5, end_y: -1851.27, type: 0 }, { start_node: 18663, end_node: 36678, start_x: -1339.8, start_y: -2155.67, end_x: -1210.75, end_y: -1957.78, type: 0 }, { start_node: 37569, end_node: 36542, start: 1.5708, delta: 1.0472, radius: 190, x: -194.9069, y: -1324.1784, type: 1 }, { start_node: 37569, end_node: 57264, start_x: -194.91, start_y: -1132.18, end_x: -64.71, end_y: -1122.41, type: 0 }, { start_node: 16544, end_node: 8544, start_x: .9, start_y: 2171.38, end_x: 371.54, end_y: 2171.4, type: 0 }, { start_node: 16544, end_node: 24083, start_x: .9, start_y: 2171.38, end_x: -365.68, end_y: 2171.46, type: 0 }, { start_node: 5916, end_node: 29049, start: 4.1888, delta: 1.5708, radius: 70, x: -1460.1462, y: -1692.8848, type: 1 }, { start_node: 4713, end_node: 5916, start: -.5236, delta: 1.5708, radius: 70, x: -1460.1462, y: -1692.8848, type: 1 }, { start_node: 4713, end_node: 40366, start_x: -1428.15, start_y: -1637.46, end_x: -1388.83, end_y: -1569.05, type: 0 }, { start_node: 4713, end_node: 6245, start: 1.0472, delta: 1.5708, radius: 70, x: -1460.1462, y: -1692.8848, type: 1 }, { start_node: 7162, end_node: 14930, start_x: -1664.57, start_y: 1876.51, end_x: -1601.21, end_y: 1803.92, type: 0 }, { start_node: 9695, end_node: 7162, start: 4.1888, delta: 1.5708, radius: 70, x: -1719.9978, y: 1908.5082, type: 1 }, { start_node: 42009, end_node: 46636, start: 1.0472, delta: 1.5708, radius: 70, x: -1719.9978, y: 1908.5082, type: 1 }, { start_node: 46636, end_node: 9695, start: 2.618, delta: 1.5708, radius: 70, x: -1719.9978, y: 1908.5082, type: 1 }, { start_node: 12702, end_node: 42583, start_x: -360.87, start_y: 216.31, end_x: -456.31, end_y: 265.47, type: 0 }, { start_node: 61981, end_node: 47507, start: 1.0472, delta: 1.0472, radius: 70, x: 1837.813, y: -1456.939, type: 1 }, { start_node: 60405, end_node: 25757, start: 4.1888, delta: 1.5708, radius: 70, x: 1837.813, y: -1456.939, type: 1 }, { start_node: 60405, end_node: 36858, start_x: 1805.81, start_y: -1512.36, end_x: 1800.38, end_y: -1602.78, type: 0 }, { start_node: 25757, end_node: 61981, start: -.5236, delta: 1.5708, radius: 70, x: 1837.813, y: -1456.939, type: 1 }, { start_node: 47507, end_node: 49929, start: 2.0944, delta: 1.0472, radius: 70, x: 1837.813, y: -1456.939, type: 1 }, { start_node: 49929, end_node: 60405, start: 3.1416, delta: 1.0472, radius: 70, x: 1837.813, y: -1456.939, type: 1 }, { start_node: 19635, end_node: 11551, start_x: 1.78, start_y: -1824.54, end_x: 372.71, end_y: -1825.38, type: 0 }, { start_node: 19635, end_node: 20528, start_x: 1.78, start_y: -1824.54, end_x: 2.53, end_y: -1993.83, type: 0 }, { start_node: 19635, end_node: 16971, start_x: 1.78, start_y: -1824.54, end_x: -88.46, end_y: -1915.06, type: 0 }, { start_node: 43412, end_node: 34666, start: 3.1416, delta: 2.0944, radius: 70, x: -354.9246, y: 1682.7426, type: 1 }, { start_node: 43412, end_node: 34009, start_x: -322.92, start_y: 1627.32, end_x: -205.75, end_y: 1472.45, type: 0 }, { start_node: 34666, end_node: 36972, start: 2.0944, delta: 1.0472, radius: 70, x: -354.9246, y: 1682.7426, type: 1 }, { start_node: 36972, end_node: 43303, start: 1.0472, delta: 1.0472, radius: 70, x: -354.9246, y: 1682.7426, type: 1 }, { start_node: 58090, end_node: 24865, start: 1.5708, delta: 1.5708, radius: 130, x: -354.9246, y: 1682.7426, type: 1 }, { start_node: 24865, end_node: 34031, start_x: -354.92, start_y: 1810.74, end_x: -162.42, end_y: 1810.01, type: 0 }, { start_node: 24865, end_node: 6741, start_x: -354.92, start_y: 1810.74, end_x: -603.97, end_y: 1809.69, type: 0 }, { start_node: 24865, end_node: 4833, start_x: -354.92, start_y: 1810.74, end_x: -432.22, end_y: 1946.7, type: 0 }, { start_node: 43303, end_node: 30842, start: 0, delta: 1.0472, radius: 70, x: -354.9246, y: 1682.7426, type: 1 }, { start_node: 43303, end_node: 24865, start_x: -322.92, start_y: 1738.17, end_x: -354.92, end_y: 1810.74, type: 0 }, { start_node: 30842, end_node: 43412, start: -1.0472, delta: 1.0472, radius: 70, x: -354.9246, y: 1682.7426, type: 1 }, { start_node: 3676, end_node: 17790, start: 2.618, delta: 2.0944, radius: 70, x: 151.4201, y: -1946.1054, type: 1 }, { start_node: 3676, end_node: 27386, start: -1.5708, delta: 2.0944, radius: 70, x: 151.4201, y: -1946.1054, type: 1 }, { start_node: 17790, end_node: 19635, start_x: 95.99, start_y: -1914.11, end_x: 1.78, end_y: -1824.54, type: 0 }, { start_node: 59861, end_node: 40653, start_x: -1723.35, start_y: 1070.04, end_x: -1764.06, end_y: 1133.83, type: 0 }, { start_node: 31928, end_node: 10542, start: -1.0472, delta: .5236, radius: 130, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 61868, end_node: 10542, start: -1.5708, delta: .5236, radius: 130, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 61868, end_node: 22285, start_x: -1723.35, start_y: 814.04, end_x: -1951.11, end_y: 814.79, type: 0 }, { start_node: 61999, end_node: 27195, start: 4.1888, delta: 2.0944, radius: 70, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 6718, end_node: 32482, start: 0, delta: .5236, radius: 130, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 6718, end_node: 61999, start_x: -1595.35, start_y: 942.04, end_x: -1659.35, end_y: 942.04, type: 0 }, { start_node: 6718, end_node: 24383, start_x: -1595.35, start_y: 942.04, end_x: -1416.04, end_y: 942.22, type: 0 }, { start_node: 6718, end_node: 31928, start: -.5236, delta: .5236, radius: 130, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 7399, end_node: 61999, start: 0, delta: 2.0944, radius: 70, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 7399, end_node: 27166, start: 2.0944, delta: 1.0472, radius: 70, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 27166, end_node: 27195, start: 3.1416, delta: 1.0472, radius: 70, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 27166, end_node: 53793, start_x: -1787.35, start_y: 942.04, end_x: -1956.06, end_y: 941.83, type: 0 }, { start_node: 31033, end_node: 32482, start: .5236, delta: .5236, radius: 130, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 31033, end_node: 59861, start: 1.0472, delta: .5236, radius: 130, x: -1723.3494, y: 942.039, type: 1 }, { start_node: 63425, end_node: 6764, start_x: -1478.7, start_y: -1351.86, end_x: -1555.11, end_y: -1473.05, type: 0 }, { start_node: 34031, end_node: 29933, start_x: -162.42, start_y: 1810.01, end_x: -236.88, end_y: 1940.09, type: 0 }, { start_node: 27929, end_node: 48514, start_x: 267.02, start_y: -1439.98, end_x: 235.2, end_y: -1344.42, type: 0 }, { start_node: 27929, end_node: 55643, start_x: 267.02, start_y: -1439.98, end_x: 179.78, end_y: -1376.42, type: 0 }, { start_node: 27929, end_node: 38900, start_x: 267.02, start_y: -1439.98, end_x: 125.55, end_y: -1645.23, type: 0 }, { start_node: 27929, end_node: 2292, start_x: 267.02, start_y: -1439.98, end_x: 375.76, end_y: -1535.31, type: 0 }, { start_node: 27929, end_node: 8948, start_x: 267.02, start_y: -1439.98, end_x: 489.84, end_y: -1439.58, type: 0 }, { start_node: 34009, end_node: 51856, start_x: -205.75, start_y: 1472.45, end_x: -118.92, end_y: 1353.24, type: 0 }, { start_node: 34009, end_node: 50360, start_x: -205.75, start_y: 1472.45, end_x: -55.04, end_y: 1440.44, type: 0 }, { start_node: 34009, end_node: 18302, start_x: -205.75, start_y: 1472.45, end_x: -55.04, end_y: 1504.44, type: 0 }, { start_node: 34009, end_node: 476, start_x: -205.75, start_y: 1472.45, end_x: -408.14, end_y: 1446.2, type: 0 }, { start_node: 39725, end_node: 63649, start_x: 62.36, start_y: 1130.19, end_x: 177.37, end_y: 1141.38, type: 0 }, { start_node: 39725, end_node: 24377, start_x: 62.36, start_y: 1130.19, end_x: 121.43, end_y: 1250.25, type: 0 }, { start_node: 47389, end_node: 42911, start_x: -65.64, start_y: 1130.19, end_x: -173.54, end_y: 1139.13, type: 0 }, { start_node: 47389, end_node: 5612, start_x: -65.64, start_y: 1130.19, end_x: -118.92, end_y: 1242.39, type: 0 }, { start_node: 49236, end_node: 48362, start: -1.5708, delta: 2.0944, radius: 35, x: 403.4764, y: -1551.3082, type: 1 }, { start_node: 2292, end_node: 49236, start: 2.618, delta: 2.0944, radius: 35, x: 403.4764, y: -1551.3082, type: 1 }, { start_node: 48362, end_node: 27415, start_x: 431.19, start_y: -1535.31, end_x: 538.99, end_y: -1537.38, type: 0 }, { start_node: 8879, end_node: 40653, start_x: -1837.22, start_y: 1195.42, end_x: -1764.06, end_y: 1133.83, type: 0 }, { start_node: 14419, end_node: 8879, start: -.5236, delta: 2.0944, radius: 35, x: -1864.9374, y: 1211.421, type: 1 }, { start_node: 14419, end_node: 30439, start: 1.5708, delta: 2.0944, radius: 35, x: -1864.9374, y: 1211.421, type: 1 }, { start_node: 8930, end_node: 5408, start_x: 663.81, start_y: 870.46, end_x: 496.03, end_y: 866.99, type: 0 }, { start_node: 18402, end_node: 8930, start: 3.1416, delta: 1.5708, radius: 70, x: 727.8064, y: 870.4622, type: 1 }, { start_node: 53377, end_node: 18402, start: -1.5708, delta: 1.5708, radius: 70, x: 727.8064, y: 870.4622, type: 1 }, { start_node: 42041, end_node: 53377, start: 0, delta: 1.5708, radius: 70, x: 727.8064, y: 870.4622, type: 1 }, { start_node: 59370, end_node: 63795, start: 3.6652, delta: 1.0472, radius: 190, x: 1254.3192, y: 507.0074, type: 1 }, { start_node: 63795, end_node: 38662, start_x: 1254.32, start_y: 315.01, end_x: 1417.62, end_y: 322.38, type: 0 }, { start_node: 10575, end_node: 34173, start_x: -1956.15, start_y: -901.62, end_x: -2059.55, end_y: -957.98, type: 0 }, { start_node: 10575, end_node: 60472, start_x: -1956.15, start_y: -901.62, end_x: -1951.71, end_y: -768.08, type: 0 }, { start_node: 58402, end_node: 10575, start: 3.1416, delta: 1.5708, radius: 190, x: -1764.15, y: -901.6184, type: 1 }, { start_node: 58402, end_node: 6764, start_x: -1764.15, start_y: -1093.62, end_x: -1555.11, end_y: -1473.05, type: 0 }, { start_node: 54415, end_node: 6446, start_x: -1587.21, start_y: 414.74, end_x: -1764.59, end_y: 410.66, type: 0 }, { start_node: 465, end_node: 41536, start_x: 1118.17, start_y: 515.87, end_x: 1188.64, end_y: 478.2, type: 0 }, { start_node: 465, end_node: 65033, start_x: 1118.17, start_y: 515.87, end_x: 1188.64, end_y: 542.2, type: 0 }, { start_node: 47321, end_node: 56648, start: 2.618, delta: 2.0944, radius: 35, x: 1211.2804, y: -1299.0186, type: 1 }, { start_node: 47321, end_node: 265, start: .5236, delta: 2.0944, radius: 35, x: 1211.2804, y: -1299.0186, type: 1 }, { start_node: 265, end_node: 4502, start_x: 1238.99, start_y: -1283.02, end_x: 1474.27, end_y: -1271.96, type: 0 }, { start_node: 55993, end_node: 18135, start_x: -2550.35, start_y: -769.64, end_x: -2550.58, end_y: -879.96, type: 0 }, { start_node: 32432, end_node: 55380, start: -1.5708, delta: .5236, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 8027, end_node: 1655, start: -.5236, delta: 1.0472, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 21297, end_node: 1655, start: .5236, delta: .5236, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 21297, end_node: 12824, start: 1.0472, delta: .5236, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 30319, end_node: 32432, start: 4.1888, delta: .5236, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 55380, end_node: 8027, start: -1.0472, delta: .5236, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 45827, end_node: 12824, start: 1.5708, delta: .5236, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 28753, end_node: 30319, start: 3.1416, delta: 1.0472, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 28753, end_node: 45827, start: 2.0944, delta: 1.0472, radius: 130, x: 2874.9926, y: -704.9266, type: 1 }, { start_node: 28753, end_node: 56295, start_x: 2746.99, start_y: -704.93, end_x: 2471.03, end_y: -707, type: 0 }, { start_node: 45838, end_node: 4011, start_x: 1208.69, start_y: -322.34, end_x: 1367.16, end_y: -314.62, type: 0 }, { start_node: 8640, end_node: 45838, start: 1.5708, delta: .5236, radius: 190, x: 1208.6926, y: -514.3376, type: 1 }, { start_node: 8640, end_node: 45272, start_x: 1112.69, start_y: -348.06, end_x: 1003.66, end_y: -506.56, type: 0 }, { start_node: 27276, end_node: 62831, start: -1.5708, delta: 1.0472, radius: 70, x: 1208.6926, y: -514.3376, type: 1 }, { start_node: 62831, end_node: 51220, start: 3.6652, delta: 1.0472, radius: 70, x: 1208.6926, y: -514.3376, type: 1 }, { start_node: 51220, end_node: 41689, start_x: 1153.27, start_y: -546.34, end_x: 1080.32, end_y: -515.26, type: 0 }, { start_node: 45202, end_node: 65427, start: .5236, delta: 1.0472, radius: 70, x: 1208.6926, y: -514.3376, type: 1 }, { start_node: 20953, end_node: 45202, start: 1.5708, delta: 1.0472, radius: 70, x: 1208.6926, y: -514.3376, type: 1 }, { start_node: 10490, end_node: 39085, start_x: -419.62, start_y: -589.82, end_x: -416.32, end_y: -804.27, type: 0 }, { start_node: 33479, end_node: 10490, start: -.5236, delta: 1.0472, radius: 190, x: -585.8954, y: -493.8214, type: 1 }, { start_node: 33479, end_node: 54267, start_x: -419.62, start_y: -397.82, end_x: -529.16, end_y: -399.29, type: 0 }, { start_node: 33479, end_node: 3197, start_x: -419.62, start_y: -397.82, end_x: -311.31, end_y: -396.22, type: 0 }, { start_node: 6446, end_node: 55649, start: 3.1416, delta: 1.5708, radius: 190, x: -1764.587, y: 602.6648, type: 1 }, { start_node: 8348, end_node: 6534, start: 4.1888, delta: .5236, radius: 130, x: 570.6308, y: 336.2339, type: 1 }, { start_node: 6534, end_node: 20812, start: -1.5708, delta: .5236, radius: 130, x: 570.6308, y: 336.2339, type: 1 }, { start_node: 20812, end_node: 44103, start: -1.0472, delta: 1.5708, radius: 130, x: 570.6308, y: 336.2339, type: 1 }, { start_node: 60204, end_node: 57984, start: 3.1416, delta: .5236, radius: 130, x: 570.6308, y: 336.2339, type: 1 }, { start_node: 32091, end_node: 44103, start: .5236, delta: 1.5708, radius: 130, x: 570.6308, y: 336.2339, type: 1 }, { start_node: 57984, end_node: 8348, start: 3.6652, delta: .5236, radius: 130, x: 570.6308, y: 336.2339, type: 1 }, { start_node: 17814, end_node: 60204, start: 2.618, delta: .5236, radius: 130, x: 570.6308, y: 336.2339, type: 1 }, { start_node: 17814, end_node: 32091, start: 2.0944, delta: .5236, radius: 130, x: 570.6308, y: 336.2339, type: 1 }, { start_node: 35568, end_node: 59718, start: 2.618, delta: 2.0944, radius: 35, x: -.4297, y: 1309.2102, type: 1 }, { start_node: 50306, end_node: 35568, start: -1.5708, delta: 2.0944, radius: 35, x: -.4297, y: 1309.2102, type: 1 }, { start_node: 9995, end_node: 34513, start: 2.618, delta: 2.0944, radius: 35, x: -840.1724, y: 2308.9332, type: 1 }, { start_node: 34513, end_node: 24914, start_x: -840.17, start_y: 2276.93, end_x: -840.28, end_y: 2170.77, type: 0 }, { start_node: 33718, end_node: 9995, start: .5236, delta: 2.0944, radius: 35, x: -840.1724, y: 2308.9332, type: 1 }, { start_node: 5823, end_node: 798, start_x: 1365.67, start_y: -521.62, end_x: 1502.24, end_y: -553.62, type: 0 }, { start_node: 5823, end_node: 4011, start_x: 1365.67, start_y: -521.62, end_x: 1367.16, end_y: -314.62, type: 0 }, { start_node: 5823, end_node: 27276, start_x: 1365.67, start_y: -521.62, end_x: 1264.12, end_y: -546.34, type: 0 }, { start_node: 5823, end_node: 65427, start_x: 1365.67, start_y: -521.62, end_x: 1264.12, end_y: -482.34, type: 0 }, { start_node: 45491, end_node: 5823, start_x: 1502.24, start_y: -489.62, end_x: 1365.67, end_y: -521.62, type: 0 }, { start_node: 60737, end_node: 45491, start: 1.5708, delta: 1.0472, radius: 70, x: 1557.6656, y: -521.6184, type: 1 }, { start_node: 42623, end_node: 60737, start: .5236, delta: 1.0472, radius: 70, x: 1557.6656, y: -521.6184, type: 1 }, { start_node: 798, end_node: 8001, start: 3.6652, delta: 1.0472, radius: 70, x: 1557.6656, y: -521.6184, type: 1 }, { start_node: 8001, end_node: 1571, start: -1.5708, delta: 1.0472, radius: 70, x: 1557.6656, y: -521.6184, type: 1 }, { start_node: 13009, end_node: 47251, start_x: -1027.57, start_y: -1212.83, end_x: -834.47, end_y: -1312.03, type: 0 }, { start_node: 53793, end_node: 40653, start: 1.5708, delta: 1.5708, radius: 190, x: -1764.0626, y: 941.83, type: 1 }, { start_node: 40653, end_node: 42800, start_x: -1764.06, start_y: 1133.83, end_x: -1500.25, end_y: 1380.88, type: 0 }, { start_node: 45360, end_node: 8938, start_x: 1651.07, start_y: 111.93, end_x: 1651.62, end_y: -.73, type: 0 }, { start_node: 45360, end_node: 46344, start: -1.5708, delta: 1.0472, radius: 70, x: 1651.0696, y: 175.9313, type: 1 }, { start_node: 55908, end_node: 45360, start: 3.1416, delta: 1.5708, radius: 70, x: 1651.0696, y: 175.9313, type: 1 }, { start_node: 46344, end_node: 29089, start: -.5236, delta: 1.0472, radius: 70, x: 1651.0696, y: 175.9313, type: 1 }, { start_node: 29089, end_node: 36687, start: .5236, delta: 1.0472, radius: 70, x: 1651.0696, y: 175.9313, type: 1 }, { start_node: 36687, end_node: 55908, start: 1.5708, delta: 1.5708, radius: 70, x: 1651.0696, y: 175.9313, type: 1 }, { start_node: 22627, end_node: 50904, start_x: -1051.38, start_y: 791.07, end_x: -943.89, end_y: 617.54, type: 0 }, { start_node: 33199, end_node: 55866, start: 0, delta: 1.5708, radius: 70, x: -591.641, y: -592.325, type: 1 }, { start_node: 33199, end_node: 47312, start: 1.5708, delta: 1.5708, radius: 70, x: -591.641, y: -592.325, type: 1 }, { start_node: 47312, end_node: 45317, start: 3.1416, delta: 1.5708, radius: 70, x: -591.641, y: -592.325, type: 1 }, { start_node: 55866, end_node: 10490, start_x: -527.64, start_y: -592.33, end_x: -419.62, end_y: -589.82, type: 0 }, { start_node: 20467, end_node: 60619, start: 3.6652, delta: 1.0472, radius: 70, x: -1922.154, y: -1200.3364, type: 1 }, { start_node: 5068, end_node: 20467, start: -1.5708, delta: 1.0472, radius: 70, x: -1922.154, y: -1200.3364, type: 1 }, { start_node: 27134, end_node: 5068, start: -.5236, delta: 1.0472, radius: 70, x: -1922.154, y: -1200.3364, type: 1 }, { start_node: 27134, end_node: 58402, start_x: -1866.73, start_y: -1168.34, end_x: -1764.15, end_y: -1093.62, type: 0 }, { start_node: 27134, end_node: 61950, start: .5236, delta: 1.0472, radius: 70, x: -1922.154, y: -1200.3364, type: 1 }, { start_node: 24677, end_node: 60619, start: 2.618, delta: 1.0472, radius: 70, x: -1922.154, y: -1200.3364, type: 1 }, { start_node: 61950, end_node: 24677, start: 1.5708, delta: 1.0472, radius: 70, x: -1922.154, y: -1200.3364, type: 1 }, { start_node: 32555, end_node: 12412, start_x: 2378.63, start_y: 1431.75, end_x: 2380.59, end_y: 1067.55, type: 0 }, { start_node: 32555, end_node: 54922, start_x: 2378.63, start_y: 1431.75, end_x: 2462.69, end_y: 1577.66, type: 0 }, { start_node: 32555, end_node: 36877, start_x: 2378.63, start_y: 1431.75, end_x: 2295, end_y: 1296.38, type: 0 }, { start_node: 30733, end_node: 22703, start_x: -788.64, start_y: 1369.45, end_x: -939.25, end_y: 1638.69, type: 0 }, { start_node: 30733, end_node: 59494, start_x: -788.64, start_y: 1369.45, end_x: -787.31, end_y: 1247.88, type: 0 }, { start_node: 24472, end_node: 22893, start: -1.5708, delta: 2.0944, radius: 35, x: -262.5249, y: 393.1062, type: 1 }, { start_node: 24472, end_node: 28330, start_x: -234.81, start_y: 409.11, end_x: -185.03, end_y: 526.4, type: 0 }, { start_node: 53042, end_node: 22893, start: 2.618, delta: 2.0944, radius: 35, x: -262.5249, y: 393.1062, type: 1 }, { start_node: 40766, end_node: 23027, start_x: -2136.77, start_y: -529.74, end_x: -2228.48, end_y: -475.81, type: 0 }, { start_node: 27609, end_node: 44908, start_x: -1549.86, start_y: -304.12, end_x: -1408.54, end_y: -445.04, type: 0 }, { start_node: 27609, end_node: 65491, start: -1.5708, delta: 1.0472, radius: 70, x: -1605.2872, y: -272.1233, type: 1 }, { start_node: 65491, end_node: 15005, start: 3.6652, delta: 1.0472, radius: 70, x: -1605.2872, y: -272.1233, type: 1 }, { start_node: 5366, end_node: 34363, start: 1.5708, delta: 1.0472, radius: 70, x: -1605.2872, y: -272.1233, type: 1 }, { start_node: 13454, end_node: 27609, start: -.5236, delta: 1.0472, radius: 70, x: -1605.2872, y: -272.1233, type: 1 }, { start_node: 34363, end_node: 13454, start: .5236, delta: 1.0472, radius: 70, x: -1605.2872, y: -272.1233, type: 1 }, { start_node: 15005, end_node: 9355, start_x: -1660.71, start_y: -304.12, end_x: -1763.49, end_y: -302.53, type: 0 }, { start_node: 15005, end_node: 5366, start: 2.618, delta: 1.0472, radius: 70, x: -1605.2872, y: -272.1233, type: 1 }, { start_node: 61653, end_node: 18769, start: 0, delta: 1.5708, radius: 70, x: 1643.31, y: -1458.8618, type: 1 }, { start_node: 38190, end_node: 61653, start: -1.5708, delta: 1.5708, radius: 70, x: 1643.31, y: -1458.8618, type: 1 }, { start_node: 1822, end_node: 38190, start: 3.1416, delta: 1.5708, radius: 70, x: 1643.31, y: -1458.8618, type: 1 }, { start_node: 1822, end_node: 4502, start_x: 1579.31, start_y: -1458.86, end_x: 1474.27, end_y: -1271.96, type: 0 }, { start_node: 36858, end_node: 60440, start_x: 1800.38, start_y: -1602.78, end_x: 1506.06, end_y: -1769.43, type: 0 }, { start_node: 36858, end_node: 61653, start_x: 1800.38, start_y: -1602.78, end_x: 1707.31, end_y: -1458.86, type: 0 }, { start_node: 36858, end_node: 53456, start_x: 1800.38, start_y: -1602.78, end_x: 2385.91, end_y: -1267.19, type: 0 }, { start_node: 39861, end_node: 49978, start_x: 1363.42, start_y: -.3, end_x: 1054.04, end_y: -.31, type: 0 }, { start_node: 39861, end_node: 6538, start_x: 1363.42, start_y: -.3, end_x: 1369.92, end_y: 118.25, type: 0 }, { start_node: 57061, end_node: 5289, start: 2.618, delta: 2.0944, radius: 70, x: -707.2522, y: 839.4846, type: 1 }, { start_node: 22061, end_node: 43374, start_x: -651.83, start_y: 871.48, end_x: -501.47, end_y: 870.51, type: 0 }, { start_node: 22061, end_node: 57061, start: -1.5708, delta: 2.0944, radius: 70, x: -707.2522, y: 839.4846, type: 1 }, { start_node: 45680, end_node: 25237, start: 3.6652, delta: 2.0944, radius: 35, x: 525.0878, y: -577.752, type: 1 }, { start_node: 45680, end_node: 46092, start_x: 497.37, start_y: -593.75, end_x: 421.3, end_y: -589.14, type: 0 }, { start_node: 25237, end_node: 10835, start: -.5236, delta: 2.0944, radius: 35, x: 525.0878, y: -577.752, type: 1 }, { start_node: 37326, end_node: 48109, start_x: -2048.45, start_y: 766.94, end_x: -2124.34, end_y: 768.06, type: 0 }, { start_node: 22497, end_node: 2151, start_x: -26.17, start_y: -242.08, end_x: -62.91, end_y: -108.68, type: 0 }, { start_node: 8643, end_node: 37078, start_x: 1.54, start_y: -290.08, end_x: 2.2, end_y: -417.04, type: 0 }, { start_node: 8643, end_node: 63845, start: -1.5708, delta: 2.0944, radius: 35, x: 1.5439, y: -258.0789, type: 1 }, { start_node: 63845, end_node: 22497, start: .5236, delta: 2.0944, radius: 35, x: 1.5439, y: -258.0789, type: 1 }, { start_node: 36678, end_node: 7444, start_x: -1210.75, start_y: -1957.78, end_x: -1769.86, end_y: -1957.6, type: 0 }, { start_node: 36678, end_node: 39841, start_x: -1210.75, start_y: -1957.78, end_x: -1039.51, end_y: -2219.69, type: 0 }, { start_node: 3469, end_node: 7388, start_x: 721.61, start_y: -1378.06, end_x: 831.1, end_y: -1313.11, type: 0 }, { start_node: 33988, end_node: 31628, start_x: -1080.06, start_y: 555.96, end_x: -1007.89, end_y: 506.68, type: 0 }, { start_node: 50846, end_node: 4223, start: -1.5708, delta: 2.0944, radius: 35, x: -283.5936, y: -412.2164, type: 1 }, { start_node: 4223, end_node: 3197, start: .5236, delta: 2.0944, radius: 35, x: -283.5936, y: -412.2164, type: 1 }, { start_node: 21929, end_node: 38836, start: .5236, delta: 2.0944, radius: 35, x: -2095.9698, y: -102.3203, type: 1 }, { start_node: 38836, end_node: 27137, start: -1.5708, delta: 2.0944, radius: 35, x: -2095.9698, y: -102.3203, type: 1 }, { start_node: 37078, end_node: 11430, start_x: 2.2, start_y: -417.04, end_x: -1, end_y: -574.24, type: 0 }, { start_node: 35894, end_node: 5022, start_x: 1349.32, start_y: -899.16, end_x: 1449.51, end_y: -962.35, type: 0 }, { start_node: 35894, end_node: 766, start_x: 1349.32, start_y: -899.16, end_x: 1432.36, end_y: -898.35, type: 0 }, { start_node: 35894, end_node: 42161, start_x: 1349.32, start_y: -899.16, end_x: 1449.51, end_y: -834.35, type: 0 }, { start_node: 35894, end_node: 20546, start_x: 1349.32, start_y: -899.16, end_x: 1263.49, end_y: -1058.12, type: 0 }, { start_node: 55332, end_node: 14021, start: 3.6652, delta: 1.0472, radius: 190, x: -671.954, y: -1663.526, type: 1 }, { start_node: 14021, end_node: 7938, start_x: -671.95, start_y: -1855.53, end_x: -469.6, end_y: -1801.15, type: 0 }, { start_node: 11591, end_node: 7388, start_x: 1045.87, start_y: -1186.95, end_x: 831.1, end_y: -1313.11, type: 0 }, { start_node: 24377, end_node: 35568, start_x: 121.43, start_y: 1250.25, end_x: -.43, end_y: 1277.21, type: 0 }, { start_node: 24377, end_node: 56803, start: 4.1888, delta: 2.0944, radius: 70, x: 153.4254, y: 1305.68, type: 1 }, { start_node: 56803, end_node: 62694, start: 0, delta: 1.0472, radius: 70, x: 153.4254, y: 1305.68, type: 1 }, { start_node: 62694, end_node: 45227, start: 1.0472, delta: 1.0472, radius: 70, x: 153.4254, y: 1305.68, type: 1 }, { start_node: 45227, end_node: 50306, start_x: 121.43, start_y: 1361.11, end_x: 27.28, end_y: 1325.21, type: 0 }, { start_node: 18715, end_node: 10893, start: 2.618, delta: .5236, radius: 130, x: -308.8036, y: -2489.95, type: 1 }, { start_node: 38789, end_node: 11924, start: -1.5708, delta: 1.0472, radius: 70, x: -308.8036, y: -2489.95, type: 1 }, { start_node: 61804, end_node: 44184, start_x: -308.8, start_y: -2361.95, end_x: -308.35, end_y: -2223.92, type: 0 }, { start_node: 61804, end_node: 14040, start: 1.5708, delta: .5236, radius: 130, x: -308.8036, y: -2489.95, type: 1 }, { start_node: 60501, end_node: 10893, start: 3.1416, delta: .5236, radius: 130, x: -308.8036, y: -2489.95, type: 1 }, { start_node: 14040, end_node: 18715, start: 2.0944, delta: .5236, radius: 130, x: -308.8036, y: -2489.95, type: 1 }, { start_node: 13559, end_node: 8624, start: .5236, delta: 1.0472, radius: 70, x: -308.8036, y: -2489.95, type: 1 }, { start_node: 13559, end_node: 38789, start: -.5236, delta: 1.0472, radius: 70, x: -308.8036, y: -2489.95, type: 1 }, { start_node: 8624, end_node: 61804, start_x: -308.8, start_y: -2425.95, end_x: -308.8, end_y: -2361.95, type: 0 }, { start_node: 43413, end_node: 3319, start: 3.1416, delta: .5236, radius: 130, x: 1.0967, y: 2437.7608, type: 1 }, { start_node: 43413, end_node: 49343, start: 3.6652, delta: 1.0472, radius: 130, x: 1.0967, y: 2437.7608, type: 1 }, { start_node: 3319, end_node: 44207, start: 2.618, delta: .5236, radius: 130, x: 1.0967, y: 2437.7608, type: 1 }, { start_node: 7063, end_node: 12878, start: .5236, delta: 1.0472, radius: 130, x: 1.0967, y: 2437.7608, type: 1 }, { start_node: 7063, end_node: 44207, start: 1.5708, delta: 1.0472, radius: 130, x: 1.0967, y: 2437.7608, type: 1 }, { start_node: 49343, end_node: 16544, start_x: 1.1, start_y: 2309.76, end_x: .9, end_y: 2171.38, type: 0 }, { start_node: 36761, end_node: 1159, start: -.5236, delta: .5236, radius: 130, x: 1.0967, y: 2437.7608, type: 1 }, { start_node: 1159, end_node: 49343, start: -1.5708, delta: 1.0472, radius: 130, x: 1.0967, y: 2437.7608, type: 1 }, { start_node: 12878, end_node: 36761, start: 0, delta: .5236, radius: 130, x: 1.0967, y: 2437.7608, type: 1 }, { start_node: 17383, end_node: 14813, start: 3.6652, delta: 2.0944, radius: 35, x: 1.1993, y: 2028.364, type: 1 }, { start_node: 58545, end_node: 17383, start: -.5236, delta: 2.0944, radius: 35, x: 1.1993, y: 2028.364, type: 1 }, { start_node: 58545, end_node: 16544, start_x: 1.2, start_y: 2060.36, end_x: .9, end_y: 2171.38, type: 0 }, { start_node: 63965, end_node: 14151, start_x: -945.17, start_y: -613.99, end_x: -938.78, end_y: -901.53, type: 0 }, { start_node: 367, end_node: 58103, start: -.5236, delta: 1.0472, radius: 70, x: -671.0002, y: -2075.104, type: 1 }, { start_node: 33864, end_node: 63447, start_x: -671, start_y: -2139.1, end_x: -672.98, end_y: -2223.84, type: 0 }, { start_node: 33864, end_node: 23659, start: 3.6652, delta: 1.0472, radius: 70, x: -671.0002, y: -2075.104, type: 1 }, { start_node: 35706, end_node: 14021, start_x: -671, start_y: -2011.1, end_x: -671.95, end_y: -1855.53, type: 0 }, { start_node: 35706, end_node: 367, start: .5236, delta: 1.0472, radius: 70, x: -671.0002, y: -2075.104, type: 1 }, { start_node: 58103, end_node: 33864, start: -1.5708, delta: 1.0472, radius: 70, x: -671.0002, y: -2075.104, type: 1 }, { start_node: 23659, end_node: 50029, start: 2.618, delta: 1.0472, radius: 70, x: -671.0002, y: -2075.104, type: 1 }, { start_node: 20528, end_node: 56158, start_x: 2.53, start_y: -1993.83, end_x: 3.5, end_y: -2063.02, type: 0 }, { start_node: 34579, end_node: 40100, start: 3.6652, delta: 2.0944, radius: 35, x: 474.696, y: -31.665, type: 1 }, { start_node: 40100, end_node: 28574, start_x: 502.41, start_y: -47.67, end_x: 593.8, end_y: -101.31, type: 0 }, { start_node: 30471, end_node: 34579, start: 1.5708, delta: 2.0944, radius: 35, x: 474.696, y: -31.665, type: 1 }, { start_node: 17735, end_node: 46340, start_x: -1283.87, start_y: -1089.38, end_x: -1523.41, end_y: -1089.47, type: 0 }, { start_node: 17735, end_node: 13009, start_x: -1283.87, start_y: -1089.38, end_x: -1027.57, end_y: -1212.83, type: 0 }, { start_node: 23881, end_node: 26523, start_x: -1170.11, start_y: 412.03, end_x: -1411.02, end_y: 415.4, type: 0 }, { start_node: 9511, end_node: 23881, start: -1.5708, delta: .5236, radius: 190, x: -1170.1074, y: 604.0252, type: 1 }, { start_node: 4565, end_node: 22423, start: 1.0472, delta: 1.0472, radius: 70, x: 137.5915, y: 1661.9414, type: 1 }, { start_node: 24641, end_node: 25456, start: 3.1416, delta: 2.0944, radius: 70, x: 137.5915, y: 1661.9414, type: 1 }, { start_node: 24641, end_node: 48807, start_x: 169.59, start_y: 1606.52, end_x: 206.73, end_y: 1474.36, type: 0 }, { start_node: 22423, end_node: 3009, start: 0, delta: 1.0472, radius: 70, x: 137.5915, y: 1661.9414, type: 1 }, { start_node: 22423, end_node: 17201, start_x: 169.59, start_y: 1717.37, end_x: 168.47, end_y: 1810.59, type: 0 }, { start_node: 25456, end_node: 4565, start: 2.0944, delta: 1.0472, radius: 70, x: 137.5915, y: 1661.9414, type: 1 }, { start_node: 3009, end_node: 24641, start: -1.0472, delta: 1.0472, radius: 70, x: 137.5915, y: 1661.9414, type: 1 }, { start_node: 28758, end_node: 39443, start: -.5236, delta: 1.0472, radius: 70, x: 1414.6108, y: -1450.7754, type: 1 }, { start_node: 39443, end_node: 56276, start: -1.5708, delta: 1.0472, radius: 70, x: 1414.6108, y: -1450.7754, type: 1 }, { start_node: 30717, end_node: 36891, start: 1.5708, delta: 1.5708, radius: 70, x: 1414.6108, y: -1450.7754, type: 1 }, { start_node: 56276, end_node: 30717, start: 3.1416, delta: 1.5708, radius: 70, x: 1414.6108, y: -1450.7754, type: 1 }, { start_node: 36891, end_node: 28758, start: .5236, delta: 1.0472, radius: 70, x: 1414.6108, y: -1450.7754, type: 1 }, { start_node: 36891, end_node: 4502, start_x: 1414.61, start_y: -1386.78, end_x: 1474.27, end_y: -1271.96, type: 0 }, { start_node: 26866, end_node: 44908, start_x: -1409.57, start_y: -577.54, end_x: -1408.54, end_y: -445.04, type: 0 }, { start_node: 26866, end_node: 15599, start_x: -1409.57, start_y: -577.54, end_x: -1388.94, end_y: -711.73, type: 0 }, { start_node: 13176, end_node: 36877, start: 1.0472, delta: 1.0472, radius: 70, x: 2262.995, y: 1240.9584, type: 1 }, { start_node: 36877, end_node: 12723, start: 0, delta: 1.0472, radius: 70, x: 2262.995, y: 1240.9584, type: 1 }, { start_node: 22488, end_node: 7136, start: 4.1888, delta: 1.0472, radius: 70, x: 2262.995, y: 1240.9584, type: 1 }, { start_node: 12723, end_node: 22488, start: -1.0472, delta: 1.0472, radius: 70, x: 2262.995, y: 1240.9584, type: 1 }, { start_node: 59194, end_node: 13176, start: 2.0944, delta: 1.0472, radius: 70, x: 2262.995, y: 1240.9584, type: 1 }, { start_node: 7136, end_node: 59194, start: 3.1416, delta: 1.0472, radius: 70, x: 2262.995, y: 1240.9584, type: 1 }, { start_node: 59252, end_node: 59606, start_x: 1895.26, start_y: -163.25, end_x: 1896.45, end_y: .81, type: 0 }, { start_node: 32245, end_node: 50422, start_x: -1685.77, start_y: -78.1, end_x: -1763.31, end_y: .65, type: 0 }, { start_node: 34400, end_node: 24914, start_x: -1252.15, start_y: 2171.22, end_x: -840.28, end_y: 2170.77, type: 0 }, { start_node: 34400, end_node: 14930, start_x: -1252.15, start_y: 2171.22, end_x: -1601.21, end_y: 1803.92, type: 0 }, { start_node: 34400, end_node: 14056, start_x: -1252.15, start_y: 2171.22, end_x: -1038.16, end_y: 1808.21, type: 0 }, { start_node: 3314, end_node: 49900, start_x: 2251.44, start_y: -313.89, end_x: 2379.65, end_y: -316.18, type: 0 }, { start_node: 61327, end_node: 51404, start: -1.5708, delta: 2.0944, radius: 35, x: 759.221, y: 1938.304, type: 1 }, { start_node: 51404, end_node: 20010, start_x: 759.22, start_y: 1906.3, end_x: 759.3, end_y: 1810.64, type: 0 }, { start_node: 57199, end_node: 61327, start: .5236, delta: 2.0944, radius: 35, x: 759.221, y: 1938.304, type: 1 }, { start_node: 55247, end_node: 63799, start: -1.0472, delta: 1.5708, radius: 70, x: 770.6362, y: -874.8056, type: 1 }, { start_node: 63799, end_node: 61320, start: 3.6652, delta: 1.5708, radius: 70, x: 770.6362, y: -874.8056, type: 1 }, { start_node: 61320, end_node: 37671, start_x: 715.21, start_y: -906.81, end_x: 626.67, end_y: -954.66, type: 0 }, { start_node: 18865, end_node: 55247, start: .5236, delta: 1.5708, radius: 70, x: 770.6362, y: -874.8056, type: 1 }, { start_node: 63194, end_node: 64265, start: 3.6652, delta: 2.0944, radius: 35, x: 1234.6846, y: 135.0923, type: 1 }, { start_node: 6799, end_node: 63194, start: 1.5708, delta: 2.0944, radius: 35, x: 1234.6846, y: 135.0923, type: 1 }, { start_node: 6538, end_node: 11651, start_x: 1369.92, start_y: 118.25, end_x: 1392, end_y: 226.03, type: 0 }, { start_node: 6538, end_node: 64265, start_x: 1369.92, start_y: 118.25, end_x: 1262.4, end_y: 119.09, type: 0 }, { start_node: 36287, end_node: 1461, start_x: 2380.71, start_y: 288.37, end_x: 2384.18, end_y: .07, type: 0 }, { start_node: 36287, end_node: 20807, start_x: 2380.71, start_y: 288.37, end_x: 2380.81, end_y: 679.09, type: 0 }, { start_node: 36287, end_node: 15837, start_x: 2380.71, start_y: 288.37, end_x: 2488.51, end_y: 354.03, type: 0 }, { start_node: 5233, end_node: 3644, start_x: -2228.4, start_y: 1158.38, end_x: -1918.97, end_y: 1478.19, type: 0 }, { start_node: 5622, end_node: 6, start: 1.5708, delta: 2.0944, radius: 70, x: 986.0088, y: 1945.5088, type: 1 }, { start_node: 25209, end_node: 5622, start: -.5236, delta: 2.0944, radius: 70, x: 986.0088, y: 1945.5088, type: 1 }, { start_node: 43768, end_node: 43170, start: 2.618, delta: 2.0944, radius: 35, x: 2128.0418, y: 1663.5336, type: 1 }, { start_node: 43768, end_node: 22266, start_x: 2100.33, start_y: 1679.53, end_x: 1946.54, end_y: 1678.97, type: 0 }, { start_node: 43170, end_node: 49624, start: -1.5708, delta: 2.0944, radius: 35, x: 2128.0418, y: 1663.5336, type: 1 }, { start_node: 12926, end_node: 34400, start_x: -1315.83, start_y: 2275.57, end_x: -1252.15, end_y: 2171.22, type: 0 }, { start_node: 44606, end_node: 30691, start_x: -1412.27, start_y: 270.96, end_x: -1411.47, end_y: 142.61, type: 0 }, { start_node: 44606, end_node: 26523, start_x: -1412.27, start_y: 270.96, end_x: -1411.02, end_y: 415.4, type: 0 }, { start_node: 13885, end_node: 28012, start_x: 1980.93, start_y: -604.04, end_x: 1814.94, end_y: -315.6, type: 0 }, { start_node: 13885, end_node: 58244, start: -.5236, delta: 1.0472, radius: 190, x: 1814.652, y: -700.036, type: 1 }, { start_node: 13885, end_node: 40362, start_x: 1980.93, start_y: -604.04, end_x: 2162.29, end_y: -600.34, type: 0 }, { start_node: 58244, end_node: 49308, start_x: 1980.93, start_y: -796.04, end_x: 2165.79, end_y: -797, type: 0 }, { start_node: 35283, end_node: 28885, start: 3.6652, delta: .5236, radius: 130, x: 1814.652, y: -700.036, type: 1 }, { start_node: 10763, end_node: 28754, start: 2.618, delta: .5236, radius: 130, x: 1814.652, y: -700.036, type: 1 }, { start_node: 28754, end_node: 35283, start: 3.1416, delta: .5236, radius: 130, x: 1814.652, y: -700.036, type: 1 }, { start_node: 62442, end_node: 46408, start_x: 1750.65, start_y: -589.18, end_x: 1815.77, end_y: -514.73, type: 0 }, { start_node: 62442, end_node: 10763, start: 2.0944, delta: .5236, radius: 130, x: 1814.652, y: -700.036, type: 1 }, { start_node: 28885, end_node: 24050, start_x: 1750.65, start_y: -810.89, end_x: 1807.77, end_y: -905.77, type: 0 }, { start_node: 60259, end_node: 4399, start: 0, delta: .5236, radius: 130, x: 1814.652, y: -700.036, type: 1 }, { start_node: 39322, end_node: 60259, start: .5236, delta: .5236, radius: 130, x: 1814.652, y: -700.036, type: 1 }, { start_node: 39322, end_node: 46408, start_x: 1878.65, start_y: -589.18, end_x: 1815.77, end_y: -514.73, type: 0 }, { start_node: 11018, end_node: 4399, start: -.5236, delta: .5236, radius: 130, x: 1814.652, y: -700.036, type: 1 }, { start_node: 11018, end_node: 46839, start: -1.0472, delta: .5236, radius: 130, x: 1814.652, y: -700.036, type: 1 }, { start_node: 46578, end_node: 28330, start: 3.6652, delta: 1.0472, radius: 190, x: -185.0277, y: 718.3976, type: 1 }, { start_node: 46578, end_node: 43374, start_x: -351.3, start_y: 622.4, end_x: -501.47, end_y: 870.51, type: 0 }, { start_node: 46578, end_node: 13714, start_x: -351.3, start_y: 622.4, end_x: -503.16, end_y: 440.32, type: 0 }, { start_node: 28330, end_node: 19144, start_x: -185.03, start_y: 526.4, end_x: -1.28, end_y: 522.25, type: 0 }, { start_node: 1957, end_node: 739, start: -.5236, delta: 1.0472, radius: 70, x: -185.2565, y: -1308.5794, type: 1 }, { start_node: 739, end_node: 18866, start: -1.5708, delta: 1.0472, radius: 70, x: -185.2565, y: -1308.5794, type: 1 }, { start_node: 18866, end_node: 11420, start_x: -185.26, start_y: -1372.58, end_x: -260.83, end_y: -1436.88, type: 0 }, { start_node: 21934, end_node: 11420, start_x: -240.68, start_y: -1340.58, end_x: -260.83, end_y: -1436.88, type: 0 }, { start_node: 36774, end_node: 17579, start: 1.5708, delta: 1.0472, radius: 70, x: -185.2565, y: -1308.5794, type: 1 }, { start_node: 17579, end_node: 21934, start: 2.618, delta: 1.0472, radius: 70, x: -185.2565, y: -1308.5794, type: 1 }, { start_node: 48109, end_node: 63723, start_x: -2124.34, start_y: 768.06, end_x: -2228.22, end_y: 767.09, type: 0 }, { start_node: 18359, end_node: 34306, start: -1.5708, delta: 2.0944, radius: 35, x: 644.4192, y: -365.0272, type: 1 }, { start_node: 18359, end_node: 45175, start_x: 644.42, start_y: -397.03, end_x: 523.61, end_y: -397.7, type: 0 }, { start_node: 34306, end_node: 21973, start: .5236, delta: 2.0944, radius: 35, x: 644.4192, y: -365.0272, type: 1 }, { start_node: 11455, end_node: 49605, start_x: 1290.84, start_y: -2089.45, end_x: 1210.98, end_y: -1948.22, type: 0 }, { start_node: 11455, end_node: 34478, start_x: 1290.84, start_y: -2089.45, end_x: 1441.56, end_y: -2090.15, type: 0 }, { start_node: 56295, end_node: 18182, start_x: 2471.03, start_y: -707, end_x: 2384.23, end_y: -798.66, type: 0 }, { start_node: 16167, end_node: 10829, start: -1.5708, delta: 1.0472, radius: 190, x: 194.2362, y: 719.1538, type: 1 }, { start_node: 16167, end_node: 25732, start_x: 194.24, start_y: 527.15, end_x: 227.52, end_y: 417.64, type: 0 }, { start_node: 10829, end_node: 5408, start_x: 360.51, start_y: 623.15, end_x: 496.03, end_y: 866.99, type: 0 }, { start_node: 10829, end_node: 32091, start_x: 360.51, start_y: 623.15, end_x: 506.63, end_y: 447.09, type: 0 }, { start_node: 25411, end_node: 62177, start_x: 2101.33, start_y: -1086.23, end_x: 2238.47, end_y: -946.17, type: 0 }, { start_node: 24362, end_node: 60388, start: 0, delta: 1.0472, radius: 70, x: -340.5043, y: -2038.9888, type: 1 }, { start_node: 24362, end_node: 29781, start: -1.0472, delta: 1.0472, radius: 70, x: -340.5043, y: -2038.9888, type: 1 }, { start_node: 60388, end_node: 1031, start_x: -308.5, start_y: -1983.56, end_x: -373.6, end_y: -1826.87, type: 0 }, { start_node: 21958, end_node: 14936, start: 3.1416, delta: 1.0472, radius: 70, x: -340.5043, y: -2038.9888, type: 1 }, { start_node: 33755, end_node: 1031, start_x: -372.5, start_y: -1983.56, end_x: -373.6, end_y: -1826.87, type: 0 }, { start_node: 33755, end_node: 21958, start: 2.0944, delta: 1.0472, radius: 70, x: -340.5043, y: -2038.9888, type: 1 }, { start_node: 14936, end_node: 44184, start_x: -372.5, start_y: -2094.41, end_x: -308.35, end_y: -2223.92, type: 0 }, { start_node: 24691, end_node: 49270, start: 1.5708, delta: 1.5708, radius: 70, x: 255.6492, y: 711.493, type: 1 }, { start_node: 5262, end_node: 5950, start: -.5236, delta: 1.0472, radius: 70, x: 255.6492, y: 711.493, type: 1 }, { start_node: 5950, end_node: 10829, start_x: 311.07, start_y: 679.49, end_x: 360.51, end_y: 623.15, type: 0 }, { start_node: 49270, end_node: 5262, start: .5236, delta: 1.0472, radius: 70, x: 255.6492, y: 711.493, type: 1 }, { start_node: 46292, end_node: 5950, start: 4.1888, delta: 1.5708, radius: 70, x: 255.6492, y: 711.493, type: 1 }, { start_node: 46292, end_node: 24691, start: 3.1416, delta: 1.0472, radius: 70, x: 255.6492, y: 711.493, type: 1 }, { start_node: 26528, end_node: 34678, start: 3.1416, delta: 1.5708, radius: 70, x: 1553.725, y: 1572.3792, type: 1 }, { start_node: 58271, end_node: 19069, start: 0, delta: 1.5708, radius: 70, x: 1553.725, y: 1572.3792, type: 1 }, { start_node: 58271, end_node: 34678, start: 1.5708, delta: 1.5708, radius: 70, x: 1553.725, y: 1572.3792, type: 1 }, { start_node: 4397, end_node: 33783, start_x: -484.75, start_y: -1434.03, end_x: -539.88, end_y: -1538.87, type: 0 }, { start_node: 4397, end_node: 36542, start_x: -484.75, start_y: -1434.03, end_x: -361.18, end_y: -1228.18, type: 0 }, { start_node: 4397, end_node: 11420, start_x: -484.75, start_y: -1434.03, end_x: -260.83, end_y: -1436.88, type: 0 }, { start_node: 27659, end_node: 3469, start_x: 619.3, start_y: -1438.91, end_x: 721.61, end_y: -1378.06, type: 0 }, { start_node: 43015, end_node: 28084, start: 3.6652, delta: 2.0944, radius: 70, x: -246.6721, y: 715.0916, type: 1 }, { start_node: 26496, end_node: 43015, start: -.5236, delta: 2.0944, radius: 70, x: -246.6721, y: 715.0916, type: 1 }, { start_node: 28084, end_node: 46578, start_x: -302.1, start_y: 683.09, end_x: -351.3, end_y: 622.4, type: 0 }, { start_node: 62177, end_node: 18182, start_x: 2238.47, start_y: -946.17, end_x: 2384.23, end_y: -798.66, type: 0 }, { start_node: 64864, end_node: 27959, start: 2.618, delta: 1.0472, radius: 70, x: 305.4083, y: -2088.5028, type: 1 }, { start_node: 15331, end_node: 35368, start: -.5236, delta: 1.0472, radius: 70, x: 305.4083, y: -2088.5028, type: 1 }, { start_node: 35368, end_node: 25609, start: .5236, delta: 1.0472, radius: 70, x: 305.4083, y: -2088.5028, type: 1 }, { start_node: 17659, end_node: 15331, start: -1.5708, delta: 1.0472, radius: 70, x: 305.4083, y: -2088.5028, type: 1 }, { start_node: 25609, end_node: 64864, start: 1.5708, delta: 1.0472, radius: 70, x: 305.4083, y: -2088.5028, type: 1 }, { start_node: 27959, end_node: 17659, start: 3.6652, delta: 1.0472, radius: 70, x: 305.4083, y: -2088.5028, type: 1 }, { start_node: 17963, end_node: 20123, start: 2.618, delta: 2.0944, radius: 35, x: 1245.2068, y: -96.243, type: 1 }, { start_node: 55776, end_node: 17963, start: .5236, delta: 2.0944, radius: 35, x: 1245.2068, y: -96.243, type: 1 }, { start_node: 55776, end_node: 39861, start_x: 1272.92, start_y: -80.24, end_x: 1363.42, end_y: -.3, type: 0 }, { start_node: 20123, end_node: 55776, start: -1.5708, delta: 2.0944, radius: 35, x: 1245.2068, y: -96.243, type: 1 }, { start_node: 35179, end_node: 15144, start_x: 252.56, start_y: 92.62, end_x: 129.09, end_y: 2.17, type: 0 }, { start_node: 60532, end_node: 35179, start: 2.618, delta: 2.0944, radius: 35, x: 252.5567, y: 124.6244, type: 1 }, { start_node: 9009, end_node: 19506, start_x: 280.27, start_y: 140.62, end_x: 366.76, end_y: 207.12, type: 0 }, { start_node: 9009, end_node: 60532, start: .5236, delta: 2.0944, radius: 35, x: 252.5567, y: 124.6244, type: 1 }, { start_node: 53456, end_node: 18182, start_x: 2385.91, start_y: -1267.19, end_x: 2384.23, end_y: -798.66, type: 0 }, { start_node: 53456, end_node: 21167, start_x: 2385.91, start_y: -1267.19, end_x: 2487.97, end_y: -1268.63, type: 0 }, { start_node: 31875, end_node: 52730, start_x: -594.93, start_y: -1434.63, end_x: -699.66, end_y: -1384.1, type: 0 }, { start_node: 31875, end_node: 4397, start_x: -594.93, start_y: -1434.63, end_x: -484.75, end_y: -1434.03, type: 0 }, { start_node: 59220, end_node: 9469, start: -1.5708, delta: 2.0944, radius: 35, x: 2291.5672, y: 569.7682, type: 1 }, { start_node: 59220, end_node: 20807, start_x: 2319.28, start_y: 585.77, end_x: 2380.81, end_y: 679.09, type: 0 }, { start_node: 65502, end_node: 9469, start: 2.618, delta: 2.0944, radius: 35, x: 2291.5672, y: 569.7682, type: 1 }, { start_node: 30225, end_node: 58604, start_x: -373.6, start_y: -1634.87, end_x: -405.6, end_y: -1690.3, type: 0 }, { start_node: 30225, end_node: 4184, start_x: -373.6, start_y: -1634.87, end_x: -309.6, end_y: -1524.02, type: 0 }, { start_node: 58604, end_node: 12852, start_x: -405.6, start_y: -1690.3, end_x: -437.6, end_y: -1745.72, type: 0 }, { start_node: 44983, end_node: 34661, start: 2.0944, delta: 1.0472, radius: 130, x: -373.5985, y: -1634.8702, type: 1 }, { start_node: 44955, end_node: 4184, start: 0, delta: 1.0472, radius: 130, x: -373.5985, y: -1634.8702, type: 1 }, { start_node: 38148, end_node: 44955, start: -1.0472, delta: 1.0472, radius: 130, x: -373.5985, y: -1634.8702, type: 1 }, { start_node: 38148, end_node: 12852, start: 4.1888, delta: 1.0472, radius: 130, x: -373.5985, y: -1634.8702, type: 1 }, { start_node: 7938, end_node: 1031, start: 4.1888, delta: .5236, radius: 190, x: -373.5985, y: -1634.8702, type: 1 }, { start_node: 33783, end_node: 7938, start: 2.618, delta: 1.5708, radius: 190, x: -373.5985, y: -1634.8702, type: 1 }, { start_node: 1031, end_node: 19635, start_x: -373.6, start_y: -1826.87, end_x: 1.78, end_y: -1824.54, type: 0 }, { start_node: 12852, end_node: 7938, start_x: -437.6, start_y: -1745.72, end_x: -469.6, end_y: -1801.15, type: 0 }, { start_node: 12852, end_node: 44983, start: 3.1416, delta: 1.0472, radius: 130, x: -373.5985, y: -1634.8702, type: 1 }, { start_node: 4184, end_node: 34661, start: 1.0472, delta: 1.0472, radius: 130, x: -373.5985, y: -1634.8702, type: 1 }, { start_node: 4184, end_node: 11420, start_x: -309.6, start_y: -1524.02, end_x: -260.83, end_y: -1436.88, type: 0 }, { start_node: 18990, end_node: 54667, start: .5236, delta: .5236, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 42917, end_node: 47427, start: 1.5708, delta: .5236, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 51559, end_node: 16754, start: 3.6652, delta: .5236, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 51559, end_node: 37639, start: 3.1416, delta: .5236, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 47427, end_node: 37639, start: 2.0944, delta: 1.0472, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 60740, end_node: 18990, start: -.5236, delta: 1.0472, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 60740, end_node: 23027, start_x: -2350.31, start_y: -396.74, end_x: -2228.48, end_y: -475.81, type: 0 }, { start_node: 54667, end_node: 42917, start: 1.0472, delta: .5236, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 48282, end_node: 60740, start: -1.5708, delta: 1.0472, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 16754, end_node: 48282, start: 4.1888, delta: .5236, radius: 130, x: -2461.1574, y: -332.7432, type: 1 }, { start_node: 29005, end_node: 17352, start_x: -1169.05, start_y: -549.83, end_x: -1074.23, end_y: -576.52, type: 0 }, { start_node: 39631, end_node: 29005, start: .5236, delta: 1.0472, radius: 70, x: -1224.474, y: -581.8332, type: 1 }, { start_node: 17251, end_node: 39631, start: 1.5708, delta: 1.0472, radius: 70, x: -1224.474, y: -581.8332, type: 1 }, { start_node: 17251, end_node: 26866, start_x: -1279.9, start_y: -549.83, end_x: -1409.57, end_y: -577.54, type: 0 }, { start_node: 31758, end_node: 26866, start_x: -1279.9, start_y: -613.83, end_x: -1409.57, end_y: -577.54, type: 0 }, { start_node: 42837, end_node: 31758, start: 3.6652, delta: 1.0472, radius: 70, x: -1224.474, y: -581.8332, type: 1 }, { start_node: 23456, end_node: 42837, start: -1.5708, delta: 1.0472, radius: 70, x: -1224.474, y: -581.8332, type: 1 }, { start_node: 31931, end_node: 15064, start: 1.5708, delta: 1.5708, radius: 190, x: -1764.3894, y: -632.4112, type: 1 }, { start_node: 31931, end_node: 9355, start_x: -1764.39, start_y: -440.41, end_x: -1763.49, end_y: -302.53, type: 0 }, { start_node: 15064, end_node: 60472, start_x: -1956.39, start_y: -632.41, end_x: -1951.71, end_y: -768.08, type: 0 }, { start_node: 15064, end_node: 11730, start_x: -1956.39, start_y: -632.41, end_x: -2060.06, end_y: -577.96, type: 0 }, { start_node: 38176, end_node: 27415, start: -1.0472, delta: 1.5708, radius: 190, x: 372.7105, y: -1633.3844, type: 1 }, { start_node: 38176, end_node: 11551, start: -1.5708, delta: .5236, radius: 190, x: 372.7105, y: -1633.3844, type: 1 }, { start_node: 38176, end_node: 49651, start_x: 468.71, start_y: -1799.66, end_x: 692.5, end_y: -1851.27, type: 0 }, { start_node: 6741, end_node: 25763, start_x: -603.97, start_y: 1809.69, end_x: -788.21, end_y: 1809.42, type: 0 }, { start_node: 6741, end_node: 35053, start_x: -603.97, start_y: 1809.69, end_x: -680.15, end_y: 1699.75, type: 0 }, { start_node: 41536, end_node: 62712, start: 3.6652, delta: 1.0472, radius: 70, x: 1244.0668, y: 510.1994, type: 1 }, { start_node: 62712, end_node: 41250, start: -1.5708, delta: 1.0472, radius: 70, x: 1244.0668, y: 510.1994, type: 1 }, { start_node: 41250, end_node: 50338, start_x: 1299.49, start_y: 478.2, end_x: 1464.25, end_y: 507.25, type: 0 }, { start_node: 38344, end_node: 50338, start_x: 1299.49, start_y: 542.2, end_x: 1464.25, end_y: 507.25, type: 0 }, { start_node: 65033, end_node: 10017, start: 1.5708, delta: 1.0472, radius: 70, x: 1244.0668, y: 510.1994, type: 1 }, { start_node: 10017, end_node: 38344, start: .5236, delta: 1.0472, radius: 70, x: 1244.0668, y: 510.1994, type: 1 }, { start_node: 43133, end_node: 23185, start: 4.1888, delta: 1.0472, radius: 70, x: -593.161, y: -399.285, type: 1 }, { start_node: 54267, end_node: 43133, start: -1.0472, delta: 1.0472, radius: 70, x: -593.161, y: -399.285, type: 1 }, { start_node: 54267, end_node: 4972, start: 0, delta: 1.0472, radius: 70, x: -593.161, y: -399.285, type: 1 }, { start_node: 23185, end_node: 27308, start: 3.1416, delta: 1.0472, radius: 70, x: -593.161, y: -399.285, type: 1 }, { start_node: 4972, end_node: 1609, start: 1.0472, delta: 1.0472, radius: 70, x: -593.161, y: -399.285, type: 1 }, { start_node: 1609, end_node: 27308, start: 2.0944, delta: 1.0472, radius: 70, x: -593.161, y: -399.285, type: 1 }, { start_node: 55949, end_node: 34625, start: 1.5708, delta: 2.0944, radius: 70, x: 793.5426, y: 1158.183, type: 1 }, { start_node: 55949, end_node: 43986, start: .5236, delta: 1.0472, radius: 70, x: 793.5426, y: 1158.183, type: 1 }, { start_node: 9535, end_node: 46106, start: -1.5708, delta: 1.0472, radius: 70, x: 793.5426, y: 1158.183, type: 1 }, { start_node: 43986, end_node: 9535, start: -.5236, delta: 1.0472, radius: 70, x: 793.5426, y: 1158.183, type: 1 }, { start_node: 34625, end_node: 46106, start: 3.6652, delta: 1.0472, radius: 70, x: 793.5426, y: 1158.183, type: 1 }, { start_node: 24426, end_node: 56295, start_x: 2340.15, start_y: -708.13, end_x: 2471.03, end_y: -707, type: 0 }, { start_node: 444, end_node: 61306, start_x: 1147.06, start_y: 1026.12, end_x: 1272.8, end_y: 1027.64, type: 0 }, { start_node: 52904, end_node: 444, start: 1.5708, delta: 1.5708, radius: 190, x: 1147.0642, y: 834.1228, type: 1 }, { start_node: 42760, end_node: 5456, start_x: -984.45, start_y: -1573.73, end_x: -968.23, end_y: -1696.54, type: 0 }, { start_node: 42760, end_node: 55332, start_x: -984.45, start_y: -1573.73, end_x: -838.23, end_y: -1759.53, type: 0 }, { start_node: 42760, end_node: 36678, start_x: -984.45, start_y: -1573.73, end_x: -1210.75, end_y: -1957.78, type: 0 }, { start_node: 42760, end_node: 55563, start_x: -984.45, start_y: -1573.73, end_x: -1065.93, end_y: -1434.62, type: 0 }, { start_node: 26523, end_node: 54415, start_x: -1411.02, start_y: 415.4, end_x: -1587.21, end_y: 414.74, type: 0 }, { start_node: 26523, end_node: 16756, start_x: -1411.02, start_y: 415.4, end_x: -1509.67, end_y: 270.96, type: 0 }, { start_node: 45035, end_node: 59370, start_x: 1011.56, start_y: 516.17, end_x: 1088.04, end_y: 411.01, type: 0 }, { start_node: 45035, end_node: 465, start_x: 1011.56, start_y: 516.17, end_x: 1118.17, end_y: 515.87, type: 0 }, { start_node: 39821, end_node: 52904, start_x: 947.56, start_y: 627.02, end_x: 955.06, end_y: 834.12, type: 0 }, { start_node: 39821, end_node: 2094, start_x: 947.56, start_y: 627.02, end_x: 1043.4, end_y: 835.29, type: 0 }, { start_node: 44134, end_node: 11489, start: 1.0472, delta: .5236, radius: 130, x: 2583.962, y: -918.935, type: 1 }, { start_node: 11489, end_node: 32227, start: .5236, delta: .5236, radius: 130, x: 2583.962, y: -918.935, type: 1 }, { start_node: 55414, end_node: 47422, start: 2.0944, delta: .5236, radius: 130, x: 2583.962, y: -918.935, type: 1 }, { start_node: 47422, end_node: 44134, start: 1.5708, delta: .5236, radius: 130, x: 2583.962, y: -918.935, type: 1 }, { start_node: 22261, end_node: 55414, start: 2.618, delta: .5236, radius: 130, x: 2583.962, y: -918.935, type: 1 }, { start_node: 56174, end_node: 38864, start: 3.6652, delta: .5236, radius: 130, x: 2583.962, y: -918.935, type: 1 }, { start_node: 56174, end_node: 22261, start: 3.1416, delta: .5236, radius: 130, x: 2583.962, y: -918.935, type: 1 }, { start_node: 38864, end_node: 36490, start: 4.1888, delta: .5236, radius: 130, x: 2583.962, y: -918.935, type: 1 }, { start_node: 7920, end_node: 46965, start: .5236, delta: 2.0944, radius: 35, x: 1834.9896, y: -1223.6228, type: 1 }, { start_node: 7920, end_node: 3656, start_x: 1807.28, start_y: -1207.62, end_x: 1806.45, end_y: -1087.42, type: 0 }, { start_node: 60949, end_node: 7920, start: 2.618, delta: 2.0944, radius: 35, x: 1834.9896, y: -1223.6228, type: 1 }, { start_node: 60949, end_node: 46965, start: -1.5708, delta: 2.0944, radius: 35, x: 1834.9896, y: -1223.6228, type: 1 }, { start_node: 6580, end_node: 27283, start_x: 409.95, start_y: 1440.94, end_x: 485.16, end_y: 1683.1, type: 0 }, { start_node: 6580, end_node: 51923, start_x: 409.95, start_y: 1440.94, end_x: 641.53, end_y: 1400.06, type: 0 }, { start_node: 23471, end_node: 56589, start_x: 1109.13, start_y: 1810.45, end_x: 1109.64, end_y: 1379.48, type: 0 }, { start_node: 23471, end_node: 6363, start_x: 1109.13, start_y: 1810.45, end_x: 1110.4, end_y: 2170.38, type: 0 }, { start_node: 23471, end_node: 25209, start_x: 1109.13, start_y: 1810.45, end_x: 1041.43, end_y: 1913.51, type: 0 }, { start_node: 35556, end_node: 44908, start_x: -1188.32, start_y: -440.03, end_x: -1408.54, end_y: -445.04, type: 0 }, { start_node: 39916, end_node: 35556, start: 1.0472, delta: .5236, radius: 190, x: -1188.3208, y: -632.0274, type: 1 }, { start_node: 39916, end_node: 20228, start_x: -1092.32, start_y: -465.75, end_x: -1000.96, end_y: -533.58, type: 0 }, { start_node: 19858, end_node: 9206, start: 2.618, delta: 2.0944, radius: 35, x: 2154.8508, y: 932.3034, type: 1 }, { start_node: 36221, end_node: 12412, start_x: 2182.56, start_y: 948.3, end_x: 2380.59, end_y: 1067.55, type: 0 }, { start_node: 9206, end_node: 36221, start: .5236, delta: 2.0944, radius: 35, x: 2154.8508, y: 932.3034, type: 1 }, { start_node: 9206, end_node: 41866, start_x: 2127.14, start_y: 948.3, end_x: 1951.15, end_y: 850.74, type: 0 }, { start_node: 56066, end_node: 39841, start_x: -977.4, start_y: -2084.42, end_x: -1039.51, end_y: -2219.69, type: 0 }, { start_node: 54043, end_node: 30926, start: -1.0472, delta: 1.0472, radius: 70, x: -945.402, y: -2028.9948, type: 1 }, { start_node: 30926, end_node: 56066, start: 4.1888, delta: 1.0472, radius: 70, x: -945.402, y: -2028.9948, type: 1 }, { start_node: 63944, end_node: 54043, start: 0, delta: 1.0472, radius: 70, x: -945.402, y: -2028.9948, type: 1 }, { start_node: 20844, end_node: 63944, start: 1.0472, delta: 1.0472, radius: 70, x: -945.402, y: -2028.9948, type: 1 }, { start_node: 62217, end_node: 20844, start: 2.0944, delta: 1.0472, radius: 70, x: -945.402, y: -2028.9948, type: 1 }, { start_node: 62217, end_node: 56066, start: 3.1416, delta: 1.0472, radius: 70, x: -945.402, y: -2028.9948, type: 1 }, { start_node: 45788, end_node: 57493, start: 2.0944, delta: 1.0472, radius: 70, x: 1334.161, y: 1810.054, type: 1 }, { start_node: 2121, end_node: 45788, start: 1.0472, delta: 1.0472, radius: 70, x: 1334.161, y: 1810.054, type: 1 }, { start_node: 57493, end_node: 40834, start: 3.1416, delta: 1.5708, radius: 70, x: 1334.161, y: 1810.054, type: 1 }, { start_node: 57493, end_node: 23471, start_x: 1270.16, start_y: 1810.05, end_x: 1109.13, end_y: 1810.45, type: 0 }, { start_node: 22248, end_node: 40834, start: -1.5708, delta: 1.5708, radius: 70, x: 1334.161, y: 1810.054, type: 1 }, { start_node: 22248, end_node: 2121, start: 0, delta: 1.0472, radius: 70, x: 1334.161, y: 1810.054, type: 1 }, { start_node: 28859, end_node: 60440, start_x: 1466.16, start_y: -1697.96, end_x: 1506.06, end_y: -1769.43, type: 0 }, { start_node: 55571, end_node: 28859, start: 3.6652, delta: 2.0944, radius: 35, x: 1438.452, y: -1681.9636, type: 1 }, { start_node: 12143, end_node: 55571, start: 1.5708, delta: 2.0944, radius: 35, x: 1438.452, y: -1681.9636, type: 1 }, { start_node: 60440, end_node: 14209, start_x: 1506.06, start_y: -1769.43, end_x: 1555.74, end_y: -1852.06, type: 0 }, { start_node: 46277, end_node: 56295, start_x: 2382.02, start_y: -599.68, end_x: 2471.03, end_y: -707, type: 0 }, { start_node: 46277, end_node: 5629, start_x: 2382.02, start_y: -599.68, end_x: 2475.06, end_y: -561.9, type: 0 }, { start_node: 22285, end_node: 55649, start_x: -1951.11, start_y: 814.79, end_x: -1956.59, end_y: 602.66, type: 0 }, { start_node: 22285, end_node: 53793, start_x: -1951.11, start_y: 814.79, end_x: -1956.06, end_y: 941.83, type: 0 }, { start_node: 22285, end_node: 37326, start_x: -1951.11, start_y: 814.79, end_x: -2048.45, end_y: 766.94, type: 0 }, { start_node: 34510, end_node: 49459, start: 2.618, delta: 2.0944, radius: 35, x: 980.7344, y: 1703.806, type: 1 }, { start_node: 8566, end_node: 34510, start: .5236, delta: 2.0944, radius: 35, x: 980.7344, y: 1703.806, type: 1 }, { start_node: 8566, end_node: 23471, start_x: 1008.45, start_y: 1719.81, end_x: 1109.13, end_y: 1810.45, type: 0 }, { start_node: 65034, end_node: 62021, start: 4.1888, delta: .5236, radius: 130, x: -567.1576, y: 329.471, type: 1 }, { start_node: 65167, end_node: 13714, start: .5236, delta: .5236, radius: 130, x: -567.1576, y: 329.471, type: 1 }, { start_node: 15073, end_node: 42583, start: -1.0472, delta: .5236, radius: 130, x: -567.1576, y: 329.471, type: 1 }, { start_node: 15073, end_node: 62021, start: -1.5708, delta: .5236, radius: 130, x: -567.1576, y: 329.471, type: 1 }, { start_node: 42583, end_node: 19939, start: -.5236, delta: .5236, radius: 130, x: -567.1576, y: 329.471, type: 1 }, { start_node: 19939, end_node: 65167, start: 0, delta: .5236, radius: 130, x: -567.1576, y: 329.471, type: 1 }, { start_node: 55485, end_node: 13714, start: 1.0472, delta: 1.5708, radius: 130, x: -567.1576, y: 329.471, type: 1 }, { start_node: 55485, end_node: 65034, start: 2.618, delta: 1.5708, radius: 130, x: -567.1576, y: 329.471, type: 1 }, { start_node: 40126, end_node: 15400, start: -.5236, delta: 2.0944, radius: 35, x: -478.8304, y: .722, type: 1 }, { start_node: 3359, end_node: 40126, start: 3.6652, delta: 2.0944, radius: 35, x: -478.8304, y: .722, type: 1 }, { start_node: 51923, end_node: 11497, start_x: 641.53, start_y: 1400.06, end_x: 790.33, end_y: 1375.97, type: 0 }, { start_node: 30679, end_node: 32555, start_x: 2191.44, start_y: 1534.84, end_x: 2378.63, end_y: 1431.75, type: 0 }, { start_node: 30679, end_node: 14804, start_x: 2191.44, start_y: 1534.84, end_x: 2110.36, end_y: 1400.6, type: 0 }, { start_node: 43374, end_node: 30733, start_x: -501.47, start_y: 870.51, end_x: -788.64, end_y: 1369.45, type: 0 }, { start_node: 43374, end_node: 27718, start_x: -501.47, start_y: 870.51, end_x: -414.53, end_y: 874.69, type: 0 }, { start_node: 53225, end_node: 53456, start_x: 2266.24, start_y: -1268.21, end_x: 2385.91, end_y: -1267.19, type: 0 }, { start_node: 53225, end_node: 33363, start: 4.1888, delta: 1.0472, radius: 70, x: 2234.2404, y: -1212.789, type: 1 }, { start_node: 53225, end_node: 60302, start: -1.0472, delta: 2.0944, radius: 70, x: 2234.2404, y: -1212.789, type: 1 }, { start_node: 11784, end_node: 37884, start: 2.0944, delta: 1.0472, radius: 70, x: 2234.2404, y: -1212.789, type: 1 }, { start_node: 33363, end_node: 11784, start: 3.1416, delta: 1.0472, radius: 70, x: 2234.2404, y: -1212.789, type: 1 }, { start_node: 60302, end_node: 37884, start: 1.0472, delta: 1.0472, radius: 70, x: 2234.2404, y: -1212.789, type: 1 }, { start_node: 62108, end_node: 28311, start: -1.0472, delta: 2.0944, radius: 70, x: -1619.8982, y: 1537.2558, type: 1 }, { start_node: 62108, end_node: 42800, start_x: -1587.9, start_y: 1481.83, end_x: -1500.25, end_y: 1380.88, type: 0 }, { start_node: 28311, end_node: 63422, start: 1.0472, delta: 2.0944, radius: 70, x: -1619.8982, y: 1537.2558, type: 1 }, { start_node: 40535, end_node: 7828, start: 1.5708, delta: 1.5708, radius: 70, x: -1217.0564, y: 602.9042, type: 1 }, { start_node: 40535, end_node: 58449, start_x: -1281.06, start_y: 602.9, end_x: -1412.32, end_y: 602.96, type: 0 }, { start_node: 30335, end_node: 40535, start: 3.1416, delta: 1.5708, radius: 70, x: -1217.0564, y: 602.9042, type: 1 }, { start_node: 32480, end_node: 30335, start: -1.5708, delta: 1.5708, radius: 70, x: -1217.0564, y: 602.9042, type: 1 }, { start_node: 32480, end_node: 33988, start_x: -1153.06, start_y: 602.9, end_x: -1080.06, end_y: 555.96, type: 0 }, { start_node: 7828, end_node: 32480, start: 0, delta: 1.5708, radius: 70, x: -1217.0564, y: 602.9042, type: 1 }, { start_node: 33310, end_node: 34882, start_x: 860.47, start_y: -2144.29, end_x: 1013.11, end_y: -2054.13, type: 0 }, { start_node: 33310, end_node: 56075, start_x: 860.47, start_y: -2144.29, end_x: 946.29, end_y: -2292.38, type: 0 }, { start_node: 33310, end_node: 49651, start_x: 860.47, start_y: -2144.29, end_x: 692.5, end_y: -1851.27, type: 0 }, { start_node: 49978, end_node: 51786, start_x: 1054.04, start_y: -.31, end_x: 760.07, end_y: -5.31, type: 0 }, { start_node: 22315, end_node: 48514, start: -.5236, delta: 1.0472, radius: 70, x: 179.778, y: -1312.4174, type: 1 }, { start_node: 65203, end_node: 22315, start: .5236, delta: 1.0472, radius: 70, x: 179.778, y: -1312.4174, type: 1 }, { start_node: 6949, end_node: 55643, start: 3.6652, delta: 1.0472, radius: 70, x: 179.778, y: -1312.4174, type: 1 }, { start_node: 19374, end_node: 6949, start: 2.618, delta: 1.0472, radius: 70, x: 179.778, y: -1312.4174, type: 1 }, { start_node: 39648, end_node: 17821, start: .5236, delta: 2.0944, radius: 35, x: -751.9744, y: -895.4624, type: 1 }, { start_node: 39648, end_node: 60398, start_x: -724.26, start_y: -879.46, end_x: -612.72, end_y: -942.78, type: 0 }, { start_node: 17821, end_node: 21330, start: 2.618, delta: 2.0944, radius: 35, x: -751.9744, y: -895.4624, type: 1 }, { start_node: 51856, end_node: 59718, start_x: -118.92, start_y: 1353.24, end_x: -28.14, end_y: 1325.21, type: 0 }, { start_node: 51856, end_node: 48513, start: 1.0472, delta: 1.0472, radius: 70, x: -150.9223, y: 1297.814, type: 1 }, { start_node: 48513, end_node: 39211, start: 2.0944, delta: 1.0472, radius: 70, x: -150.9223, y: 1297.814, type: 1 }, { start_node: 5612, end_node: 39211, start: 3.1416, delta: 2.0944, radius: 70, x: -150.9223, y: 1297.814, type: 1 }, { start_node: 5612, end_node: 35568, start_x: -118.92, start_y: 1242.39, end_x: -.43, end_y: 1277.21, type: 0 }, { start_node: 7444, end_node: 64210, start_x: -1769.86, start_y: -1957.6, end_x: -1940.04, end_y: -1620.57, type: 0 }, { start_node: 7444, end_node: 44941, start_x: -1769.86, start_y: -1957.6, end_x: -1831.07, end_y: -2058.02, type: 0 }, { start_node: 6108, end_node: 1698, start: 2.0944, delta: 1.0472, radius: 70, x: 2298.05, y: 1713.5758, type: 1 }, { start_node: 1698, end_node: 29856, start: 3.1416, delta: 1.0472, radius: 70, x: 2298.05, y: 1713.5758, type: 1 }, { start_node: 22645, end_node: 1568, start: -.5236, delta: 1.5708, radius: 70, x: 2298.05, y: 1713.5758, type: 1 }, { start_node: 29856, end_node: 22645, start: 4.1888, delta: 1.5708, radius: 70, x: 2298.05, y: 1713.5758, type: 1 }, { start_node: 29856, end_node: 30679, start_x: 2266.05, start_y: 1658.15, end_x: 2191.44, end_y: 1534.84, type: 0 }, { start_node: 1568, end_node: 6108, start: 1.0472, delta: 1.0472, radius: 70, x: 2298.05, y: 1713.5758, type: 1 }, { start_node: 5696, end_node: 26270, start_x: -2140.13, start_y: -1008.87, end_x: -2229.1, end_y: -1060.96, type: 0 }, { start_node: 15868, end_node: 22627, start_x: -1148.04, start_y: 942.81, end_x: -1051.38, end_y: 791.07, type: 0 }, { start_node: 15868, end_node: 36047, start: -1.5708, delta: 1.5708, radius: 70, x: -1212.0442, y: 942.8142, type: 1 }, { start_node: 36047, end_node: 63048, start: 3.1416, delta: 1.5708, radius: 70, x: -1212.0442, y: 942.8142, type: 1 }, { start_node: 63048, end_node: 50264, start: 1.5708, delta: 1.5708, radius: 70, x: -1212.0442, y: 942.8142, type: 1 }, { start_node: 63048, end_node: 24383, start_x: -1276.04, start_y: 942.81, end_x: -1416.04, end_y: 942.22, type: 0 }, { start_node: 50264, end_node: 15868, start: 0, delta: 1.5708, radius: 70, x: -1212.0442, y: 942.8142, type: 1 }, { start_node: 40409, end_node: 9055, start: .5236, delta: 1.0472, radius: 70, x: 1212.5154, y: -1716.0078, type: 1 }, { start_node: 4546, end_node: 40409, start: -.5236, delta: 1.0472, radius: 70, x: 1212.5154, y: -1716.0078, type: 1 }, { start_node: 4995, end_node: 3726, start: 2.618, delta: 1.0472, radius: 70, x: 1212.5154, y: -1716.0078, type: 1 }, { start_node: 41027, end_node: 4995, start: 3.6652, delta: 1.0472, radius: 70, x: 1212.5154, y: -1716.0078, type: 1 }, { start_node: 41027, end_node: 4546, start: -1.5708, delta: 1.0472, radius: 70, x: 1212.5154, y: -1716.0078, type: 1 }, { start_node: 3726, end_node: 9055, start: 1.5708, delta: 1.0472, radius: 70, x: 1212.5154, y: -1716.0078, type: 1 }, { start_node: 12809, end_node: 29292, start: -.5236, delta: 2.0944, radius: 35, x: -386.821, y: 890.6934, type: 1 }, { start_node: 29292, end_node: 27718, start: 3.6652, delta: 2.0944, radius: 35, x: -386.821, y: 890.6934, type: 1 }, { start_node: 32210, end_node: 8948, start_x: 355.79, start_y: -1232.01, end_x: 489.84, end_y: -1439.58, type: 0 }, { start_node: 21678, end_node: 32210, start: .5236, delta: 1.0472, radius: 190, x: 189.5151, y: -1328.0088, type: 1 }, { start_node: 49412, end_node: 21941, start_x: -1309.7, start_y: 1129.86, end_x: -1529.9, end_y: 1129.46, type: 0 }, { start_node: 49412, end_node: 31080, start_x: -1309.7, start_y: 1129.86, end_x: -1218.29, end_y: 1282.79, type: 0 }, { start_node: 10197, end_node: 24651, start: .5236, delta: 1.5708, radius: 70, x: -268.8804, y: 1995.5206, type: 1 }, { start_node: 1325, end_node: 24651, start: 2.0944, delta: 1.0472, radius: 70, x: -268.8804, y: 1995.5206, type: 1 }, { start_node: 29933, end_node: 10197, start: -1.0472, delta: 1.5708, radius: 70, x: -268.8804, y: 1995.5206, type: 1 }, { start_node: 31471, end_node: 29933, start: 4.1888, delta: 1.0472, radius: 70, x: -268.8804, y: 1995.5206, type: 1 }, { start_node: 31471, end_node: 1325, start: 3.1416, delta: 1.0472, radius: 70, x: -268.8804, y: 1995.5206, type: 1 }, { start_node: 24651, end_node: 24083, start_x: -300.88, start_y: 2050.95, end_x: -365.68, end_y: 2171.46, type: 0 }, { start_node: 58603, end_node: 58198, start: -1.0472, delta: 1.5708, radius: 70, x: 1587.7426, y: -1907.486, type: 1 }, { start_node: 14209, end_node: 21170, start: 2.0944, delta: 1.5708, radius: 70, x: 1587.7426, y: -1907.486, type: 1 }, { start_node: 14209, end_node: 58603, start: .5236, delta: 1.5708, radius: 70, x: 1587.7426, y: -1907.486, type: 1 }, { start_node: 62214, end_node: 20832, start: 3.1416, delta: 1.0472, radius: 70, x: -2034.0488, y: -302.8155, type: 1 }, { start_node: 64426, end_node: 62214, start: 4.1888, delta: 1.0472, radius: 70, x: -2034.0488, y: -302.8155, type: 1 }, { start_node: 20832, end_node: 20349, start: 2.0944, delta: 1.0472, radius: 70, x: -2034.0488, y: -302.8155, type: 1 }, { start_node: 20349, end_node: 32854, start: 1.0472, delta: 1.0472, radius: 70, x: -2034.0488, y: -302.8155, type: 1 }, { start_node: 32854, end_node: 1593, start: 0, delta: 1.0472, radius: 70, x: -2034.0488, y: -302.8155, type: 1 }, { start_node: 1593, end_node: 64426, start: -1.0472, delta: 1.0472, radius: 70, x: -2034.0488, y: -302.8155, type: 1 }, { start_node: 1593, end_node: 9355, start_x: -1970.05, start_y: -302.82, end_x: -1763.49, end_y: -302.53, type: 0 }, { start_node: 5591, end_node: 22115, start: -.5236, delta: 2.0944, radius: 35, x: 1469.2738, y: -2074.154, type: 1 }, { start_node: 34478, end_node: 5591, start: 1.5708, delta: 2.0944, radius: 35, x: 1469.2738, y: -2074.154, type: 1 }, { start_node: 50422, end_node: 50197, start_x: -1763.31, start_y: .65, end_x: -1682.87, end_y: 75.32, type: 0 }, { start_node: 50422, end_node: 15631, start_x: -1763.31, start_y: .65, end_x: -1762.86, end_y: -163.38, type: 0 }, { start_node: 50422, end_node: 15405, start_x: -1763.31, start_y: .65, end_x: -1410.05, end_y: -3.98, type: 0 }, { start_node: 50422, end_node: 10221, start_x: -1763.31, start_y: .65, end_x: -1763.84, end_y: 270.45, type: 0 }, { start_node: 4367, end_node: 19501, start_x: 4.4, start_y: -2153.72, end_x: 302.03, end_y: -2226.65, type: 0 }, { start_node: 4367, end_node: 44184, start_x: 4.4, start_y: -2153.72, end_x: -308.35, end_y: -2223.92, type: 0 }, { start_node: 4367, end_node: 56158, start_x: 4.4, start_y: -2153.72, end_x: 3.5, end_y: -2063.02, type: 0 }, { start_node: 42800, end_node: 487, start_x: -1500.25, start_y: 1380.88, end_x: -1282.03, end_y: 1581.55, type: 0 }, { start_node: 57264, end_node: 33296, start_x: -64.71, start_y: -1122.41, end_x: -110.37, end_y: -1190.56, type: 0 }, { start_node: 57226, end_node: 21678, start_x: 63.29, start_y: -1122.41, end_x: 189.52, end_y: -1136.01, type: 0 }, { start_node: 59009, end_node: 5823, start_x: 1326, start_y: -646.32, end_x: 1365.67, end_y: -521.62, type: 0 }, { start_node: 1891, end_node: 35894, start_x: 1326, start_y: -757.18, end_x: 1349.32, end_y: -899.16, type: 0 }, { start_node: 1891, end_node: 52157, start: 3.1416, delta: 1.0472, radius: 70, x: 1358.0022, y: -701.7498, type: 1 }, { start_node: 25058, end_node: 9877, start: 0, delta: 1.0472, radius: 70, x: 1358.0022, y: -701.7498, type: 1 }, { start_node: 9877, end_node: 5823, start_x: 1390, start_y: -646.32, end_x: 1365.67, end_y: -521.62, type: 0 }, { start_node: 21835, end_node: 35894, start_x: 1390, start_y: -757.18, end_x: 1349.32, end_y: -899.16, type: 0 }, { start_node: 21835, end_node: 25058, start: -1.0472, delta: 1.0472, radius: 70, x: 1358.0022, y: -701.7498, type: 1 }, { start_node: 52157, end_node: 59009, start: 2.0944, delta: 1.0472, radius: 70, x: 1358.0022, y: -701.7498, type: 1 }, { start_node: 60169, end_node: 14606, start: -1.5708, delta: .5236, radius: 130, x: -1704.908, y: 602.7484, type: 1 }, { start_node: 2454, end_node: 38777, start: -.5236, delta: .5236, radius: 130, x: -1704.908, y: 602.7484, type: 1 }, { start_node: 14606, end_node: 2454, start: -1.0472, delta: .5236, radius: 130, x: -1704.908, y: 602.7484, type: 1 }, { start_node: 39786, end_node: 34130, start: 2.618, delta: .5236, radius: 130, x: -1704.908, y: 602.7484, type: 1 }, { start_node: 10282, end_node: 35663, start: 1.5708, delta: .5236, radius: 130, x: -1704.908, y: 602.7484, type: 1 }, { start_node: 35663, end_node: 39786, start: 2.0944, delta: .5236, radius: 130, x: -1704.908, y: 602.7484, type: 1 }, { start_node: 38777, end_node: 10282, start: 0, delta: 1.5708, radius: 130, x: -1704.908, y: 602.7484, type: 1 }, { start_node: 38777, end_node: 58449, start_x: -1576.91, start_y: 602.75, end_x: -1412.32, end_y: 602.96, type: 0 }, { start_node: 34130, end_node: 60169, start: 3.1416, delta: 1.5708, radius: 130, x: -1704.908, y: 602.7484, type: 1 }, { start_node: 34130, end_node: 55649, start_x: -1832.91, start_y: 602.75, end_x: -1956.59, end_y: 602.66, type: 0 }] }, {}], 8: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "Alert", render: function() { var e; return "Error" === this.props.type && (e = n.DOM.h3({ className: "error-header" }, "Error")), "Info" === this.props.type && (e = n.DOM.h3({ className: "info-header" }, "Major Changes")), n.DOM.div({ className: "alert" }, n.DOM.div({ className: "close", onClick: this.props.onClose }, "X"), e, this.props.text) } }); t.exports = a }, { "react/addons": 35 }], 9: [function(e, t) { (function(n) { "use strict"; var a = e("react/addons"), r = e("../../data/nodes.json"), d = e("./passive_tree/PassiveTree"), i = e("./Sidebar"), o = e("./CurrentClass"), s = e("./passive_tree/PassiveTreeToolbox"), l = (e("./stats/Attributes"), e("./stats/KeystoneStats")), y = e("./stats/RawStats"), c = 400, u = a.createClass({ displayName: "Character", getInitialState: function() { return { sidebars: { left: !0, right: !1 }, highlightSimilar: !1, pinnedStats: [] } }, updateData: function(e) { this.props.updateData(e) }, toggleHighlightSimilar: function() { _gaq.push(this.state.highlightSimilar === !1 ? ["_trackEvent", "Similar Skills", "Enable highlight similar", "", 1] : ["_trackEvent", "Similar Skills", "Disable highlight similar", "", 1]), this.setState({ highlightSimilar: !this.state.highlightSimilar }) }, pinStat: function(e) { var t = this.state.pinnedStats.slice(0), n = t.indexOf(e); n > -1 ? (_gaq.push(["_trackEvent", "Pin", "Unpin Stat", e, 1]), t.splice(n, 1)) : (_gaq.push(["_trackEvent", "Pin", "Pin Stat", e, 1]), t.push(e), t.sort()), this.setState({ pinnedStats: t }) }, decode: function(e) { for (var t = 6, a = [], r = new n(e.replace(/\-/g, "+").replace(/\_/g, "/"), "base64"), d = ((255 & r[0]) << 24 | (255 & r[1]) << 16 | (255 & r[2]) << 8 | (255 & r[3]) << 0, r[4]), i = t; i < r.length; i += 2) { var o = (255 & r[i]) << 8 | 255 & r[i + 1]; a.push(o) } return { active_node_ids: a, active_class_id: d } }, encode: function(e, t) { var a = [], r = [], d = 2, i = 0, o = [(4278190080 & d) >> 24, (16711680 & d) >> 16, (65280 & d) >> 8, (255 & d) >> 0]; a = a.concat(o), a.push(255 & t), a.push(255 & i); for (var s = 0; s < e.length; s++) { var l = e[s]; r[0] = (65280 & l) >> 8, r[1] = (255 & l) >> 0, a = a.concat(r) } return new n(a).toString("base64").replace(/\+/g, "-").replace(/\//g, "_") }, updateWindowHistory: function(e) { window.history.pushState({ path: "/character/" + e }, "", "/character/" + e) }, updatePassiveTree: function(e, t) { var n = this.encode(e, t); this.updateWindowHistory(n), this.props.updateData({ character: { passive_tree: { encoded_tree: n } } }) }, changePassiveTree: function(e) { var t = this.decode(e); this.updatePassiveTree(t.active_node_ids, t.active_class_id) }, isKeystone: function(e) { return e.o.h > this.props.keystoneHeight }, generateKeystoneSummary: function(e) { var t, n = {}; for (t = 0; t < r.length; t++) { var a = r[t]; if (e.indexOf(a.id) >= 0 && this.isKeystone(a)) { var d = a.d, i = a.n; n[i] = d } } return n }, generateStatSummary: function(e) { var t, n, a = {}; for (t = 0; t < r.length; t++) { var d = r[t]; if (e.indexOf(d.id) >= 0 && !this.isKeystone(d)) for (n = 0; n < d.d.length; n++) { var i = d.d[n], o = this.getCanonicalStat(i), s = this.getCanonicalValue(i); o in a ? a[o] += s : a[o] = s } } return a }, getCanonicalStat: function(e) { return e.replace(this.props.statRegex, "") }, getCanonicalValue: function(e) { return parseFloat(e.match(this.props.statRegex)) }, changeClass: function(e) { this.updatePassiveTree([], +e) }, handleToggleSidebar: function(e) { var t = {}; _gaq.push(this.state.sidebars[e] === !0 ? ["_trackEvent", "Sidebar", e, "Hide", 1] : ["_trackEvent", "Sidebar", e, "Show", 1]), t[e] = { $set: !this.state.sidebars[e] }, this.setState(a.addons.update(this.state, { sidebars: t })) }, handleWindowResize: function() { this.forceUpdate() }, canvasWidth: function() { var e = this.state.sidebars.left === !0 ? c : 0, t = this.state.sidebars.right === !0 ? c : 0; return window.innerWidth - e - t }, canvasHeight: function() { return window.innerHeight }, canvasLeftPosition: function() { return this.state.sidebars.left === !0 ? c : 0 }, canvasRightPosition: function() { return this.state.sidebars.right === !0 ? c : 0 }, componentDidMount: function() { window.addEventListener("resize", this.handleWindowResize) }, componentWillUnmount: function() { window.removeEventListener("resize", this.handleWindowResize) }, render: function() { var e = this.props.data.passive_tree ? this.decode(this.props.data.passive_tree.encoded_tree) : { active_node_ids: [], active_class_id: 3 }, t = this.props.data.passive_tree ? this.props.data.passive_tree.encoded_tree : "AAAAAgMA", n = this.generateStatSummary(e.active_node_ids), r = this.generateKeystoneSummary(e.active_node_ids), c = this.canvasWidth(), u = this.canvasHeight(), p = this.canvasLeftPosition(), h = this.canvasRightPosition(); return a.DOM.div({ id: "character" }, i({ side: "left", isOpen: this.state.sidebars.left, onToggle: this.handleToggleSidebar.bind(this, "left") }, o({ data: this.props.data, characterClass: e.active_class_id, onChangeClass: this.changeClass }), s({ updatePassiveTree: this.updatePassiveTree, changePassiveTree: this.changePassiveTree, highlightSimilar: this.state.highlightSimilar, toggleHighlightSimilar: this.toggleHighlightSimilar, decodedTree: e, encodedTree: t }), y({ stats: n, pinnedStats: this.state.pinnedStats, pinStat: this.pinStat }), l({ stats: r })), d({ data: this.props.data, updatePassiveTree: this.updatePassiveTree, decodedTree: e, highlightSimilar: this.state.highlightSimilar, nodeSearchResults: this.props.nodeSearchResults, leftPosition: p, rightPosition: h, width: c, height: u, summary: n, pinnedStats: this.state.pinnedStats })) } }); t.exports = u }).call(this, e("buffer").Buffer) }, { "../../data/nodes.json": 6, "./CurrentClass": 10, "./Sidebar": 15, "./passive_tree/PassiveTree": 19, "./passive_tree/PassiveTreeToolbox": 20, "./stats/Attributes": 22, "./stats/KeystoneStats": 23, "./stats/RawStats": 25, buffer: 29, "react/addons": 35 }], 10: [function(e, t) { "use strict"; var n = e("react/addons"), a = e("../../data/images"), r = ["Scion", "Marauder", "Ranger", "Witch", "Duelist", "Templar", "Shadow"], d = n.createClass({ displayName: "CurrentClass", classPortrait: function() { return a[r[this.props.characterClass]] }, className: function() { return r[this.props.characterClass] }, handleChangeClass: function(e) { _gaq.push(["_trackEvent", "Class Change", "Change Class", e.target.value, 1]), this.props.onChangeClass(e.target.value) }, render: function() { { var e = r.map(function(e, t) { return n.DOM.option({ key: t, value: t }, e) }, this); this.props.data.passive_tree ? this.props.data.passive_tree.encoded_tree : "AAAAAgMA", this.props.currentClass ? this.props.currentClass.owner + "-" + this.props.currentClass.slug : null } return n.DOM.div({ className: "current-class" }, n.DOM.img({ src: this.classPortrait() }), n.DOM.select({ value: this.props.characterClass, onChange: this.handleChangeClass }, e)) } }); t.exports = d }, { "../../data/images": 3, "react/addons": 35 }], 11: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "DialogBox", getInitialState: function() { return { position: { top: 0, left: 0 } } }, handleResize: function() { this.calculatePosition() }, componentDidMount: function() { window.addEventListener("resize", this.handleResize), this.calculatePosition() }, componentWillUnmount: function() { window.removeEventListener("resize", this.handleResize) }, calculatePosition: function() { var e = this.refs.dialog.getDOMNode(), t = e.getBoundingClientRect(); this.setState({ position: { top: window.innerHeight / 2 - t.height / 2, left: window.innerWidth / 2 - t.width / 2 } }) }, render: function() { return n.DOM.div({ className: "dialog-box" }, n.DOM.div({ className: "dialog-mask" }), n.DOM.div({ className: "dialog", ref: "dialog", style: this.state.position }, n.DOM.header(null, n.DOM.div({ className: "close", onClick: this.props.onClose }), n.DOM.h2(null, this.props.title)), n.DOM.section(null, this.props.children))) } }); t.exports = a }, { "react/addons": 35 }], 12: [function(e, t) { "use strict"; var n = e("react/addons"), a = e("./SearchBox"), r = n.createClass({ displayName: "Menu", handleClickDonate: function(e) { e.preventDefault(), this.openDialog("donation") }, render: function() { return n.DOM.div({ id: "menu" }, n.DOM.a({ href: "#" }, n.DOM.h1(null, "PoE Builder")), a({ updateNodeSearch: this.props.updateNodeSearch })) } }); t.exports = r }, { "./SearchBox": 13, "react/addons": 35 }], 13: [function(e, t) { "use strict"; var n = e("react/addons"), a = e("lunr"), r = e("../../data/nodes.json"), d = n.createClass({ displayName: "SearchBox", componentDidMount: function() { this.indexNodes() }, indexNodes: function() { this.searchIndex = a(function() { this.field("name"), this.field("description"), this.ref("id"), this.pipeline.remove(a.tokenizer) }), r.forEach(function(e) { this.searchIndex.add({ id: e.id, name: e.n, description: e.d.join(" ") }) }, this) }, searchNodes: function(e) { var t = {}; return this.searchIndex.search(e).forEach(function(e) { t[e.ref] = !0 }), t }, handleFocus: function() { _gaq.push(["_trackEvent", "Search Box", "Focus", "", 1]) }, handleChange: function(e) { var t = e.target.value; _gaq.push(["_trackEvent", "Search Box", "Term", t, 1]), "" === t && _gaq.push(["_trackEvent", "Search Box", "Clear", "", 1]), this.props.updateNodeSearch(this.searchNodes(t)) }, render: function() { return n.DOM.input({ className: "search-box", placeholder: "Search Skill Graph", type: "text", onFocus: this.handleFocus, onChange: this.handleChange }) } }); t.exports = d }, { "../../data/nodes.json": 6, lunr: 33, "react/addons": 35 }], 14: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "ShareLinks", render: function() { var e = "https://www.poebuilder.com/character/", t = "https://www.pathofexile.com/passive-skill-tree/", a = e + this.props.encoded_tree, r = t + this.props.encoded_tree; return n.DOM.div({ id: "share-links" }, n.DOM.h3(null, "PoEBuilder Link"), n.DOM.textarea({ id: "passive-tree-link", className: "text-field expandable", value: a, title: a, readOnly: !0 }), n.DOM.h3(null, "Official Tree Link"), n.DOM.textarea({ className: "text-field expandable", value: r, title: r, readOnly: !0 })) } }); t.exports = a }, { "react/addons": 35 }], 15: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "Sidebar", status: function() { return this.props.isOpen ? "open" : "closed" }, handleClickDockButton: function() { this.props.onToggle() }, render: function() { var e = "sidebar sidebar-" + this.props.side + " sidebar-" + this.status(); return n.DOM.div({ className: e }, n.DOM.div({ className: "sidebar-dock-button", onClick: this.handleClickDockButton }), n.DOM.div({ className: "sidebar-content-container" }, n.DOM.div({ className: "sidebar-content" }, this.props.children))) } }); t.exports = a }, { "react/addons": 35 }], 16: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "Tooltip", getInitialState: function() { return { position: { x: 0, y: 0 } } }, handleMouseMove: function(e) { this.setState({ position: { x: e.pageX, y: e.pageY } }) }, componentDidMount: function() { window.addEventListener("mousemove", this.handleMouseMove) }, componentWillUnmount: function() { window.removeEventListener("mousemove", this.handleMouseMove) }, componentDidUpdate: function() { var e = this.getDOMNode(), t = this.calculatePosition(this.state.position.x, this.state.position.y); e.style.top = t.top + "px", e.style.left = t.left + "px" }, calculatePosition: function(e, t) { if ("number" == typeof e && "number" == typeof t) { var n = this.getDOMNode(), a = {}, r = { x: 10, y: 10 }, d = n.offsetWidth, i = n.offsetHeight, o = window.innerWidth, s = window.innerHeight; switch (this.props.directionX) { case "left": a.left = e - r.x - d, a.right = e - r.x, a.left < 0 && (a.left = 0, a.right = d); break; case "right": a.left = e + r.x, a.right = e + r.x + d, a.right > o && (a.left = o - d, a.right = o) } switch (this.props.directionY) { case "up": a.top = t - r.y - i, a.bottom = t - r.y, a.top < 0 && (a.top = 0, a.bottom = i); break; case "down": a.top = t + r.y, a.bottom = t + r.y + i, a.bottom > s && (a.top = s - i, a.bottom = s) } return a } }, render: function() { var e; if (this.props.invisible === !0) { var t = { display: "none" }; e = n.DOM.div({ className: "tooltip", style: t }, this.props.children) } else e = n.DOM.div({ className: "tooltip" }, this.props.children); return e } }); t.exports = a }, { "react/addons": 35 }], 17: [function(e, t) { "use strict"; var n = e("page"), a = (e("react/lib/merge"), e("react/addons")), r = e("./Character"), d = e("./Alert"), i = e("./Menu"), o = a.createClass({ displayName: "App", getInitialState: function() { return { errors: [], info: [], node_search_results: {}, character: { passive_tree: { encoded_tree: "AAAAAgMA" } } } }, initRouter: function() { n("/character/:encodedTree", function(e) { _gaq.push(["_trackEvent", "Share Link", "URL Decode", e.params.encodedTree, 1]); var t = { character: { passive_tree: { encoded_tree: e.params.encodedTree } } }; this.updateData(t) }.bind(this)), n("/", function() { var e = { character: { passive_tree: { encoded_tree: "AAAAAgMA" } } }; this.updateData(e) }.bind(this)), n("*", function() { n("/") }), n(), this.routeLegacyPaths() }, routeLegacyPaths: function() { var e = document.location.hash.slice(); e.length > 0 && n(e.replace("#", "/").replace("//", "/")) }, componentDidMount: function() { this.initRouter() }, updateData: function(e) { this.setState(e) }, handleCloseStatus: function(e, t) { var n = this.state[e], a = {}; n.splice(t, 1), a[e] = n, this.setState(a) }, updateNodeSearch: function(e) { this.setState({ node_search_results: e }) }, render: function() { var e = this.state.errors.map(function(e, t) { return d({ type: "Error", onClose: this.handleCloseStatus.bind(this, "errors", t), key: t, text: e }) }.bind(this)), t = this.state.info.map(function(e, t) { return d({ type: "Info", onClose: this.handleCloseStatus.bind(this, "info", t), key: t, text: e }) }.bind(this)); return a.DOM.div({ id: "app" }, i({ updateData: this.updateData, updateNodeSearch: this.updateNodeSearch }), r({ data: this.state.character, nodeSearchResults: this.state.node_search_results, updateData: this.updateData, statRegex: /\d+\.?\d*/g, keystoneHeight: 50 }), a.DOM.div({ id: "alerts" }, e, t)) } }); t.exports = o }, { "./Alert": 8, "./Character": 9, "./Menu": 12, page: 34, "react/addons": 35, "react/lib/merge": 169 }], 18: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "PassiveSkillDetails", render: function() { var e = (this.props.description || []).map(function(e, t) { return n.DOM.span({ key: t }, e) }); return n.DOM.div({ className: "passive-skill-details" }, n.DOM.h3({ className: "name" }, this.props.name), n.DOM.p(null, e)) } }); t.exports = a }, { "react/addons": 35 }], 19: [function(e, t) { "use strict"; var n = e("react/addons"), a = e("../Tooltip"), r = e("./PassiveSkillDetails"), d = e("../stats/PinnedStats"), i = e("./PinnedPoints"), o = e("../../../data/groups.json"), s = e("../../../data/nodes.json"), l = e("../../../data/mastery.json"), y = e("../../../data/node_connections.json"), c = e("../../../data/classes.json"), u = e("../../../data/paths.json"), p = e("../../../data/images.json"), h = 1.09, _ = 2 * (h - 1), x = { 0: "Skill_Frame_", 1: "NotableFrame", 2: "KeystoneFrame" }, m = 14, g = 6, f = 1.5, w = "rgba(141, 7, 7, 1)", v = "rgba(30, 95, 207, 1)", D = n.createClass({ displayName: "PassiveTree", getInitialState: function() { return { viewport: { x: -.67 - this.props.width / 2 * f, y: -967.19 - this.props.height / 2 * f, width: this.props.width * f, height: this.props.height * f }, scale: { x: f, y: f }, lastMouse: { x: 0, y: 0 }, isPanning: !1, didPan: !1, current_node: null, shortest_path_node_ids: [], similar_nodes: [] } }, zoomWithPoint: function(e, t) { var n = this.state.scale.x * t, a = this.state.scale.y * t, r = (t - 1) * this.state.viewport.width, d = (t - 1) * this.state.viewport.height, i = this.state.viewport.x - r * (e.x / this.props.width), o = this.state.viewport.y - d * (e.y / this.props.height), s = this.state.viewport.width + r, l = this.state.viewport.height + d; this.setState({ scale: { x: n, y: a }, viewport: { x: i, y: o, width: s, height: l } }) }, moveViewport: function(e) { return { viewport: { x: e.x - this.state.viewport.width / 2, y: e.y - this.state.viewport.height / 2, width: this.state.viewport.width, height: this.state.viewport.height } } }, loadImages: function() { var e = { length: 0 }, t = this; Object.keys(p).forEach(function(n) { var a = new Image, r = p[n]; a.src = r, a.onload = function() { var a = document.createElement("canvas"); a.width = this.width, a.height = this.height, a.getContext("2d").drawImage(this, 0, 0), e[n] = a, e.length += 1, e.length == Object.keys(p).length && t.setState(e) } }) }, toggleNodeIds: function(e) { for (var t = this.props.decodedTree.active_node_ids, n = 0; n < e.length; n++) { var a = e[n]; this.props.decodedTree.active_node_ids.indexOf(a) >= 0 ? t.splice(t.indexOf(a), 1) : t.push(a) } this.props.updatePassiveTree(t, this.props.decodedTree.active_class_id) }, getPathType: function(e) { if (this.state.current_node) { if (this.isPathForNodeIds(e, this.state.shortest_path_node_ids)) return "shortest"; if (this.isPathForNodeIds(e, this.state.disconnected_node_ids)) return "disconnected" } return this.isPathForNodeIds(e, this.props.decodedTree.active_node_ids) ? "active" : "inactive" }, getNodeFrameType: function(e) { return x[e.t] }, getClassFromType: function(e) { for (var t = 0; t < c.length; t++) { var n = c[t]; if (n.t == e) return n } return null }, getSimilarNodes: function(e) { return s.filter(function(t) { return e.n == t.n }) }, getShortestPath: function(e) { var t = [e], n = {}, a = {}, r = this.props.decodedTree.active_node_ids.slice(0); for (r.push(this.getClassFromType(this.props.decodedTree.active_class_id).id), n[e] = !0, a[e] = null; t.length > 0;) { var d = t.shift(), i = y[d]; if (r.indexOf(d) >= 0) { var o = this.buildPathFromDestination(d, a); return o } for (var s = 0; s < i.length; s++) { var l = i[s]; this.isClassNodeId(l) && r.indexOf(l) < 0 || n[l] || (n[l] = !0, a[l] = d, t.push(l)) } } return [] }, buildPathFromDestination: function(e, t) { var n = []; for (n.unshift(e); t[e];) { var e = t[e]; n.unshift(e) } return n }, nodesDisconnectedBy: function(e) { if (this.props.decodedTree.active_node_ids.indexOf(e) < 0) return []; var t = this.props.decodedTree.active_node_ids, n = this.getClassFromType(this.props.decodedTree.active_class_id).id, a = {}; a[e] = !0, this.traverse(n, a); var r = []; for (var d in a) r.push(parseInt(d)); for (var i = [], o = 0; o < t.length; o++) { var s = t[o]; r.indexOf(s) < 0 && i.push(s) } return i.push(e), i }, traverse: function(e, t) { var n = y[e]; t[e] = !0; for (var a = 0; a < n.length; a++) { var r = n[a]; r && !t[r] && this.props.decodedTree.active_node_ids.indexOf(r) >= 0 && this.traverse(r, t) } }, isClassNodeId: function(e) { for (var t = 0; t < c.length; t++) { var n = c[t]; if (n.id == e) return !0 } return !1 }, isActiveNode: function(e) { return this.props.decodedTree.active_node_ids.indexOf(e.id) >= 0 ? !0 : !1 }, isSearchedNode: function(e) { return !!this.props.nodeSearchResults[e.id] }, isPathForNodeIds: function(e, t) { return t.indexOf(e.start_node) >= 0 && t.indexOf(e.end_node) >= 0 ? !0 : !1 }, isNodeAtLocation: function(e, t) { var n = this.isActiveNode(e) ? "Allocated" : "Unallocated", a = this.state[this.getNodeFrameType(e) + n], r = a.width / 2, d = e.l.x - t.x * this.state.scale.x - this.state.viewport.x, i = e.l.y - t.y * this.state.scale.y - this.state.viewport.y, o = Math.sqrt(d * d + i * i); return r >= o }, anyNodeAtLocation: function(e) { for (var t = null, n = 0; n < s.length; n++) { var a = s[n]; this.isNodeAtLocation(a, e) && (t = a) } return t }, componentWillMount: function() { this.loadImages() }, onMouseWheel: function(e) { var t = e.nativeEvent.clientX - this.props.leftPosition, n = e.nativeEvent.clientY, a = h - (e.deltaY < 0 ? _ : 0); this.zoomWithPoint({ x: t, y: n }, a) }, onMouseOut: function() { this.setState({ isPanning: !1, current_node: null }) }, onMouseDown: function(e) { this.setState({ isPanning: !0, lastMouse: { x: e.nativeEvent.clientX, y: e.nativeEvent.clientY } }) }, onMouseUp: function() { if (this.state.didPan === !1 && null !== this.state.current_node) { var e; this.isActiveNode(this.state.current_node) ? (e = this.state.disconnected_node_ids, _gaq.push(e.length > 1 ? ["_trackEvent", "Skills", "Deallocate disconnected", e.slice(-1)[0].toString(), e.length] : ["_trackEvent", "Skills", "Deallocate", e[0].toString(), 1])) : (e = this.state.shortest_path_node_ids.slice(0, -1), _gaq.push(e.length > 1 ? ["_trackEvent", "Skills", "Allocate shortest path", e[0].toString(), e.length] : ["_trackEvent", "Skills", "Allocate", e[0].toString(), 1])), this.toggleNodeIds(e) } this.setState({ isPanning: !1, didPan: !1 }) }, onMouseMove: function(e) { if (e = e.nativeEvent, this.state.isPanning) { if (e.clientX == this.state.lastMouse.x && e.clientY == this.state.lastMouse.y) return; var t = e.movementX || e.mozMovementX || e.webkitMovementX || 0, n = e.movementY || e.mozMovementY || e.webkitMovementY || 0; void 0 === e.movementX && void 0 === e.mozMovementX && void 0 === e.webkitMovementX && (t = e.clientX - this.state.lastMouse.x, n = e.clientY - this.state.lastMouse.y), t = -t, n = -n, this.state.viewport.x += t * this.state.scale.x, this.state.viewport.y += n * this.state.scale.y, this.setState({ didPan: !0, lastMouse: { x: e.clientX, y: e.clientY } }) } else { var a = { x: e.clientX - this.props.leftPosition, y: e.clientY }, r = this.anyNodeAtLocation(a); null !== r && null === this.state.current_node && (this.props.highlightSimilar && _gaq.push(["_trackEvent", "Similar Skills", "Find similar", r.n, 1]), this.setState({ current_node: r, shortest_path_node_ids: this.getShortestPath(r.id), disconnected_node_ids: this.nodesDisconnectedBy(r.id), similar_nodes: this.props.highlightSimilar ? this.getSimilarNodes(r) : [] })), null === r && null !== this.state.current_node && this.setState({ current_node: r, shortest_path_node_ids: [], disconnected_node_ids: [], similar_nodes: [] }) } }, drawBackground: function(e) { e.fillStyle = e.createPattern(this.state.Background1, "repeat"), e.fillRect(0, 0, Math.round(this.props.width), Math.round(this.props.height)) }, drawGroup: function(e, t) { var n = this.state["Group_Background_" + t.type], a = (t.x - this.state.viewport.x - n.width / 2) / this.state.scale.x, r = (t.y - this.state.viewport.y - n.height / 2) / this.state.scale.y, d = n.width / this.state.scale.x, i = n.height / this.state.scale.y; e.drawImage(n, a, r, d, i) }, drawMastery: function(e, t) { var n = this.state["skill_sprite-mastery"], a = (t.l.x - this.state.viewport.x - t.o.w / 2) / this.state.scale.x, r = (t.l.y - this.state.viewport.y - t.o.h / 2) / this.state.scale.y, d = t.o.w / this.state.scale.x, i = t.o.h / this.state.scale.y; e.drawImage(n, t.o.x, t.o.y, t.o.w, t.o.h, a, r, d, i) }, drawActiveNodeIcon: function(e, t) { var n = this.state["skill_sprite-active-3"], a = (t.l.x - this.state.viewport.x - t.o.w / 2) / this.state.scale.x, r = (t.l.y - this.state.viewport.y - t.o.h / 2) / this.state.scale.y, d = t.o.w / this.state.scale.x, i = t.o.h / this.state.scale.y; e.drawImage(n, t.o.x, t.o.y, t.o.w, t.o.h, a, r, d, i) }, drawInactiveNodeIcon: function(e, t) { var n = this.state["skill_sprite-3"], a = (t.l.x - this.state.viewport.x - t.o.w / 2) / this.state.scale.x, r = (t.l.y - this.state.viewport.y - t.o.h / 2) / this.state.scale.y, d = t.o.w / this.state.scale.x, i = t.o.h / this.state.scale.y; e.drawImage(n, t.o.x, t.o.y, t.o.w, t.o.h, a, r, d, i) }, drawActiveNodeRing: function(e, t) { var n = this.state[this.getNodeFrameType(t) + "Allocated"], a = (t.l.x - this.state.viewport.x - n.width / 2) / this.state.scale.x, r = (t.l.y - this.state.viewport.y - n.height / 2) / this.state.scale.y, d = n.width / this.state.scale.x, i = n.height / this.state.scale.y; e.drawImage(n, a, r, d, i) }, drawInactiveNodeRing: function(e, t) { var n = this.state[this.getNodeFrameType(t) + "Unallocated"], a = (t.l.x - this.state.viewport.x - n.width / 2) / this.state.scale.x, r = (t.l.y - this.state.viewport.y - n.height / 2) / this.state.scale.y, d = n.width / this.state.scale.x, i = n.height / this.state.scale.y; e.drawImage(n, a, r, d, i) }, drawInactiveClass: function(e, t) { var n = this.state.Start_Node_Background, a = (t.l.x - this.state.viewport.x - n.width / 2) / this.state.scale.x, r = (t.l.y - this.state.viewport.y - n.height / 2) / this.state.scale.y, d = n.width / this.state.scale.x, i = n.height / this.state.scale.y; e.drawImage(n, a, r, d, i) }, drawActiveClass: function(e, t) { var n = this.state[t.i.replace(/\..+$/, "")], a = (t.l.x - this.state.viewport.x - n.width / 2) / this.state.scale.x, r = (t.l.y - this.state.viewport.y - n.height / 2) / this.state.scale.y, d = n.width / this.state.scale.x, i = n.height / this.state.scale.y; e.drawImage(n, a, r, d, i) }, drawPath: function(e, t) { if (e.beginPath(), 0 == t.type) { var n = (t.start_x - this.state.viewport.x) / this.state.scale.x, a = (t.start_y - this.state.viewport.y) / this.state.scale.y, r = (t.end_x - this.state.viewport.x) / this.state.scale.x, d = (t.end_y - this.state.viewport.y) / this.state.scale.y; e.moveTo(n, a), e.lineTo(r, d), e.stroke() } else { var i = (t.x - this.state.viewport.x) / this.state.scale.x, o = (t.y - this.state.viewport.y) / this.state.scale.y, s = t.radius / this.state.scale.x, l = t.start, y = t.start + t.delta; e.arc(i, o, s, l, y, !1), e.stroke() } }, drawNodeHighlight: function(e, t) { var n = (t.l.x - this.state.viewport.x) / this.state.scale.x, a = (t.l.y - this.state.viewport.y) / this.state.scale.y, r = (t.o.w + 12) / this.state.scale.x / 2, d = 9 / this.state.scale.x, i = 20, o = 45, s = r, l = { left: this.state.viewport.x, right: this.state.viewport.x + this.state.viewport.width, top: this.state.viewport.y, bottom: this.state.viewport.y + this.state.viewport.height }; t.l.x < l.left + i ? (s = d, n = i + s) : t.l.x > l.right && (s = d, n = this.props.width - s), t.l.y < l.top + o ? (s = d, a = o + s) : t.l.y > l.bottom && (s = d, a = this.props.height - s), e.beginPath(), e.arc(n, a, s, 0, 2 * Math.PI, !1), e.fill(), e.stroke() }, componentWillReceiveProps: function(e) { var t = {}; if (e.decodedTree.active_class_id != this.props.decodedTree.active_class_id) { var n = this.moveViewport(this.getClassFromType(e.decodedTree.active_class_id).l); t.viewport = n.viewport } else if (e.leftPosition != this.props.leftPosition) { var a = (e.leftPosition - this.props.leftPosition) * this.state.scale.x; t.viewport = this.state.viewport, t.viewport.x += a, t.viewport.width -= a } else if (e.rightPosition != this.props.rightPosition) { var a = (e.rightPosition - this.props.rightPosition) * this.state.scale.x; t.viewport = this.state.viewport, t.viewport.width -= a } else if (e.width != this.props.width) { var a = (e.width - this.props.width) * this.state.scale.x; t.viewport = this.state.viewport, t.viewport.width += a } else if (e.height != this.props.height) { var a = (e.height - this.props.height) * this.state.scale.y; t.viewport = this.state.viewport, t.viewport.height += a } this.state.current_node ? (t.shortest_path_node_ids = this.getShortestPath(this.state.current_node.id), t.disconnected_node_ids = this.nodesDisconnectedBy(this.state.current_node.id)) : (t.shortest_path_node_ids = [], t.disconnected_node_ids = []), this.setState(t) }, componentDidUpdate: function() { var e = this.getDOMNode().firstChild.getContext("2d"); e.clearRect(0, 0, this.props.width, this.props.height), this.drawBackground(e); for (var t = 0; t < o.length; t++) this.drawGroup(e, o[t]); for (var t = 0; t < l.length; t++) this.drawMastery(e, l[t]); for (var n = null, a = [], t = 0; t < c.length; t++) c[t].t == this.props.decodedTree.active_class_id ? n = c[t] : a.push(c[t]); for (var t = 0; t < a.length; t++) this.drawInactiveClass(e, a[t]); this.drawActiveClass(e, n); for (var r = [], d = [], i = [], y = [], t = 0; t < u.length; t++) { var p = u[t], h = this.getPathType(p); "active" == h ? i.push(p) : "disconnected" == h ? y.push(p) : "shortest" == h ? d.push(p) : r.push(p) } e.lineWidth = g / this.state.scale.x, e.strokeStyle = "rgba(70,70,30,.8)"; for (var t = 0; t < r.length; t++) this.drawPath(e, r[t]); e.lineWidth = m / this.state.scale.x, e.strokeStyle = "rgba(150,150,0,.8)"; for (var t = 0; t < i.length; t++) this.drawPath(e, i[t]); e.lineWidth = m / this.state.scale.x, e.strokeStyle = "rgba(50,150,0,.8)"; for (var t = 0; t < d.length; t++) this.drawPath(e, d[t]); e.lineWidth = m / this.state.scale.x, e.strokeStyle = "rgba(150,50,0,.8)"; for (var t = 0; t < y.length; t++) this.drawPath(e, y[t]); for (var _ = [], x = [], t = 0; t < s.length; t++) { var f = s[t]; this.isActiveNode(f) ? x.push(f) : _.push(f) } for (var t = 0; t < x.length; t++) this.drawActiveNodeIcon(e, x[t]), this.drawActiveNodeRing(e, x[t]); for (var t = 0; t < _.length; t++) this.drawInactiveNodeIcon(e, _[t]), this.drawInactiveNodeRing(e, _[t]); e.lineWidth = 2, e.fillStyle = w, e.strokeStyle = w, e.globalAlpha = .5; for (var t = 0; t < s.length; t++) this.isSearchedNode(s[t]) && this.drawNodeHighlight(e, s[t]); e.fillStyle = v, e.strokeStyle = v; for (var t = 0; t < this.state.similar_nodes.length; t++) this.drawNodeHighlight(e, this.state.similar_nodes[t]); e.globalAlpha = 1 }, render: function() { var e = { width: this.props.width, height: this.props.height, marginLeft: this.props.leftPosition }, t = this.state.current_node ? !0 : !1; return n.DOM.div(null, n.DOM.canvas({ ref: "canvas", id: "passive-tree", style: e, onMouseDown: this.onMouseDown, onMouseUp: this.onMouseUp, onMouseMove: this.onMouseMove, onMouseOut: this.onMouseOut, onWheel: this.onMouseWheel, width: this.props.width, height: this.props.height }), i({ leftPosition: this.props.leftPosition, width: this.props.width, points: this.props.decodedTree.active_node_ids.length }), this.props.pinnedStats.length > 0 ? d({ summary: this.props.summary, pinnedStats: this.props.pinnedStats, leftPosition: this.props.leftPosition }) : null, a({ directionX: "right", directionY: "down", invisible: !t }, this.state.current_node ? r({ name: this.state.current_node.n, description: this.state.current_node.d }) : null)) } }); t.exports = D }, { "../../../data/classes.json": 1, "../../../data/groups.json": 2, "../../../data/images.json": 3, "../../../data/mastery.json": 4, "../../../data/node_connections.json": 5, "../../../data/nodes.json": 6, "../../../data/paths.json": 7, "../Tooltip": 16, "../stats/PinnedStats": 24, "./PassiveSkillDetails": 18, "./PinnedPoints": 21, "react/addons": 35 }], 20: [function(e, t) { "use strict"; var n = e("react/addons"), a = e("../../mixins/DialogManagerMixin"), r = e("../DialogBox"), d = e("../ShareLinks"), i = n.createClass({ displayName: "PassiveSkillToolbox", mixins: [a], handleClickReset: function() { this.props.updatePassiveTree([], this.props.decodedTree.active_class_id) }, validatePassiveTreeString: function(e) { return e.length < 7 ? !1 : !0 }, handleClickSubmit: function(e) { e.preventDefault(); var t = this.refs.passiveTreeInput.getDOMNode().value; t = t.substr(t.lastIndexOf("/") + 1), this.validatePassiveTreeString(t) !== !1 && (_gaq.push(["_trackEvent", "Share Link", "Toolbox Decode", t, 1]), this.props.changePassiveTree(t)) }, handleClickShare: function() { _gaq.push(["_trackEvent", "Share Link", "Click Share Build", "", 1]), this.openDialog("shareDialog") }, render: function() { this.props.decodedTree.active_node_ids.length; return n.DOM.div({ id: "passive-toolbox" }, n.DOM.form({ id: "decode-tree" }, n.DOM.label({ htmlFor: "highlight-similar" }, n.DOM.input({ id: "highlight-similar", type: "checkbox", value: this.props.highlightSimilar, onChange: this.props.toggleHighlightSimilar }), "Highlight Similar"), n.DOM.input({ type: "text", id: "passive-tree-input", ref: "passiveTreeInput", placeholder: "Input share link and click decode..." }), n.DOM.input({ type: "submit", id: "decode-button", onClick: this.handleClickSubmit, value: "Decode Tree" })), n.DOM.ul({ id: "passive-tree-actions" }, n.DOM.li(null, n.DOM.button({ id: "reset-tree", onClick: this.handleClickReset }, "Reset Tree")), n.DOM.li(null, n.DOM.button({ id: "share-tree", onClick: this.handleClickShare }, "Share Tree"))), this.dialogIsOpen("shareDialog") ? r({ title: "Share", onClose: this.closeDialog }, d({ encoded_tree: this.props.encodedTree })) : null) } }); t.exports = i }, { "../../mixins/DialogManagerMixin": 27, "../DialogBox": 11, "../ShareLinks": 14, "react/addons": 35 }], 21: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "PinnedPoints", render: function() { var e = 175, t = window.innerWidth / 2, a = { left: t - e / 2 }, r = this.props.points, d = 120 - r, i = "" + r + "/120 points " + d + " left"; return n.DOM.div({ style: a, className: "pinned-points-container" }, n.DOM.h1(null, i)) } }); t.exports = a }, { "react/addons": 35 }], 22: [function(e, t) { "use strict"; var n = e("react/addons"), a = e("../../mixins/SummaryStatMixin"), r = n.createClass({ displayName: "Attributes", mixins: [a], strength: function() { return this._stat("Strength") || "―" }, dexterity: function() { return this._stat("Dexterity") || "―" }, intelligence: function() { return this._stat("Intelligence") || "―" }, render: function() { return n.DOM.table({ className: "stat-summary-table", id: "attributes" }, n.DOM.tbody(null, n.DOM.tr({ className: "labels" }, n.DOM.th(null, "Strength"), n.DOM.th(null, "Dexterity"), n.DOM.th(null, "Intelligence")), n.DOM.tr(null, n.DOM.td(null, this.strength()), n.DOM.td(null, this.dexterity()), n.DOM.td(null, this.intelligence())))) } }); t.exports = r }, { "../../mixins/SummaryStatMixin": 28, "react/addons": 35 }], 23: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "KeystoneStats", render: function() { var e = Object.keys(this.props.stats || {}).sort().map(function(e) { var t = this.props.stats[e].map(function(e) { return n.DOM.tr({ key: e }, n.DOM.td({ className: "stat-label" }, e)) }); return n.DOM.tbody({ className: "small" }, n.DOM.tr({ className: "labels" }, n.DOM.th({ colSpan: "1" }, e)), t) }, this); return n.DOM.div({ id: "keystone-stats" }, n.DOM.hr(null), n.DOM.table({ className: "stat-summary-table" }, n.DOM.colgroup(null, n.DOM.col({ className: "keystone-stat-label" })), n.DOM.thead(null, n.DOM.tr(null, n.DOM.th({ colSpan: "1" }, "Keystones"))), e)) } }); t.exports = a }, { "react/addons": 35 }], 24: [function(e, t) { "use strict"; var n = e("react/addons"), a = n.createClass({ displayName: "PinnedStats", getValue: function(e) { return this.props.summary[e] || 0 }, render: function() { var e = this.props.pinnedStats.map(function(e, t) { return n.DOM.tr({ key: t }, n.DOM.td({ className: "pinned-stat-value" }, this.getValue(e)), n.DOM.td({ className: "pinned-stat-name" }, e)) }, this), t = 35, a = { left: this.props.leftPosition + t }; return n.DOM.div({ style: a, className: "pinned-stat-container" }, n.DOM.table({ className: "pinned-stat-table" }, n.DOM.tbody(null, e))) } }); t.exports = a }, { "react/addons": 35 }], 25: [function(e, t) { "use strict"; var n = e("react/addons"), a = { mine: "Mine", totem: "Totem", charg: "Charge", block: "Defense", dodge: "Defense", weapon: "Weapon", "melee phys": "Weapon", "physical dam": "Weapon", area: "Spell", crit: "Crit", pierc: "Weapon", proj: "Weapon", minio: "Minion", move: "Defense", mana: "Spell", life: "Defense", armour: "Defense", evasi: "Defense", defence: "Defense", buff: "Spell", spell: "Spell", cast: "Spell", trap: "Traps", attack: "Weapon", accur: "Weapon", intel: "BaseStats", dex: "BaseStats", stre: "BaseStats", shield: "Defense", "dual wiel": "Weapon", bow: "Weapon", axe: "Weapon", mace: "Weapon", stav: "Weapon", staff: "Weapon", dagg: "Weapon", claw: "Weapon", wand: "Weapon", zombie: "Minion", spectre: "Minion", skeleton: "Minion", "all attrib": "BaseStats", resist: "Defense" }, r = n.createClass({ displayName: "RawStats", onPin: function(e) { this.props.pinStat(e) }, getGroup: function(e) { for (var t in a) if (a.hasOwnProperty(t) && e.toLowerCase().indexOf(t) >= 0) return a[t]; return "Misc" }, groupStats: function(e) { var t = {}; return Object.keys(e || {}).map(function(n) { var a = this.getGroup(n); a in t ? t[a][n] = e[n] : (t[a] = {}, t[a][n] = e[n]) }, this), t }, render: function() { var e = this.groupStats(this.props.stats), t = Object.keys(e).map(function(t) { var a = Object.keys(e[t] || {}).sort().map(function(e) { var t = this.props.stats[e], a = this.props.pinnedStats.indexOf(e) > -1 ? !0 : !1, r = a ? "pin toggled" : "pin", d = "Click to view this stat while the sidebar is minimized"; return n.DOM.tr({ key: e }, n.DOM.td({ className: "stat-value" }, Math.round(10 * t) / 10 || 0), n.DOM.td({ className: "stat-label" }, e), n.DOM.td(null, n.DOM.button({ title: d, onClick: this.onPin.bind(this, e), className: r }))) }, this); return n.DOM.tbody({ className: "small" }, n.DOM.tr({ className: "labels", key: t }, n.DOM.th({ colSpan: "3" }, t)), a) }, this); return n.DOM.div({ id: "raw-stats" }, n.DOM.hr(null), n.DOM.table({ className: "stat-summary-table" }, n.DOM.colgroup(null, n.DOM.col({ className: "raw-stat-value" }), n.DOM.col({ className: "raw-stat-label" }), n.DOM.col({ className: "raw-stat-value" })), t)) } }); t.exports = r }, { "react/addons": 35 }], 26: [function(e) { "use strict"; var t = e("./components/app.js"); window.React = e("react/addons"), window.app = React.renderComponent(t(null), document.getElementById("main")) }, { "./components/app.js": 17, "react/addons": 35 }], 27: [function(e, t) { "use strict"; var n = (e("react/addons"), { openDialog: function(e) { this._setDialogState(e, !0) }, closeDialog: function(e) { this._setDialogState(e, !1) }, dialogIsOpen: function(e) { return this.state && this.state.dialogs ? this.state.dialogs[e] : !1 }, _setDialogState: function(e, t) { var n = { dialogs: {} }; n.dialogs[e] = t, this.setState(n) } }); t.exports = n }, { "react/addons": 35 }], 28: [function(e, t) { "use strict"; var n = { _stat: function(e) { return ((this.props.summaryStats || []).filter(function(t) { return t.game_id === e })[0] || {}).value } }; t.exports = n }, {}], 29: [function(e, t, n) { function a(e, t, n) { if (!(this instanceof a)) return new a(e, t, n); var r = typeof e; if ("base64" === t && "string" === r) for (e = R(e); e.length % 4 !== 0;) e += "="; var d; if ("number" === r) d = A(e); else if ("string" === r) d = a.byteLength(e, t); else { if ("object" !== r) throw new Error("First argument needs to be a number, array or string."); d = A(e.length) } var i; a._useTypedArrays ? i = a._augment(new Uint8Array(d)) : (i = this, i.length = d, i._isBuffer = !0); var o; if (a._useTypedArrays && "number" == typeof e.byteLength) i._set(e); else if (P(e)) for (o = 0; d > o; o++) i[o] = a.isBuffer(e) ? e.readUInt8(o) : e[o]; else if ("string" === r) i.write(e, 0, t); else if ("number" === r && !a._useTypedArrays && !n) for (o = 0; d > o; o++) i[o] = 0; return i } function r(e, t, n, r) { n = Number(n) || 0; var d = e.length - n; r ? (r = Number(r), r > d && (r = d)) : r = d; var i = t.length; H(i % 2 === 0, "Invalid hex string"), r > i / 2 && (r = i / 2); for (var o = 0; r > o; o++) { var s = parseInt(t.substr(2 * o, 2), 16); H(!isNaN(s), "Invalid hex string"), e[n + o] = s } return a._charsWritten = 2 * o, o } function d(e, t, n, r) { var d = a._charsWritten = B(T(t), e, n, r); return d } function i(e, t, n, r) { var d = a._charsWritten = B(I(t), e, n, r); return d } function o(e, t, n, a) { return i(e, t, n, a) } function s(e, t, n, r) { var d = a._charsWritten = B(W(t), e, n, r); return d } function l(e, t, n, r) { var d = a._charsWritten = B(L(t), e, n, r); return d } function y(e, t, n) { return G.fromByteArray(0 === t && n === e.length ? e : e.slice(t, n)) } function c(e, t, n) { var a = "", r = ""; n = Math.min(e.length, n); for (var d = t; n > d; d++) e[d] <= 127 ? (a += F(r) + String.fromCharCode(e[d]), r = "") : r += "%" + e[d].toString(16); return a + F(r) } function u(e, t, n) { var a = ""; n = Math.min(e.length, n); for (var r = t; n > r; r++) a += String.fromCharCode(e[r]); return a } function p(e, t, n) { return u(e, t, n) } function h(e, t, n) { var a = e.length; (!t || 0 > t) && (t = 0), (!n || 0 > n || n > a) && (n = a); for (var r = "", d = t; n > d; d++) r += O(e[d]); return r } function _(e, t, n) { for (var a = e.slice(t, n), r = "", d = 0; d < a.length; d += 2) r += String.fromCharCode(a[d] + 256 * a[d + 1]); return r } function x(e, t, n, a) { a || (H("boolean" == typeof n, "missing or invalid endian"), H(void 0 !== t && null !== t, "missing offset"), H(t + 1 < e.length, "Trying to read beyond buffer length")); var r = e.length; if (!(t >= r)) { var d; return n ? (d = e[t], r > t + 1 && (d |= e[t + 1] << 8)) : (d = e[t] << 8, r > t + 1 && (d |= e[t + 1])), d } } function m(e, t, n, a) { a || (H("boolean" == typeof n, "missing or invalid endian"), H(void 0 !== t && null !== t, "missing offset"), H(t + 3 < e.length, "Trying to read beyond buffer length")); var r = e.length; if (!(t >= r)) { var d; return n ? (r > t + 2 && (d = e[t + 2] << 16), r > t + 1 && (d |= e[t + 1] << 8), d |= e[t], r > t + 3 && (d += e[t + 3] << 24 >>> 0)) : (r > t + 1 && (d = e[t + 1] << 16), r > t + 2 && (d |= e[t + 2] << 8), r > t + 3 && (d |= e[t + 3]), d += e[t] << 24 >>> 0), d } } function g(e, t, n, a) { a || (H("boolean" == typeof n, "missing or invalid endian"), H(void 0 !== t && null !== t, "missing offset"), H(t + 1 < e.length, "Trying to read beyond buffer length")); var r = e.length; if (!(t >= r)) { var d = x(e, t, n, !0), i = 32768 & d; return i ? -1 * (65535 - d + 1) : d } } function f(e, t, n, a) { a || (H("boolean" == typeof n, "missing or invalid endian"), H(void 0 !== t && null !== t, "missing offset"), H(t + 3 < e.length, "Trying to read beyond buffer length")); var r = e.length; if (!(t >= r)) { var d = m(e, t, n, !0), i = 2147483648 & d; return i ? -1 * (4294967295 - d + 1) : d } } function w(e, t, n, a) { return a || (H("boolean" == typeof n, "missing or invalid endian"), H(t + 3 < e.length, "Trying to read beyond buffer length")), K.read(e, t, n, 23, 4) } function v(e, t, n, a) { return a || (H("boolean" == typeof n, "missing or invalid endian"), H(t + 7 < e.length, "Trying to read beyond buffer length")), K.read(e, t, n, 52, 8) } function D(e, t, n, a, r) { r || (H(void 0 !== t && null !== t, "missing value"), H("boolean" == typeof a, "missing or invalid endian"), H(void 0 !== n && null !== n, "missing offset"), H(n + 1 < e.length, "trying to write beyond buffer length"), j(t, 65535)); var d = e.length; if (!(n >= d)) for (var i = 0, o = Math.min(d - n, 2); o > i; i++) e[n + i] = (t & 255 << 8 * (a ? i : 1 - i)) >>> 8 * (a ? i : 1 - i) } function S(e, t, n, a, r) { r || (H(void 0 !== t && null !== t, "missing value"), H("boolean" == typeof a, "missing or invalid endian"), H(void 0 !== n && null !== n, "missing offset"), H(n + 3 < e.length, "trying to write beyond buffer length"), j(t, 4294967295)); var d = e.length; if (!(n >= d)) for (var i = 0, o = Math.min(d - n, 4); o > i; i++) e[n + i] = t >>> 8 * (a ? i : 3 - i) & 255 } function C(e, t, n, a, r) { r || (H(void 0 !== t && null !== t, "missing value"), H("boolean" == typeof a, "missing or invalid endian"), H(void 0 !== n && null !== n, "missing offset"), H(n + 1 < e.length, "Trying to write beyond buffer length"), U(t, 32767, -32768)); var d = e.length; n >= d || (t >= 0 ? D(e, t, n, a, r) : D(e, 65535 + t + 1, n, a, r)) } function E(e, t, n, a, r) { r || (H(void 0 !== t && null !== t, "missing value"), H("boolean" == typeof a, "missing or invalid endian"), H(void 0 !== n && null !== n, "missing offset"), H(n + 3 < e.length, "Trying to write beyond buffer length"), U(t, 2147483647, -2147483648)); var d = e.length; n >= d || (t >= 0 ? S(e, t, n, a, r) : S(e, 4294967295 + t + 1, n, a, r)) } function M(e, t, n, a, r) { r || (H(void 0 !== t && null !== t, "missing value"), H("boolean" == typeof a, "missing or invalid endian"), H(void 0 !== n && null !== n, "missing offset"), H(n + 3 < e.length, "Trying to write beyond buffer length"), V(t, 3.4028234663852886e38, -3.4028234663852886e38)); var d = e.length; n >= d || K.write(e, t, n, a, 23, 4) } function k(e, t, n, a, r) { r || (H(void 0 !== t && null !== t, "missing value"), H("boolean" == typeof a, "missing or invalid endian"), H(void 0 !== n && null !== n, "missing offset"), H(n + 7 < e.length, "Trying to write beyond buffer length"), V(t, 1.7976931348623157e308, -1.7976931348623157e308)); var d = e.length; n >= d || K.write(e, t, n, a, 52, 8) } function R(e) { return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, "") } function b(e, t, n) { return "number" != typeof e ? n : (e = ~~e, e >= t ? t : e >= 0 ? e : (e += t, e >= 0 ? e : 0)) } function A(e) { return e = ~~Math.ceil(+e), 0 > e ? 0 : e } function N(e) { return (Array.isArray || function(e) { return "[object Array]" === Object.prototype.toString.call(e) })(e) } function P(e) { return N(e) || a.isBuffer(e) || e && "object" == typeof e && "number" == typeof e.length } function O(e) { return 16 > e ? "0" + e.toString(16) : e.toString(16) } function T(e) { for (var t = [], n = 0; n < e.length; n++) { var a = e.charCodeAt(n); if (127 >= a) t.push(e.charCodeAt(n)); else { var r = n; a >= 55296 && 57343 >= a && n++; for (var d = encodeURIComponent(e.slice(r, n + 1)).substr(1).split("%"), i = 0; i < d.length; i++) t.push(parseInt(d[i], 16)) } } return t } function I(e) { for (var t = [], n = 0; n < e.length; n++) t.push(255 & e.charCodeAt(n)); return t } function L(e) { for (var t, n, a, r = [], d = 0; d < e.length; d++) t = e.charCodeAt(d), n = t >> 8, a = t % 256, r.push(a), r.push(n); return r } function W(e) { return G.toByteArray(e) } function B(e, t, n, a) { for (var r = 0; a > r && !(r + n >= t.length || r >= e.length); r++) t[r + n] = e[r]; return r } function F(e) { try { return decodeURIComponent(e) } catch (t) { return String.fromCharCode(65533) } } function j(e, t) { H("number" == typeof e, "cannot write a non-number as a number"), H(e >= 0, "specified a negative value for writing an unsigned value"), H(t >= e, "value is larger than maximum value for type"), H(Math.floor(e) === e, "value has a fractional component") } function U(e, t, n) { H("number" == typeof e, "cannot write a non-number as a number"), H(t >= e, "value larger than maximum allowed value"), H(e >= n, "value smaller than minimum allowed value"), H(Math.floor(e) === e, "value has a fractional component") } function V(e, t, n) { H("number" == typeof e, "cannot write a non-number as a number"), H(t >= e, "value larger than maximum allowed value"), H(e >= n, "value smaller than minimum allowed value") } function H(e, t) { if (!e) throw new Error(t || "Failed assertion") } var G = e("base64-js"), K = e("ieee754"); n.Buffer = a, n.SlowBuffer = a, n.INSPECT_MAX_BYTES = 50, a.poolSize = 8192, a._useTypedArrays = function() { try { var e = new ArrayBuffer(0), t = new Uint8Array(e); return t.foo = function() { return 42 }, 42 === t.foo() && "function" == typeof t.subarray } catch (n) { return !1 } }(), a.isEncoding = function(e) { switch (String(e).toLowerCase()) { case "hex": case "utf8": case "utf-8": case "ascii": case "binary": case "base64": case "raw": case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": return !0; default: return !1 } }, a.isBuffer = function(e) { return !(null === e || void 0 === e || !e._isBuffer) }, a.byteLength = function(e, t) { var n; switch (e += "", t || "utf8") { case "hex": n = e.length / 2; break; case "utf8": case "utf-8": n = T(e).length; break; case "ascii": case "binary": case "raw": n = e.length; break; case "base64": n = W(e).length; break; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": n = 2 * e.length; break; default: throw new Error("Unknown encoding") } return n }, a.concat = function(e, t) { if (H(N(e), "Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."), 0 === e.length) return new a(0); if (1 === e.length) return e[0]; var n; if ("number" != typeof t) for (t = 0, n = 0; n < e.length; n++) t += e[n].length; var r = new a(t), d = 0; for (n = 0; n < e.length; n++) { var i = e[n]; i.copy(r, d), d += i.length } return r }, a.prototype.write = function(e, t, n, a) { if (isFinite(t)) isFinite(n) || (a = n, n = void 0); else { var y = a; a = t, t = n, n = y } t = Number(t) || 0; var c = this.length - t; n ? (n = Number(n), n > c && (n = c)) : n = c, a = String(a || "utf8").toLowerCase(); var u; switch (a) { case "hex": u = r(this, e, t, n); break; case "utf8": case "utf-8": u = d(this, e, t, n); break; case "ascii": u = i(this, e, t, n); break; case "binary": u = o(this, e, t, n); break; case "base64": u = s(this, e, t, n); break; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": u = l(this, e, t, n); break; default: throw new Error("Unknown encoding") } return u }, a.prototype.toString = function(e, t, n) { var a = this; if (e = String(e || "utf8").toLowerCase(), t = Number(t) || 0, n = void 0 !== n ? Number(n) : n = a.length, n === t) return ""; var r; switch (e) { case "hex": r = h(a, t, n); break; case "utf8": case "utf-8": r = c(a, t, n); break; case "ascii": r = u(a, t, n); break; case "binary": r = p(a, t, n); break; case "base64": r = y(a, t, n); break; case "ucs2": case "ucs-2": case "utf16le": case "utf-16le": r = _(a, t, n); break; default: throw new Error("Unknown encoding") } return r }, a.prototype.toJSON = function() { return { type: "Buffer", data: Array.prototype.slice.call(this._arr || this, 0) } }, a.prototype.copy = function(e, t, n, r) { var d = this; if (n || (n = 0), r || 0 === r || (r = this.length), t || (t = 0), r !== n && 0 !== e.length && 0 !== d.length) { H(r >= n, "sourceEnd < sourceStart"), H(t >= 0 && t < e.length, "targetStart out of bounds"), H(n >= 0 && n < d.length, "sourceStart out of bounds"), H(r >= 0 && r <= d.length, "sourceEnd out of bounds"), r > this.length && (r = this.length), e.length - t < r - n && (r = e.length - t + n); var i = r - n; if (100 > i || !a._useTypedArrays) for (var o = 0; i > o; o++) e[o + t] = this[o + n]; else e._set(this.subarray(n, n + i), t) } }, a.prototype.slice = function(e, t) { var n = this.length; if (e = b(e, n, 0), t = b(t, n, n), a._useTypedArrays) return a._augment(this.subarray(e, t)); for (var r = t - e, d = new a(r, void 0, !0), i = 0; r > i; i++) d[i] = this[i + e]; return d }, a.prototype.get = function(e) { return console.log(".get() is deprecated. Access using array indexes instead."), this.readUInt8(e) }, a.prototype.set = function(e, t) { return console.log(".set() is deprecated. Access using array indexes instead."), this.writeUInt8(e, t) }, a.prototype.readUInt8 = function(e, t) { return t || (H(void 0 !== e && null !== e, "missing offset"), H(e < this.length, "Trying to read beyond buffer length")), e >= this.length ? void 0 : this[e] }, a.prototype.readUInt16LE = function(e, t) { return x(this, e, !0, t) }, a.prototype.readUInt16BE = function(e, t) { return x(this, e, !1, t) }, a.prototype.readUInt32LE = function(e, t) { return m(this, e, !0, t) }, a.prototype.readUInt32BE = function(e, t) { return m(this, e, !1, t) }, a.prototype.readInt8 = function(e, t) { if (t || (H(void 0 !== e && null !== e, "missing offset"), H(e < this.length, "Trying to read beyond buffer length")), !(e >= this.length)) { var n = 128 & this[e]; return n ? -1 * (255 - this[e] + 1) : this[e] } }, a.prototype.readInt16LE = function(e, t) { return g(this, e, !0, t) }, a.prototype.readInt16BE = function(e, t) { return g(this, e, !1, t) }, a.prototype.readInt32LE = function(e, t) { return f(this, e, !0, t) }, a.prototype.readInt32BE = function(e, t) { return f(this, e, !1, t) }, a.prototype.readFloatLE = function(e, t) { return w(this, e, !0, t) }, a.prototype.readFloatBE = function(e, t) { return w(this, e, !1, t) }, a.prototype.readDoubleLE = function(e, t) { return v(this, e, !0, t) }, a.prototype.readDoubleBE = function(e, t) { return v(this, e, !1, t) }, a.prototype.writeUInt8 = function(e, t, n) { n || (H(void 0 !== e && null !== e, "missing value"), H(void 0 !== t && null !== t, "missing offset"), H(t < this.length, "trying to write beyond buffer length"), j(e, 255)), t >= this.length || (this[t] = e) }, a.prototype.writeUInt16LE = function(e, t, n) { D(this, e, t, !0, n) }, a.prototype.writeUInt16BE = function(e, t, n) { D(this, e, t, !1, n) }, a.prototype.writeUInt32LE = function(e, t, n) { S(this, e, t, !0, n) }, a.prototype.writeUInt32BE = function(e, t, n) { S(this, e, t, !1, n) }, a.prototype.writeInt8 = function(e, t, n) { n || (H(void 0 !== e && null !== e, "missing value"), H(void 0 !== t && null !== t, "missing offset"), H(t < this.length, "Trying to write beyond buffer length"), U(e, 127, -128)), t >= this.length || (e >= 0 ? this.writeUInt8(e, t, n) : this.writeUInt8(255 + e + 1, t, n)) }, a.prototype.writeInt16LE = function(e, t, n) { C(this, e, t, !0, n) }, a.prototype.writeInt16BE = function(e, t, n) { C(this, e, t, !1, n) }, a.prototype.writeInt32LE = function(e, t, n) { E(this, e, t, !0, n) }, a.prototype.writeInt32BE = function(e, t, n) { E(this, e, t, !1, n) }, a.prototype.writeFloatLE = function(e, t, n) { M(this, e, t, !0, n) }, a.prototype.writeFloatBE = function(e, t, n) { M(this, e, t, !1, n) }, a.prototype.writeDoubleLE = function(e, t, n) { k(this, e, t, !0, n) }, a.prototype.writeDoubleBE = function(e, t, n) { k(this, e, t, !1, n) }, a.prototype.fill = function(e, t, n) { if (e || (e = 0), t || (t = 0), n || (n = this.length), "string" == typeof e && (e = e.charCodeAt(0)), H("number" == typeof e && !isNaN(e), "value is not a number"), H(n >= t, "end < start"), n !== t && 0 !== this.length) { H(t >= 0 && t < this.length, "start out of bounds"), H(n >= 0 && n <= this.length, "end out of bounds"); for (var a = t; n > a; a++) this[a] = e } }, a.prototype.inspect = function() { for (var e = [], t = this.length, a = 0; t > a; a++) if (e[a] = O(this[a]), a === n.INSPECT_MAX_BYTES) { e[a + 1] = "..."; break } return "" }, a.prototype.toArrayBuffer = function() { if ("undefined" != typeof Uint8Array) { if (a._useTypedArrays) return new a(this).buffer; for (var e = new Uint8Array(this.length), t = 0, n = e.length; n > t; t += 1) e[t] = this[t]; return e.buffer } throw new Error("Buffer.toArrayBuffer not supported in this browser") }; var z = a.prototype; a._augment = function(e) { return e._isBuffer = !0, e._get = e.get, e._set = e.set, e.get = z.get, e.set = z.set, e.write = z.write, e.toString = z.toString, e.toLocaleString = z.toString, e.toJSON = z.toJSON, e.copy = z.copy, e.slice = z.slice, e.readUInt8 = z.readUInt8, e.readUInt16LE = z.readUInt16LE, e.readUInt16BE = z.readUInt16BE, e.readUInt32LE = z.readUInt32LE, e.readUInt32BE = z.readUInt32BE, e.readInt8 = z.readInt8, e.readInt16LE = z.readInt16LE, e.readInt16BE = z.readInt16BE, e.readInt32LE = z.readInt32LE, e.readInt32BE = z.readInt32BE, e.readFloatLE = z.readFloatLE, e.readFloatBE = z.readFloatBE, e.readDoubleLE = z.readDoubleLE, e.readDoubleBE = z.readDoubleBE, e.writeUInt8 = z.writeUInt8, e.writeUInt16LE = z.writeUInt16LE, e.writeUInt16BE = z.writeUInt16BE, e.writeUInt32LE = z.writeUInt32LE, e.writeUInt32BE = z.writeUInt32BE, e.writeInt8 = z.writeInt8, e.writeInt16LE = z.writeInt16LE, e.writeInt16BE = z.writeInt16BE, e.writeInt32LE = z.writeInt32LE, e.writeInt32BE = z.writeInt32BE, e.writeFloatLE = z.writeFloatLE, e.writeFloatBE = z.writeFloatBE, e.writeDoubleLE = z.writeDoubleLE, e.writeDoubleBE = z.writeDoubleBE, e.fill = z.fill, e.inspect = z.inspect, e.toArrayBuffer = z.toArrayBuffer, e } }, { "base64-js": 30, ieee754: 31 }], 30: [function(e, t) { var n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; ! function() { "use strict"; function e(e) { var t = e.charCodeAt(0); return t === i ? 62 : t === o ? 63 : s > t ? -1 : s + 10 > t ? t - s + 26 + 26 : y + 26 > t ? t - y : l + 26 > t ? t - l + 26 : void 0 } function a(t) { function n(e) { l[c++] = e } var a, r, i, o, s, l; if (t.length % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4"); var y = t.length; s = "=" === t.charAt(y - 2) ? 2 : "=" === t.charAt(y - 1) ? 1 : 0, l = new d(3 * t.length / 4 - s), i = s > 0 ? t.length - 4 : t.length; var c = 0; for (a = 0, r = 0; i > a; a += 4, r += 3) o = e(t.charAt(a)) << 18 | e(t.charAt(a + 1)) << 12 | e(t.charAt(a + 2)) << 6 | e(t.charAt(a + 3)), n((16711680 & o) >> 16), n((65280 & o) >> 8), n(255 & o); return 2 === s ? (o = e(t.charAt(a)) << 2 | e(t.charAt(a + 1)) >> 4, n(255 & o)) : 1 === s && (o = e(t.charAt(a)) << 10 | e(t.charAt(a + 1)) << 4 | e(t.charAt(a + 2)) >> 2, n(o >> 8 & 255), n(255 & o)), l } function r(e) { function t(e) { return n.charAt(e) } function a(e) { return t(e >> 18 & 63) + t(e >> 12 & 63) + t(e >> 6 & 63) + t(63 & e) } var r, d, i, o = e.length % 3, s = ""; for (r = 0, i = e.length - o; i > r; r += 3) d = (e[r] << 16) + (e[r + 1] << 8) + e[r + 2], s += a(d); switch (o) { case 1: d = e[e.length - 1], s += t(d >> 2), s += t(d << 4 & 63), s += "=="; break; case 2: d = (e[e.length - 2] << 8) + e[e.length - 1], s += t(d >> 10), s += t(d >> 4 & 63), s += t(d << 2 & 63), s += "=" } return s } var d = "undefined" != typeof Uint8Array ? Uint8Array : Array, i = ("0".charCodeAt(0), "+".charCodeAt(0)), o = "/".charCodeAt(0), s = "0".charCodeAt(0), l = "a".charCodeAt(0), y = "A".charCodeAt(0); t.exports.toByteArray = a, t.exports.fromByteArray = r }() }, {}], 31: [function(e, t, n) { n.read = function(e, t, n, a, r) { var d, i, o = 8 * r - a - 1, s = (1 << o) - 1, l = s >> 1, y = -7, c = n ? r - 1 : 0, u = n ? -1 : 1, p = e[t + c]; for (c += u, d = p & (1 << -y) - 1, p >>= -y, y += o; y > 0; d = 256 * d + e[t + c], c += u, y -= 8); for (i = d & (1 << -y) - 1, d >>= -y, y += a; y > 0; i = 256 * i + e[t + c], c += u, y -= 8); if (0 === d) d = 1 - l; else { if (d === s) return i ? 0 / 0 : 1 / 0 * (p ? -1 : 1); i += Math.pow(2, a), d -= l } return (p ? -1 : 1) * i * Math.pow(2, d - a) }, n.write = function(e, t, n, a, r, d) { var i, o, s, l = 8 * d - r - 1, y = (1 << l) - 1, c = y >> 1, u = 23 === r ? Math.pow(2, -24) - Math.pow(2, -77) : 0, p = a ? 0 : d - 1, h = a ? 1 : -1, _ = 0 > t || 0 === t && 0 > 1 / t ? 1 : 0; for (t = Math.abs(t), isNaN(t) || 1 / 0 === t ? (o = isNaN(t) ? 1 : 0, i = y) : (i = Math.floor(Math.log(t) / Math.LN2), t * (s = Math.pow(2, -i)) < 1 && (i--, s *= 2), t += i + c >= 1 ? u / s : u * Math.pow(2, 1 - c), t * s >= 2 && (i++, s /= 2), i + c >= y ? (o = 0, i = y) : i + c >= 1 ? (o = (t * s - 1) * Math.pow(2, r), i += c) : (o = t * Math.pow(2, c - 1) * Math.pow(2, r), i = 0)); r >= 8; e[n + p] = 255 & o, p += h, o /= 256, r -= 8); for (i = i << r | o, l += r; l > 0; e[n + p] = 255 & i, p += h, i /= 256, l -= 8); e[n + p - h] |= 128 * _ } }, {}], 32: [function(e, t) { function n() {} var a = t.exports = {}; a.nextTick = function() { var e = "undefined" != typeof window && window.setImmediate, t = "undefined" != typeof window && window.postMessage && window.addEventListener; if (e) return function(e) { return window.setImmediate(e) }; if (t) { var n = []; return window.addEventListener("message", function(e) { var t = e.source; if ((t === window || null === t) && "process-tick" === e.data && (e.stopPropagation(), n.length > 0)) { var a = n.shift(); a() } }, !0), function(e) { n.push(e), window.postMessage("process-tick", "*") } } return function(e) { setTimeout(e, 0) } }(), a.title = "browser", a.browser = !0, a.env = {}, a.argv = [], a.on = n, a.addListener = n, a.once = n, a.off = n, a.removeListener = n, a.removeAllListeners = n, a.emit = n, a.binding = function() { throw new Error("process.binding is not supported") }, a.cwd = function() { return "/" }, a.chdir = function() { throw new Error("process.chdir is not supported") } }, {}], 33: [function(e, t, n) { ! function() { var e = function(t) { var n = new e.Index; return n.pipeline.add(e.trimmer, e.stopWordFilter, e.stemmer), t && t.call(n, n), n }; e.version = "0.5.3", e.utils = {}, e.utils.warn = function(e) { return function(t) { e.console && console.warn && console.warn(t) } }(this), e.EventEmitter = function() { this.events = {} }, e.EventEmitter.prototype.addListener = function() { var e = Array.prototype.slice.call(arguments), t = e.pop(), n = e; if ("function" != typeof t) throw new TypeError("last argument must be a function"); n.forEach(function(e) { this.hasHandler(e) || (this.events[e] = []), this.events[e].push(t) }, this) }, e.EventEmitter.prototype.removeListener = function(e, t) { if (this.hasHandler(e)) { var n = this.events[e].indexOf(t); this.events[e].splice(n, 1), this.events[e].length || delete this.events[e] } }, e.EventEmitter.prototype.emit = function(e) { if (this.hasHandler(e)) { var t = Array.prototype.slice.call(arguments, 1); this.events[e].forEach(function(e) { e.apply(void 0, t) }) } }, e.EventEmitter.prototype.hasHandler = function(e) { return e in this.events }, e.tokenizer = function(e) { if (!arguments.length || null == e || void 0 == e) return []; if (Array.isArray(e)) return e.map(function(e) { return e.toLowerCase() }); for (var t = e.toString().replace(/^\s+/, ""), n = t.length - 1; n >= 0; n--) if (/\S/.test(t.charAt(n))) { t = t.substring(0, n + 1); break } return t.split(/\s+/).map(function(e) { return e.toLowerCase() }) }, e.Pipeline = function() { this._stack = [] }, e.Pipeline.registeredFunctions = {}, e.Pipeline.registerFunction = function(t, n) { n in this.registeredFunctions && e.utils.warn("Overwriting existing registered function: " + n), t.label = n, e.Pipeline.registeredFunctions[t.label] = t }, e.Pipeline.warnIfFunctionNotRegistered = function(t) { var n = t.label && t.label in this.registeredFunctions; n || e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n", t) }, e.Pipeline.load = function(t) { var n = new e.Pipeline; return t.forEach(function(t) { var a = e.Pipeline.registeredFunctions[t]; if (!a) throw new Error("Cannot load un-registered function: " + t); n.add(a) }), n }, e.Pipeline.prototype.add = function() { var t = Array.prototype.slice.call(arguments); t.forEach(function(t) { e.Pipeline.warnIfFunctionNotRegistered(t), this._stack.push(t) }, this) }, e.Pipeline.prototype.after = function(t, n) { e.Pipeline.warnIfFunctionNotRegistered(n); var a = this._stack.indexOf(t) + 1; this._stack.splice(a, 0, n) }, e.Pipeline.prototype.before = function(t, n) { e.Pipeline.warnIfFunctionNotRegistered(n); var a = this._stack.indexOf(t); this._stack.splice(a, 0, n) }, e.Pipeline.prototype.remove = function(e) { var t = this._stack.indexOf(e); this._stack.splice(t, 1) }, e.Pipeline.prototype.run = function(e) { for (var t = [], n = e.length, a = this._stack.length, r = 0; n > r; r++) { for (var d = e[r], i = 0; a > i && (d = this._stack[i](d, r, e), void 0 !== d); i++); void 0 !== d && t.push(d) } return t }, e.Pipeline.prototype.reset = function() { this._stack = [] }, e.Pipeline.prototype.toJSON = function() { return this._stack.map(function(t) { return e.Pipeline.warnIfFunctionNotRegistered(t), t.label }) }, e.Vector = function() { this._magnitude = null, this.list = void 0, this.length = 0 }, e.Vector.Node = function(e, t, n) { this.idx = e, this.val = t, this.next = n }, e.Vector.prototype.insert = function(t, n) { var a = this.list; if (!a) return this.list = new e.Vector.Node(t, n, a), this.length++; for (var r = a, d = a.next; void 0 != d;) { if (t < d.idx) return r.next = new e.Vector.Node(t, n, d), this.length++; r = d, d = d.next } return r.next = new e.Vector.Node(t, n, d), this.length++ }, e.Vector.prototype.magnitude = function() { if (this._magniture) return this._magnitude; for (var e, t = this.list, n = 0; t;) e = t.val, n += e * e, t = t.next; return this._magnitude = Math.sqrt(n) }, e.Vector.prototype.dot = function(e) { for (var t = this.list, n = e.list, a = 0; t && n;) t.idx < n.idx ? t = t.next : t.idx > n.idx ? n = n.next : (a += t.val * n.val, t = t.next, n = n.next); return a }, e.Vector.prototype.similarity = function(e) { return this.dot(e) / (this.magnitude() * e.magnitude()) }, e.SortedSet = function() { this.length = 0, this.elements = [] }, e.SortedSet.load = function(e) { var t = new this; return t.elements = e, t.length = e.length, t }, e.SortedSet.prototype.add = function() { Array.prototype.slice.call(arguments).forEach(function(e) { ~this.indexOf(e) || this.elements.splice(this.locationFor(e), 0, e) }, this), this.length = this.elements.length }, e.SortedSet.prototype.toArray = function() { return this.elements.slice() }, e.SortedSet.prototype.map = function(e, t) { return this.elements.map(e, t) }, e.SortedSet.prototype.forEach = function(e, t) { return this.elements.forEach(e, t) }, e.SortedSet.prototype.indexOf = function(e, t, n) { var t = t || 0, n = n || this.elements.length, a = n - t, r = t + Math.floor(a / 2), d = this.elements[r]; return 1 >= a ? d === e ? r : -1 : e > d ? this.indexOf(e, r, n) : d > e ? this.indexOf(e, t, r) : d === e ? r : void 0 }, e.SortedSet.prototype.locationFor = function(e, t, n) { var t = t || 0, n = n || this.elements.length, a = n - t, r = t + Math.floor(a / 2), d = this.elements[r]; if (1 >= a) { if (d > e) return r; if (e > d) return r + 1 } return e > d ? this.locationFor(e, r, n) : d > e ? this.locationFor(e, t, r) : void 0 }, e.SortedSet.prototype.intersect = function(t) { for (var n = new e.SortedSet, a = 0, r = 0, d = this.length, i = t.length, o = this.elements, s = t.elements;;) { if (a > d - 1 || r > i - 1) break; o[a] !== s[r] ? o[a] < s[r] ? a++ : o[a] > s[r] && r++ : (n.add(o[a]), a++, r++) } return n }, e.SortedSet.prototype.clone = function() { var t = new e.SortedSet; return t.elements = this.toArray(), t.length = t.elements.length, t }, e.SortedSet.prototype.union = function(e) { var t, n, a; return this.length >= e.length ? (t = this, n = e) : (t = e, n = this), a = t.clone(), a.add.apply(a, n.toArray()), a }, e.SortedSet.prototype.toJSON = function() { return this.toArray() }, e.Index = function() { this._fields = [], this._ref = "id", this.pipeline = new e.Pipeline, this.documentStore = new e.Store, this.tokenStore = new e.TokenStore, this.corpusTokens = new e.SortedSet, this.eventEmitter = new e.EventEmitter, this._idfCache = {}, this.on("add", "remove", "update", function() { this._idfCache = {} }.bind(this)) }, e.Index.prototype.on = function() { var e = Array.prototype.slice.call(arguments); return this.eventEmitter.addListener.apply(this.eventEmitter, e) }, e.Index.prototype.off = function(e, t) { return this.eventEmitter.removeListener(e, t) }, e.Index.load = function(t) { t.version !== e.version && e.utils.warn("version mismatch: current " + e.version + " importing " + t.version); var n = new this; return n._fields = t.fields, n._ref = t.ref, n.documentStore = e.Store.load(t.documentStore), n.tokenStore = e.TokenStore.load(t.tokenStore), n.corpusTokens = e.SortedSet.load(t.corpusTokens), n.pipeline = e.Pipeline.load(t.pipeline), n }, e.Index.prototype.field = function(e, t) { var t = t || {}, n = { name: e, boost: t.boost || 1 }; return this._fields.push(n), this }, e.Index.prototype.ref = function(e) { return this._ref = e, this }, e.Index.prototype.add = function(t, n) { var a = {}, r = new e.SortedSet, d = t[this._ref], n = void 0 === n ? !0 : n; this._fields.forEach(function(n) { var d = this.pipeline.run(e.tokenizer(t[n.name])); a[n.name] = d, e.SortedSet.prototype.add.apply(r, d) }, this), this.documentStore.set(d, r), e.SortedSet.prototype.add.apply(this.corpusTokens, r.toArray()); for (var i = 0; i < r.length; i++) { var o = r.elements[i], s = this._fields.reduce(function(e, t) { var n = a[t.name].length; if (!n) return e; var r = a[t.name].filter(function(e) { return e === o }).length; return e + r / n * t.boost }, 0); this.tokenStore.add(o, { ref: d, tf: s }) } n && this.eventEmitter.emit("add", t, this) }, e.Index.prototype.remove = function(e, t) { var n = e[this._ref], t = void 0 === t ? !0 : t; if (this.documentStore.has(n)) { var a = this.documentStore.get(n); this.documentStore.remove(n), a.forEach(function(e) { this.tokenStore.remove(e, n) }, this), t && this.eventEmitter.emit("remove", e, this) } }, e.Index.prototype.update = function(e, t) { var t = void 0 === t ? !0 : t; this.remove(e, !1), this.add(e, !1), t && this.eventEmitter.emit("update", e, this) }, e.Index.prototype.idf = function(e) { var t = "@" + e; if (Object.prototype.hasOwnProperty.call(this._idfCache, t)) return this._idfCache[t]; var n = this.tokenStore.count(e), a = 1; return n > 0 && (a = 1 + Math.log(this.tokenStore.length / n)), this._idfCache[t] = a }, e.Index.prototype.search = function(t) { var n = this.pipeline.run(e.tokenizer(t)), a = new e.Vector, r = [], d = this._fields.reduce(function(e, t) { return e + t.boost }, 0), i = n.some(function(e) { return this.tokenStore.has(e) }, this); if (!i) return []; n.forEach(function(t, n, i) { var o = 1 / i.length * this._fields.length * d, s = this, l = this.tokenStore.expand(t).reduce(function(n, r) { var d = s.corpusTokens.indexOf(r), i = s.idf(r), l = 1, y = new e.SortedSet; if (r !== t) { var c = Math.max(3, r.length - t.length); l = 1 / Math.log(c) } return d > -1 && a.insert(d, o * i * l), Object.keys(s.tokenStore.get(r)).forEach(function(e) { y.add(e) }), n.union(y) }, new e.SortedSet); r.push(l) }, this); var o = r.reduce(function(e, t) { return e.intersect(t) }); return o.map(function(e) { return { ref: e, score: a.similarity(this.documentVector(e)) } }, this).sort(function(e, t) { return t.score - e.score }) }, e.Index.prototype.documentVector = function(t) { for (var n = this.documentStore.get(t), a = n.length, r = new e.Vector, d = 0; a > d; d++) { var i = n.elements[d], o = this.tokenStore.get(i)[t].tf, s = this.idf(i); r.insert(this.corpusTokens.indexOf(i), o * s) } return r }, e.Index.prototype.toJSON = function() { return { version: e.version, fields: this._fields, ref: this._ref, documentStore: this.documentStore.toJSON(), tokenStore: this.tokenStore.toJSON(), corpusTokens: this.corpusTokens.toJSON(), pipeline: this.pipeline.toJSON() } }, e.Index.prototype.use = function(e) { var t = Array.prototype.slice.call(arguments, 1); t.unshift(this), e.apply(this, t) }, e.Store = function() { this.store = {}, this.length = 0 }, e.Store.load = function(t) { var n = new this; return n.length = t.length, n.store = Object.keys(t.store).reduce(function(n, a) { return n[a] = e.SortedSet.load(t.store[a]), n }, {}), n }, e.Store.prototype.set = function(e, t) { this.store[e] = t, this.length = Object.keys(this.store).length }, e.Store.prototype.get = function(e) { return this.store[e] }, e.Store.prototype.has = function(e) { return e in this.store }, e.Store.prototype.remove = function(e) { this.has(e) && (delete this.store[e], this.length--) }, e.Store.prototype.toJSON = function() { return { store: this.store, length: this.length } }, e.stemmer = function() { var e = { ational: "ate", tional: "tion", enci: "ence", anci: "ance", izer: "ize", bli: "ble", alli: "al", entli: "ent", eli: "e", ousli: "ous", ization: "ize", ation: "ate", ator: "ate", alism: "al", iveness: "ive", fulness: "ful", ousness: "ous", aliti: "al", iviti: "ive", biliti: "ble", logi: "log" }, t = { icate: "ic", ative: "", alize: "al", iciti: "ic", ical: "ic", ful: "", ness: "" }, n = "[^aeiou]", a = "[aeiouy]", r = n + "[^aeiouy]*", d = a + "[aeiou]*", i = "^(" + r + ")?" + d + r, o = "^(" + r + ")?" + d + r + "(" + d + ")?$", s = "^(" + r + ")?" + d + r + d + r, l = "^(" + r + ")?" + a; return function(n) { var d, y, c, u, p, h, _; if (n.length < 3) return n; if (c = n.substr(0, 1), "y" == c && (n = c.toUpperCase() + n.substr(1)), u = /^(.+?)(ss|i)es$/, p = /^(.+?)([^s])s$/, u.test(n) ? n = n.replace(u, "$1$2") : p.test(n) && (n = n.replace(p, "$1$2")), u = /^(.+?)eed$/, p = /^(.+?)(ed|ing)$/, u.test(n)) { var x = u.exec(n); u = new RegExp(i), u.test(x[1]) && (u = /.$/, n = n.replace(u, "")) } else if (p.test(n)) { var x = p.exec(n); d = x[1], p = new RegExp(l), p.test(d) && (n = d, p = /(at|bl|iz)$/, h = new RegExp("([^aeiouylsz])\\1$"), _ = new RegExp("^" + r + a + "[^aeiouwxy]$"), p.test(n) ? n += "e" : h.test(n) ? (u = /.$/, n = n.replace(u, "")) : _.test(n) && (n += "e")) } if (u = /^(.+?[^aeiou])y$/, u.test(n)) { var x = u.exec(n); d = x[1], n = d + "i" } if (u = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/, u.test(n)) { var x = u.exec(n); d = x[1], y = x[2], u = new RegExp(i), u.test(d) && (n = d + e[y]) } if (u = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/, u.test(n)) { var x = u.exec(n); d = x[1], y = x[2], u = new RegExp(i), u.test(d) && (n = d + t[y]) } if (u = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/, p = /^(.+?)(s|t)(ion)$/, u.test(n)) { var x = u.exec(n); d = x[1], u = new RegExp(s), u.test(d) && (n = d) } else if (p.test(n)) { var x = p.exec(n); d = x[1] + x[2], p = new RegExp(s), p.test(d) && (n = d) } if (u = /^(.+?)e$/, u.test(n)) { var x = u.exec(n); d = x[1], u = new RegExp(s), p = new RegExp(o), h = new RegExp("^" + r + a + "[^aeiouwxy]$"), (u.test(d) || p.test(d) && !h.test(d)) && (n = d) } return u = /ll$/, p = new RegExp(s), u.test(n) && p.test(n) && (u = /.$/, n = n.replace(u, "")), "y" == c && (n = c.toLowerCase() + n.substr(1)), n } }(), e.Pipeline.registerFunction(e.stemmer, "stemmer"), e.stopWordFilter = function(t) { return -1 === e.stopWordFilter.stopWords.indexOf(t) ? t : void 0 }, e.stopWordFilter.stopWords = new e.SortedSet, e.stopWordFilter.stopWords.length = 119, e.stopWordFilter.stopWords.elements = ["", "a", "able", "about", "across", "after", "all", "almost", "also", "am", "among", "an", "and", "any", "are", "as", "at", "be", "because", "been", "but", "by", "can", "cannot", "could", "dear", "did", "do", "does", "either", "else", "ever", "every", "for", "from", "get", "got", "had", "has", "have", "he", "her", "hers", "him", "his", "how", "however", "i", "if", "in", "into", "is", "it", "its", "just", "least", "let", "like", "likely", "may", "me", "might", "most", "must", "my", "neither", "no", "nor", "not", "of", "off", "often", "on", "only", "or", "other", "our", "own", "rather", "said", "say", "says", "she", "should", "since", "so", "some", "than", "that", "the", "their", "them", "then", "there", "these", "they", "this", "tis", "to", "too", "twas", "us", "wants", "was", "we", "were", "what", "when", "where", "which", "while", "who", "whom", "why", "will", "with", "would", "yet", "you", "your"], e.Pipeline.registerFunction(e.stopWordFilter, "stopWordFilter"), e.trimmer = function(e) { return e.replace(/^\W+/, "").replace(/\W+$/, "") }, e.Pipeline.registerFunction(e.trimmer, "trimmer"), e.TokenStore = function() { this.root = { docs: {} }, this.length = 0 }, e.TokenStore.load = function(e) { var t = new this; return t.root = e.root, t.length = e.length, t }, e.TokenStore.prototype.add = function(e, t, n) { var n = n || this.root, a = e[0], r = e.slice(1); return a in n || (n[a] = { docs: {} }), 0 === r.length ? (n[a].docs[t.ref] = t, void(this.length += 1)) : this.add(r, t, n[a]) }, e.TokenStore.prototype.has = function(e) { if (!e) return !1; for (var t = this.root, n = 0; n < e.length; n++) { if (!t[e[n]]) return !1; t = t[e[n]] } return !0 }, e.TokenStore.prototype.getNode = function(e) { if (!e) return {}; for (var t = this.root, n = 0; n < e.length; n++) { if (!t[e[n]]) return {}; t = t[e[n]] } return t }, e.TokenStore.prototype.get = function(e, t) { return this.getNode(e, t).docs || {} }, e.TokenStore.prototype.count = function(e, t) { return Object.keys(this.get(e, t)).length }, e.TokenStore.prototype.remove = function(e, t) { if (e) { for (var n = this.root, a = 0; a < e.length; a++) { if (!(e[a] in n)) return; n = n[e[a]] } delete n.docs[t] } }, e.TokenStore.prototype.expand = function(e, t) { var n = this.getNode(e), a = n.docs || {}, t = t || []; return Object.keys(a).length && t.push(e), Object.keys(n).forEach(function(n) { "docs" !== n && t.concat(this.expand(e + n, t)) }, this), t }, e.TokenStore.prototype.toJSON = function() { return { root: this.root, length: this.length } }, function(e, a) { "function" == typeof define && define.amd ? define(a) : "object" == typeof n ? t.exports = a() : e.lunr = a() }(this, function() { return e }) }() }, {}], 34: [function(e, t) { ! function() { function e(t, n) { if ("function" == typeof t) return e("*", t); if ("function" == typeof n) for (var a = new r(t), d = 1; d < arguments.length; ++d) e.callbacks.push(a.middleware(arguments[d])); else "string" == typeof t ? e.show(t, n) : e.start(t) } function n(t) { var n = window.location.pathname + window.location.search; n != t.canonicalPath && (e.stop(), t.unhandled = !0, window.location = t.canonicalPath) } function a(e, t) { "/" == e[0] && 0 != e.indexOf(u) && (e = u + e); var n = e.indexOf("?"); if (this.canonicalPath = e, this.path = e.replace(u, "") || "/", this.title = document.title, this.state = t || {}, this.state.path = e, this.querystring = ~n ? e.slice(n + 1) : "", this.pathname = ~n ? e.slice(0, n) : e, this.params = [], this.hash = "", ~this.path.indexOf("#")) { var a = this.path.split("#"); this.path = a[0], this.hash = a[1] || "", this.querystring = this.querystring.split("#")[0] } } function r(e, t) { t = t || {}, this.path = e, this.method = "GET", this.regexp = d(e, this.keys = [], t.sensitive, t.strict) } function d(e, t, n, a) { return e instanceof RegExp ? e : (e instanceof Array && (e = "(" + e.join("|") + ")"), e = e.concat(a ? "" : "/?").replace(/\/\(/g, "(?:/").replace(/(\/)?(\.)?:(\w+)(?:(\(.*?\)))?(\?)?/g, function(e, n, a, r, d, i) { return t.push({ name: r, optional: !!i }), n = n || "", "" + (i ? "" : n) + "(?:" + (i ? n : "") + (a || "") + (d || a && "([^/.]+?)" || "([^/]+?)") + ")" + (i || "") }).replace(/([\/.])/g, "\\$1").replace(/\*/g, "(.*)"), new RegExp("^" + e + "$", n ? "" : "i")) } function i(t) { if (t.state) { var n = t.state.path; e.replace(n, t.state) } } function o(t) { if (1 == s(t) && !(t.metaKey || t.ctrlKey || t.shiftKey || t.defaultPrevented)) { for (var n = t.target; n && "A" != n.nodeName;) n = n.parentNode; if (n && "A" == n.nodeName) { var a = n.getAttribute("href"); if ((n.pathname != location.pathname || !n.hash && "#" != a) && !n.target && l(n.href)) { var r = n.pathname + n.search + (n.hash || ""), d = r + n.hash; r = r.replace(u, ""), u && d == r || (t.preventDefault(), e.show(d)) } } } } function s(e) { return e = e || window.event, null == e.which ? e.button : e.which } function l(e) { var t = location.protocol + "//" + location.hostname; return location.port && (t += ":" + location.port), 0 == e.indexOf(t) } var y, c = !0, u = ""; e.callbacks = [], e.base = function(e) { return 0 == arguments.length ? u : void(u = e) }, e.start = function(t) { if (t = t || {}, !y && (y = !0, !1 === t.dispatch && (c = !1), !1 !== t.popstate && window.addEventListener("popstate", i, !1), !1 !== t.click && window.addEventListener("click", o, !1), c)) { var n = location.pathname + location.search + location.hash; e.replace(n, null, !0, c) } }, e.stop = function() { y = !1, removeEventListener("click", o, !1), removeEventListener("popstate", i, !1) }, e.show = function(t, n, r) { var d = new a(t, n); return !1 !== r && e.dispatch(d), d.unhandled || d.pushState(), d }, e.replace = function(t, n, r, d) { var i = new a(t, n); return i.init = r, null == d && (d = !0), d && e.dispatch(i), i.save(), i }, e.dispatch = function(t) { function a() { var d = e.callbacks[r++]; return d ? void d(t, a) : n(t) } var r = 0; a() }, e.Context = a, a.prototype.pushState = function() { history.pushState(this.state, this.title, this.canonicalPath) }, a.prototype.save = function() { history.replaceState(this.state, this.title, this.canonicalPath) }, e.Route = r, r.prototype.middleware = function(e) { var t = this; return function(n, a) { return t.match(n.path, n.params) ? e(n, a) : void a() } }, r.prototype.match = function(e, t) { var n = this.keys, a = e.indexOf("?"), r = ~a ? e.slice(0, a) : e, d = this.regexp.exec(r); if (!d) return !1; for (var i = 1, o = d.length; o > i; ++i) { var s = n[i - 1], l = "string" == typeof d[i] ? decodeURIComponent(d[i]) : d[i]; s ? t[s.name] = void 0 !== t[s.name] ? t[s.name] : l : t.push(l) } return !0 }, "undefined" == typeof t ? window.page = e : t.exports = e }() }, {}], 35: [function(e, t) { t.exports = e("./lib/ReactWithAddons") }, { "./lib/ReactWithAddons": 117 }], 36: [function(e, t) { "use strict"; var n = e("./focusNode"), a = { componentDidMount: function() { this.props.autoFocus && n(this.getDOMNode()) } }; t.exports = a }, { "./focusNode": 148 }], 37: [function(e, t) { (function(n) { var a = e("./invariant"), r = { addClass: function(e, t) { return "production" !== n.env.NODE_ENV ? a(!/\s/.test(t), 'CSSCore.addClass takes only a single class name. "%s" contains multiple classes.', t) : a(!/\s/.test(t)), t && (e.classList ? e.classList.add(t) : r.hasClass(e, t) || (e.className = e.className + " " + t)), e }, removeClass: function(e, t) { return "production" !== n.env.NODE_ENV ? a(!/\s/.test(t), 'CSSCore.removeClass takes only a single class name. "%s" contains multiple classes.', t) : a(!/\s/.test(t)), t && (e.classList ? e.classList.remove(t) : r.hasClass(e, t) && (e.className = e.className.replace(new RegExp("(^|\\s)" + t + "(?:\\s|$)", "g"), "$1").replace(/\s+/g, " ").replace(/^\s*|\s*$/g, ""))), e }, conditionClass: function(e, t, n) { return (n ? r.addClass : r.removeClass)(e, t) }, hasClass: function(e, t) { return "production" !== n.env.NODE_ENV ? a(!/\s/.test(t), "CSS.hasClass takes only a single class name.") : a(!/\s/.test(t)), e.classList ? !!t && e.classList.contains(t) : (" " + e.className + " ").indexOf(" " + t + " ") > -1 } }; t.exports = r }).call(this, e("Wb8Gej")) }, { "./invariant": 160, Wb8Gej: 32 }], 38: [function(e, t) { "use strict"; function n(e, t) { return e + t.charAt(0).toUpperCase() + t.substring(1) } var a = { columnCount: !0, fillOpacity: !0, flex: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, r = ["Webkit", "ms", "Moz", "O"]; Object.keys(a).forEach(function(e) { r.forEach(function(t) { a[n(t, e)] = a[e] }) }); var d = { background: { backgroundImage: !0, backgroundPosition: !0, backgroundRepeat: !0, backgroundColor: !0 }, border: { borderWidth: !0, borderStyle: !0, borderColor: !0 }, borderBottom: { borderBottomWidth: !0, borderBottomStyle: !0, borderBottomColor: !0 }, borderLeft: { borderLeftWidth: !0, borderLeftStyle: !0, borderLeftColor: !0 }, borderRight: { borderRightWidth: !0, borderRightStyle: !0, borderRightColor: !0 }, borderTop: { borderTopWidth: !0, borderTopStyle: !0, borderTopColor: !0 }, font: { fontStyle: !0, fontVariant: !0, fontWeight: !0, fontSize: !0, lineHeight: !0, fontFamily: !0 } }, i = { isUnitlessNumber: a, shorthandPropertyExpansions: d }; t.exports = i }, {}], 39: [function(e, t) { "use strict"; var n = e("./CSSProperty"), a = e("./dangerousStyleValue"), r = e("./escapeTextForBrowser"), d = e("./hyphenate"), i = e("./memoizeStringOnly"), o = i(function(e) { return r(d(e)) }), s = { createMarkupForStyles: function(e) { var t = ""; for (var n in e) if (e.hasOwnProperty(n)) { var r = e[n]; null != r && (t += o(n) + ":", t += a(n, r) + ";") } return t || null }, setValueForStyles: function(e, t) { var r = e.style; for (var d in t) if (t.hasOwnProperty(d)) { var i = a(d, t[d]); if (i) r[d] = i; else { var o = n.shorthandPropertyExpansions[d]; if (o) for (var s in o) r[s] = ""; else r[d] = "" } } } }; t.exports = s }, { "./CSSProperty": 38, "./dangerousStyleValue": 143, "./escapeTextForBrowser": 146, "./hyphenate": 158, "./memoizeStringOnly": 168 }], 40: [function(e, t) { "use strict"; function n(e) { return "SELECT" === e.nodeName || "INPUT" === e.nodeName && "file" === e.type } function a(e) { var t = D.getPooled(k.change, b, e); f.accumulateTwoPhaseDispatches(t), v.batchedUpdates(r, t) } function r(e) { g.enqueueEvents(e), g.processEventQueue() } function d(e, t) { R = e, b = t, R.attachEvent("onchange", a) } function i() { R && (R.detachEvent("onchange", a), R = null, b = null) } function o(e, t, n) { return e === M.topChange ? n : void 0 } function s(e, t, n) { e === M.topFocus ? (i(), d(t, n)) : e === M.topBlur && i() } function l(e, t) { R = e, b = t, A = e.value, N = Object.getOwnPropertyDescriptor(e.constructor.prototype, "value"), Object.defineProperty(R, "value", T), R.attachEvent("onpropertychange", c) } function y() { R && (delete R.value, R.detachEvent("onpropertychange", c), R = null, b = null, A = null, N = null) } function c(e) { if ("value" === e.propertyName) { var t = e.srcElement.value; t !== A && (A = t, a(e)) } } function u(e, t, n) { return e === M.topInput ? n : void 0 } function p(e, t, n) { e === M.topFocus ? (y(), l(t, n)) : e === M.topBlur && y() } function h(e) { return e !== M.topSelectionChange && e !== M.topKeyUp && e !== M.topKeyDown || !R || R.value === A ? void 0 : (A = R.value, b) } function _(e) { return "INPUT" === e.nodeName && ("checkbox" === e.type || "radio" === e.type) } function x(e, t, n) { return e === M.topClick ? n : void 0 } var m = e("./EventConstants"), g = e("./EventPluginHub"), f = e("./EventPropagators"), w = e("./ExecutionEnvironment"), v = e("./ReactUpdates"), D = e("./SyntheticEvent"), S = e("./isEventSupported"), C = e("./isTextInputElement"), E = e("./keyOf"), M = m.topLevelTypes, k = { change: { phasedRegistrationNames: { bubbled: E({ onChange: null }), captured: E({ onChangeCapture: null }) }, dependencies: [M.topBlur, M.topChange, M.topClick, M.topFocus, M.topInput, M.topKeyDown, M.topKeyUp, M.topSelectionChange] } }, R = null, b = null, A = null, N = null, P = !1; w.canUseDOM && (P = S("change") && (!("documentMode" in document) || document.documentMode > 8)); var O = !1; w.canUseDOM && (O = S("input") && (!("documentMode" in document) || document.documentMode > 9)); var T = { get: function() { return N.get.call(this) }, set: function(e) { A = "" + e, N.set.call(this, e) } }, I = { eventTypes: k, extractEvents: function(e, t, a, r) { var d, i; if (n(t) ? P ? d = o : i = s : C(t) ? O ? d = u : (d = h, i = p) : _(t) && (d = x), d) { var l = d(e, t, a); if (l) { var y = D.getPooled(k.change, l, r); return f.accumulateTwoPhaseDispatches(y), y } } i && i(e, t, a) } }; t.exports = I }, { "./EventConstants": 50, "./EventPluginHub": 52, "./EventPropagators": 55, "./ExecutionEnvironment": 56, "./ReactUpdates": 116, "./SyntheticEvent": 124, "./isEventSupported": 161, "./isTextInputElement": 163, "./keyOf": 167 }], 41: [function(e, t) { "use strict"; var n = 0, a = { createReactRootIndex: function() { return n++ } }; t.exports = a }, {}], 42: [function(e, t) { "use strict"; function n(e) { switch (e) { case m.topCompositionStart: return f.compositionStart; case m.topCompositionEnd: return f.compositionEnd; case m.topCompositionUpdate: return f.compositionUpdate } } function a(e, t) { return e === m.topKeyDown && t.keyCode === h } function r(e, t) { switch (e) { case m.topKeyUp: return -1 !== p.indexOf(t.keyCode); case m.topKeyDown: return t.keyCode !== h; case m.topKeyPress: case m.topMouseDown: case m.topBlur: return !0; default: return !1 } } function d(e) { this.root = e, this.startSelection = l.getSelection(e), this.startValue = this.getText() } var i = e("./EventConstants"), o = e("./EventPropagators"), s = e("./ExecutionEnvironment"), l = e("./ReactInputSelection"), y = e("./SyntheticCompositionEvent"), c = e("./getTextContentAccessor"), u = e("./keyOf"), p = [9, 13, 27, 32], h = 229, _ = s.canUseDOM && "CompositionEvent" in window, x = !_ || "documentMode" in document && document.documentMode > 8, m = i.topLevelTypes, g = null, f = { compositionEnd: { phasedRegistrationNames: { bubbled: u({ onCompositionEnd: null }), captured: u({ onCompositionEndCapture: null }) }, dependencies: [m.topBlur, m.topCompositionEnd, m.topKeyDown, m.topKeyPress, m.topKeyUp, m.topMouseDown] }, compositionStart: { phasedRegistrationNames: { bubbled: u({ onCompositionStart: null }), captured: u({ onCompositionStartCapture: null }) }, dependencies: [m.topBlur, m.topCompositionStart, m.topKeyDown, m.topKeyPress, m.topKeyUp, m.topMouseDown] }, compositionUpdate: { phasedRegistrationNames: { bubbled: u({ onCompositionUpdate: null }), captured: u({ onCompositionUpdateCapture: null }) }, dependencies: [m.topBlur, m.topCompositionUpdate, m.topKeyDown, m.topKeyPress, m.topKeyUp, m.topMouseDown] } }; d.prototype.getText = function() { return this.root.value || this.root[c()] }, d.prototype.getData = function() { var e = this.getText(), t = this.startSelection.start, n = this.startValue.length - this.startSelection.end; return e.substr(t, e.length - n - t) }; var w = { eventTypes: f, extractEvents: function(e, t, i, s) { var l, c; if (_ ? l = n(e) : g ? r(e, s) && (l = f.compositionEnd) : a(e, s) && (l = f.compositionStart), x && (g || l !== f.compositionStart ? l === f.compositionEnd && g && (c = g.getData(), g = null) : g = new d(t)), l) { var u = y.getPooled(l, i, s); return c && (u.data = c), o.accumulateTwoPhaseDispatches(u), u } } }; t.exports = w }, { "./EventConstants": 50, "./EventPropagators": 55, "./ExecutionEnvironment": 56, "./ReactInputSelection": 91, "./SyntheticCompositionEvent": 122, "./getTextContentAccessor": 156, "./keyOf": 167 }], 43: [function(e, t) { "use strict"; function n(e, t, n) { var a = e.childNodes; a[n] !== t && (t.parentNode === e && e.removeChild(t), n >= a.length ? e.appendChild(t) : e.insertBefore(t, a[n])) } var a, r = e("./Danger"), d = e("./ReactMultiChildUpdateTypes"), i = e("./getTextContentAccessor"), o = i(); a = "textContent" === o ? function(e, t) { e.textContent = t } : function(e, t) { for (; e.firstChild;) e.removeChild(e.firstChild); if (t) { var n = e.ownerDocument || document; e.appendChild(n.createTextNode(t)) } }; var s = { dangerouslyReplaceNodeWithMarkup: r.dangerouslyReplaceNodeWithMarkup, updateTextContent: a, processUpdates: function(e, t) { for (var i, o = null, s = null, l = 0; i = e[l]; l++) if (i.type === d.MOVE_EXISTING || i.type === d.REMOVE_NODE) { var y = i.fromIndex, c = i.parentNode.childNodes[y], u = i.parentID; o = o || {}, o[u] = o[u] || [], o[u][y] = c, s = s || [], s.push(c) } var p = r.dangerouslyRenderMarkup(t); if (s) for (var h = 0; h < s.length; h++) s[h].parentNode.removeChild(s[h]); for (var _ = 0; i = e[_]; _++) switch (i.type) { case d.INSERT_MARKUP: n(i.parentNode, p[i.markupIndex], i.toIndex); break; case d.MOVE_EXISTING: n(i.parentNode, o[i.parentID][i.fromIndex], i.toIndex); break; case d.TEXT_CONTENT: a(i.parentNode, i.textContent); break; case d.REMOVE_NODE: } } }; t.exports = s }, { "./Danger": 46, "./ReactMultiChildUpdateTypes": 98, "./getTextContentAccessor": 156 }], 44: [function(e, t) { (function(n) { "use strict"; var a = e("./invariant"), r = { MUST_USE_ATTRIBUTE: 1, MUST_USE_PROPERTY: 2, HAS_SIDE_EFFECTS: 4, HAS_BOOLEAN_VALUE: 8, HAS_POSITIVE_NUMERIC_VALUE: 16, injectDOMPropertyConfig: function(e) { var t = e.Properties || {}, d = e.DOMAttributeNames || {}, o = e.DOMPropertyNames || {}, s = e.DOMMutationMethods || {}; e.isCustomAttribute && i._isCustomAttributeFunctions.push(e.isCustomAttribute); for (var l in t) { "production" !== n.env.NODE_ENV ? a(!i.isStandardName[l], "injectDOMPropertyConfig(...): You're trying to inject DOM property '%s' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.", l) : a(!i.isStandardName[l]), i.isStandardName[l] = !0; var y = l.toLowerCase(); i.getPossibleStandardName[y] = l; var c = d[l]; c && (i.getPossibleStandardName[c] = l), i.getAttributeName[l] = c || y, i.getPropertyName[l] = o[l] || l; var u = s[l]; u && (i.getMutationMethod[l] = u); var p = t[l]; i.mustUseAttribute[l] = p & r.MUST_USE_ATTRIBUTE, i.mustUseProperty[l] = p & r.MUST_USE_PROPERTY, i.hasSideEffects[l] = p & r.HAS_SIDE_EFFECTS, i.hasBooleanValue[l] = p & r.HAS_BOOLEAN_VALUE, i.hasPositiveNumericValue[l] = p & r.HAS_POSITIVE_NUMERIC_VALUE, "production" !== n.env.NODE_ENV ? a(!i.mustUseAttribute[l] || !i.mustUseProperty[l], "DOMProperty: Cannot require using both attribute and property: %s", l) : a(!i.mustUseAttribute[l] || !i.mustUseProperty[l]), "production" !== n.env.NODE_ENV ? a(i.mustUseProperty[l] || !i.hasSideEffects[l], "DOMProperty: Properties that have side effects must use property: %s", l) : a(i.mustUseProperty[l] || !i.hasSideEffects[l]), "production" !== n.env.NODE_ENV ? a(!i.hasBooleanValue[l] || !i.hasPositiveNumericValue[l], "DOMProperty: Cannot have both boolean and positive numeric value: %s", l) : a(!i.hasBooleanValue[l] || !i.hasPositiveNumericValue[l]) } } }, d = {}, i = { ID_ATTRIBUTE_NAME: "data-reactid", isStandardName: {}, getPossibleStandardName: {}, getAttributeName: {}, getPropertyName: {}, getMutationMethod: {}, mustUseAttribute: {}, mustUseProperty: {}, hasSideEffects: {}, hasBooleanValue: {}, hasPositiveNumericValue: {}, _isCustomAttributeFunctions: [], isCustomAttribute: function(e) { for (var t = 0; t < i._isCustomAttributeFunctions.length; t++) { var n = i._isCustomAttributeFunctions[t]; if (n(e)) return !0 } return !1 }, getDefaultValueForProperty: function(e, t) { var n, a = d[e]; return a || (d[e] = a = {}), t in a || (n = document.createElement(e), a[t] = n[t]), a[t] }, injection: r }; t.exports = i }).call(this, e("Wb8Gej")) }, { "./invariant": 160, Wb8Gej: 32 }], 45: [function(e, t) { (function(n) { "use strict"; function a(e, t) { return null == t || r.hasBooleanValue[e] && !t || r.hasPositiveNumericValue[e] && (isNaN(t) || 1 > t) } var r = e("./DOMProperty"), d = e("./escapeTextForBrowser"), i = e("./memoizeStringOnly"), o = e("./warning"), s = i(function(e) { return d(e) + '="' }); if ("production" !== n.env.NODE_ENV) var l = { children: !0, dangerouslySetInnerHTML: !0, key: !0, ref: !0 }, y = {}, c = function(e) { if (!l[e] && !y[e]) { y[e] = !0; var t = e.toLowerCase(), a = r.isCustomAttribute(t) ? t : r.getPossibleStandardName[t]; "production" !== n.env.NODE_ENV ? o(null == a, "Unknown DOM property " + e + ". Did you mean " + a + "?") : null } }; var u = { createMarkupForID: function(e) { return s(r.ID_ATTRIBUTE_NAME) + d(e) + '"' }, createMarkupForProperty: function(e, t) { if (r.isStandardName[e]) { if (a(e, t)) return ""; var i = r.getAttributeName[e]; return r.hasBooleanValue[e] ? d(i) : s(i) + d(t) + '"' } return r.isCustomAttribute(e) ? null == t ? "" : s(e) + d(t) + '"' : ("production" !== n.env.NODE_ENV && c(e), null) }, setValueForProperty: function(e, t, d) { if (r.isStandardName[t]) { var i = r.getMutationMethod[t]; if (i) i(e, d); else if (a(t, d)) this.deleteValueForProperty(e, t); else if (r.mustUseAttribute[t]) e.setAttribute(r.getAttributeName[t], "" + d); else { var o = r.getPropertyName[t]; r.hasSideEffects[t] && e[o] === d || (e[o] = d) } } else r.isCustomAttribute(t) ? null == d ? e.removeAttribute(r.getAttributeName[t]) : e.setAttribute(t, "" + d) : "production" !== n.env.NODE_ENV && c(t) }, deleteValueForProperty: function(e, t) { if (r.isStandardName[t]) { var a = r.getMutationMethod[t]; if (a) a(e, void 0); else if (r.mustUseAttribute[t]) e.removeAttribute(r.getAttributeName[t]); else { var d = r.getPropertyName[t], i = r.getDefaultValueForProperty(e.nodeName, d); r.hasSideEffects[t] && e[d] === i || (e[d] = i) } } else r.isCustomAttribute(t) ? e.removeAttribute(t) : "production" !== n.env.NODE_ENV && c(t) } }; t.exports = u }).call(this, e("Wb8Gej")) }, { "./DOMProperty": 44, "./escapeTextForBrowser": 146, "./memoizeStringOnly": 168, "./warning": 183, Wb8Gej: 32 }], 46: [function(e, t) { (function(n) { "use strict"; function a(e) { return e.substring(1, e.indexOf(" ")) } var r = e("./ExecutionEnvironment"), d = e("./createNodesFromMarkup"), i = e("./emptyFunction"), o = e("./getMarkupWrap"), s = e("./invariant"), l = /^(<[^ \/>]+)/, y = "data-danger-index", c = { dangerouslyRenderMarkup: function(e) { "production" !== n.env.NODE_ENV ? s(r.canUseDOM, "dangerouslyRenderMarkup(...): Cannot render markup in a Worker thread. This is likely a bug in the framework. Please report immediately.") : s(r.canUseDOM); for (var t, c = {}, u = 0; u < e.length; u++) "production" !== n.env.NODE_ENV ? s(e[u], "dangerouslyRenderMarkup(...): Missing markup.") : s(e[u]), t = a(e[u]), t = o(t) ? t : "*", c[t] = c[t] || [], c[t][u] = e[u]; var p = [], h = 0; for (t in c) if (c.hasOwnProperty(t)) { var _ = c[t]; for (var x in _) if (_.hasOwnProperty(x)) { var m = _[x]; _[x] = m.replace(l, "$1 " + y + '="' + x + '" ') } var g = d(_.join(""), i); for (u = 0; u < g.length; ++u) { var f = g[u]; f.hasAttribute && f.hasAttribute(y) ? (x = +f.getAttribute(y), f.removeAttribute(y), "production" !== n.env.NODE_ENV ? s(!p.hasOwnProperty(x), "Danger: Assigning to an already-occupied result index.") : s(!p.hasOwnProperty(x)), p[x] = f, h += 1) : "production" !== n.env.NODE_ENV && console.error("Danger: Discarding unexpected node:", f) } } return "production" !== n.env.NODE_ENV ? s(h === p.length, "Danger: Did not assign to every index of resultList.") : s(h === p.length), "production" !== n.env.NODE_ENV ? s(p.length === e.length, "Danger: Expected markup to render %s nodes, but rendered %s.", e.length, p.length) : s(p.length === e.length), p }, dangerouslyReplaceNodeWithMarkup: function(e, t) { "production" !== n.env.NODE_ENV ? s(r.canUseDOM, "dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. This is likely a bug in the framework. Please report immediately.") : s(r.canUseDOM), "production" !== n.env.NODE_ENV ? s(t, "dangerouslyReplaceNodeWithMarkup(...): Missing markup.") : s(t), "production" !== n.env.NODE_ENV ? s("html" !== e.tagName.toLowerCase(), "dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See renderComponentToString().") : s("html" !== e.tagName.toLowerCase()); var a = d(t, i)[0]; e.parentNode.replaceChild(a, e) } }; t.exports = c }).call(this, e("Wb8Gej")) }, { "./ExecutionEnvironment": 56, "./createNodesFromMarkup": 140, "./emptyFunction": 144, "./getMarkupWrap": 153, "./invariant": 160, Wb8Gej: 32 }], 47: [function(e, t) { "use strict"; var n = e("./DOMProperty"), a = n.injection.MUST_USE_ATTRIBUTE, r = n.injection.MUST_USE_PROPERTY, d = n.injection.HAS_BOOLEAN_VALUE, i = n.injection.HAS_SIDE_EFFECTS, o = n.injection.HAS_POSITIVE_NUMERIC_VALUE, s = { isCustomAttribute: RegExp.prototype.test.bind(/^(data|aria)-[a-z_][a-z\d_.\-]*$/), Properties: { accept: null, accessKey: null, action: null, allowFullScreen: a | d, allowTransparency: a, alt: null, async: d, autoComplete: null, autoPlay: d, cellPadding: null, cellSpacing: null, charSet: a, checked: r | d, className: r, cols: a | o, colSpan: null, content: null, contentEditable: null, contextMenu: a, controls: r | d, crossOrigin: null, data: null, dateTime: a, defer: d, dir: null, disabled: a | d, download: null, draggable: null, encType: null, form: a, formNoValidate: d, frameBorder: a, height: a, hidden: a | d, href: null, hrefLang: null, htmlFor: null, httpEquiv: null, icon: null, id: r, label: null, lang: null, list: null, loop: r | d, max: null, maxLength: a, mediaGroup: null, method: null, min: null, multiple: r | d, muted: r | d, name: null, noValidate: d, pattern: null, placeholder: null, poster: null, preload: null, radioGroup: null, readOnly: r | d, rel: null, required: d, role: a, rows: a | o, rowSpan: null, sandbox: null, scope: null, scrollLeft: r, scrollTop: r, seamless: a | d, selected: r | d, size: a | o, span: o, spellCheck: null, src: null, srcDoc: r, srcSet: null, step: null, style: null, tabIndex: null, target: null, title: null, type: null, value: r | i, width: a, wmode: a, autoCapitalize: null, autoCorrect: null, property: null, cx: a, cy: a, d: a, fill: a, fx: a, fy: a, gradientTransform: a, gradientUnits: a, offset: a, points: a, r: a, rx: a, ry: a, spreadMethod: a, stopColor: a, stopOpacity: a, stroke: a, strokeLinecap: a, strokeWidth: a, textAnchor: a, transform: a, version: a, viewBox: a, x1: a, x2: a, x: a, y1: a, y2: a, y: a }, DOMAttributeNames: { className: "class", gradientTransform: "gradientTransform", gradientUnits: "gradientUnits", htmlFor: "for", spreadMethod: "spreadMethod", stopColor: "stop-color", stopOpacity: "stop-opacity", strokeLinecap: "stroke-linecap", strokeWidth: "stroke-width", textAnchor: "text-anchor", viewBox: "viewBox" }, DOMPropertyNames: { autoCapitalize: "autocapitalize", autoComplete: "autocomplete", autoCorrect: "autocorrect", autoFocus: "autofocus", autoPlay: "autoplay", encType: "enctype", hrefLang: "hreflang", radioGroup: "radiogroup", spellCheck: "spellcheck", srcDoc: "srcdoc", srcSet: "srcset" } }; t.exports = s }, { "./DOMProperty": 44 }], 48: [function(e, t) { "use strict"; var n = e("./keyOf"), a = [n({ ResponderEventPlugin: null }), n({ SimpleEventPlugin: null }), n({ TapEventPlugin: null }), n({ EnterLeaveEventPlugin: null }), n({ ChangeEventPlugin: null }), n({ SelectEventPlugin: null }), n({ CompositionEventPlugin: null }), n({ AnalyticsEventPlugin: null }), n({ MobileSafariClickEventPlugin: null })]; t.exports = a }, { "./keyOf": 167 }], 49: [function(e, t) { "use strict"; var n = e("./EventConstants"), a = e("./EventPropagators"), r = e("./SyntheticMouseEvent"), d = e("./ReactMount"), i = e("./keyOf"), o = n.topLevelTypes, s = d.getFirstReactDOM, l = { mouseEnter: { registrationName: i({ onMouseEnter: null }), dependencies: [o.topMouseOut, o.topMouseOver] }, mouseLeave: { registrationName: i({ onMouseLeave: null }), dependencies: [o.topMouseOut, o.topMouseOver] } }, y = [null, null], c = { eventTypes: l, extractEvents: function(e, t, n, i) { if (e === o.topMouseOver && (i.relatedTarget || i.fromElement)) return null; if (e !== o.topMouseOut && e !== o.topMouseOver) return null; var c; if (t.window === t) c = t; else { var u = t.ownerDocument; c = u ? u.defaultView || u.parentWindow : window } var p, h; if (e === o.topMouseOut ? (p = t, h = s(i.relatedTarget || i.toElement) || c) : (p = c, h = t), p === h) return null; var _ = p ? d.getID(p) : "", x = h ? d.getID(h) : "", m = r.getPooled(l.mouseLeave, _, i); m.type = "mouseleave", m.target = p, m.relatedTarget = h; var g = r.getPooled(l.mouseEnter, x, i); return g.type = "mouseenter", g.target = h, g.relatedTarget = p, a.accumulateEnterLeaveDispatches(m, g, _, x), y[0] = m, y[1] = g, y } }; t.exports = c }, { "./EventConstants": 50, "./EventPropagators": 55, "./ReactMount": 95, "./SyntheticMouseEvent": 127, "./keyOf": 167 }], 50: [function(e, t) { "use strict"; var n = e("./keyMirror"), a = n({ bubbled: null, captured: null }), r = n({ topBlur: null, topChange: null, topClick: null, topCompositionEnd: null, topCompositionStart: null, topCompositionUpdate: null, topContextMenu: null, topCopy: null, topCut: null, topDoubleClick: null, topDrag: null, topDragEnd: null, topDragEnter: null, topDragExit: null, topDragLeave: null, topDragOver: null, topDragStart: null, topDrop: null, topError: null, topFocus: null, topInput: null, topKeyDown: null, topKeyPress: null, topKeyUp: null, topLoad: null, topMouseDown: null, topMouseMove: null, topMouseOut: null, topMouseOver: null, topMouseUp: null, topPaste: null, topReset: null, topScroll: null, topSelectionChange: null, topSubmit: null, topTouchCancel: null, topTouchEnd: null, topTouchMove: null, topTouchStart: null, topWheel: null }), d = { topLevelTypes: r, PropagationPhases: a }; t.exports = d }, { "./keyMirror": 166 }], 51: [function(e, t) { (function(n) { var a = e("./emptyFunction"), r = { listen: function(e, t, n) { return e.addEventListener ? (e.addEventListener(t, n, !1), { remove: function() { e.removeEventListener(t, n, !1) } }) : e.attachEvent ? (e.attachEvent("on" + t, n), { remove: function() { e.detachEvent(t, n) } }) : void 0 }, capture: function(e, t, r) { return e.addEventListener ? (e.addEventListener(t, r, !0), { remove: function() { e.removeEventListener(t, r, !0) } }) : ("production" !== n.env.NODE_ENV && console.error("Attempted to listen to events during the capture phase on a browser that does not support the capture phase. Your application will not receive some events."), { remove: a }) } }; t.exports = r }).call(this, e("Wb8Gej")) }, { "./emptyFunction": 144, Wb8Gej: 32 }], 52: [function(e, t) { (function(n) { "use strict"; function a() { var e = !_ || !_.traverseTwoPhase || !_.traverseEnterLeave; if (e) throw new Error("InstanceHandle not injected before use!") } var r = e("./EventPluginRegistry"), d = e("./EventPluginUtils"), i = e("./ExecutionEnvironment"), o = e("./accumulate"), s = e("./forEachAccumulated"), l = e("./invariant"), y = e("./isEventSupported"), c = e("./monitorCodeUse"), u = {}, p = null, h = function(e) { if (e) { var t = d.executeDispatch, n = r.getPluginModuleForEvent(e); n && n.executeDispatch && (t = n.executeDispatch), d.executeDispatchesInOrder(e, t), e.isPersistent() || e.constructor.release(e) } }, _ = null, x = { injection: { injectMount: d.injection.injectMount, injectInstanceHandle: function(e) { _ = e, "production" !== n.env.NODE_ENV && a() }, getInstanceHandle: function() { return "production" !== n.env.NODE_ENV && a(), _ }, injectEventPluginOrder: r.injectEventPluginOrder, injectEventPluginsByName: r.injectEventPluginsByName }, eventNameDispatchConfigs: r.eventNameDispatchConfigs, registrationNameModules: r.registrationNameModules, putListener: function(e, t, a) { "production" !== n.env.NODE_ENV ? l(i.canUseDOM, "Cannot call putListener() in a non-DOM environment.") : l(i.canUseDOM), "production" !== n.env.NODE_ENV ? l(!a || "function" == typeof a, "Expected %s listener to be a function, instead got type %s", t, typeof a) : l(!a || "function" == typeof a), "production" !== n.env.NODE_ENV && ("onScroll" !== t || y("scroll", !0) || (c("react_no_scroll_event"), console.warn("This browser doesn't support the `onScroll` event"))); var r = u[t] || (u[t] = {}); r[e] = a }, getListener: function(e, t) { var n = u[t]; return n && n[e] }, deleteListener: function(e, t) { var n = u[t]; n && delete n[e] }, deleteAllListeners: function(e) { for (var t in u) delete u[t][e] }, extractEvents: function(e, t, n, a) { for (var d, i = r.plugins, s = 0, l = i.length; l > s; s++) { var y = i[s]; if (y) { var c = y.extractEvents(e, t, n, a); c && (d = o(d, c)) } } return d }, enqueueEvents: function(e) { e && (p = o(p, e)) }, processEventQueue: function() { var e = p; p = null, s(e, h), "production" !== n.env.NODE_ENV ? l(!p, "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.") : l(!p) }, __purge: function() { u = {} }, __getListenerBank: function() { return u } }; t.exports = x }).call(this, e("Wb8Gej")) }, { "./EventPluginRegistry": 53, "./EventPluginUtils": 54, "./ExecutionEnvironment": 56, "./accumulate": 133, "./forEachAccumulated": 149, "./invariant": 160, "./isEventSupported": 161, "./monitorCodeUse": 173, Wb8Gej: 32 }], 53: [function(e, t) { (function(n) { "use strict"; function a() { if (o) for (var e in s) { var t = s[e], a = o.indexOf(e); if ("production" !== n.env.NODE_ENV ? i(a > -1, "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.", e) : i(a > -1), !l.plugins[a]) { "production" !== n.env.NODE_ENV ? i(t.extractEvents, "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.", e) : i(t.extractEvents), l.plugins[a] = t; var d = t.eventTypes; for (var y in d) "production" !== n.env.NODE_ENV ? i(r(d[y], t, y), "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", y, e) : i(r(d[y], t, y)) } } } function r(e, t, a) { "production" !== n.env.NODE_ENV ? i(!l.eventNameDispatchConfigs[a], "EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.", a) : i(!l.eventNameDispatchConfigs[a]), l.eventNameDispatchConfigs[a] = e; var r = e.phasedRegistrationNames; if (r) { for (var o in r) if (r.hasOwnProperty(o)) { var s = r[o]; d(s, t, a) } return !0 } return e.registrationName ? (d(e.registrationName, t, a), !0) : !1 } function d(e, t, a) { "production" !== n.env.NODE_ENV ? i(!l.registrationNameModules[e], "EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.", e) : i(!l.registrationNameModules[e]), l.registrationNameModules[e] = t, l.registrationNameDependencies[e] = t.eventTypes[a].dependencies } var i = e("./invariant"), o = null, s = {}, l = { plugins: [], eventNameDispatchConfigs: {}, registrationNameModules: {}, registrationNameDependencies: {}, injectEventPluginOrder: function(e) { "production" !== n.env.NODE_ENV ? i(!o, "EventPluginRegistry: Cannot inject event plugin ordering more than once.") : i(!o), o = Array.prototype.slice.call(e), a() }, injectEventPluginsByName: function(e) { var t = !1; for (var r in e) if (e.hasOwnProperty(r)) { var d = e[r]; s[r] !== d && ("production" !== n.env.NODE_ENV ? i(!s[r], "EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.", r) : i(!s[r]), s[r] = d, t = !0) } t && a() }, getPluginModuleForEvent: function(e) { var t = e.dispatchConfig; if (t.registrationName) return l.registrationNameModules[t.registrationName] || null; for (var n in t.phasedRegistrationNames) if (t.phasedRegistrationNames.hasOwnProperty(n)) { var a = l.registrationNameModules[t.phasedRegistrationNames[n]]; if (a) return a } return null }, _resetEventPlugins: function() { o = null; for (var e in s) s.hasOwnProperty(e) && delete s[e]; l.plugins.length = 0; var t = l.eventNameDispatchConfigs; for (var n in t) t.hasOwnProperty(n) && delete t[n]; var a = l.registrationNameModules; for (var r in a) a.hasOwnProperty(r) && delete a[r] } }; t.exports = l }).call(this, e("Wb8Gej")) }, { "./invariant": 160, Wb8Gej: 32 }], 54: [function(e, t) { (function(n) { "use strict"; function a(e) { return e === x.topMouseUp || e === x.topTouchEnd || e === x.topTouchCancel } function r(e) { return e === x.topMouseMove || e === x.topTouchMove } function d(e) { return e === x.topMouseDown || e === x.topTouchStart } function i(e, t) { var a = e._dispatchListeners, r = e._dispatchIDs; if ("production" !== n.env.NODE_ENV && u(e), Array.isArray(a)) for (var d = 0; d < a.length && !e.isPropagationStopped(); d++) t(e, a[d], r[d]); else a && t(e, a, r) } function o(e, t, n) { e.currentTarget = _.Mount.getNode(n); var a = t(e, n); return e.currentTarget = null, a } function s(e, t) { i(e, t), e._dispatchListeners = null, e._dispatchIDs = null } function l(e) { var t = e._dispatchListeners, a = e._dispatchIDs; if ("production" !== n.env.NODE_ENV && u(e), Array.isArray(t)) { for (var r = 0; r < t.length && !e.isPropagationStopped(); r++) if (t[r](e, a[r])) return a[r] } else if (t && t(e, a)) return a; return null } function y(e) { "production" !== n.env.NODE_ENV && u(e); var t = e._dispatchListeners, a = e._dispatchIDs; "production" !== n.env.NODE_ENV ? h(!Array.isArray(t), "executeDirectDispatch(...): Invalid `event`.") : h(!Array.isArray(t)); var r = t ? t(e, a) : null; return e._dispatchListeners = null, e._dispatchIDs = null, r } function c(e) { return !!e._dispatchListeners } var u, p = e("./EventConstants"), h = e("./invariant"), _ = { Mount: null, injectMount: function(e) { _.Mount = e, "production" !== n.env.NODE_ENV && ("production" !== n.env.NODE_ENV ? h(e && e.getNode, "EventPluginUtils.injection.injectMount(...): Injected Mount module is missing getNode.") : h(e && e.getNode)) } }, x = p.topLevelTypes; "production" !== n.env.NODE_ENV && (u = function(e) { var t = e._dispatchListeners, a = e._dispatchIDs, r = Array.isArray(t), d = Array.isArray(a), i = d ? a.length : a ? 1 : 0, o = r ? t.length : t ? 1 : 0; "production" !== n.env.NODE_ENV ? h(d === r && i === o, "EventPluginUtils: Invalid `event`.") : h(d === r && i === o) }); var m = { isEndish: a, isMoveish: r, isStartish: d, executeDirectDispatch: y, executeDispatch: o, executeDispatchesInOrder: s, executeDispatchesInOrderStopAtTrue: l, hasDispatches: c, injection: _, useTouchEvents: !1 }; t.exports = m }).call(this, e("Wb8Gej")) }, { "./EventConstants": 50, "./invariant": 160, Wb8Gej: 32 }], 55: [function(e, t) { (function(n) { "use strict"; function a(e, t, n) { var a = t.dispatchConfig.phasedRegistrationNames[n]; return x(e, a) } function r(e, t, r) { if ("production" !== n.env.NODE_ENV && !e) throw new Error("Dispatching id must not be null"); var d = t ? _.bubbled : _.captured, i = a(e, r, d); i && (r._dispatchListeners = p(r._dispatchListeners, i), r._dispatchIDs = p(r._dispatchIDs, e)) } function d(e) { e && e.dispatchConfig.phasedRegistrationNames && u.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker, r, e) } function i(e, t, n) { if (n && n.dispatchConfig.registrationName) { var a = n.dispatchConfig.registrationName, r = x(e, a); r && (n._dispatchListeners = p(n._dispatchListeners, r), n._dispatchIDs = p(n._dispatchIDs, e)) } } function o(e) { e && e.dispatchConfig.registrationName && i(e.dispatchMarker, null, e) } function s(e) { h(e, d) } function l(e, t, n, a) { u.injection.getInstanceHandle().traverseEnterLeave(n, a, i, e, t) } function y(e) { h(e, o) } var c = e("./EventConstants"), u = e("./EventPluginHub"), p = e("./accumulate"), h = e("./forEachAccumulated"), _ = c.PropagationPhases, x = u.getListener, m = { accumulateTwoPhaseDispatches: s, accumulateDirectDispatches: y, accumulateEnterLeaveDispatches: l }; t.exports = m }).call(this, e("Wb8Gej")) }, { "./EventConstants": 50, "./EventPluginHub": 52, "./accumulate": 133, "./forEachAccumulated": 149, Wb8Gej: 32 }], 56: [function(e, t) { "use strict"; var n = "undefined" != typeof window, a = { canUseDOM: n, canUseWorkers: "undefined" != typeof Worker, canUseEventListeners: n && (window.addEventListener || window.attachEvent), isInWorker: !n }; t.exports = a }, {}], 57: [function(e, t) { "use strict"; var n = e("./ReactLink"), a = e("./ReactStateSetters"), r = { linkState: function(e) { return new n(this.state[e], a.createStateKeySetter(this, e)) } }; t.exports = r }, { "./ReactLink": 93, "./ReactStateSetters": 110 }], 58: [function(e, t) { (function(n) { "use strict"; function a(e) { "production" !== n.env.NODE_ENV ? l(null == e.props.checkedLink || null == e.props.valueLink, "Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don't want to use valueLink and vice versa.") : l(null == e.props.checkedLink || null == e.props.valueLink) } function r(e) { a(e), "production" !== n.env.NODE_ENV ? l(null == e.props.value && null == e.props.onChange, "Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don't want to use valueLink.") : l(null == e.props.value && null == e.props.onChange) } function d(e) { a(e), "production" !== n.env.NODE_ENV ? l(null == e.props.checked && null == e.props.onChange, "Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don't want to use checkedLink") : l(null == e.props.checked && null == e.props.onChange) } function i(e) { this.props.valueLink.requestChange(e.target.value) } function o(e) { this.props.checkedLink.requestChange(e.target.checked) } var s = e("./ReactPropTypes"), l = e("./invariant"), y = e("./warning"), c = { button: !0, checkbox: !0, image: !0, hidden: !0, radio: !0, reset: !0, submit: !0 }, u = { Mixin: { propTypes: { value: function(e, t) { "production" !== n.env.NODE_ENV && ("production" !== n.env.NODE_ENV ? y(!e[t] || c[e.type] || e.onChange || e.readOnly || e.disabled, "You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.") : null) }, checked: function(e, t) { "production" !== n.env.NODE_ENV && ("production" !== n.env.NODE_ENV ? y(!e[t] || e.onChange || e.readOnly || e.disabled, "You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.") : null) }, onChange: s.func } }, getValue: function(e) { return e.props.valueLink ? (r(e), e.props.valueLink.value) : e.props.value }, getChecked: function(e) { return e.props.checkedLink ? (d(e), e.props.checkedLink.value) : e.props.checked }, getOnChange: function(e) { return e.props.valueLink ? (r(e), i) : e.props.checkedLink ? (d(e), o) : e.props.onChange } }; t.exports = u }).call(this, e("Wb8Gej")) }, { "./ReactPropTypes": 104, "./invariant": 160, "./warning": 183, Wb8Gej: 32 }], 59: [function(e, t) { "use strict"; var n = e("./EventConstants"), a = e("./emptyFunction"), r = n.topLevelTypes, d = { eventTypes: null, extractEvents: function(e, t, n, d) { if (e === r.topTouchStart) { var i = d.target; i && !i.onclick && (i.onclick = a) } } }; t.exports = d }, { "./EventConstants": 50, "./emptyFunction": 144 }], 60: [function(e, t) { (function(n) { "use strict"; var a = e("./invariant"), r = function(e) { var t = this; if (t.instancePool.length) { var n = t.instancePool.pop(); return t.call(n, e), n } return new t(e) }, d = function(e, t) { var n = this; if (n.instancePool.length) { var a = n.instancePool.pop(); return n.call(a, e, t), a } return new n(e, t) }, i = function(e, t, n) { var a = this; if (a.instancePool.length) { var r = a.instancePool.pop(); return a.call(r, e, t, n), r } return new a(e, t, n) }, o = function(e, t, n, a, r) { var d = this; if (d.instancePool.length) { var i = d.instancePool.pop(); return d.call(i, e, t, n, a, r), i } return new d(e, t, n, a, r) }, s = function(e) { var t = this; "production" !== n.env.NODE_ENV ? a(e instanceof t, "Trying to release an instance into a pool of a different type.") : a(e instanceof t), e.destructor && e.destructor(), t.instancePool.length < t.poolSize && t.instancePool.push(e) }, l = 10, y = r, c = function(e, t) { var n = e; return n.instancePool = [], n.getPooled = t || y, n.poolSize || (n.poolSize = l), n.release = s, n }, u = { addPoolingTo: c, oneArgumentPooler: r, twoArgumentPooler: d, threeArgumentPooler: i, fiveArgumentPooler: o }; t.exports = u }).call(this, e("Wb8Gej")) }, { "./invariant": 160, Wb8Gej: 32 }], 61: [function(e, t) { (function(n) { "use strict"; var a = e("./DOMPropertyOperations"), r = e("./EventPluginUtils"), d = e("./ReactChildren"), i = e("./ReactComponent"), o = e("./ReactCompositeComponent"), s = e("./ReactContext"), l = e("./ReactCurrentOwner"), y = e("./ReactDOM"), c = e("./ReactDOMComponent"), u = e("./ReactDefaultInjection"), p = e("./ReactInstanceHandles"), h = e("./ReactMount"), _ = e("./ReactMultiChild"), x = e("./ReactPerf"), m = e("./ReactPropTypes"), g = e("./ReactServerRendering"), f = e("./ReactTextComponent"), w = e("./onlyChild"); u.inject(); var v = { Children: { map: d.map, forEach: d.forEach, only: w }, DOM: y, PropTypes: m, initializeTouchEvents: function(e) { r.useTouchEvents = e }, createClass: o.createClass, constructAndRenderComponent: h.constructAndRenderComponent, constructAndRenderComponentByID: h.constructAndRenderComponentByID, renderComponent: x.measure("React", "renderComponent", h.renderComponent), renderComponentToString: g.renderComponentToString, renderComponentToStaticMarkup: g.renderComponentToStaticMarkup, unmountComponentAtNode: h.unmountComponentAtNode, isValidClass: o.isValidClass, isValidComponent: i.isValidComponent, withContext: s.withContext, __internals: { Component: i, CurrentOwner: l, DOMComponent: c, DOMPropertyOperations: a, InstanceHandles: p, Mount: h, MultiChild: _, TextComponent: f } }; if ("production" !== n.env.NODE_ENV) { var D = e("./ExecutionEnvironment"); D.canUseDOM && window.top === window.self && navigator.userAgent.indexOf("Chrome") > -1 && console.debug("Download the React DevTools for a better development experience: http://fb.me/react-devtools") } v.version = "0.10.0", t.exports = v }).call(this, e("Wb8Gej")) }, { "./DOMPropertyOperations": 45, "./EventPluginUtils": 54, "./ExecutionEnvironment": 56, "./ReactChildren": 65, "./ReactComponent": 66, "./ReactCompositeComponent": 68, "./ReactContext": 69, "./ReactCurrentOwner": 70, "./ReactDOM": 71, "./ReactDOMComponent": 73, "./ReactDefaultInjection": 83, "./ReactInstanceHandles": 92, "./ReactMount": 95, "./ReactMultiChild": 97, "./ReactPerf": 100, "./ReactPropTypes": 104, "./ReactServerRendering": 108, "./ReactTextComponent": 112, "./onlyChild": 176, Wb8Gej: 32 }], 62: [function(e, t) { (function(n) { "use strict"; var a = e("./ReactMount"), r = e("./invariant"), d = { getDOMNode: function() { return "production" !== n.env.NODE_ENV ? r(this.isMounted(), "getDOMNode(): A component must be mounted to have a DOM node.") : r(this.isMounted()), a.getNode(this._rootNodeID) } }; t.exports = d }).call(this, e("Wb8Gej")) }, { "./ReactMount": 95, "./invariant": 160, Wb8Gej: 32 }], 63: [function(e, t) { "use strict"; var n = e("./React"), a = e("./ReactTransitionGroup"), r = e("./ReactCSSTransitionGroupChild"), d = n.createClass({ propTypes: { transitionName: n.PropTypes.string.isRequired, transitionEnter: n.PropTypes.bool, transitionLeave: n.PropTypes.bool }, getDefaultProps: function() { return { transitionEnter: !0, transitionLeave: !0 } }, _wrapChild: function(e) { return r({ name: this.props.transitionName, enter: this.props.transitionEnter, leave: this.props.transitionLeave }, e) }, render: function() { return this.transferPropsTo(a({ childFactory: this._wrapChild }, this.props.children)) } }); t.exports = d }, { "./React": 61, "./ReactCSSTransitionGroupChild": 64, "./ReactTransitionGroup": 115 }], 64: [function(e, t) { (function(n) { "use strict"; var a = e("./React"), r = e("./CSSCore"), d = e("./ReactTransitionEvents"), i = e("./onlyChild"), o = 17, s = 5e3, l = null; "production" !== n.env.NODE_ENV && (l = function() { console.warn("transition(): tried to perform an animation without an animationend or transitionend event after timeout (" + s + "ms). You should either disable this transition in JS or add a CSS animation/transition.") }); var y = a.createClass({ transition: function(e, t) { var a = this.getDOMNode(), i = this.props.name + "-" + e, o = i + "-active", y = null, c = function() { "production" !== n.env.NODE_ENV && clearTimeout(y), r.removeClass(a, i), r.removeClass(a, o), d.removeEndEventListener(a, c), t && t() }; d.addEndEventListener(a, c), r.addClass(a, i), this.queueClass(o), "production" !== n.env.NODE_ENV && (y = setTimeout(l, s)) }, queueClass: function(e) { return this.classNameQueue.push(e), this.props.runNextTick ? void this.props.runNextTick(this.flushClassNameQueue) : void(this.timeout || (this.timeout = setTimeout(this.flushClassNameQueue, o))) }, flushClassNameQueue: function() { this.isMounted() && this.classNameQueue.forEach(r.addClass.bind(r, this.getDOMNode())), this.classNameQueue.length = 0, this.timeout = null }, componentWillMount: function() { this.classNameQueue = [] }, componentWillUnmount: function() { this.timeout && clearTimeout(this.timeout) }, componentWillEnter: function(e) { this.props.enter ? this.transition("enter", e) : e() }, componentWillLeave: function(e) { this.props.leave ? this.transition("leave", e) : e() }, render: function() { return i(this.props.children) } }); t.exports = y }).call(this, e("Wb8Gej")) }, { "./CSSCore": 37, "./React": 61, "./ReactTransitionEvents": 114, "./onlyChild": 176, Wb8Gej: 32 }], 65: [function(e, t) { (function(n) { "use strict"; function a(e, t) { this.forEachFunction = e, this.forEachContext = t } function r(e, t, n, a) { var r = e; r.forEachFunction.call(r.forEachContext, t, a) } function d(e, t, n) { if (null == e) return e; var d = a.getPooled(t, n); c(e, r, d), a.release(d) } function i(e, t, n) { this.mapResult = e, this.mapFunction = t, this.mapContext = n } function o(e, t, a, r) { var d = e, i = d.mapResult, o = d.mapFunction.call(d.mapContext, t, r); "production" !== n.env.NODE_ENV ? y(!i.hasOwnProperty(a), "ReactChildren.map(...): Encountered two children with the same key, `%s`. Children keys must be unique.", a) : y(!i.hasOwnProperty(a)), i[a] = o } function s(e, t, n) { if (null == e) return e; var a = {}, r = i.getPooled(a, t, n); return c(e, o, r), i.release(r), a } var l = e("./PooledClass"), y = e("./invariant"), c = e("./traverseAllChildren"), u = l.twoArgumentPooler, p = l.threeArgumentPooler; l.addPoolingTo(a, u), l.addPoolingTo(i, p); var h = { forEach: d, map: s }; t.exports = h }).call(this, e("Wb8Gej")) }, { "./PooledClass": 60, "./invariant": 160, "./traverseAllChildren": 181, Wb8Gej: 32 }], 66: [function(e, t) { (function(n) { "use strict"; function a(e) { if (!e.__keyValidated__ && null == e.props.key && (e.__keyValidated__ = !0, o.current)) { var t = o.current.constructor.displayName; if (!_.hasOwnProperty(t)) { _[t] = !0; var n = 'Each child in an array should have a unique "key" prop. Check the render method of ' + t + ".", a = null; e.isOwnedBy(o.current) || (a = e._owner && e._owner.constructor.displayName, n += " It was passed a child from " + a + "."), n += " See http://fb.me/react-warning-keys for more information.", p("react_key_warning", { component: t, componentOwner: a }), console.warn(n) } } } function r(e) { if (g.test(e)) { var t = o.current.constructor.displayName; if (x.hasOwnProperty(t)) return; x[t] = !0, p("react_numeric_key_warning"), console.warn("Child objects should have non-numeric keys so ordering is preserved. Check the render method of " + t + ". See http://fb.me/react-warning-keys for more information.") } } function d() { var e = o.current && o.current.constructor.displayName || ""; m.hasOwnProperty(e) || (m[e] = !0, p("react_object_map_children")) } function i(e) { if (Array.isArray(e)) for (var t = 0; t < e.length; t++) { var n = e[t]; D.isValidComponent(n) && a(n) } else if (D.isValidComponent(e)) e.__keyValidated__ = !0; else if (e && "object" == typeof e) { d(); for (var i in e) r(i, e) } } var o = e("./ReactCurrentOwner"), s = e("./ReactOwner"), l = e("./ReactUpdates"), y = e("./invariant"), c = e("./keyMirror"), u = e("./merge"), p = e("./monitorCodeUse"), h = c({ MOUNTED: null, UNMOUNTED: null }), _ = {}, x = {}, m = {}, g = /^\d+$/, f = !1, w = null, v = null, D = { injection: { injectEnvironment: function(e) { "production" !== n.env.NODE_ENV ? y(!f, "ReactComponent: injectEnvironment() can only be called once.") : y(!f), v = e.mountImageIntoNode, w = e.unmountIDFromEnvironment, D.BackendIDOperations = e.BackendIDOperations, D.ReactReconcileTransaction = e.ReactReconcileTransaction, f = !0 } }, isValidComponent: function(e) { if (!e || !e.type || !e.type.prototype) return !1; var t = e.type.prototype; return "function" == typeof t.mountComponentIntoNode && "function" == typeof t.receiveComponent }, LifeCycle: h, BackendIDOperations: null, ReactReconcileTransaction: null, Mixin: { isMounted: function() { return this._lifeCycleState === h.MOUNTED }, setProps: function(e, t) { this.replaceProps(u(this._pendingProps || this.props, e), t) }, replaceProps: function(e, t) { "production" !== n.env.NODE_ENV ? y(this.isMounted(), "replaceProps(...): Can only update a mounted component.") : y(this.isMounted()), "production" !== n.env.NODE_ENV ? y(0 === this._mountDepth, "replaceProps(...): You called `setProps` or `replaceProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created.") : y(0 === this._mountDepth), this._pendingProps = e, l.enqueueUpdate(this, t) }, construct: function(e, t) { this.props = e || {}, this._owner = o.current, this._lifeCycleState = h.UNMOUNTED, this._pendingProps = null, this._pendingCallbacks = null, this._pendingOwner = this._owner; var a = arguments.length - 1; if (1 === a) "production" !== n.env.NODE_ENV && i(t), this.props.children = t; else if (a > 1) { for (var r = Array(a), d = 0; a > d; d++) "production" !== n.env.NODE_ENV && i(arguments[d + 1]), r[d] = arguments[d + 1]; this.props.children = r } }, mountComponent: function(e, t, a) { "production" !== n.env.NODE_ENV ? y(!this.isMounted(), "mountComponent(%s, ...): Can only mount an unmounted component. Make sure to avoid storing components between renders or reusing a single component instance in multiple places.", e) : y(!this.isMounted()); var r = this.props; null != r.ref && s.addComponentAsRefTo(this, r.ref, this._owner), this._rootNodeID = e, this._lifeCycleState = h.MOUNTED, this._mountDepth = a }, unmountComponent: function() { "production" !== n.env.NODE_ENV ? y(this.isMounted(), "unmountComponent(): Can only unmount a mounted component.") : y(this.isMounted()); var e = this.props; null != e.ref && s.removeComponentAsRefFrom(this, e.ref, this._owner), w(this._rootNodeID), this._rootNodeID = null, this._lifeCycleState = h.UNMOUNTED }, receiveComponent: function(e, t) { "production" !== n.env.NODE_ENV ? y(this.isMounted(), "receiveComponent(...): Can only update a mounted component.") : y(this.isMounted()), this._pendingOwner = e._owner, this._pendingProps = e.props, this._performUpdateIfNecessary(t) }, performUpdateIfNecessary: function() { var e = D.ReactReconcileTransaction.getPooled(); e.perform(this._performUpdateIfNecessary, this, e), D.ReactReconcileTransaction.release(e) }, _performUpdateIfNecessary: function(e) { if (null != this._pendingProps) { var t = this.props, n = this._owner; this.props = this._pendingProps, this._owner = this._pendingOwner, this._pendingProps = null, this.updateComponent(e, t, n) } }, updateComponent: function(e, t, n) { var a = this.props; (this._owner !== n || a.ref !== t.ref) && (null != t.ref && s.removeComponentAsRefFrom(this, t.ref, n), null != a.ref && s.addComponentAsRefTo(this, a.ref, this._owner)) }, mountComponentIntoNode: function(e, t, n) { var a = D.ReactReconcileTransaction.getPooled(); a.perform(this._mountComponentIntoNode, this, e, t, a, n), D.ReactReconcileTransaction.release(a) }, _mountComponentIntoNode: function(e, t, n, a) { var r = this.mountComponent(e, n, 0); v(r, t, a) }, isOwnedBy: function(e) { return this._owner === e }, getSiblingByRef: function(e) { var t = this._owner; return t && t.refs ? t.refs[e] : null } } }; t.exports = D }).call(this, e("Wb8Gej")) }, { "./ReactCurrentOwner": 70, "./ReactOwner": 99, "./ReactUpdates": 116, "./invariant": 160, "./keyMirror": 166, "./merge": 169, "./monitorCodeUse": 173, Wb8Gej: 32 }], 67: [function(e, t) { (function(n) { "use strict"; var a = e("./ReactDOMIDOperations"), r = e("./ReactMarkupChecksum"), d = e("./ReactMount"), i = e("./ReactPerf"), o = e("./ReactReconcileTransaction"), s = e("./getReactRootElementInContainer"), l = e("./invariant"), y = 1, c = 9, u = { ReactReconcileTransaction: o, BackendIDOperations: a, unmountIDFromEnvironment: function(e) { d.purgeID(e) }, mountImageIntoNode: i.measure("ReactComponentBrowserEnvironment", "mountImageIntoNode", function(e, t, a) { if ("production" !== n.env.NODE_ENV ? l(t && (t.nodeType === y || t.nodeType === c), "mountComponentIntoNode(...): Target container is not valid.") : l(t && (t.nodeType === y || t.nodeType === c)), a) { if (r.canReuseMarkup(e, s(t))) return; "production" !== n.env.NODE_ENV ? l(t.nodeType !== c, "You're trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side.") : l(t.nodeType !== c), "production" !== n.env.NODE_ENV && console.warn("React attempted to use reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injectednew markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server.") } "production" !== n.env.NODE_ENV ? l(t.nodeType !== c, "You're trying to render a component to the document but you didn't use server rendering. We can't do this without using server rendering due to cross-browser quirks. See renderComponentToString() for server rendering.") : l(t.nodeType !== c), t.innerHTML = e }) }; t.exports = u }).call(this, e("Wb8Gej")) }, { "./ReactDOMIDOperations": 75, "./ReactMarkupChecksum": 94, "./ReactMount": 95, "./ReactPerf": 100, "./ReactReconcileTransaction": 106, "./getReactRootElementInContainer": 155, "./invariant": 160, Wb8Gej: 32 }], 68: [function(e, t) { (function(n) { "use strict"; function a(e, t, a) { for (var r in t) t.hasOwnProperty(r) && ("production" !== n.env.NODE_ENV ? S("function" == typeof t[r], "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", e.displayName || "ReactCompositeComponent", w[a], r) : S("function" == typeof t[r])) } function r(e, t) { var a = O[t]; K.hasOwnProperty(t) && ("production" !== n.env.NODE_ENV ? S(a === N.OVERRIDE_BASE, "ReactCompositeComponentInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.", t) : S(a === N.OVERRIDE_BASE)), e.hasOwnProperty(t) && ("production" !== n.env.NODE_ENV ? S(a === N.DEFINE_MANY || a === N.DEFINE_MANY_MERGED, "ReactCompositeComponentInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", t) : S(a === N.DEFINE_MANY || a === N.DEFINE_MANY_MERGED)) } function d(e) { var t = e._compositeLifeCycleState; "production" !== n.env.NODE_ENV ? S(e.isMounted() || t === G.MOUNTING, "replaceState(...): Can only update a mounted or mounting component.") : S(e.isMounted() || t === G.MOUNTING), "production" !== n.env.NODE_ENV ? S(t !== G.RECEIVING_STATE, "replaceState(...): Cannot update during an existing state transition (such as within `render`). This could potentially cause an infinite loop so it is forbidden.") : S(t !== G.RECEIVING_STATE), "production" !== n.env.NODE_ENV ? S(t !== G.UNMOUNTING, "replaceState(...): Cannot update while unmounting component. This usually means you called setState() on an unmounted component.") : S(t !== G.UNMOUNTING) } function i(e, t) { "production" !== n.env.NODE_ENV ? S(!c(t), "ReactCompositeComponent: You're attempting to use a component class as a mixin. Instead, just use a regular object.") : S(!c(t)), "production" !== n.env.NODE_ENV ? S(!u.isValidComponent(t), "ReactCompositeComponent: You're attempting to use a component as a mixin. Instead, just use a regular object.") : S(!u.isValidComponent(t)); var a = e.componentConstructor, d = a.prototype; for (var i in t) { var o = t[i]; if (t.hasOwnProperty(i)) if (r(d, i), T.hasOwnProperty(i)) T[i](e, o); else { var s = i in O, p = i in d, h = o && o.__reactDontBind, _ = "function" == typeof o, x = _ && !s && !p && !h; x ? (d.__reactAutoBindMap || (d.__reactAutoBindMap = {}), d.__reactAutoBindMap[i] = o, d[i] = o) : d[i] = p ? O[i] === N.DEFINE_MANY_MERGED ? l(d[i], o) : y(d[i], o) : o } } } function o(e, t) { if (t) for (var a in t) { var r = t[a]; if (!t.hasOwnProperty(a)) return; var d = a in e, i = r; if (d) { var o = e[a], s = typeof o, l = typeof r; "production" !== n.env.NODE_ENV ? S("function" === s && "function" === l, "ReactCompositeComponent: You are attempting to define `%s` on your component more than once, but that is only supported for functions, which are chained together. This conflict may be due to a mixin.", a) : S("function" === s && "function" === l), i = y(o, r) } e[a] = i, e.componentConstructor[a] = i } } function s(e, t) { return "production" !== n.env.NODE_ENV ? S(e && t && "object" == typeof e && "object" == typeof t, "mergeObjectsWithNoDuplicateKeys(): Cannot merge non-objects") : S(e && t && "object" == typeof e && "object" == typeof t), R(t, function(t, a) { "production" !== n.env.NODE_ENV ? S(void 0 === e[a], "mergeObjectsWithNoDuplicateKeys(): Tried to merge two objects with the same key: %s", a) : S(void 0 === e[a]), e[a] = t }), e } function l(e, t) { return function() { var n = e.apply(this, arguments), a = t.apply(this, arguments); return null == n ? a : null == a ? n : s(n, a) } } function y(e, t) { return function() { e.apply(this, arguments), t.apply(this, arguments) } } function c(e) { return e instanceof Function && "componentConstructor" in e && e.componentConstructor instanceof Function } var u = e("./ReactComponent"), p = e("./ReactContext"), h = e("./ReactCurrentOwner"), _ = e("./ReactErrorUtils"), x = e("./ReactOwner"), m = e("./ReactPerf"), g = e("./ReactPropTransferer"), f = e("./ReactPropTypeLocations"), w = e("./ReactPropTypeLocationNames"), v = e("./ReactUpdates"), D = e("./instantiateReactComponent"), S = e("./invariant"), C = e("./keyMirror"), E = e("./merge"), M = e("./mixInto"), k = e("./monitorCodeUse"), R = e("./objMap"), b = e("./shouldUpdateReactComponent"), A = e("./warning"), N = C({ DEFINE_ONCE: null, DEFINE_MANY: null, OVERRIDE_BASE: null, DEFINE_MANY_MERGED: null }), P = [], O = { mixins: N.DEFINE_MANY, statics: N.DEFINE_MANY, propTypes: N.DEFINE_MANY, contextTypes: N.DEFINE_MANY, childContextTypes: N.DEFINE_MANY, getDefaultProps: N.DEFINE_MANY_MERGED, getInitialState: N.DEFINE_MANY_MERGED, getChildContext: N.DEFINE_MANY_MERGED, render: N.DEFINE_ONCE, componentWillMount: N.DEFINE_MANY, componentDidMount: N.DEFINE_MANY, componentWillReceiveProps: N.DEFINE_MANY, shouldComponentUpdate: N.DEFINE_ONCE, componentWillUpdate: N.DEFINE_MANY, componentDidUpdate: N.DEFINE_MANY, componentWillUnmount: N.DEFINE_MANY, updateComponent: N.OVERRIDE_BASE }, T = { displayName: function(e, t) { e.componentConstructor.displayName = t }, mixins: function(e, t) { if (t) for (var n = 0; n < t.length; n++) i(e, t[n]) }, childContextTypes: function(e, t) { var n = e.componentConstructor; a(n, t, f.childContext), n.childContextTypes = E(n.childContextTypes, t) }, contextTypes: function(e, t) { var n = e.componentConstructor; a(n, t, f.context), n.contextTypes = E(n.contextTypes, t) }, propTypes: function(e, t) { var n = e.componentConstructor; a(n, t, f.prop), n.propTypes = E(n.propTypes, t) }, statics: function(e, t) { o(e, t) } }; if ("production" !== n.env.NODE_ENV) var I = { constructor: !0, construct: !0, isOwnedBy: !0, type: !0, props: !0, __keyValidated__: !0, _owner: !0, _currentContext: !0 }, L = { __keyValidated__: !0, __keySetters: !0, _compositeLifeCycleState: !0, _currentContext: !0, _defaultProps: !0, _instance: !0, _lifeCycleState: !0, _mountDepth: !0, _owner: !0, _pendingCallbacks: !0, _pendingContext: !0, _pendingForceUpdate: !0, _pendingOwner: !0, _pendingProps: !0, _pendingState: !0, _renderedComponent: !0, _rootNodeID: !0, context: !0, props: !0, refs: !0, state: !0, _pendingQueries: !0, _queryPropListeners: !0, queryParams: !0 }, W = {}, B = 0, F = function(e, t) { var n = I.hasOwnProperty(t); if (!(B > 0 || n)) { var a = e.constructor.displayName || "Unknown", r = h.current, d = r && r.constructor.displayName || "Unknown", i = t + "|" + a + "|" + d; if (!W.hasOwnProperty(i)) { W[i] = !0; var o = r ? " in " + d + "." : " at the top level.", s = "<" + a + " />.type." + t + "(...)"; k("react_descriptor_property_access", { component: a }), console.warn('Invalid access to component property "' + t + '" on ' + a + o + " See http://fb.me/react-warning-descriptors . Use a static method instead: " + s) } } }, j = function(e, t) { return e.__reactMembraneFunction && e.__reactMembraneSelf === t ? e.__reactMembraneFunction : e.__reactMembraneFunction = function() { B++; try { var n = this === t ? this.__realComponentInstance : this; return e.apply(n, arguments) } finally { B-- } } }, U = function(e, t, n) { Object.defineProperty(e, n, { configurable: !1, enumerable: !0, get: function() { if (this === e) return t[n]; F(this, n); var a = this.__realComponentInstance[n]; return "function" == typeof a && "type" !== n && "constructor" !== n ? j(a, this) : a }, set: function(a) { return this === e ? void(t[n] = a) : (F(this, n), void(this.__realComponentInstance[n] = a)) } }) }, V = function(e) { var t, n = {}; for (t in e) U(n, e, t); for (t in L) !L.hasOwnProperty(t) || t in e || U(n, e, t); return n }, H = function(e) { try { var t = function() { this.__realComponentInstance = new e, Object.freeze(this) }; return t.prototype = V(e.prototype), t } catch (n) { return e } }; var G = C({ MOUNTING: null, UNMOUNTING: null, RECEIVING_PROPS: null, RECEIVING_STATE: null }), K = { construct: function() { u.Mixin.construct.apply(this, arguments), x.Mixin.construct.apply(this, arguments), this.state = null, this._pendingState = null, this.context = null, this._currentContext = p.current, this._pendingContext = null, this._descriptor = null, this._compositeLifeCycleState = null }, toJSON: function() { return { type: this.type, props: this.props } }, isMounted: function() { return u.Mixin.isMounted.call(this) && this._compositeLifeCycleState !== G.MOUNTING }, mountComponent: m.measure("ReactCompositeComponent", "mountComponent", function(e, t, a) { u.Mixin.mountComponent.call(this, e, t, a), this._compositeLifeCycleState = G.MOUNTING, this.context = this._processContext(this._currentContext), this._defaultProps = this.getDefaultProps ? this.getDefaultProps() : null, this.props = this._processProps(this.props), this.__reactAutoBindMap && this._bindAutoBindMethods(), this.state = this.getInitialState ? this.getInitialState() : null, "production" !== n.env.NODE_ENV ? S("object" == typeof this.state && !Array.isArray(this.state), "%s.getInitialState(): must return an object or null", this.constructor.displayName || "ReactCompositeComponent") : S("object" == typeof this.state && !Array.isArray(this.state)), this._pendingState = null, this._pendingForceUpdate = !1, this.componentWillMount && (this.componentWillMount(), this._pendingState && (this.state = this._pendingState, this._pendingState = null)), this._renderedComponent = D(this._renderValidatedComponent()), this._compositeLifeCycleState = null; var r = this._renderedComponent.mountComponent(e, t, a + 1); return this.componentDidMount && t.getReactMountReady().enqueue(this, this.componentDidMount), r }), unmountComponent: function() { this._compositeLifeCycleState = G.UNMOUNTING, this.componentWillUnmount && this.componentWillUnmount(), this._compositeLifeCycleState = null, this._defaultProps = null, this._renderedComponent.unmountComponent(), this._renderedComponent = null, u.Mixin.unmountComponent.call(this) }, setState: function(e, t) { "production" !== n.env.NODE_ENV ? S("object" == typeof e || null == e, "setState(...): takes an object of state variables to update.") : S("object" == typeof e || null == e), "production" !== n.env.NODE_ENV && ("production" !== n.env.NODE_ENV ? A(null != e, "setState(...): You passed an undefined or null state object; instead, use forceUpdate().") : null), this.replaceState(E(this._pendingState || this.state, e), t) }, replaceState: function(e, t) { d(this), this._pendingState = e, v.enqueueUpdate(this, t) }, _processContext: function(e) { var t = null, a = this.constructor.contextTypes; if (a) { t = {}; for (var r in a) t[r] = e[r]; "production" !== n.env.NODE_ENV && this._checkPropTypes(a, t, f.context) } return t }, _processChildContext: function(e) { var t = this.getChildContext && this.getChildContext(), a = this.constructor.displayName || "ReactCompositeComponent"; if (t) { "production" !== n.env.NODE_ENV ? S("object" == typeof this.constructor.childContextTypes, "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", a) : S("object" == typeof this.constructor.childContextTypes), "production" !== n.env.NODE_ENV && this._checkPropTypes(this.constructor.childContextTypes, t, f.childContext); for (var r in t) "production" !== n.env.NODE_ENV ? S(r in this.constructor.childContextTypes, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', a, r) : S(r in this.constructor.childContextTypes); return E(e, t) } return e }, _processProps: function(e) { var t = E(e), a = this._defaultProps; for (var r in a) "undefined" == typeof t[r] && (t[r] = a[r]); if ("production" !== n.env.NODE_ENV) { var d = this.constructor.propTypes; d && this._checkPropTypes(d, t, f.prop) } return t }, _checkPropTypes: function(e, t, n) { var a = this.constructor.displayName; for (var r in e) e.hasOwnProperty(r) && e[r](t, r, a, n) }, performUpdateIfNecessary: function() { var e = this._compositeLifeCycleState; e !== G.MOUNTING && e !== G.RECEIVING_PROPS && u.Mixin.performUpdateIfNecessary.call(this) }, _performUpdateIfNecessary: function(e) { if (null != this._pendingProps || null != this._pendingState || null != this._pendingContext || this._pendingForceUpdate) { var t = this._pendingContext || this._currentContext, n = this._processContext(t); this._pendingContext = null; var a = this.props; null != this._pendingProps && (a = this._processProps(this._pendingProps), this._pendingProps = null, this._compositeLifeCycleState = G.RECEIVING_PROPS, this.componentWillReceiveProps && this.componentWillReceiveProps(a, n)), this._compositeLifeCycleState = G.RECEIVING_STATE; var r = this._pendingOwner, d = this._pendingState || this.state; this._pendingState = null; try { this._pendingForceUpdate || !this.shouldComponentUpdate || this.shouldComponentUpdate(a, d, n) ? (this._pendingForceUpdate = !1, this._performComponentUpdate(a, r, d, t, n, e)) : (this.props = a, this._owner = r, this.state = d, this._currentContext = t, this.context = n) } finally { this._compositeLifeCycleState = null } } }, _performComponentUpdate: function(e, t, n, a, r, d) { var i = this.props, o = this._owner, s = this.state, l = this.context; this.componentWillUpdate && this.componentWillUpdate(e, n, r), this.props = e, this._owner = t, this.state = n, this._currentContext = a, this.context = r, this.updateComponent(d, i, o, s, l), this.componentDidUpdate && d.getReactMountReady().enqueue(this, this.componentDidUpdate.bind(this, i, s, l)) }, receiveComponent: function(e, t) { e !== this._descriptor && (this._descriptor = e, this._pendingContext = e._currentContext, u.Mixin.receiveComponent.call(this, e, t)) }, updateComponent: m.measure("ReactCompositeComponent", "updateComponent", function(e, t, n) { u.Mixin.updateComponent.call(this, e, t, n); var a = this._renderedComponent, r = this._renderValidatedComponent(); if (b(a, r)) a.receiveComponent(r, e); else { var d = this._rootNodeID, i = a._rootNodeID; a.unmountComponent(), this._renderedComponent = D(r); var o = this._renderedComponent.mountComponent(d, e, this._mountDepth + 1); u.BackendIDOperations.dangerouslyReplaceNodeWithMarkupByID(i, o) } }), forceUpdate: function(e) { var t = this._compositeLifeCycleState; "production" !== n.env.NODE_ENV ? S(this.isMounted() || t === G.MOUNTING, "forceUpdate(...): Can only force an update on mounted or mounting components.") : S(this.isMounted() || t === G.MOUNTING), "production" !== n.env.NODE_ENV ? S(t !== G.RECEIVING_STATE && t !== G.UNMOUNTING, "forceUpdate(...): Cannot force an update while unmounting component or during an existing state transition (such as within `render`).") : S(t !== G.RECEIVING_STATE && t !== G.UNMOUNTING), this._pendingForceUpdate = !0, v.enqueueUpdate(this, e) }, _renderValidatedComponent: m.measure("ReactCompositeComponent", "_renderValidatedComponent", function() { var e, t = p.current; p.current = this._processChildContext(this._currentContext), h.current = this; try { e = this.render() } finally { p.current = t, h.current = null } return "production" !== n.env.NODE_ENV ? S(u.isValidComponent(e), "%s.render(): A valid ReactComponent must be returned. You may have returned null, undefined, an array, or some other invalid object.", this.constructor.displayName || "ReactCompositeComponent") : S(u.isValidComponent(e)), e }), _bindAutoBindMethods: function() { for (var e in this.__reactAutoBindMap) if (this.__reactAutoBindMap.hasOwnProperty(e)) { var t = this.__reactAutoBindMap[e]; this[e] = this._bindAutoBindMethod(_.guard(t, this.constructor.displayName + "." + e)) } }, _bindAutoBindMethod: function(e) { var t = this, a = function() { return e.apply(t, arguments) }; if ("production" !== n.env.NODE_ENV) { a.__reactBoundContext = t, a.__reactBoundMethod = e, a.__reactBoundArguments = null; var r = t.constructor.displayName, d = a.bind; a.bind = function(n) { var i = Array.prototype.slice.call(arguments, 1); if (n !== t && null !== n) k("react_bind_warning", { component: r }), console.warn("bind(): React component methods may only be bound to the component instance. See " + r); else if (!i.length) return k("react_bind_warning", { component: r }), console.warn("bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See " + r), a; var o = d.apply(a, arguments); return o.__reactBoundContext = t, o.__reactBoundMethod = e, o.__reactBoundArguments = i, o } } return a } }, z = function() {}; M(z, u.Mixin), M(z, x.Mixin), M(z, g.Mixin), M(z, K); var q = { LifeCycle: G, Base: z, createClass: function(e) { var t = function() {}; t.prototype = new z, t.prototype.constructor = t; var a = t, r = function() { var e = new a; return e.construct.apply(e, arguments), e }; r.componentConstructor = t, t.ConvenienceConstructor = r, r.originalSpec = e, P.forEach(i.bind(null, r)), i(r, e), "production" !== n.env.NODE_ENV ? S(t.prototype.render, "createClass(...): Class specification must implement a `render` method.") : S(t.prototype.render), "production" !== n.env.NODE_ENV && t.prototype.componentShouldUpdate && (k("react_component_should_update_warning", { component: e.displayName }), console.warn((e.displayName || "A component") + " has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.")), r.type = t, t.prototype.type = t; for (var d in O) t.prototype[d] || (t.prototype[d] = null); return "production" !== n.env.NODE_ENV && (a = H(t)), r }, isValidClass: c, injection: { injectMixin: function(e) { P.push(e) } } }; t.exports = q }).call(this, e("Wb8Gej")) }, { "./ReactComponent": 66, "./ReactContext": 69, "./ReactCurrentOwner": 70, "./ReactErrorUtils": 86, "./ReactOwner": 99, "./ReactPerf": 100, "./ReactPropTransferer": 101, "./ReactPropTypeLocationNames": 102, "./ReactPropTypeLocations": 103, "./ReactUpdates": 116, "./instantiateReactComponent": 159, "./invariant": 160, "./keyMirror": 166, "./merge": 169, "./mixInto": 172, "./monitorCodeUse": 173, "./objMap": 174, "./shouldUpdateReactComponent": 179, "./warning": 183, Wb8Gej: 32 }], 69: [function(e, t) { "use strict"; var n = e("./merge"), a = { current: {}, withContext: function(e, t) { var r, d = a.current; a.current = n(d, e); try { r = t() } finally { a.current = d } return r } }; t.exports = a }, { "./merge": 169 }], 70: [function(e, t) { "use strict"; var n = { current: null }; t.exports = n }, {}], 71: [function(e, t) { "use strict"; function n(e, t) { var n = function() {}; n.prototype = new a(e, t), n.prototype.constructor = n, n.displayName = e; var r = function() { var e = new n; return e.construct.apply(e, arguments), e }; return r.type = n, n.prototype.type = n, n.ConvenienceConstructor = r, r.componentConstructor = n, r } var a = e("./ReactDOMComponent"), r = e("./mergeInto"), d = e("./objMapKeyVal"), i = d({ a: !1, abbr: !1, address: !1, area: !0, article: !1, aside: !1, audio: !1, b: !1, base: !0, bdi: !1, bdo: !1, big: !1, blockquote: !1, body: !1, br: !0, button: !1, canvas: !1, caption: !1, cite: !1, code: !1, col: !0, colgroup: !1, data: !1, datalist: !1, dd: !1, del: !1, details: !1, dfn: !1, div: !1, dl: !1, dt: !1, em: !1, embed: !0, fieldset: !1, figcaption: !1, figure: !1, footer: !1, form: !1, h1: !1, h2: !1, h3: !1, h4: !1, h5: !1, h6: !1, head: !1, header: !1, hr: !0, html: !1, i: !1, iframe: !1, img: !0, input: !0, ins: !1, kbd: !1, keygen: !0, label: !1, legend: !1, li: !1, link: !0, main: !1, map: !1, mark: !1, menu: !1, menuitem: !1, meta: !0, meter: !1, nav: !1, noscript: !1, object: !1, ol: !1, optgroup: !1, option: !1, output: !1, p: !1, param: !0, pre: !1, progress: !1, q: !1, rp: !1, rt: !1, ruby: !1, s: !1, samp: !1, script: !1, section: !1, select: !1, small: !1, source: !0, span: !1, strong: !1, style: !1, sub: !1, summary: !1, sup: !1, table: !1, tbody: !1, td: !1, textarea: !1, tfoot: !1, th: !1, thead: !1, time: !1, title: !1, tr: !1, track: !0, u: !1, ul: !1, "var": !1, video: !1, wbr: !0, circle: !1, defs: !1, g: !1, line: !1, linearGradient: !1, path: !1, polygon: !1, polyline: !1, radialGradient: !1, rect: !1, stop: !1, svg: !1, text: !1 }, n), o = { injectComponentClasses: function(e) { r(i, e) } }; i.injection = o, t.exports = i }, { "./ReactDOMComponent": 73, "./mergeInto": 171, "./objMapKeyVal": 175 }], 72: [function(e, t) { "use strict"; var n = e("./AutoFocusMixin"), a = e("./ReactBrowserComponentMixin"), r = e("./ReactCompositeComponent"), d = e("./ReactDOM"), i = e("./keyMirror"), o = d.button, s = i({ onClick: !0, onDoubleClick: !0, onMouseDown: !0, onMouseMove: !0, onMouseUp: !0, onClickCapture: !0, onDoubleClickCapture: !0, onMouseDownCapture: !0, onMouseMoveCapture: !0, onMouseUpCapture: !0 }), l = r.createClass({ displayName: "ReactDOMButton", mixins: [n, a], render: function() { var e = {}; for (var t in this.props) !this.props.hasOwnProperty(t) || this.props.disabled && s[t] || (e[t] = this.props[t]); return o(e, this.props.children) } }); t.exports = l }, { "./AutoFocusMixin": 36, "./ReactBrowserComponentMixin": 62, "./ReactCompositeComponent": 68, "./ReactDOM": 71, "./keyMirror": 166 }], 73: [function(e, t) { (function(n) { "use strict"; function a(e) { e && ("production" !== n.env.NODE_ENV ? x(null == e.children || null == e.dangerouslySetInnerHTML, "Can only set one of `children` or `props.dangerouslySetInnerHTML`.") : x(null == e.children || null == e.dangerouslySetInnerHTML), "production" !== n.env.NODE_ENV ? x(null == e.style || "object" == typeof e.style, "The `style` prop expects a mapping from style properties to values, not a string.") : x(null == e.style || "object" == typeof e.style)) } function r(e, t, n, a) { var r = u.findReactContainerForID(e); if (r) { var d = r.nodeType === E ? r.ownerDocument : r; v(t, d) } a.getPutListenerQueue().enqueuePutListener(e, t, n) } function d(e, t) { this._tagOpen = "<" + e, this._tagClose = t ? "" : "", this.tagName = e.toUpperCase() } var i = e("./CSSPropertyOperations"), o = e("./DOMProperty"), s = e("./DOMPropertyOperations"), l = e("./ReactBrowserComponentMixin"), y = e("./ReactComponent"), c = e("./ReactEventEmitter"), u = e("./ReactMount"), p = e("./ReactMultiChild"), h = e("./ReactPerf"), _ = e("./escapeTextForBrowser"), x = e("./invariant"), m = e("./keyOf"), g = e("./merge"), f = e("./mixInto"), w = c.deleteListener, v = c.listenTo, D = c.registrationNameModules, S = { string: !0, number: !0 }, C = m({ style: null }), E = 1; d.Mixin = { mountComponent: h.measure("ReactDOMComponent", "mountComponent", function(e, t, n) { return y.Mixin.mountComponent.call(this, e, t, n), a(this.props), this._createOpenTagMarkupAndPutListeners(t) + this._createContentMarkup(t) + this._tagClose }), _createOpenTagMarkupAndPutListeners: function(e) { var t = this.props, n = this._tagOpen; for (var a in t) if (t.hasOwnProperty(a)) { var d = t[a]; if (null != d) if (D[a]) r(this._rootNodeID, a, d, e); else { a === C && (d && (d = t.style = g(t.style)), d = i.createMarkupForStyles(d)); var o = s.createMarkupForProperty(a, d); o && (n += " " + o) } } if (e.renderToStaticMarkup) return n + ">"; var l = s.createMarkupForID(this._rootNodeID); return n + " " + l + ">" }, _createContentMarkup: function(e) { var t = this.props.dangerouslySetInnerHTML; if (null != t) { if (null != t.__html) return t.__html } else { var n = S[typeof this.props.children] ? this.props.children : null, a = null != n ? null : this.props.children; if (null != n) return _(n); if (null != a) { var r = this.mountChildren(a, e); return r.join("") } } return "" }, receiveComponent: function(e, t) { e !== this && (a(e.props), y.Mixin.receiveComponent.call(this, e, t)) }, updateComponent: h.measure("ReactDOMComponent", "updateComponent", function(e, t, n) { y.Mixin.updateComponent.call(this, e, t, n), this._updateDOMProperties(t, e), this._updateDOMChildren(t, e) }), _updateDOMProperties: function(e, t) { var n, a, d, i = this.props; for (n in e) if (!i.hasOwnProperty(n) && e.hasOwnProperty(n)) if (n === C) { var s = e[n]; for (a in s) s.hasOwnProperty(a) && (d = d || {}, d[a] = "") } else D[n] ? w(this._rootNodeID, n) : (o.isStandardName[n] || o.isCustomAttribute(n)) && y.BackendIDOperations.deletePropertyByID(this._rootNodeID, n); for (n in i) { var l = i[n], c = e[n]; if (i.hasOwnProperty(n) && l !== c) if (n === C) if (l && (l = i.style = g(l)), c) { for (a in c) c.hasOwnProperty(a) && !l.hasOwnProperty(a) && (d = d || {}, d[a] = ""); for (a in l) l.hasOwnProperty(a) && c[a] !== l[a] && (d = d || {}, d[a] = l[a]) } else d = l; else D[n] ? r(this._rootNodeID, n, l, t) : (o.isStandardName[n] || o.isCustomAttribute(n)) && y.BackendIDOperations.updatePropertyByID(this._rootNodeID, n, l) } d && y.BackendIDOperations.updateStylesByID(this._rootNodeID, d) }, _updateDOMChildren: function(e, t) { var n = this.props, a = S[typeof e.children] ? e.children : null, r = S[typeof n.children] ? n.children : null, d = e.dangerouslySetInnerHTML && e.dangerouslySetInnerHTML.__html, i = n.dangerouslySetInnerHTML && n.dangerouslySetInnerHTML.__html, o = null != a ? null : e.children, s = null != r ? null : n.children, l = null != a || null != d, c = null != r || null != i; null != o && null == s ? this.updateChildren(null, t) : l && !c && this.updateTextContent(""), null != r ? a !== r && this.updateTextContent("" + r) : null != i ? d !== i && y.BackendIDOperations.updateInnerHTMLByID(this._rootNodeID, i) : null != s && this.updateChildren(s, t) }, unmountComponent: function() { this.unmountChildren(), c.deleteAllListeners(this._rootNodeID), y.Mixin.unmountComponent.call(this) } }, f(d, y.Mixin), f(d, d.Mixin), f(d, p.Mixin), f(d, l), t.exports = d }).call(this, e("Wb8Gej")) }, { "./CSSPropertyOperations": 39, "./DOMProperty": 44, "./DOMPropertyOperations": 45, "./ReactBrowserComponentMixin": 62, "./ReactComponent": 66, "./ReactEventEmitter": 87, "./ReactMount": 95, "./ReactMultiChild": 97, "./ReactPerf": 100, "./escapeTextForBrowser": 146, "./invariant": 160, "./keyOf": 167, "./merge": 169, "./mixInto": 172, Wb8Gej: 32 }], 74: [function(e, t) { "use strict"; var n = e("./ReactBrowserComponentMixin"), a = e("./ReactCompositeComponent"), r = e("./ReactDOM"), d = e("./ReactEventEmitter"), i = e("./EventConstants"), o = r.form, s = a.createClass({ displayName: "ReactDOMForm", mixins: [n], render: function() { return this.transferPropsTo(o(null, this.props.children)) }, componentDidMount: function() { d.trapBubbledEvent(i.topLevelTypes.topReset, "reset", this.getDOMNode()), d.trapBubbledEvent(i.topLevelTypes.topSubmit, "submit", this.getDOMNode()) } }); t.exports = s }, { "./EventConstants": 50, "./ReactBrowserComponentMixin": 62, "./ReactCompositeComponent": 68, "./ReactDOM": 71, "./ReactEventEmitter": 87 }], 75: [function(e, t) { (function(n) { "use strict"; var a, r = e("./CSSPropertyOperations"), d = e("./DOMChildrenOperations"), i = e("./DOMPropertyOperations"), o = e("./ReactMount"), s = e("./ReactPerf"), l = e("./invariant"), y = { dangerouslySetInnerHTML: "`dangerouslySetInnerHTML` must be set using `updateInnerHTMLByID()`.", style: "`style` must be set using `updateStylesByID()`." }, c = { updatePropertyByID: s.measure("ReactDOMIDOperations", "updatePropertyByID", function(e, t, a) { var r = o.getNode(e); "production" !== n.env.NODE_ENV ? l(!y.hasOwnProperty(t), "updatePropertyByID(...): %s", y[t]) : l(!y.hasOwnProperty(t)), null != a ? i.setValueForProperty(r, t, a) : i.deleteValueForProperty(r, t) }), deletePropertyByID: s.measure("ReactDOMIDOperations", "deletePropertyByID", function(e, t, a) { var r = o.getNode(e); "production" !== n.env.NODE_ENV ? l(!y.hasOwnProperty(t), "updatePropertyByID(...): %s", y[t]) : l(!y.hasOwnProperty(t)), i.deleteValueForProperty(r, t, a) }), updateStylesByID: s.measure("ReactDOMIDOperations", "updateStylesByID", function(e, t) { var n = o.getNode(e); r.setValueForStyles(n, t) }), updateInnerHTMLByID: s.measure("ReactDOMIDOperations", "updateInnerHTMLByID", function(e, t) { var n = o.getNode(e); if (void 0 === a) { var r = document.createElement("div"); r.innerHTML = " ", a = "" === r.innerHTML } a && n.parentNode.replaceChild(n, n), a && t.match(/^[ \r\n\t\f]/) ? (n.innerHTML = "" + t, n.firstChild.deleteData(0, 1)) : n.innerHTML = t }), updateTextContentByID: s.measure("ReactDOMIDOperations", "updateTextContentByID", function(e, t) { var n = o.getNode(e); d.updateTextContent(n, t) }), dangerouslyReplaceNodeWithMarkupByID: s.measure("ReactDOMIDOperations", "dangerouslyReplaceNodeWithMarkupByID", function(e, t) { var n = o.getNode(e); d.dangerouslyReplaceNodeWithMarkup(n, t) }), dangerouslyProcessChildrenUpdates: s.measure("ReactDOMIDOperations", "dangerouslyProcessChildrenUpdates", function(e, t) { for (var n = 0; n < e.length; n++) e[n].parentNode = o.getNode(e[n].parentID); d.processUpdates(e, t) }) }; t.exports = c }).call(this, e("Wb8Gej")) }, { "./CSSPropertyOperations": 39, "./DOMChildrenOperations": 43, "./DOMPropertyOperations": 45, "./ReactMount": 95, "./ReactPerf": 100, "./invariant": 160, Wb8Gej: 32 }], 76: [function(e, t) { "use strict"; var n = e("./ReactBrowserComponentMixin"), a = e("./ReactCompositeComponent"), r = e("./ReactDOM"), d = e("./ReactEventEmitter"), i = e("./EventConstants"), o = r.img, s = a.createClass({ displayName: "ReactDOMImg", tagName: "IMG", mixins: [n], render: function() { return o(this.props) }, componentDidMount: function() { var e = this.getDOMNode(); d.trapBubbledEvent(i.topLevelTypes.topLoad, "load", e), d.trapBubbledEvent(i.topLevelTypes.topError, "error", e) } }); t.exports = s }, { "./EventConstants": 50, "./ReactBrowserComponentMixin": 62, "./ReactCompositeComponent": 68, "./ReactDOM": 71, "./ReactEventEmitter": 87 }], 77: [function(e, t) { (function(n) { "use strict"; var a = e("./AutoFocusMixin"), r = e("./DOMPropertyOperations"), d = e("./LinkedValueUtils"), i = e("./ReactBrowserComponentMixin"), o = e("./ReactCompositeComponent"), s = e("./ReactDOM"), l = e("./ReactMount"), y = e("./invariant"), c = e("./merge"), u = s.input, p = {}, h = o.createClass({ displayName: "ReactDOMInput", mixins: [a, d.Mixin, i], getInitialState: function() { var e = this.props.defaultValue; return { checked: this.props.defaultChecked || !1, value: null != e ? e : null } }, shouldComponentUpdate: function() { return !this._isChanging }, render: function() { var e = c(this.props); e.defaultChecked = null, e.defaultValue = null; var t = d.getValue(this); e.value = null != t ? t : this.state.value; var n = d.getChecked(this); return e.checked = null != n ? n : this.state.checked, e.onChange = this._handleChange, u(e, this.props.children) }, componentDidMount: function() { var e = l.getID(this.getDOMNode()); p[e] = this }, componentWillUnmount: function() { var e = this.getDOMNode(), t = l.getID(e); delete p[t] }, componentDidUpdate: function() { var e = this.getDOMNode(); null != this.props.checked && r.setValueForProperty(e, "checked", this.props.checked || !1); var t = d.getValue(this); null != t && r.setValueForProperty(e, "value", "" + t) }, _handleChange: function(e) { var t, a = d.getOnChange(this); a && (this._isChanging = !0, t = a.call(this, e), this._isChanging = !1), this.setState({ checked: e.target.checked, value: e.target.value }); var r = this.props.name; if ("radio" === this.props.type && null != r) { for (var i = this.getDOMNode(), o = i; o.parentNode;) o = o.parentNode; for (var s = o.querySelectorAll("input[name=" + JSON.stringify("" + r) + '][type="radio"]'), c = 0, u = s.length; u > c; c++) { var h = s[c]; if (h !== i && h.form === i.form) { var _ = l.getID(h); "production" !== n.env.NODE_ENV ? y(_, "ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.") : y(_); var x = p[_]; "production" !== n.env.NODE_ENV ? y(x, "ReactDOMInput: Unknown radio button ID %s.", _) : y(x), x.setState({ checked: !1 }) } } } return t } }); t.exports = h }).call(this, e("Wb8Gej")) }, { "./AutoFocusMixin": 36, "./DOMPropertyOperations": 45, "./LinkedValueUtils": 58, "./ReactBrowserComponentMixin": 62, "./ReactCompositeComponent": 68, "./ReactDOM": 71, "./ReactMount": 95, "./invariant": 160, "./merge": 169, Wb8Gej: 32 }], 78: [function(e, t) { (function(n) { "use strict"; var a = e("./ReactBrowserComponentMixin"), r = e("./ReactCompositeComponent"), d = e("./ReactDOM"), i = e("./warning"), o = d.option, s = r.createClass({ displayName: "ReactDOMOption", mixins: [a], componentWillMount: function() { "production" !== n.env.NODE_ENV && ("production" !== n.env.NODE_ENV ? i(null == this.props.selected, "Use the `defaultValue` or `value` props on must be an array if `multiple` is true.", t) : y(Array.isArray(e[t])) : "production" !== n.env.NODE_ENV ? y(!Array.isArray(e[t]), "The `%s` prop supplied to